Redes de Computadores Camada de Rede Aula 6/2006 UEM/DIN/Elvio/1023-1224 1
Camada de Rede É a camada mais baixa que trata da comunicação fim-a-fim Função de encaminhar os pacotes da fonte até o destino final Deve ter conhecimento sobre a topologia da sub-rede e escolher os caminhos apropriados para a comunicação Deve escolher rotas de maneira a dividir o tráfego entre as rotas Esta camada deve fornecer funcionalidade para resolver situações em que os terminais estão em redes distintas UEM/DIN/Elvio/1023-1224 2
Ambiente para a Camada de Redes Principal função: rotear pacotes da origem ao destino Mecanismo de comutação store-and-forward UEM/DIN/Elvio/1023-1224 3
Serviços Oferecidos Serviço Sem Conexões Sub-redes de Datagramas Mensagem quebrada em Datagramas Cada roteador tem uma tabela que informa para onde os datagramas devem ser enviados Datagramas podem seguir rotas diferentes UEM/DIN/Elvio/1023-1224 4
Serviços Oferecidos Serviço Orientado a Conexões Sub-rede de Circuitos Virtuais UEM/DIN/Elvio/1023-1224 5
Comparação Datagrama Circuito Virtual UEM/DIN/Elvio/1023-1224 6
Algoritmos de Roteamento Roteamento por pacote (datagrama) ou roteamento por sessão (circuito virtual) Características desejáveis: Correção, Simplicidade, Robustez, Estabilidade, Eqüidade, Otimização Algoritmos Adaptativos e Não-Adaptativos (ou estáticos) Baseiam ou não as decisões de roteamento nas condições dinâmicas (níveis de tráfego, por exemplo) da rede UEM/DIN/Elvio/1023-1224 7
Princípio da Otimização (a) Uma sub-rede (b) Árvore de escoamento para o nó B Se a rota ótima [I-K] passa por J, então esta rota é composta pelas rotas ótimas [I-J] e [J-K] UEM/DIN/Elvio/1023-1224 8
Algoritmo do Caminho Mais Curto UEM/DIN/Elvio/1023-1224 9
Algoritmo de Inundação Pacote de entrada é propagado para todas as saídas Pacotes duplicados devem ser removidos Pacotes têm vida (número de retransmissões) limitado Pacotes têm identificador que evita retransmissão Inundação Seletiva: propagação apenas para as saídas relevantes UEM/DIN/Elvio/1023-1224 10
Algoritmo com Vetor de Distância (a) Uma subrede (b) Tabelas de roteamento Também conhecido como Bellman-Ford e Ford-Fulkerson UEM/DIN/Elvio/1023-1224 11
Algoritmo com Vetor de Distância Atualização desbalanceada: UEM/DIN/Elvio/1023-1224 12
Roteamento por Estado do Enlace Cada roteador dever fazer: Descobrir seus vizinhos Utilizando mensagens de HELLO Medir o retardo (ou custo) até cada um deles Utilizando mensagens de ECHO Difundir esta informação para todos os outros roteadores Utilizando o algoritmo de inundação Calcular o caminho mais curto até cada um dos roteadores UEM/DIN/Elvio/1023-1224 13
Roteamento por Estado de Enlace Descobrindo os seus vizinhos UEM/DIN/Elvio/1023-1224 14
Roteamento por Estado de Enlace Construindo pacotes de estado de enlace UEM/DIN/Elvio/1023-1224 15
Roteamento por Estado de Enlace Difusão da informação: Número de Seqüência Incluído em cada pacote enviado Incrementado a cada novo pacote gerado Pacotes repetidos ou com número de seqüência mais baixo que o armazenado são descartados UEM/DIN/Elvio/1023-1224 16
Roteamento por Estado de Enlace Difusão da informação (cont.): Time to Live (Prazo de Validade) Incluído em cada pacote enviado Decrementado (por exemplo) a cada segundo As informações disponíveis sobre cada roteador têm, portanto, também um prazo de validade (igual ao último pacote dele recebido) UEM/DIN/Elvio/1023-1224 17
Roteamento por Estado de Enlace Tabela de gerência de pacotes de estado de enlace recebidos pelo roteador B UEM/DIN/Elvio/1023-1224 18
Roteamento por Estado de Enlace Cálculo de novas rotas Com a informação acumulada cria-se um grafo completo da sub-rede Utilizando, por exemplo, um algoritmo de determinação de caminho mais curto, calcula-se as melhores rotas para todos os roteadores Para uma sub-rede com n roteadores, cada um com k vizinhos, a memória necessária é k n UEM/DIN/Elvio/1023-1224 19
Roteamento Hierárquico Exemplo de 2 níveis e 5 regiões UEM/DIN/Elvio/1023-1224 20
Roteamento por Difusão ou Multidifusão Utilizado para propagação de um mesmo conteúdo a vários (muitos) terminais (relatórios sobre o tempo, mercado de ações, rádio em tempo real, etc.) Difusão (broadcast): a todos os terminais Multidifusão (multicast): a todos os terminais pertencentes a um determinado grupo UEM/DIN/Elvio/1023-1224 21
Encaminhamento Pelo Caminho Inverso (Difusão) (a) sub-rede (b) árvore de escoamento (c) árvore de encaminhamento Pacote é retransmitido somente se chegou pelo caminho certo (isto é, conforme especificado pela árvore de escoamento) UEM/DIN/Elvio/1023-1224 22
Árvores de Multidifusão (Multidifusão) (a) sub-rede (b)(c)(d) árvores de escoamento dependentes dos grupos de difusão Pacote é retransmitido somente se roteador pertence à árvore de escoamento UEM/DIN/Elvio/1023-1224 23
Roteamento Para Hosts Móveis Cada unidade de gerência (célula) mantém: Lista de terminais estrangeiros utilizando a célula (Registro dos Visitantes) Lista de terminais locais utilizando outras células (Registro dos Viajantes) O Host estrangeiro pede registro, informa endereço e é designado um endereço local em caso de sucesso Sistema local interage com sistema estrangeiro para confirmação de registro UEM/DIN/Elvio/1023-1224 24
Roteamento Para Hosts Móveis UEM/DIN/Elvio/1023-1224 25
Roteamento Para Redes Ad-Hoc AODV (Ad Hoc on Demand Distance Vector) Baseado no algoritmo de Roteamento com Vetor de Distância Exemplo: A deseja enviar pacote a I UEM/DIN/Elvio/1023-1224 26
AODV Descoberta da Rota A envia por difusão um pacote de ROUTE REQUEST Endereços de Origem e Destino (usualmente endereço IP) Identificador da Solicitação (incrementado a cada nova solicitação) Seqüência de Origem: contador de seqüência da origem Seqüência de Destino: contador de seqüência recebido do destino Contagem do Número de Saltos (retransmissões) UEM/DIN/Elvio/1023-1224 27
AODV Descoberta da Rota Os valores Endereço de Origem e Identificador da Solicitação identificam de maneira única a solicitação Um nó intermediário recebe um ROUTE REQUEST Descarta solicitação se ela é repetida Se o nó conhece rota para destino e Seqüência de Destino recebido é menor ou igual ao valor armazenado, envia um ROUTE REPLY de volta fornecendo rota Caso contrário, o nó incrementa o Número de Saltos e retransmite o ROUTE REQUEST UEM/DIN/Elvio/1023-1224 28
AODV Descoberta da Rota O nó de destino (ex., I ), ao receber o ROUTE REQUEST Constrói e envia de volta (em unicast) um ROUTE REPLY Endereços de Origem e Destino e Número de Saltos são copiados da solicitação Seqüência de Destino é preenchido pelo nó de destino Duração informa tempo de vida da rota UEM/DIN/Elvio/1023-1224 29
AODV Descoberta da Rota Pacote ROUTE REPLY é recebido por cada um dos nós intermediários Tabela de roteamento é atualizada se Não é conhecida rota para destino Seqüência de Destino armazenada é menor que valor recebido Seqüência de Destino armazenada é igual ao valor recebido, porém rota é mais curta UEM/DIN/Elvio/1023-1224 30
AODV Manutenção da Rota Nó envia HELLO periódico Nó mantém tabela organizada por destino, com a relação dos últimos nós de origem que utilizaram a rota (vizinhos ativos) Em caso de falha em algum nó (ausência de resposta ao HELLO), nó envia mensagem aos vizinhos ativos informando que rota não está mais disponível Ao contrário do Roteamento com Vetor de Distância, não existe difusão periódica da tabela de roteamento UEM/DIN/Elvio/1023-1224 31
AODV Manutenção da Rota (a) Tabela de roteamento do nó D (b) Grafo sem nó G UEM/DIN/Elvio/1023-1224 32
Controle de Congestionamento Princípios gerais Políticas de prevenção Controle de congestionamento em Circuitos Virtuais Controle de congestionamento em Subredes de Datagramas Escoamento de carga Controle do jitter UEM/DIN/Elvio/1023-1224 33
Congestionamento Mais pacotes do que a subrede pode manusear Crescimento repentino do tráfego Concentração do tráfego em determinadas rotas Demora dos roteadores em processar tráfego Enlaces não comportando demanda Controle de fluxo: enlace ponto-a-ponto Controle de congestionamento: envolve toda a rede UEM/DIN/Elvio/1023-1224 34
Congestionamento UEM/DIN/Elvio/1023-1224 35
Princípios Gerais Monitorar sistema para detectar quando e onde ocorre congestionamento Porcentagem de pacotes descartados por falta de espaço no buffer Média do comprimento das filas Número de pacotes descartados por excesso de atraso Atraso médio dos pacotes Desvio padrão do atraso médio dos pacotes UEM/DIN/Elvio/1023-1224 36
Princípios Gerais Enviar informação onde providências possam ser tomadas Informar roteador fonte Informar outros roteadores (ex., através de campo no cabeçalho do pacote) da situação de congestionamento Ajustar operação do sistema para corrigir problema UEM/DIN/Elvio/1023-1224 37
Políticas de Prevenção UEM/DIN/Elvio/1023-1224 38
Políticas de Prevenção Enlace de Dados e Transporte Retransmissão e Recebimento de quadros fora de ordem: mecanismos go back n ou retransmissão seletiva Confirmação de recebimento: envio de ACKs aumenta tráfego Controle de fluxo: diminui taxa de dados e minimiza congestionamento UEM/DIN/Elvio/1023-1224 39
Políticas de Prevenção Rede Circuito Virtual vs. Datagrama: mecanismos de controle de congestionamento em geral atuam melhor em circuito virtual Uso de filas de entrada e saída, política de descarte de pacotes e tempo de vida dos pacotes: mantém pacotes em trânsito e podem prejudicar congestionamento Algoritmo de roteamento: permite redirecionar tráfego UEM/DIN/Elvio/1023-1224 40
Controle de Congestionamento Circuito Virtual Controle de admissão Datagrama Pacote regulador UEM/DIN/Elvio/1023-1224 41
Escoamento de Carga Implica em descartar o tráfego que está além da capacidade do roteador RED (Random Early Detection) Roteadores monitoram comprimento médio da fila e passam a descartar pacotes quando este valor ultrapassa determinado limiar Aumento na perda de pacotes provoca diminuição do fluxo na fonte UEM/DIN/Elvio/1023-1224 42
Controle de Jitter Desvio padrão no tempo de chegada de pacotes UEM/DIN/Elvio/1023-1224 43
Qualidade de Serviço Quality of Service (QoS) Requisitos Confiabilidade (reliability), atraso (delay), jitter e largura de banda (bandwidth) UEM/DIN/Elvio/1023-1224 44
Qualidade de Serviço Técnicas para Garantir QoS Super-dimensionamento: dimensionar roteadores e enlaces para o pior caso Armazenamento em buffers: para fluxos unidirecionais UEM/DIN/Elvio/1023-1224 45
Qualidade de Serviço Técnicas para Garantir QoS Moldagem de tráfego: procura moldar o tráfego de maneira a deixá-lo regular, com velocidade e demandas uniformes ao longo do tempo Exemplos Algoritmo do Balde Furado (Leaky Bucket) Algoritmo do Balde de Símbolos (Token Bucket) UEM/DIN/Elvio/1023-1224 46
Leaky Bucket Pacotes recebidos são colocados em um balde furado (com um furo no fundo) O balde pode conter até um máximo de B bytes Pacotes que chegam quando o balde está cheio são descartados Pacotes são vazados do balde pelo furo a uma taxa constante, alisando rajadas de tráfego (moldando o tráfego) A quantidade de memória disponível no sistema limita o tamanho B do balde UEM/DIN/Elvio/1023-1224 47
Leaky Bucket UEM/DIN/Elvio/1023-1224 48
Token Bucket Similar ao Leaky Bucket mas permite que rajadas de tráfego continuem a transmitir enquanto houver tokens disponíveis Um token é adicionado ao balde cada 1/r segundos O balde pode conter no máximo T tokens Tokens que chegam ao balde quando ele está cheio são descartados Quando um pacote é recebido, ele é encaminhado se existir pelo menos 1 token no balde UEM/DIN/Elvio/1023-1224 49
Token Bucket Cada pacote encaminhado (transmitido) consome 1 token do balde Se N pacotes são recebidos e N ou mais tokens existirem no balde, todos os N pacotes serão transmitidos em uma rajada Se M < N tokens existirem no balde, então serão transmitidos M pacotes e os restantes N M serão transmitidos assim que novos tokens forem adicionados ao balde UEM/DIN/Elvio/1023-1224 50
Token Bucket UEM/DIN/Elvio/1023-1224 51
Token Bucket (a) Entrada (b) Saída de um leaky bucket Saída de um token bucket com capacidades de (c) 250 KB (d) 500 KB (e) 750 KB (f) Saída de um token bucket de 500KB alimentando um leaky bucket a 10 MB/s UEM/DIN/Elvio/1023-1224 52
Qualidade de Serviço Técnicas para Garantir QoS Reserva de Recursos Largura de Banda Espaço de Buffer Ciclos de CPU UEM/DIN/Elvio/1023-1224 53
Qualidade de Serviço Técnicas para Garantir QoS Reserva de Recursos (Exemplo) Chegada: λ pacotes/s (Poisson) Serviço: µ pacotes/s (Exponencial negativa) Atraso médio: T = 1 µ 1 1 λ/ µ Supondo µ = 1 p/s, λ = 0,99 p/s, T = 100 Supondo µ = 1 p/s, λ = 0,9 p/s, T = 10 Supondo µ = 1 p/s, λ = 0,5 p/s, T = 2 UEM/DIN/Elvio/1023-1224 54
Qualidade de Serviço Técnicas para Garantir QoS Controle de Admissão Exemplo de especificação de fluxo UEM/DIN/Elvio/1023-1224 55
Qualidade de Serviço Técnicas para Garantir QoS Roteamento Proporcional Programação de Pacotes UEM/DIN/Elvio/1023-1224 56
Resource Reservation Protocol (RSVP) Descrito na RFC 2205 Protocolo para reserva de recursos em uma rede para serviços integrados (voz, dado, etc.), em modo simplex (um único sentido) Iniciado pelo receptor, útil para conexões unicast e multicast UEM/DIN/Elvio/1023-1224 57
Resource Reservation Protocol (RSVP) (a) 3 requisita canal para 1 (b) 3 requisita canal para 2 (c) 5 requisita canal para 1 UEM/DIN/Elvio/1023-1224 58
Multiprotocol Label Switching (MPLS) Tenta emular características de Circuito Virtual sobre uma rede de datagramas Opera entre as camadas 3 (Rede) e 2 (Enlace de Dados), sendo algumas vezes denominada camada 2.5 Acrescenta uma pilha (hierárquica) de rótulos (labels) ao pacote de camada 3 Comutação passa a ser feita pelos rótulos e não pelo endereço de camada 3 Rótulos podem ser removidos e acrescentados ao longo da rota UEM/DIN/Elvio/1023-1224 59
Multiprotocol Label Switching (MPLS) Label = rótulo, QoS = classe de serviço, S = fim da pilha de rótulos, TTL = time to live UEM/DIN/Elvio/1023-1224 60