Sumário ula Introdução ao encaminhamento FCUL V1 V Introdução ao encaminhamento. istance Vector Routing. Link State Routing.. (Nota: a maioria das figuras foram retiradas de. Tanenbaum c Prentice-all 1996) V1 V 5-6 lgoritmo de encaminhamento ificuldades do encaminhamento ecide qual o caminho que os pacotes devem tomar. Serviços datagrama: Executado pacote a pacote. Serviços orientados ao circuito: Executado quando se cria o circuito. V1 V Tentar maximizar os recursos da rede (desempenho). Tentar garantir o acesso a todos os participantes (igualdade). Objectivos em conflito. Que tipo de característica se deve privilegiar? ébito, latência, preço, fiabilidade, etc. V1 V
Igualdade e desempenho Árvore de escoamento B C X X ' B' C' V1 V O conjunto de caminhos óptimos entre um nó e os restantes forma uma árvore. esigna-se por árvore de escoamento. ificuldade na definição da árvore: Os nós podem ter opiniões diferentes acerca de quais os encaminhadores que estão a montante e quais os que estão jusante. V1 V Árvore de escoamento Cálculo do caminho mais curto F K G L B M E I C J N O F K G L B M E I C J N O V1 V 6 B 7 C E F 1 G B (, ) C (9, B) E (, B) F (, ) (, ) G (6, ) (, ) (c) B (, ) C (9, B) E (, B) F (6, E) (, ) B (, ) C (, ) E (, ) F (, ) (, ) G (6, ) (, ) B (, ) C (9, B) E (, B) F (6, E) (,1) G (5, E) (, ) (d) B (, ) C (9, B) E (, B) F (6,E) (, ) V1 V G (5, E) (e) (9, G) G (5, E) (f) (8, F)
Inundação baseado no fluxo Enviar um pacote por todos os caminhos possíveis. ispendioso e induz ciclos infinitos. É necessário acrescentar um mecanismo de descarte de pacotes. Tempo-de-vida do pacote. V1 V Suponha-se que se conhecem de antemão os parâmetros da rede: Padrões de tráfego, topologia, débito dos elos. É possível prever o atraso em cada caminho, para uma determinada configuração de encaminhamento: Tamanho médio dos pacotes (1/µ), capacidade (C) e taxa de transmissão (λ). T = (µc λ) 1 Pode-se calcular o encaminhamento que minimiza o atraso médio na rede. V1 V Matriz de encaminhamento Cálculo do atraso médio B C 1 1 E 5 F Source B C E F estination B C E F 9 1 7 B BC BF E 9 B 8 BC BF BFE CB 8 CB C CE 1 FB FB C CE 7 E FE EFB FB EC FEC EC F 5 FE EF BF CEF F 5 EF V1 V Considerando 1/µ = 8bits, µc indica a capacidade do elo em pacotes por segundo e a variável weight indica a percentagem de pacotes a percorrer o elo em relação ao número total de pacotes trocados. i Line λ i (pkts/sec) C i (kbps) µc i (pkts/sec) T i (msec) Weight 1 B 1 5 91.171 BC 1 5 77.16 V1 V C 6 1 1.5 15.7 E 11 5 71.1 5 EF 1 5 6.5.159 6 F 8 1 1.5.98 7 BF 1 5 67.1 8 EC 8 5 59.98 8
Rede alvo Cada encaminhador é configurado estaticamente com as rotas correctas. Qualquer reconfiguração da rede obriga à reconfiguração dos encaminhadores. possibilidade de adaptar dinamicamente o comportamento da rede em função de falhas é bastante limitada. V1 V 19.168.1.1/7 REES 1.1.. 1..6./ 1..7./ 19.168.1.19/7 19.168.1.6/7 19.168.1./7 19.168.1.65/7 1..6.1/ 19.168.1.66/7 19.168.1.19/7 1..6./ 1..7.1/ 19.168.1.19/7 B C 1.1.5.1/16 V1 V Lookup recursivo 19.168.1.1/7 REES IRECTS EM C 1.1.. 19.168.1.19/7 19.168.1.65/7 1..6.1/ 19.168.1.66/7 19.168.1.19/7 1..6./ 1..7.1/ 19.168.1.19/7 B C 1.1.5.1/16 REES REMOTS EM C 1..6./ 1..7./ 19.168.1.6/7 19.168.1./7 V1 V 19.168.1.1/7 REES IRECTS EM C 1.1.. 19.168.1.19/7 19.168.1.65/7 19.168.1.66/7 19.168.1.19/7 19.168.1.19/7 B C 1..6.1/ 1..6./ 1..7.1/ 1.1.5.1/16 REES REMOTS EM C 1..6./ 1..7./ 19.168.1.6/7 19.168.1./7 V1 V Rotas estaticas em C ip route 19.168.1. 55.55.55. 19.168.1.19 ip route 19.168.1.6 55.55.55. 19.168.1.19 ip route 1..6. 55.55.55. 19.168.1.19 ip route 1..7. 55.55.55. 19.168.1.19 Rotas estaticas em C (lookup recursivo) ip route 19.168.1. 55.55.55. 19.168.1.65 ip route 19.168.1.6 55.55.55. 19.168.1.19 ip route 1..6. 55.55.55. 19.168.1.19 ip route 1..7. 55.55.55. 1..6.
I I I I Lookup recursivo Obriga a um maior processamento Embora o encaminhador possa fazer manter as traduções em cache. Pode simplificar a reconfiguração. V1 V uas alternativas principais: Vectores de distância. Estados dos elos. V1 V baseado na distância ctualização da informação de custos istance Vector Routing. Cada encaminhador mantém uma tabela que indica a distância em relação aos restantes nós e qual o caminho a seguir. métrica usada para medir a distância pode variar. Número de encaminhadores, tempo de espera, etc. Cada nó propaga para os seus vizinhos o conteúdo da sua tabela. tabela local é actualizada após receber informação dos vizinhos. V1 V E B C F Router I J K L G New estimated delay from J To I K Line B 1 C 5 E 1 F G 18 17 I 1 J 9 K L 9 6 18 7 7 1 11 1 19 8 19 6 1 7 9 1 8 6 1 19 1 9 J JI J JK delay delay delay delay is is is is 8 1 1 6 Vectors received from J's four neighbors 8 8 17 18 1 1 6 15 K K New routing table for J V1 V
Lentidão na actualização de falhas Contagem até ao infinito e split horizon B C E Initially 1 fter 1 exchange 1 fter exchanges 1 1 fter exchanges fter exchanges B C E 1 5 5 5 6 5 6 7 6 7 6 7 8 7 8. Initially fter 1 exchange fter exchanges fter exchanges fter exchanges fter 5 exchanges fter 6 exchanges V1 V O problema anterior é designado por problema da contagem até ao infinito. Uma técnica que tenta resolver este problema consiste em dar informação acerca da direcção dos pacotes. Se encaminha pacotes para C através de B, não indica a B que possui um caminho alternativo para C. Põe essa distância a infinito. esigna-se por split horizon. V1 V Falha do algoritmo split horizon. baseado no estado dos elos C B Router V1 V Cada nó descobre quais os encaminhadores que estão na sua vizinhança e qual o estado dos elos. Esta informação é propagada na rede para todos os encaminhadores. Cada encaminhador calcula uma tabela de encaminhamento localmente. V1 V
Reconhecimento dos vizinhos Pacotes do link-state Pacotes dedicados para saber a identidade dos vizinhos (hello). Pacotes de eco para medir os atrasos na rede: Podem ou não ter em conta o tráfego (usando as filas normais para transmitir o eco). informação recolhida é enviada aos restantes nós. V1 V B E C 1 6 5 7 8 F ge B E 5 Link State Packets B C E F ge C ge B ge C F 7 ge 5 C 1 ge B 6 7 F 6 E 1 F 8 E 8 V1 V istribuindo o estado das linhas Cálculo de novas tabelas de encaminhamento Tenta-se que todos os encaminhadores usem a mesma informação. Os pacotes são numerados e encaminhados por inundação. Pacotes já encaminhados/recebidos são descartados. Cada entrada é apagada ao fim de algum tempo. V1 V Feito localmente usando o estado da rede recebido. lgoritmos semelhantes aos estudados anteriormente. Variantes deste algoritmo muito utilizadas em redes actuais. OSPF. V1 V recepção dos pacotes e confirmada ao receptor.
hierárquico Sistemas autónomos Não é exequível manter tabelas com todos os encaminhadores que existem no mundo. ividir o espaço de encaminhamento em regiões. Encaminhar entre as regiões sem conhecer a sua estrutura interna. plicar este princípio recursivamente. V1 V rede é vista como um conjunto de sistemas autónomos interligados. estrutura interna do sistema autónomo não é vista do exterior. Protocolos diferentes dentro e fora do sistema autónomo. V1 V uas grandes classes de protocolos lgumas siglas (Protocolos interiores) Interior Routing Protocols: Usados para encaminhar pacotes dentro de um sistema autónomo. Exterior Routing Protocols: Usados para encaminhar pacotes entre sistemas autónomos. V1 V : Routing Information Protocol. OSPF: Open Shortest Path First. IGRP, EIGRP: Proprietário da Cisco. V1 V
lgumas siglas (Protocolos exteriores) EGP: Exterior Gateway Protocol. BGP: Border Gateway Protocol. CIR: Classless Inter-omain Routing. V1 V Protocolo simples da familia dos protocolos baseados em vectores de distância. Inspirado nos primeiros protocolos de encaminhamento usados na Internet. V1 V (V1) (V1) efine o formato das mensagens usadas para trocar o conteúdo das tabelas. métrica usada é o número de hops, e o infinito está definido como 16. Esta convenção para o infinito impede o uso de métricas sofisticadas. V1 V Originalmente, concretizado por um programa chamado routed. istribuído com o Unix de Berkeley. oje substituído por outro chamado gated. gated disponível para a maioria dos Unix. V1 V
(V1) (V1): formato do pacote Configuração: O servidor deve obter a lista das suas interfaces e quais as redes a que está ligado através de ficheiros de configuração. É necessário também indicar quais são os vizinhos e quais os seus endereços. V1 V Comand Version ddress family identifier IP address Metric V1 V Command: request/response. Version: 1 Family: originalmente pensado para suportar XNS, X.5, etc. Na prática IP. (V1): envio de actualizações (V) ctualizações (response) periódicas. Em intervalos de s. Estimuladas por alterações na rede: Propagadas de imediato mas com controlo da taxa máxima. Pedidos: Utilizados quando um encaminhador se inicia, para solicitar actualizações dos seus vizinhos. É possível solicitar uma actualização completa ou pedir só o refrescamento de uma rota concreta. V1 V Uma segunda versão do foi definida em 199. Permite trocar máscaras de sub-rede, de modo a criar encaminhamentos diferentes para cada uma das sub-redes. Permite trocar um campo de autenticação. V1 V
(V): formato do pacote Next hop: ilustração Comand Version ddress family identifier Route tag IP address Subnet mask Next hop V1 V Quando duas redes lógicas partilham a mesma rede física. Permite enviar o pacote directamente para o próximo encaminador. Node p V1 V Metric Route tag: usado para identificar rotas externas. efault router Next hop router (V): autenticação simples Resumo Comand Version xffff ddress family identifier uthentication IP address Subnet mask Next hop uthentication type Route tag V1 V.. baseado em vectores de distância. baseado em estados-dos-elos.. V1 V Metric Posteriormente reforçado para suportar outras formas de autenticação.