3 Interligação de redes (Camada de rede) - PDF
Download "3 Interligação de redes (Camada de rede)"
Filipe Carreira de Carvalho
1 3 Interligação de redes 3 Interligação de redes (Camada de rede) 1/84
2 3.3 Conceitos de Routing 3.3 Conceitos de encaminhamento 2/84
3 Redes datagramas Redes de datagramas O modelo da Internet Não há estabelecimento de ligação ao nível de rede (Connection Less) Routers: ao receberem 1 pacote, só sabem qual o próximo router a que o devem entregar O próximo router deverá decidir por si qual o router subsequente até ao destino (Hop by Hop routing ou encaminhamento salto a salto) Pacotes com origem e destino iguais podem utilizar rotas diferentes application transport network data link physical application transport 1. Envia dados 2. Recebe dados network data link physical 3/84
4 O que é o routing? Definição Routing Para encaminhar os pacotes para o destino, é necessário que o router: Conheça o endereço de destino (rede ou Host de destino) Descubra as rotas possíveis entre a origem e o destino (manualmente ou automaticamente) Seleccione a melhor rota entre origem e destino Mantenha e verifique a veracidade da informação de routing (tabelas, distâncias, etc.) 4/84
5 O que é o routing? E0 Os routers têm que aprender as redes de destino que não estão directamente ligadas (não estão configuradas em nenhum interface do router) 5/84
6 Estático e Dinâmico O que é o routing? Quais os métodos utilizados para os routers aprenderem as rotas para o destino? Routing Estático Utilizam rotas atribuídas manualmente pelo administrador da rede Rota é independente do estado da rede Vantagens Simplicidade Desvantagens Possibilidade de selecção de rotas inadequadas Utilizado onde não haja alterações de topologia na rede Ex: Stubs e Hosts Routing Dinâmico Utilizam rotas aprendidas automaticamente por um protocolo de routing Os protocolos de routing adaptam-se automaticamente às alterações de topologia da rede Rota é dependente do estado da rede Vantagens Selecção de rotas mais adequadas Desvantagens Processamento da informação de encaminhamento Possibilidade de oscilações 6/84
7 Exemplos Estático Routing Estático Exemplo de aplicação a um Stub São criadas duas rotas unidireccionais (uma para cada sentido) Rota estática para um determinado destino Stub: Rede terminal que não efectua trânsito. Só tem uma saída para o mundo. Para chegar à rede /24 o meu próximo router (Next Hop) éo Rota estática para todos os destinos Default Route Para chegar ao resto do mundo o meu próximo router (Next Hop) éo é a default route Rede máscara /84
8 Exemplo Dinâmico Routing Dinâmico Exemplo de aplicação numa rede com diferentes protocolos de routing (RIP e OSPF) Os protocolos de routing são utilizados para determinar os caminhos na rede e para manter as tabelas de routing Após a determinação do caminho os routers podem encaminhar o protocolo roteável (neste caso IP) 8/84
9 Cenário de operação da Internet O encaminhamento é efectuado pacote a pacote, com base no endereço de destino. Cada router sabe: O destino do pacote O custo de chegar ao destino, utilizando cada um dos seus vizinhos. O custo é função de: Nº de saltos Capacidade da ligação Tempo instantâneo de espera nas filas Algoritmo Vector de distância Cenário Internet Cada nó indica a cada nó vizinho a distância a que se encontra dos outros nós da rede Algoritmo estado de ligação Cada nó indica a todos os nós a distância a que se encontra dos seus vizinhos 9/84
10 Operação CIDR Host 1 envia dados Host 2 Endereço IP Destino = Todas as entradas na tabela de A contêm a rede correspondente ao IP de destino! Router A encaminha o pacote pela rota mais específica (maior prefixo) Neste caso seria pelo interface S4 Técnica: Longest Prefix Match Longest Match Host 1 OK Melhor Ainda Melhor A Melhor de todas Prefixo / / / / Next Hop /24 Interface S1 S2 S3 S Host 2 Tabela de Routing de A 10/84
11 3.4-Algoritmos de routing 3.4 Algoritmos de encaminhamento 11/84
12 Routing Dinâmico Objectivo do protocolo de routing: Determinar um bom caminho (sequência de routers) entre a origem e o destino Protocolos Routing São usados grafos como modelo de abstracção Routers: São os nós do grafo Ligações físicas: São os arcos do grafo Custo da linha: atraso, $, congestão, distância, etc. Caminhos bons São tipicamente caminhos mais curtos Outras possibilidades: Políticas, etc. 12/84
13 Classificação Prot Routing Classificação dos protocolos de routing Informação de routing Global ou Descentralizada Informação Global Algoritmos de estado das ligações(link State) Todos os routers têm a topologia completa da rede ( custos das ligações) Informação Descentralizada Algoritmos de vector de distâncias (Distance Vector) Routers sabem os vizinhos que estão fisicamente ligados e os custos destas ligações entre vizinhos Processo iterativo de computação, troca de informação entre vizinhos 13/84
14 Algoritmo vector de distâncias (DV) Conceitos fundamentais Pressupostos: Vector de distâncias Cada router conhece todos os destinos (Depois de convergir) Funcionamento: Cada router: Mantém um vector com o custo associado a cada destino Difunde periodicamente esse vector pelos vizinhos Actualiza a informação do custo associado a um dado destino e do próximo nó, quando receber a indicação dum custo inferior ao que conhece. 14/84
15 Algoritmo vector de distâncias (DV) Pressupostos: Rede com N nós Corolário: Cada nó conhece o endereço de cada nó vizinho Cada nó conhece o custo de envio de pacotes para cada vizinho (onde o custo pode significar, por exemplo, a capacidade da ligação, o atraso actual nas filas de espera ou um preço por pacote) Pretende-se encontrar (para cada nó) o próximo nó no encaminhamento pacotes até um dado destino, pelo caminho mais curto, através unicamente da troca de informação com os nós vizinhos. Se o menor caminho desde o nó i ao nó j, com distância D(i,j) passa através do vizinho K, cuja ligação tem o custo c(i,k) então: ( i, j) = c( i, k ) Min{ D( k, j) } D + Informação que k vai enviar para i 15/84
16 Algoritmo vector de distâncias (DV) Bellman-Ford ou Ford-Fulkerson Principio de funcionamento: Se cada vizinho de 2 conhece o caminho mais curto para 6, então 2 pode determinar o caminho mais curto para 6 através do calculo do custo até cada um dos seus vizinhos, e da distância entre os seus vizinhos e 6 Ex: Qual o melhor caminho entre 2 e 6? Destino 6 Menor distância Exemplo de 1 vector de distâncias Enviado do nó 3 -> nó 1 e nó 4 Os nós 3 e 5 conhecem a menor distância para 6 (custo da ligação directa). Digundem-na pelos vizinhos Os vizinhos recebem esta informação e calculam a melhor distâcia para 6. Difundem-na pelos vizinhos O nó 2 sabe que pode chegar a 6 via 3 vizinhos: 1 Via 1 com custo (3+2+1) = 6 2 Via 4 com custo (1+2+1) = 4 3 Via 5 com custo (4+2) = 6 O Nó 2 calcula (através da informação recebida) que o melhor caminho para 6 é via o vizinho /84
17 Algoritmo vector de distâncias (DV) Iterativo: Continua até que nenhum nó envie informação. Termina automaticamente: não há sinal de paragem Assíncrono: Nós não precisam de transferir informação em sincronismo Distribuído: Cada nó só comunica com os seus vizinhos directos Estrutura de dados: Tabela de Distâncias (linhas e Colunas) Cada nó tem: Uma linha para cada destino Uma coluna para cada nó adjacente que conduz ao destino Exemplo: nó X, para o destino Y através do nó vizinho Z: (4.1) Próximo nó Distância mínima entre Z e Y via todos (w) os nós directamente ligados a Z 17/84
18 Algoritmo vector de distâncias (DV) X ( Y Z ) D X, 1 Z 1 B Y A Cálculo da distância entre X e Y via Z D X { } Z ( Y, Z ) = c( X, Z ) + min D ( Y, w) w É o custo entre X e Z (Seu vizinho) c( X, Z ) = 1 Somado ao menor custo do caminho entre Z e Y via todos os seus vizinhos (Incluindo X) B,A e X { D Z ( Y, w) } = c( Z, Y ) 1 min = w D X ( Y, Z ) = 1+ 1 = 2 18/84
19 Algoritmo vector de distâncias (DV) Exemplo da tabela de distâncias para o router E D D D E E E A ( A A) = c( E, A) + min D ( A, w) w B ( A B) = c( E, B) + min D ( A, w) { } = { } = 8 + ( ) 14, =, = D ( A D) = c( E, D) + min D ( A, w) w { } = 2 + (2 + 1) 5, = Etc. w -> Atenção que o menor Custo entre B e A é via C!! Estamos perante um LOOP. Menor Custo volta à origem E Estamos perante um LOOP. A menor distância de D a A é Via E -> Volta à origem O router E instala os melhores valores da tabela DV (Círculo Verm.) na sua tabela de routing 19/84
20 Algoritmo vector de distâncias (DV) Tabela de distâncias e tabela de routing Valores do Next Hop (próximo router) para o destino Custos para ao destino Tabela de distâncias Tabela de routing 20/84
21 Algoritmo vector de distâncias (DV) Funcionamento: Iterativo, assíncrono: Cada iteração local é causada por: Alteração do custo de linha local Mensagem dum nó vizinho a indicar que o menor custo a partir desse vizinho para um destino mudou Distribuído: Cada nó notifica os vizinhos apenas quando o seu menor custo para um destino muda Os vizinhos por sua vez notificam os vizinhos se necessário Cada nó 21/84
22 Algoritmo vector de distâncias (DV) Exemplo para o nó X Valores iniciais de distância ( 1ª Iteração) D x (x,x) = 0 ; /* Distância entre o mesmo nó = 0 */ D x (v,v) = c (x,v) ; /* Porque v é um vizinho directamente ligado*/ D x (*,v) = INFINITA; /* A distância para todos os outros via vizinhos é infinita*/ MIN w D x (y,w); /* Envia para todos os vizinhos (w) a distância mínima para todos os destinos (y) que conhece*/ Note-se que o conjunto de valores: D x (*,v) é um vector distância no nó x 22/84
23 Algoritmo vector de distâncias (DV) Exemplo para o nó X Pontos chave do Algoritmo: Linhas 15 e 21 O nó X actualiza as entradas da sua tabela DV, devido a uma alteração no custo de uma ligação directa ou devido a receber uma mensagem de update dum vizinho Linha 24 O nó X envia um update para todos os seus vizinhos, caso o seu custo mínimo total para o destino se altere (Apenas o menor custo) 23/84
24 Algoritmo vector de distâncias (DV) Exemplo para a rede com 3 nós: Círculos a vermelho: Representam uma nova menor distâncias para os destinos calculadas na linha 4 ou 21 Círculos a preto: Representam as menores distâncias para os destinos Setas: Representam os envios dos updates para todos os vizinhos (inicialmente Linha 5 ou caso o custo se altere Linha 24) Enviam para os vizinhos as suas novas menores distâncias para todos os destinos (linha 5 ou 24) Vector de distâncias no update de Y 1ª Iteração -> Linhas 1 a 6 24/84
25 Algoritmo vector de distâncias (DV) Exemplo para a rede com 3 nós: Vector de distâncias enviado por X na 1ª iteração Círculos a vermelho: Representam uma nova menor distância para os destinos calculadas na linha 4 ou 21 Círculos a preto: Representam as menores distâncias para os destinos calculadas anteriormente Setas: Representam os envios dos updates com novas menores distâncias p/ vizinhos Após m iterações cada nó sabe o menor caminho até qualquer outro nó que se encontra a m hops ou menos de distância O algoritmo converge (termina por si) após d Iterações. Em que d representa o diâmetro da rede A tabela de encaminhamento é representada pelos círculos a preto (é conhecida após m iterações) Iteração 1 Iteração 2 Iteração 3 25/84 FIM
26 Algoritmo vector de distâncias (DV) Alteração do custo de uma linha Exemplo que foca apenas o nó Y Alteração dos custos Nó Y detecta alteração no custo local Actualiza a tabela de distâncias (linha 15) Se o custo do caminho de menor custo se alterar, notifica os vizinhos (linhas 23,24) 26/84
27 Diminuição do custo Algoritmo vector de distâncias (DV)- Exemplo que foca apenas o nó Y Diminuição do custo de uma ligação Em t0, Y detecta alteração do custo de 4 para 1. Informa os vizinhos, pois o custo do menor caminho foi alterado Em t1, Z recebe o update de Y e actualiza a sua tabela DV. Z calcula o novo menor custo para X (Este passa de 5 para 2 ) e informa os seus vizinhos Em t2, Y recebe o update de Z e actualiza a sua tabela DV. Não há alteração nos menores custos de Y (apesar da alteração do custo de Y a X via Z). Y não envia nenhum update. O Algoritmo converge 27/84
28 Algoritmo vector de distâncias (DV) Aumento do custo Aumento do custo de uma ligação (ou falha da ligação) Más notícias viajam devagar. Problema da contagem para o Infinito Algoritmo Continua Em t0, Y detecta alteração do custo de 4 para 60. Y calcula o novo custo mínimo do caminho para X como sendo 6 via Z (Apesar de sabermos que está errado, Y não tem outra informação para o cálculo apenas sabe que Z o informou antes que chega a X com custo 5) Para chegar a X, Y encaminha dados através de Z. Z para chegar X encaminha por Y ->> LOOP Routing O Loop mantêm-se até até todas as tabelas de routing se alterarem Em t1, Y informa vizinhos do novo custo mínimo para X é via Z e igual a 6 Em t2, Z recebe o novo custo para X via Y de 6 e calcula o novo custo mínimo para X é via Y = 7 (6+1) Z informa vizinhos do novo custo mínimo para X é via Y e igual a 7 E assim sucessivamente... 28/84
29 Contagem para o infinito Algoritmo vector de distâncias (DV) O problema da contagem para o Infinito! Quanto tempo duraria o processo anterior? No mínimo até ao custo de Z para X via Y ser > 50! E se C(Z,X) fosse 10000! O Loop para o caso específico anterior pode ser evitado com uma técnica denominada Envenenamento inverso 29/84
30 Envenenamento Inverso Algoritmo vector de distâncias (DV) O problema da contagem para o Infinito! Envenenamento Inverso Z 1 Y 4 X Se Z encaminha para o destino X via Y Então Z anuncia a Y a sua distância paro o destino X = INFINITO Z anuncia esta mentira enquanto encaminhar para o destino X via Y Generalizando: Um nó envia um custo infinito de um destino para um nó vizinho que seja o nó de saída para esse destino Algoritmo Converge Envenenamento Inverso Tabelas Finais ( X Y ) = D Z, LOOP Escondido ( Z Y ) = D X, Sem LOOP 30/84
31 Envenenamento Inverso Algoritmo vector de distâncias (DV) Envenenamento Inverso (Poisoning Reverse) Com envenen algoritmo termina Sem envenen. Em t0, Y detecta alteração do custo de 4 para 60. Y tem a INFINITO o custo do caminho para X via Z devido ao envenenamento inverso. Y continua a encaminhar os dados com destino a X via X, devido ao envenenamento. Evita o LOOP Em t1, Z recebe o update do menor custo de Y a X: 60. Z imediatamente altera a sua tabela de encaminhamento para X, através da ligação directa ZX (Custo 50) e envia update Em t2, Y recebe update do menor custo para X (alterou-se). Y calcula novo menor custo para X via Z. Como o menor custo de Y para X é agora via Z, efectua envenenamento inverso. Em t3, Z recebe o update do menor custo para X. Mas Y efectuou envenenamento inverso O Algoritmo converge em T4 (Não há mais alterações de distâncias) 31/84
32 Split Horizon Algoritmo vector de distâncias (DV) Divisão do horizonte (Split Horizon), com Envenenamento Inverso O envenenamento inverso apenas resolve casos simples de Loops (nós adjacentes) Com vários caminhos para o destino, e nós não adjacentes os loops tornam-se inevitáveis. Soluções (melhorias ao algoritmo) Split Horizon -> Os updates são enviados para todos os vizinhos excepto para o que o originou Redução do problema contagem para o infinito -> Limitar o nº máximo de Hops na rede (Ex: RIP são 16) Triggered Updates Nós enviam uma notificação mal uma das ligações fique inacessível. Reduz probabilidade de Loops e aumenta tempo de convergência 32/84
33 Link State Algoritmo de encaminhamento Estado de Ligação (link state) Cada router efectua o seguinte (em intervalos regulares) Descobre os seus vizinhos, e em particular aprende os seus endereços de rede Cada router descobre e aprende informação sobre os vizinhos através do envio de um pacote especial ( HELLO) por cada interface. Os routers vizinhos enviam um pacote de resposta (REPLY) Mede o custo para cada vizinho Por exemplo enviando pacotes ICMP Echo e medindo o tempo médio de ida e volta (RTT) Atribuindo um custo correspondente ao débito binário de cada interface Através de configuração manual nos interfaces Constrói os pacotes link state Envia os pacotes link state para todos os vizinhos. Estes por sua vez envia para os seus vizinhos e assim sucessivamente - FLOODING Calcula localmente o caminho mais curto para cada destino, sempre que recebe os pacotes link state Através do algoritmo de DIJKSTRA 33/84
34 Algoritmo de encaminhamento Estado de Ligação (link state) Construção dos pacotes link State Estrutura de dados com estado de ligações Quando é que cada router constrói estes pacotes? Em intervalos regulares Na ocorrência de um evento significativo: - Por exemplo falha de uma ligação ou alteração de custos de ligações 34/84
35 Algoritmo Dijkstra Algoritmo de encaminhamento Estado de Ligação (link state) Algoritmo de DIJKSTRA Topologia da rede, custo das ligações para todos os nós conhecido Conseguido com difusão do estado das ligações Todos os nós têm a mesma informação Calcula caminhos de menor custo dum nó (origem) para todos os restantes Calcula a tabela de routing para esse nó Iterativo: depois de k iterações, conhece os caminhos de menor custo para k destinos Notação: c(i,j): custo da ligação do nó i para o nó j -Custoinfinito para nós que não são vizinhos D(v): valor actual do custo do caminho da origem até ao destino v. p(v): penúltimo nó (predecessor) no caminho da origem até ao destino v. N: conjunto de nós que têm o caminho de menor custo conhecido 35/84
36 Algoritmo de encaminhamento Estado de Ligação (link state) Algoritmo de DIJKSTRA Exemplo para o nó A -Customínimo origem - destino 36/84
37 Exemplo Algoritmo de encaminhamento (link state) Exemplo algoritmo de DIJKSTRA nó A Topologia da rede no nó A -> Árvore SPF (Shortest Path First Tree) Passo 0 Passo 1 Passo 2 Passo 3 Passo 4 Passo 5 Nó Raíz A A 1 D A 1 D 1 E B 2 A 1 D 1 E B 2 A 1 D 1 C 1 E B 2 A 1 D 1 C 1 E 2 F 37/84
38 Algoritmo de encaminhamento Estado de Ligação (link state) Algoritmo de DIJKSTRA - Discussão Com bases de dados de estado de ligação (LSDB) consistentes os routers calculam caminhos consistentes sem Loops Podem no entanto surgir Loops no caso de LSDB s inconsistentes Complexidade do Algoritmo: para n nós Discussão w N Cada iteração: necessita de verificar todos os nós n Resulta em n comparações: O( n ) Excluindo o nó de origem 2 Ver exemplo anterior para 5 nós resulta em 15 comparações O número de iterações aumenta com o quadrado do nº de nós na rede 38/84
39 Comparação dos algoritmos LS e DV Quanto à complexidade das mensagens LS: com n nós, E linha, cada nó envia O(nE) mensagens DV: transfere mensagens apenas entre vizinhos Quanto ao tempo de convergência LS: algoritmo O(n 2 ) requer O(nE) mensagens Tempo de convergência fixo Pode ter oscilações DV: tempo de convergência varia Podem existir Loops Problema da contagem para infinito Comparação LS-DV Quanto à robustez O que acontece se o router não funcionar correctamente? LS: Nó pode anunciar custo da ligação incorrecto Cada nó calcula apenas a sua própria tabela DV: Nó pode anunciar custo da ligação incorrecto A tabela de cada nó é utilizada pelos restantes Erros propagam-se pela rede 39/84
40 Comparação dos algoritmos LS e DV Quanto ao funcionamento Estado de ligação (Link State) Vector de distâncias Informação topológica é difundida (Flooding) por todo o domínio de encaminhamento Os melhores caminhos extremo a extremo são calculados internamente por cada router Os melhores caminhos extremo a extremo determinam quais os próximos routers (Hops) Exemplos: OSPF, IS-IS Cada router pouco sabe da topologia da rede Para cada rede de destino, são escolhidos apenas os melhores próximos routers (Next Hop) Os melhores caminhos extremo a extremo Resultam de uma escolha composta por todas as Escolhas dos próximos routers (Next Hops) Exemplo: RIP, BGP 40/84
41 3.5 Encaminhamento Hierárquico 3.5 Encaminhamento Hierárquico 41/84
42 Encaminhamento Hierárquico Estudo de encaminhamento até agora: Todos os routers são idênticos Rede plana (Flat)... Não é verdade na prática Internet -> Escala: com milhões de destinos Não é possível armazenar todos os destinos nas tabelas de encaminhamento A transferência das tabelas de encaminhamento entupiria as ligações de dados Autonomia administrativa Internet = Rede de redes Cada administrador de rede pode querer controlar o encaminhamento dentro da sua própria rede AS (Autonomous System) -> Rede sob controlo administrativo de uma entidade 42/84
43 Encaminhamento Hierárquico Modelo da internet Funcionalidades chave: Encaminhamento Dinâmico Encaminhamento Intra-A.S. e Inter-A.S. Internet Organizada com vários AS A.S. estão internamente ligados A.S. ligam a outros AS na Internet Duas categorias de protocolos de encaminhamento IGP s (Interior Gateway Protocols). Asseguram encaminhamento dentro do A.S. Exemplo: RIP, OSPF, IS-IS EGP s (Exterior Gateway Protocols). Asseguram encaminhamento entre os A.S. Exemplo: BGP,EGP 43/84
44 Encaminhamento Hierárquico Modelo da internet (Continuação) Gateway Routers Routers especiais de um A.S. (Fronteira entre A.S) Executam um protocolo de encaminhamento intra-domínio, com todos os routers do mesmo A.S. Também são responsáveis por encaminhar para o exterior do domínio Executam um protocolo de encaminhamento inter-domínio, com os outros gateway Routers 44/84
45 Encaminhamento Inter-AS e Intra-AS Encaminhamento IntraAS e InterAS Ex: a,b, Têm informação de encaminhamento de todo o AS - C AS-C IGP IGP AS-A EGP AS-B IGP Só Têm informação de encaminhamento entre A.S. Gateway corre 2 tipos de protocolos (IGP e EGP) 45/84
46 Encaminhamento Inter-AS e Intra-AS Exemplo h1 para h2 Encaminhamento Inter-AS entre A e B Router a sabe que h2 está no AS B. Encaminha para o AS B C.b B.a a Host h1 C b A.a a A.c d c A b Encaminhamento Intra-AS dentro AS A. Router d sabe que para chegar a h2 encaminha para c (Gateway do AS) a B c Host h2 46/84 b Encaminhamento Intra-AS dentro do AS B. Router a Sabe que para chegar a h2 encaminha para b
47 3.6 IGPs 3.6 Protocolos de encaminhamento IGP Introdução ao RIP e OSPF 47/84
48 RIP Routing Information Protocol RIP Protocolo do tipo vector de distâncias (Utiliza algoritmo DV: Bellman Ford) Versão 1 -> Definido no RFC 1058 Utiliza nº de saltos Hop Count como métrica de 1 a 15.(Máx: 16 = Infinito) Tabelas (Vectores) anunciados ou enviados para os vizinhos a cada 30s - BROADCAST Cada anúncio contém até 25 entradas (redes). Caso não receba anúncios no prazo de 180s: Vizinho / Ligação declarada morta As rotas via este vizinho são invalidadas Novos anúncios enviados para os vizinhos (Triggered Updates) Vizinhos enviam novos anúncios caso as tabelas de encaminhamento se alterem Técnica de envenenamento inverso e divisão de horizonte (Poison Reverse) para 23prevenir ping-pong Loops A distância INFINITA é igual a 16 HOPS 48/84
49 RIP Routing Information Protocol Periodic updates Tabelas (Vectores) anunciados ou enviados periódicamente para os vizinhos (cada 30s) distâncias são acumuladas 49/84
50 RIP Routing Information Protocol Problemas do RIP RIP V1 Problemas Split Horizon / Poison Reverse não garantem a resolução do problema da contagem para o infinito 16 Hops = Infinito => RIP apenas pode ser utilizado em redes pequenas Elevados tempos de convergência (Lento a convergir) Broadcasts consomem recursos nos equipamentos que não são routers (Apenas Versão1 ) Relativamente à versão 1 do RIP: Não suporta VLSM s Não suporta autenticação 50/84
51 RIP Routing Information Protocol RIP versão 2. (RFC 1723) Suporta: VLSM s RIP V2 Autenticação Multicast (Updates enviados através de endereço multicast) Importação de rotas provenientes de EGP/BGP (Tags) 51/84
52 RIP Routing Information Protocol /24 Operação RIP Operação Descoberta da topologia de rede /24 HOPs = 0 R /24 HOP s = /24 HOPS = 1 R /24 Update da informação recebida e incremento do campo Hop Count - Split Horizon Utilizado para evitar loops do algoritmo B. Ford R / /24 HOP s = /24 HOP s = /24 HOP s = 0 A métrica é o nº de HOP s (saltos) a que a rede de destino se encontra Após Convergência Tabela routing R1 Destino Next Hop Metrica /24 Directa E /24 R /24 R2 2 52/84
53 RIP Routing Information Protocol Operação Descoberta da topologia de rede Routers descobrem o melhor caminho para o destino através dos vizinhos Métrica = Hop Count (nº de saltos) 53/84
54 RIP Routing Information Protocol Operação Triggered Updates Triggered updates Routers enviam updates quando uma rede fica inacessível 54/84
55 RIP Routing Information Protocol Envio de anúncios Operação Envio de anúncios (updates ) Os anúncios (updates) são enviados em pacotes UDP (Porto 520 Origem e destino) Versão 1 -> É utilizado o endereço Broadcast para envio de anúncios ( ) Versão 2 -> Cada router pertence a um grupo Multicast ( ) Processo Routing A Anúncio Processo Routing B 55/84
56 OSPF Open Short Path First Open aberto : especificação pública Protocolo do tipo estado de ligações OSPF Disseminação de pacotes de estado das ligações (LS packet.) Mapa da topologia em cada nó Cálculo de caminhos pelo algoritmo de Dijkstra Custos de ligações calculados com base no débito binário da ligação: Anúncios disseminados para todo o AS (por flooding - inundação) 10 8 C OSPF = Débito( bps) Transportados em mensagens OSPF directamente sobre o IP (em vez de TCP ou UDP) 56/84
57 OSPF Open Short Path First Utiliza o algoritmo estado de ligação Características Resposta rápida a alterações na rede Enviam triggered updates por cada alteração na rede Enviam updates periódicos (chamados link state refresh) a cada 30 minutos (longos intervalos de tempo) LSA (link State Advertisement) São enviados (flooded) por toda a rede Cada router coloca os LSA numa base de dados Corre o algorimo SPF (Dijkstra), para criar a topologia da rede (àrvore SPF) Os melhores caminhos são seleccionados da Àrvore SPF e colocados na tabela de routing 57/84
58 OSPF Open Short Path First Através do algoritmo estado de ligação (Link State): Routers têm acesso a muito mais informação da rede comparado com o Vector distâncias Consequentemente os routers tendem a tomar decisões mais precisas para encaminhamento Os routers que utilizam o algoritmo estado de ligação mantém informação sobre: Os seus vizinhos Todos os routers na mesma àrea (Topologia hierárquica) Melhores caminhos para os destinos Estruturas de dados mantidas por cada router Tabela de vizinhos ( Tabela de adjacências ) Tabela de topologia ou LSDB (Link State Database) Contém os routers e ligações na área ou rede Tabela de routing (Também conhecida como Forwarding Database). Contém melhores caminhos para os destinos Estrutura de rede Hierárquica Organizada por áreas -> Backbone Area = 0 e áreas regulares (diferentes de 0) 58/84
59 OSPF Open Short Path First Divisão em àreas -> Estrutura Hierárquica Caracteristicas Minimiza nº de entradas nas tabelas de routing Alterações topológicas só têm impacto dentro da àrea onde ocorrem Flooding de LSA s detalhados é limitado a cada àrea Tipicamente 50 a 100 routers por àrea OSPF Areas 59/84
60 OSPF Open Short Path First Divisão em àreas -> Estrutura Hierárquica Terminologia Routers A e B são Backbone Routers (Pertencem à area 0) Routers C, D e E são Area Border Routers (ABR s). Os ABR s interligam todas as àreas à area 0 Não são permitidas ligações entre àreas sem ser através da àrea 0 Todo o tráfego Inter-Area, deverá passar pela àrea 0 ABR s 60/84
61 OSPF Open Short Path First Divisão em àreas -> Estrutura Hierárquica Sumarização / Agregação de redes pode ddser efectuada entre áreas Normalmente efectuada nos ABR s ABR s Envio de redes agregadas 61/84
62 OSPF Open Short Path First Tabela de Adjacências Os routers descobrem os vizinhos com a troca de pacotes Hello (Multicast ) Os vizinhos são declarados válidos após verificação da validade de alguns parâmetros ou opções no pacote Hello n( 1) Tabela de adjacências n Nas ligações Ponto a Ponto WAN: São formadas adjacências entre os 2 vizinhos Nas ligações LAN: Sem DR / BDR = adjacências (n = nº routers) Após Adjacencias estabelecidas Tabelas LSDB são trocadas (sincronizadas) LSA s são flooded através das adjacências criadas de forma fiàvel (Mecanismo ACK LSA) Adjacências apenas com DR e BDR (Designated e backup designated router) Na LAN apenas o DR envia a tabela de topologia para todos os novos routers no segmento. O DR recebe e envia os updates para os outros routers na LAN (Multicast ) -> ganho de eficiência na LAN (em vez de todos para todos) 2 62/84
63 Link State Updates OSPF Open Short Path First Link State Advertisements (Anúncios do estado das ligações) Um pacote LSA (link state Advertisement) contém a lista com estado das ligações. Este contém uma lista com todas as ligações a outros routers, todos os interfaces e o custo destas ligações ESTE TIPO DE LSA é DESIGNADO ROUTER LSA ou tipo 1 Rede IP Máscara Custo (Métrica) 63/84
64 OSPF Open Short Path First Tratamento dos Link State Updates Um pacote LSU (link State Update) contém um ou mais LSA s (LSA = PDU s) Cada LSA tem um número de sequência para que o router possa determinar se este é o que contém informação mais actualizada 64/84
65 OSPF Open Short Path First Tratamento dos Link State Updates Um pacote LSU (link State Update) contém um ou mais LSA s (LSA = PDU s) Cada LSA tem um número de sequência para que o router possa determinar se este é o que contém informação mais actualizada 65/84
66 OSPF Open Short Path First Tratamento dos Link State Updates Um pacote LSU (link State Update) contém um ou mais LSA s (LSA = PDU s) Cada LSA tem um número de sequência para que o router possa determinar se este é o que contém informação mais actualizada -> A Dizer ao originador que tenho informação mais actualizada do que a que envia -> Aproveita e envia essa informação ao originador 66/84
67 OSPF Open Short Path First Tratamento dos Link State Updates Um pacote LSU (link State Update) contém um ou mais LSA s (LSA = PDU s) Cada LSA tem um número de sequência para que o router possa determinar se este é o que contém informação mais actualizada Nota: Identificadores de Seq. dos LSA s: 4 bytes: Inicio em 0x Término em 0x7fffffff Quando chega a 0x7fffffff, é pedido que o originador re-envie, para a sequência re-iniciar em 0x /84