Roteamento em Redes de Computadores José Marcos Câmara Brito INATEL - Instituto Nacional de Telecomunicações INATEL - Instituto Nacional de Telecomunicações 01/08/00 1
Introdução Objetivo Tipos de rede Datagrama Circuito virtual Forma de implementação INATEL - Instituto Nacional de Telecomunicações 01/08/00 2
Classificação das técnicas de roteamento Estático Adaptativo Centralizado Isolado Distribuído INATEL - Instituto Nacional de Telecomunicações 01/08/00 3
Roteamento centralizado Centro de controle de roteamento INATEL - Instituto Nacional de Telecomunicações 01/08/00 4
Roteamento centralizado - Vantagens RCC possui todas as informações da rede Melhora tomada de decisões RCC processa a tabela de roteamento e a distribui Diminui processamento nos nós INATEL - Instituto Nacional de Telecomunicações 01/08/00 5
Roteamento centralizado - Desvantagens Tempo de adaptação às mudanças Nova tabela gerada pode já não refletir a melhor condição Confiabilidade do RCC Os diversos nós não recebem a nova tabela ao mesmo tempo - Inconsistência Alto tráfego de controle nas proximidades do RCC INATEL - Instituto Nacional de Telecomunicações 01/08/00 6
Roteamento isolado Nó toma a decisão baseado em informações locais Ex. Hot Potato Utilização em conjunto com outras técnicas INATEL - Instituto Nacional de Telecomunicações 01/08/00 7
Roteamento distribuído Os nós trocam informações com outros nós A decisão de roteamento é tomada em cada nó INATEL - Instituto Nacional de Telecomunicações 01/08/00 8
Medidas de desempenho afetadas pelo roteamento Throughput Interação throughput - controle de fluxo Atraso médio sofrido pelo pacote Capacidade de evitar rotas congestionadas INATEL - Instituto Nacional de Telecomunicações 01/08/00 9
Interação controle de fluxo x roteamento Delay realimenta controle de fluxo Delay Tráfego Oferecido Controle de Fluxo Throughput Roteamento Delay Tráfego Rejeitado INATEL - Instituto Nacional de Telecomunicações 01/08/00 10
Interação controle de fluxo x roteamento Controle de fluxo opera na base de um balanceamento throughput x delay Início da rejeição de tráfego quando o delay ultrapassa um limite Delay depende da estratégia de roteamento INATEL - Instituto Nacional de Telecomunicações 01/08/00 11
Interação controle de fluxo x roteamento Efeito do roteamento na curva throughput x delay INATEL - Instituto Nacional de Telecomunicações 01/08/00 12
Exemplo 1 Roteamento 1,3,6 e 2,5,6 x Roteamento 1,4,6 e 2,4,6 INATEL - Instituto Nacional de Telecomunicações 01/08/00 13
Exemplo 2 Rede para o exemplo 2 INATEL - Instituto Nacional de Telecomunicações 01/08/00 14
Exemplo 2 Rota única para tráfego proveniente de (2) Descarte de no mínimo 5 unidades de tráfego Throughput máximo de 15 unidades INATEL - Instituto Nacional de Telecomunicações 01/08/00 15
Exemplo 2 Divisão de tráfego de (2) por duas rotas e rota única para tráfego proveniente de (1) Ex. rotas 2,4,6-2,5,6 e 1,3,6 Tráfego em cada rota igual a.75 da sua capacidade Não há rejeição de tráfego INATEL - Instituto Nacional de Telecomunicações 01/08/00 16
Exemplo 2 Throughput máximo pode variar de 10 a 30 Roteamento pode incrementar o throughput Roteamento pode minimizar atraso médio INATEL - Instituto Nacional de Telecomunicações 01/08/00 17
Algoritmos de caminho mais curto Baseados em informações de custo de cada enlace, buscam encontrar o caminho de menor custo Parâmetros de custo possíveis Comprimento do enlace Atraso estimado Confiabilidade Taxa de transmissão INATEL - Instituto Nacional de Telecomunicações 01/08/00 18
Escolha do parâmetro de custo Depende da classe de usuário e tipo de aplicação Ex. Penalizar enlaces satélite para tráfego iterativo Ex. Penalizar enlaces com baixa taxa para tráfego batch Ex. Penalizar enlaces inseguros para informações sensíveis INATEL - Instituto Nacional de Telecomunicações 01/08/00 19
Algoritmo A - Dijkstra D(v) = distância do nó fonte (1) para o nó (v). l(i,j) = custo entre o nó (i) e o nó (j) Inicialização : Faça N = {1}. Para cada nó (v) fora de N, faça D(v) = l(1,v). Se (v) não está conectado a N, faça D(v) = infinito INATEL - Instituto Nacional de Telecomunicações 01/08/00 20
Algoritmo A Encontre um nó (w) fora de N tal que D(w) seja mínimo, adicione este nó (w) a N. Atualize D(v) para todos os nós restantes que ainda não estão em N, fazendo D(v) = Min [D(v), D(w)+l(w,v)] INATEL - Instituto Nacional de Telecomunicações 01/08/00 21
Algoritmo A - Exemplo Rede para exemplo 5 2 3 3 2 5 3 2 1 1 6 1 1 2 4 5 INATEL - Instituto Nacional de Telecomunicações 01/08/00 22
Algoritmo A - Exemplo Roteamento resultante (3) (4) 2 2 3 (0) 1 6 1 2 1 4 5 1 (5) Step number (1) (2) (a) INATEL - Instituto Nacional de Telecomunicações 01/08/00 23
Algoritmo A - Considerações finais Implementação com computação centralizada Nó central possui informação de toda rede Implementação descentralizada Todos os nós devem possuir informações da rede Exemplo: Arpanet INATEL - Instituto Nacional de Telecomunicações 01/08/00 24
Algoritmo B - Bellman-Ford Cada nó tem um label [n,d(v)] d(v) representa o valor corrrente da distância mais curta do nó (v) ao nó destino n representa o número do próximo nó ao longo do caminho mais curto corrente INATEL - Instituto Nacional de Telecomunicações 01/08/00 25
Algoritmo B - Execução Inicialização : faça d(1)=0 e associe o label (.,inf) para todos os demias nós Para cada nó (v) diferente de (1), atualize d(v) usando o valor corrente d(w) para cada nó vizinho (w), fazendo d(v) = min [d(w)+l(w,v)]. Atualize o label (v) fazendo n igual ao nó adjacente que minimizou a expressão e fazendo d(v) igual ao valor encontrado. INATEL - Instituto Nacional de Telecomunicações 01/08/00 26
Algoritmo B - Exemplo Roteamento resultante (3) (4) 2 2 3 (0) 1 6 1 2 (5) Step number 1 4 5 1 (1) (2) (a) INATEL - Instituto Nacional de Telecomunicações 01/08/00 27
Roteamento por caminhos múltiplos Pode existir mais de um caminho ótimo A idéia é dividir o tráfego pelas diversas rotas Permite enviar tráfegos de classes diferentes por rotas diferentes Pode aumentar a confiabilidade se as rotas forem disjuntas INATEL - Instituto Nacional de Telecomunicações 01/08/00 28
Roteamento por caminhos múltiplos Exemplo E Destination A B C D F G H I J K L First Second Third Choice Choice Choice $ "%""& $ "% ""& $ "% ""& A A 0.63 I 0.21 H 0.16 B A 0.46 H 0.31 I 0.23 C A 0.34 I 0.33 H 0.33 D H 0.50 A 0.25 I 0.25 E A 0.40 I 0.40 H 0.20 F A 0.34 H 0.33 I 0.33 G H 0.46 A 0.31 K 0.23 H H 0.63 K 0.21 A 0.16 I I 0.65 A 0.22 H 0.13 - K K 0.67 H 0.22 A 0.11 L K 0.42 H 0.42 A 0.16 INATEL - Instituto Nacional de Telecomunicações 01/08/00 29
Roteamento isolado - Evoluíndo o Hot Potato Roteamento do pacote leva em conta Peso estático das saídas Tamanho da fila para as saídas Possíveis decisões de encaminhamento Melhor peso se tamanho da fila não ultrapassar um limite Menor fila se peso não estiver abaixo de um limite Melhor composição peso-fila INATEL - Instituto Nacional de Telecomunicações 01/08/00 30
Roteamento delta Cada nó mede o custo do link e envia para nó central Nó central determina K melhores caminhos Cij1 = custo do melhor caminho Cijn = custo do caminho n INATEL - Instituto Nacional de Telecomunicações 01/08/00 31
Roteamento delta Se Cijn - Cij1 < delta, o caminho n é equivalente ao melhor Nó central envia lista dos caminhos equivalentes para os demais nós Ajustando K e delta, transferimos autoridade dos nós para o nó central ou vice-versa INATEL - Instituto Nacional de Telecomunicações 01/08/00 32
Roteamento por inundação Mensagem é enviada para todas as saídas Deve haver mecanismos de enxugamento Ex.: contador de hops, inicializado com a distância entre fonte e destino ou com a distância máxima da rede, e decrementado em cada roteador INATEL - Instituto Nacional de Telecomunicações 01/08/00 33
Roteamento por inundação Possíveis utilizações Medição de caracteristicas da rede Transmissão de pacotes especiais com o menor tempo possível Atualização simultânea de bancos de dados distribuídos Aplicações militares (robustez) INATEL - Instituto Nacional de Telecomunicações 01/08/00 34
Roteamento com vetor de distância Algoritmo B descentralizado Arpanet usava originalmente Foi utilizado na Internet com o nome de RIP Semelhante ao usado na arquitetura DNA Requer que uma quantidade muito pequena de dados seja armazenada nos nós INATEL - Instituto Nacional de Telecomunicações 01/08/00 35
Roteamento com vetor de distância Cada nó mantem uma tabela que diz a linha de saída a ser usada para cada destino e uma estimativa de custo para aquele destino Custo pode ser: No de hops, tamanho da fila (RIP) ou atraso INATEL - Instituto Nacional de Telecomunicações 01/08/00 36
Roteamento com vetor de distância Periodicamente os nós enviam para seus vizinhos suas estimativas de custo para cada destino Os nós usam estas informações para determinar as novas rotas INATEL - Instituto Nacional de Telecomunicações 01/08/00 37
Roteamento com vetor de distância A B C D E F G H I J K L (a) A 0 B 12 C 25 D 40 E 14 F 23 G 18 H 17 I 21 J 9 K 24 L 29 A I H K JA Delay = 8 24 36 18 27 7 20 31 20 0 11 22 33 JI Delay = 10 20 31 19 8 30 19 6 0 14 7 22 9 JH Delay = 12 21 28 36 24 22 40 31 19 22 10 0 9 JK Delay = 6 New estimated Delay from J line 8 20 28 20 17 30 18 12 10 0 6 15 A B C D E F G H I J K L (b) INATEL - Instituto Nacional de Telecomunicações 01/08/00 38
Roteamento com vetor de distância Nós passam mensagens de controle para outros nós até que o algoritmo esteja completo em cada nó, com convergência para caminho mais curto Não pode ser usado em redes Circuito Virtual Durante a fase de convergência é propenso a formação de loops INATEL - Instituto Nacional de Telecomunicações 01/08/00 39
Vetor de distância - Problema de contagem até o infinito O tempo de convergência pode ser longo quando ocorre a perda de um roteador ou enlace As boas notícias correm rápido, mas as más notícias andam muito devagar. INATEL - Instituto Nacional de Telecomunicações 01/08/00 40
Vetor de distância - Problema de contagem até o infinito INATEL - Instituto Nacional de Telecomunicações 01/08/00 41
Rede TYMNET Variação do algoritmo B Roteamento centralizado Circuito virtual Peso dos enlaces varia com o tráfego transmitido INATEL - Instituto Nacional de Telecomunicações 01/08/00 42
Rede TYMNET Peso dos enlaces Enlaces de 2400 (peso 16) Enlaces de 4800 (peso 12) Enlaces de 9600 (peso 10) INATEL - Instituto Nacional de Telecomunicações 01/08/00 43
Rede TYMNET Penalidades Enlaces satélite : 16 para usuários interativos 16 se o nó na extremidade do enlace acusa sobrecarga 32 se ambos os nós acusam sobrecarga INATEL - Instituto Nacional de Telecomunicações 01/08/00 44
Rede TYMNET Sobrecarga Atraso maior que 0.5 [s] Excesso de tráfego Canal ruidoso (taxa de erro de bit) INATEL - Instituto Nacional de Telecomunicações 01/08/00 45
Rede TYMNET Falha de enlace : nó central é notificado, determina nova rota e notifica todos os nós envolvidos A notificação é feita fazendo um pacote de controle percorrer todos os nós ao longo da rota INATEL - Instituto Nacional de Telecomunicações 01/08/00 46
Roteamento por Estado de Enlace - Passos Descobrir seus vizinhos e aprender seus endereços de rede Medir o retardo ou o custo para cada um de seus vizinhos Criar um pacote e difundir estas informações para todos os outros roteadores Calcular o caminho mais curto para cada um dos outros roteadores (Dijkstra). INATEL - Instituto Nacional de Telecomunicações 01/08/00 47
Rede ARPANET Versão modificada do algoritmo A O processamento é distribuído Todos os nós possuem base de dados com informações de toda rede INATEL - Instituto Nacional de Telecomunicações 01/08/00 48
Rede ARPANET A cada 10[s] os nós geram uma estimativa de atraso para cada linha de saída (médio dentro do período). As estimativas são transmitidas para os demais nós da rede por inundação Se uma mudança topológica ocorrer, uma informação de atualização é transmitida imediatamente INATEL - Instituto Nacional de Telecomunicações 01/08/00 49
Algoritmos de roteamento - performance Velocidade de resposta : capacidade de reagir a mudanças Número de pacotes de controle transmitidos Complexidade computacional Tamanho dos pacotes de controle Espaço de buffer requerido Possibilidade de ocorrência de loop INATEL - Instituto Nacional de Telecomunicações 01/08/00 50