Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes; - PDF
Download "Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes;"
Eduardo Castro Barbosa
1 2.3 A CAMADA DE REDE! Fornece serviços para o nível de transporte, sendo, freqüentemente, a interface entre a rede do cliente e a empresa de transporte de dados (p.ex. Embratel).! Sua principal função é encaminhar (rotear) blocos de dados (pacotes em redes com conexão e datagramas em redes sem conexão) de uma máquina origem para uma máquina destino.! A camada de rede deve: Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes; Oferecer ao nível de transporte um esquema de endereçamento uniforme, independente da tecnologia da subrede (LAN, MAN, WAN).! A transferência de dados pode ser feita sem ou com conexão, com características indicadas na tabela a seguir. UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 1 Sem conexão (ou modo datagrama) Com Conexão (ou modo circuito virtual) Advogada pela comunidade Advogada pelas operadoras de Internet (30 anos de praia) telefonia (100 anos de praia) Nível de rede deve carregar bits de Nível de redes deve carregar um lugar para outro pacotes de um lugar para outro Subrede é inerentemente não Nível de rede deve ser confiável e os níveis superiores razoavelmente confiável e os (transporte, aplicação) da pilha de níveis superiores da pilha de protocolos devem se preocupar protocolos podem usar essa com (e cuidar do) problema confiabilidade para serem mais (controle de erro, controle de simples - oferece controle de erro, fluxo) fluxo e qualidade de serviço (atraso máximo, p. ex.) Oferece para o nível de transporte as primitivas: envia pacote e recebe pacote Representante maior: Arquitetura Internet (TCP/IP) Oferece para o nível de transporte as primitivas: abre conexão, envia pacote, recebe pacote, fecha conexão Representante maior: Arquitetura ATM UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 2
2 Operação (interna) do Nível de Rede Consideração Abertura de Não conexão Endereçamento Informação estado de Não orientada a conexão Cada pacote contém o endereço origem e destino completo Subrede não guarda nenhuma informação Sim Orientada a conexão Cada pacote contém um pequeno número de identificação do circuito Subrede precisa guardar informação à respeito dos circuitos ativos Roteamento Cada pacote é roteado Rota fixa é definida na independentemente abertura da conexão Efeito da falha de Nenhum, exceto os Grave; todos os circuitos roteadores pacotes perdidos virtuais são quebrados e durante a falha precisam ser refeitos Controle de Difícil Fácil, se área de congestionamento armazenamento temporário pode ser reservada na abertura da conexão UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág Algoritmo de Roteamento! Roteamento é o mecanismo pelo qual se escolhe o caminho (canal de comunicação) que um pacote deve seguir para atingir seu destino.! Em redes sem conexão (datagrama), cada datagrama tem de carregar seu endereço destino e a decisão de roteamento é tomada em cada nó da rede, para cada datagrama que chega.! Em redes com conexão (circuito virtual) os pacotes não precisam carregar o endereço destino (só a identificação da conexão) e a decisão de roteamento é tomada no estabelecimento da conexão, após a qual todo pacote segue sempre o mesmo caminho - roteamento por sessão.! Um algoritmo de roteamento deve oferecer: Correticidade (funciona); Simplicidade (é fácil de entender/usar); Robustez (suporta falhas na rede); Estabilidade (fixa caminhos rapidamente); Equanimidade (distribui carga de modo justo); e Optimalidade (proporciona melhor caminho sempre). UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 4
3 ! Um algoritmo de roteamento pode ser: Não adaptativo, quando as decisões de roteamento são definidas antecipadamente (pelo gerente da rede, p. ex.) e colocadas nos roteadores quando estes são ligados - roteamento estático; Adaptativo, quando as decisões de roteamento são [re]definidas continuamente, de acordo com a estrutura da rede (topologia, carga, etc.) - roteamento dinâmico.! Nesse último caso, o algoritmo de roteamento pode ser do tipo Vetor-Distância ou Estado-do-Enlace, cujas características são resumidas na tabela a seguir. UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 5 VETOR_DISTÂNCIA Em cada nó da rede, o algoritmo mantém uma tabela com a menor a distância para cada destino Distância é medida pela quantidade de roteadores que o pacote tem de atravessar (hop count) até o destino Roteadores vizinhos trocam entre si informações à respeito de suas tabelas de roteamento (tabela inteira) ESTADO_DE_ENLACE Em cada nó da rede, o algoritmo mantém uma tabela com o melhor caminho para cada destino Melhor caminho é definido com base em informações da rede (velocidade, atraso, taxa de ocupação de enlaces, etc.) Roteadores vizinhos trocam informações entre si à respeito dos seus enlaces (somente o que for alterado desde a última troca de informação) UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 6
4 2.3.2 Controle de Congestionamento! Congestionamento ocorre quando a quantidade de pacotes na rede é muito grande (normalmente isso ocorre quando se atinge um patamar da capacidade de carga dos canais de comunicação). Pacotes recebidos Capacidade máxima da subrede Perfeito Desejável Congestionamento Pacotes enviados Figura 1. Padrão de comportamento na ocorrência de congestionamento UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 7! O que congestiona? Pacotes chegando por canais de comunicação rápidos, tendo de sair por canais mais lentos; Roteadores lentos; Roteadores com pouca memória para armazenar pacotes temporariamente (memória infinita estraga tudo ver Tanenbaum pág ). UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 8
5 ! Como controlar fluxo? Modelo circuito aberto (open loop), propõe resolver os problemas na fase de projeto/configuração dos roteadores de modo a (tentar) garantir que não ocorra congestionamento. Para ajustar alguma coisa, tem-se de reinicializar tudo. Modelo circuito fechado (closed loop), propõe: Monitoração do sistema para detectar quando e onde o congestionamento ocorre; Passagem dessas informações para pontos de controle onde alguma ação pode ser tomada; Ajuste da operação do sistema para corrigir o problema. UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 9! No modelo circuito fechado, o controle pode ser: explícito, quando o ponto de congestionamento avisa (de alguma forma) a origem dos pacotes (p.ex. ATM com ABR); implícito, quando a origem dos pacotes deduz que há congestionamento fazendo observações localmente (p.ex., pela demora no recebimento de confirmação de entrega de pacotes, p.ex. TCP/IP). UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 10
6 2.3.3 Políticas de prevenção de congestionamento! A tabela a seguir resume as políticas adotadas em diversas camadas de uma pilha de protocolos que afetam o congestionamento. Camada Transporte Rede Enlace Políticas - Política de retransmissão - Política de armazenamento para segmentos fora de ordem - Política de reconhecimento (Ack) de segmento - Política de controle de fluxo - Determinação do temporizador (timeout) - Modo circuito virtual versus modo datagrama - Enfileiramento de pacote e política de serviço - Política de descarte de pacote - Algoritmo de roteamento - Gerência de tempo de vida de pacote - Política de retransmissão - Política de armazenamento para quadro fora de ordem (go back N, seletive repeat) - Política de reconhecimento (Ack) de quadro (com/sem pigybacking) - Política de controle de fluxo (com/sem slide window) UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág Condicionamento de Tráfego (Traffic Shaping)! Em redes que oferecem qualidade de serviço (Quality of Service - QoS), as estações clientes podem ser forçadas a transmitir a uma taxa uniforme, previamente acertada com a rede antes do início da transmissão (via abertura de conexão).! Dessa forma, recursos podem ser reservados antecipadamente, de modo que se possa garantir a não sobrecarga da rede - o tráfego é, sempre que possível, previsível.! Esse tipo de controle (de modelo circuito aberto) é largamente usado em redes ATM.! Evidentemente, a rede deve também fazer um monitoramento de tráfego (Traffic Monitoring) para evitar que estações clientes gerem tráfego fora do padrão solicitado para a rede.! Esse esquema é mais facilmente implementado em redes baseadas em circuito virtual do que em redes baseadas em datagrama. UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 12
7 2.3.5 Algoritmo do Balde Furado (Leaky Bucket Algorithm)! Outro mecanismo (de modelo circuito aberto) é o do Balde Furado, onde uma fila de tamanho finito age como um depósito de contenção para suportar rajadas de tráfego descartando o mínimo de pacotes e colocando-os para transmissão de modo controlado.! O controle é feito enviando-se para a rede pacotes sempre em uma velocidade constante (basicamente em função da capacidade do canal, do tempo de propagação e do tamanho máximo do pacote admitido) - tipo um pacote a dada T.! Em redes com pacotes de tamanho fixo (p.ex. ATM), tudo funciona bem. Em redes com pacotes de tamanho variável, podem ser transmitidos N pacotes de modo que a soma dos tamanhos dos N pacotes não ultrapasse o tamanho máximo de pacote admitido.! Se o número de pacotes não for exato, transmite-se N-1 pacotes e o tempo restante não é utilizado. UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 13 Host Host Host Router Fluxo irregular de pacotes Fluxo regular de pacotes Figura 2. Modelo do Balde Furado para Pacotes UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 14
8 2.3.6 Endereçamento! Ao nível de rede, cada elemento (máquina final ou intermediária) precisa ser identificado de forma única na rede, independente da tecnologia da subrede utilizada.! Tal endereçamento define os Pontos de Acesso a Serviços de Rede (Network Service Access Point NSAPs), que permitem que cada elemento da rede seja endereçado de forma não ambígua em toda a rede.! Na Internet, por exemplo, o endereço IP de uma máquina define seu NSAP. UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 15 Cliente Cliente Cliente Cliente Ethernet rede Servidor Servidor Figura 3. Endereçamento de rede na Internet UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Rede * Pág. 16