A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

4: Camada de Rede 4b-1 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6.

Apresentações semelhantes


Apresentação em tema: "4: Camada de Rede 4b-1 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6."— Transcrição da apresentação:

1 4: Camada de Rede 4b-1 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

2 4: Camada de Rede 4b-2 1 2 3 0111 valor no cabeçalho do pacote que está chegando Algoritmo de roteamento tabela de repasse local valor cabeçalho link saída 0100 0101 0111 1001 32213221 Relacionamento entre roteamento e repasse

3 4: Camada de Rede 4b-3 u y x wv z 2 2 1 3 1 1 2 5 3 5 Grafo: G = (N,E) N = conj. de roteadores = { u, v, w, x, y, z } E = conj. de enlaces ={ (u,v), (u,x), (u,w), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Abstração com grafos Comentário: a abstração com grafos é útil em outros contextos da rede Exemplo: P2P, onde N é o conj. dos pares e E é o conj. das conexões TCP

4 4: Camada de Rede 4b-4 Abstração com grafos: custos u y x wv z 2 2 1 3 1 1 2 5 3 5 c(x,x’) = custo do enlace (x,x’) - p.e., c(w,z) = 5 custo poderia também ser 1, ou inversamente relacionado à banda, ou inversamente relacionado ao congestionamento Custo do caminho (x 1, x 2, x 3,…, x p ) = c(x 1,x 2 ) + c(x 2,x 3 ) + … + c(x p-1,x p ) P: Qual o caminho de menor custo entre u e z? Algoritmo de roteamento: algoritmo que encontra o caminho de menor custo

5 4: Camada de Rede 4b-5 Classificação de Algoritmos de Roteamento Informação global ou descentralizada/local? Global: r todos roteadores têm conhecimento completo da topologia e custos dos enlaces r algoritmos de “estado de enlace” Descentralizada/local: r roteador conhece vizinhos diretos e custos até eles r processo iterativo de cálculo, troca de infos com vizinhos r Algoritmo de “vetor de distâncias” Estáticos ou dinâmicos? Estáticos: r rotas mudam lentamente com o tempo Dinâmicos: r rotas mudam mais rapidamente m atualização periódica m em resposta a mudanças nos custos dos enlaces

6 4: Camada de Rede 4b-6 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

7 4: Camada de Rede 4b-7 O algoritmo de roteamento de “estado de enlace” (LS – Link State) Algoritmo de Dijkstra r topologia da rede, custos dos enlaces conhecidos por todos os nós m realizado através de “difusão do estado dos enlaces” m todos os nós têm mesma info. r calcula caminhos de menor custo de um nó (“origem”) para todos os demais m gera tabela de rotas para aquele nó r iterativo: depois de k iterações, sabemos menor custo p/ k destinos Notação:  c(x,y): custo do enlace do nó x ao nó y. custo é infinito se não forem vizinhos diretos  D(v): valor corrente do custo do caminho da origem ao destino v  p(v): nó antecessor no caminho da origem ao nó v, imediatamente antes de v  N’: conjunto de nós cujo caminho de menor custo já foi determinado

8 4: Camada de Rede 4b-8 O algoritmo de Dijkstra 1 Inicialização: 2 N’ = {u} 3 para todos os nós v 4 se v for um vizinho do nó u 5 então D(v) = c(u,v) 6 senão D(v) = ∞ 7 8 Loop 9 encontre w não contido em N’ tal que D(w) é um mínimo 10 adicione w ao conjunto N’ 11 atualize D(v) para cada vizinho v de w e ainda não em N’: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* o novo custo ao nó v é o custo velho a v ou o custo do 14 menor caminho conhecido para w, mais o custo de w a v */ 15 até que todos os nós estejam em N’

9 4: Camada de Rede 4b-9 Algoritmo de Dijkstra: exemplo Etapa 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u D(w),p(w) 5,u 4,x 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ 4,y u y x wv z 2 2 1 3 1 1 2 5 3 5

10 4: Camada de Rede 4b-10 Algoritmo de Dijkstra: exemplo u y x wv z Árvore de caminhos mínimos resultante originada em u: v x y w z (u,v) (u,x) destino enlace Tabela de repasse resultante em u:

11 4: Camada de Rede 4b-11 Algoritmo de Dijkstra, discussão Complexidade algoritmica: n nós r a cada iteração: precisa checar todos nós, w, não em N’ r n*(n+1)/2 comparações => O(n 2 ) r implementações mais eficientes possíveis: O(nlogn) Oscilações possíveis: r p.ex., custo do enlace = carga do tráfego carregado A D C B 1 1+e e 0 e 1 1 0 0 A D C B 2+e 0 0 0 1+e 1 A D C B 0 2+e 1+e 1 0 0 A D C B 2+e 0 e 0 1+e 1 inicialmente … recalcula rotas … recalcula

12 4: Camada de Rede 4b-12 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

13 4: Camada de Rede 4b-13 O algoritmo de Vetor de Distâncias (DV) Equação de Bellman-Ford (programação dinâmica) Define d x (y) := custo do caminho de menor custo entre x e y Então d x (y) = min {c(x,v) + d v (y) } onde min é tomado entre todos os vizinhos v de x v

14 4: Camada de Rede 4b-14 Exemplo com Bellman-Ford u y x wv z 2 2 1 3 1 1 2 5 3 5 Claramente, d v (z) = 5, d x (z) = 3, d w (z) = 3 d u (z) = min { c(u,v) + d v (z), c(u,x) + d x (z), c(u,w) + d w (z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 O nó que leva ao custo mínimo é o próximo passo ao longo do caminho mais curto ➜ tabela de repasse A equação B-F diz:

15 4: Camada de Rede 4b-15 Algoritmo de Vetor de Distâncias r D x (y) = estimativa do menor custo entre x e y r Nó x sabe o custo para cada vizinho v: c(x,v) r Nó x mantém o vetor de distâncias D x = [D x (y): y є N ] r Nó x mantém ainda os vetores de distâncias dos seus vizinhos m Para cada vizinho v, x mantém D v = [D v (y): y є N ]

16 4: Camada de Rede 4b-16 Algoritmo de Vetor de Distâncias Idéia básica: r Cada nó envia periodicamente o seu próprio vetor de distâncias estimadas para os vizinhos r Quando um nó x recebe um novo DV com as estimativas de um vizinho, ele atualiza o seu DV usando a equação B-F: D x (y) ← min v {c(x,v) + D v (y)} p/ cada nó y ∊ N  Sob condições mínimas, naturais, a estimativa D x (y) converge para o menor custo real d x (y)

17 4: Camada de Rede 4b-17 Algoritmo de Vetor de Distâncias Iterativo, assíncrono: cada iteração local causada por: r mudança do custo do enlace local r mensagem do vizinho: mudança de caminho de menor custo para algum destino Distribuído: r cada nó avisa a seus vizinhos apenas quando muda seu caminho de menor custo para qualquer destino m os vizinhos então avisam a seus vizinhos, se for necessário espera (mudança no custo de mensagem do vizinho) recalcula tabela de distâncias se mudou o caminho de menor custo para qq. destino, avisa vizinhos Cada nó:

18 Network Layer 4-18 x y z x y z 0 2 7 ∞∞∞ ∞∞∞ origem custo para origem x y z x y z 0 origem custo para x y z x y z ∞∞ ∞∞∞ custo para x y z x y z ∞∞∞ 710 custo para ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 tempo x z 1 2 7 y Tabela nó x Tabela nó y Tabela nó z D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3 32

19 Network Layer 4-19 x y z x y z 0 2 7 ∞∞∞ ∞∞∞ origem custo para origem x y z x y z 0 2 3 origem custo para x y z x y z 0 2 3 origem custo para x y z x y z ∞∞ ∞∞∞ custo para x y z x y z 0 2 7 origem custo para x y z x y z 0 2 3 origem custo para x y z x y z 0 2 3 origem custo para x y z x y z 0 2 7 origem custo para x y z x y z ∞∞∞ 710 custo para ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 2 0 1 7 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 tempo x z 1 2 7 y Tabela nó x Tabela nó y Tabela nó z D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3

20 4: Camada de Rede 4b-20 Vetor de Distâncias: mudanças no custo dos enlaces Mudanças no custo dos enlaces: r nó detecta mudança no custo do enlace local r atualiza tabela de distâncias r se mudou o VD, avisa aos vizinhos X Z 1 4 50 Y 1 “boas notícias chegam logo” No tempo t 0, y detecta a mudança no custo do enlace, atualiza o seu VD e informa os vizinhos. No tempo t 1, z recebe a atualização de y e atualiza a sua tabela. Computa o novo menor custo p/ x e envia o seu VD p/ os vizinhos. No tempo t 2, y recebe a atualização de z e atualiza a sua tabela. Os custos mínimos de y não mudam e portanto y não envia nenhuma mensagem para z.

21 4: Camada de Rede 4b-21 Vetor de Distâncias: mudança no custo dos enlaces Mudança no custo dos enlaces: r boas notícias chegam logo r más notícias demoram para chegar - problema da “contagem até o infinito”! r 44 iterações antes do algoritmo estabilizar: veja texto Reversão envenenada: r Se z roteia via y p/ chegar a x: m z informa p/ y que sua distância p/ x é infinita (p/ que y não roteie p/ x via z) r será que isto resolve completamente o problema da contagem até o infinito? x z 1 4 50 y 60

22 4: Camada de Rede 4b-22 Comparação dos algoritmos LS e DV Complexidade das mensagens r LS: com n nós, E enlaces, O(nE) mensagens enviadas r DV: trocar mensagens apenas entre vizinhos m varia o tempo de convergência Velocidade de Convergência r LS: algoritmo O(n 2 ) requer O(nE) mensagens m podem ocorrer oscilações r DV: varia tempo para convergir m podem ocorrer rotas cíclicas m problema de contagem ao infinito Robustez: o que acontece se houver falha do roteador? LS: m nó pode anunciar valores incorretos de custo de enlace m cada nó calcula sua própria tabela DV: m um nó VD pode anunciar um custo de caminho incorreto m a tabela de cada nó é usada pelos outros nós um erro propaga pela rede

23 4: Camada de Rede 4b-23 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

24 4: Camada de Rede 4b-24 Roteamento Hierárquico escala: com 200 milhões de destinos: r impossível guardar todos destinos na tabela de rotas! r troca de tabelas de rotas afogaria os enlaces! autonomia administrativa r internet = rede de redes r cada admin de rede pode querer controlar roteamento em sua própria rede Neste estudo de roteamento fizemos uma idealização: r todos os roteadores idênticos r rede “não hierarquizada” (“flat”) … não é verdade, na prática

25 4: Camada de Rede 4b-25 Roteamento Hierárquico r agregar roteadores em regiões, “sistemas autônomos” (ASs) r roteadores no mesmo AS usam o mesmo protocolo de roteamento m protocolo de roteamento “intra-AS” m roteadores em ASs diferentes podem usar diferentes protocolos de roteamento intra-AS Roteadores de borda r Enlace direto para roteador em outro AS

26 4: Camada de Rede 4b-26 ASs interconectados 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Algoritmo de roteamento intra-AS Algoritmo de roteamento inter-AS Tabela de repasse 3c r Tab. de encaminhamento é configurada pelos algoritmos intra-AS e inter-AS m Intra-AS define entradas p/ dest. internos m Inter-AS e Intra-AS definem entradas p/ dest. externos

27 4: Camada de Rede 4b-27 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c Tarefas do roteamento inter-AS r Suponha que um roteador no AS1 recebe um datagrama cujo destino está fora do AS1 m Roteador deveria repassar o pacote p/ um dos roteadores de borda, mas qual? AS1 precisa: 1. aprender quais destinos são alcançáveis via o AS2 e quais são alcançáveis via o AS3 2. propagar estas info. de alcançabilidade para todos os roteadores no AS1 Tarefas do rot. inter-AS!

28 4: Camada de Rede 4b-28 Exemplo: definindo a tabela de repasse no roteador 1d r Suponha que o AS1 aprende (através do protocolo inter-AS) que a sub-rede x é alcançável via o AS3 (rot. de borda 1c) mas não via o AS2. r Protocolo Inter-AS propaga info. de alcançabilidade para todos os roteadores internos. r Roteador 1d determina através de info. de roteamento intra-AS que sua interface I está no caminho mínimo para 1c. m Coloca par (x,I) na tab. de repasse. 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c x …

29 4: Camada de Rede 4b-29 Exemplo: Escolhendo entre múltiplos ASes r Suponha que o AS1 aprenda através do protocolo inter-AS que a subrede x seja alcançável de AS3 e de AS2. r Para configurar a tabela de repasse, o roteador 1d deve determinar para qual gateway ele deve encaminhar pacotes para o destino x. m Isto também é uma tarefa do protocolo de roteamento inter-AS! 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c x … …

30 4: Camada de Rede 4b-30 Aprende através do protocolo inter-AS que a sub-rede x é alcançável via múltiplos roteadores de borda Usa info. de roteamento do protocolo intra-AS p/ determinar os caminhos mínimos p/ cada rot. de borda Roteamento da batata quente: escolhe o roteador de borda que tem o caminho de menor custo Determina da tab. de repasse a interface I que leva ao rot. de borda de menor custo. Insere (x,I) na tab. de repasse Exemplo: escolhendo entre múltiplos ASs r Suponha agora que o AS1 aprende através do protocolo inter- AS que a sub-rede x é alcançável via AS3 e via AS2. r Para configurar a tabela de encaminhamento, o roteador 1d deve determinar para qual roteador de borda ele deve enviar pacotes com destino x. r Isto também é tarefa do protocolo de roteamento inter-AS! r Roteamento da batata quente (hot potato): envia pacote para o roteador de borda mais próximo.

31 4: Camada de Rede 4b-31 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

32 4: Camada de Rede 4b-32 Roteamento Intra-AS r Também conhecidos como protocolos de roteadores internos (IGP - Interior Gateway Protocols ) r Os protocolos de roteamento Intra-SA mais comuns são: m RIP: Routing Information Protocol m OSPF: Open Shortest Path First m IGRP: Interior Gateway Routing Protocol (proprietário da Cisco)

33 4: Camada de Rede 4b-33 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

34 4: Camada de Rede 4b-34 RIP (Routing Information Protocol) r Algoritmo vetor de distâncias r Incluído na distribuição do BSD-UNIX em 1982 r Métrica de distância: nº de saltos (enlaces) (máx = 15 enlaces) D C BA u v w x y z destino saltos u 1 v 2 w 2 x 3 y 3 z 2 Do roteador A p/ sub-redes:

35 4: Camada de Rede 4b-35 Anúncios RIP r Vetores de distâncias: trocados a cada 30 seg via Mensagem de Resposta (também chamada de anúncio) r Cada anúncio: rotas para até 25 redes destino dentro do AS

36 4: Camada de Rede 4b-36 Exemplo RIP Sub-Rede Próximo Roteador No. de saltos até o destino destino wA2 yB2 zB7 x--1 ….…..... w xy z A C D B Tabela de rotas/repasse em D...

37 4: Camada de Rede 4b-37 Exemplo RIP Sub-Rede destino Próximo Roteador No. de saltos wA2 yB2 zB A7 5 x--1 ….…..... w xy z A C D B Tabela de rotas/repasse em D... Dest Prox Saltos w - 1 x - 1 z C 4 …. …... Anúncios de A para D

38 4: Camada de Rede 4b-38 RIP: Falha e Recuperação de Enlaces Se não for recebido anúncio novo durante 180 seg --> vizinho/enlace declarados mortos m rotas via vizinho invalidadas m novos anúncios enviados aos vizinhos m na sua vez, os vizinhos publicam novos anúncios (se foram alteradas as suas tabelas) m informação sobre falha do enlace rapidamente propaga para a rede inteira m reversão envenenada usada para impedir rotas cíclicas (ping-pong) (distância infinita = 16 enlaces)

39 4: Camada de Rede 4b-39 RIP: Processamento de tabelas r Tabelas de repasse RIP gerenciadas por processo de nível de aplicação chamado route-d (routing daemon) r anúncios enviados periodicamente em pacotes UDP

40 4: Camada de Rede 4b-40 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

41 4: Camada de Rede 4b-41 OSPF (Open Shortest Path First) r “open” (aberto): publicamente disponível r Usa algoritmo do Estado de Enlaces (LS) m disseminação de pacotes LS m mapa da topologia em cada nó m cálculo de rotas usando o algoritmo de Dijkstra r Anúncio de OSPF inclui uma entrada por roteador vizinho r Anúncios disseminados para AS inteiro (via inundação) m Carregados em mensagens OSPF diretamente sobre IP (ao invés de TCP ou UDP)

42 4: Camada de Rede 4b-42 OSPF: características “avançadas” (não existentes no RIP) r Segurança: todas mensagens OSPF autenticadas (para impedir intrusão maliciosa) r Caminhos múltiplos de igual custo (o RIP permite e usa apenas uma rota) r Suporte integrado para roteamento unicast e multicast: m OSPF multicast (MOSPF) usa mesma base de dados de topologia usado pelo OSPF r OSPF hierárquico em domínios grandes.

43 4: Camada de Rede 4b-43 OSPF Hierárquico

44 4: Camada de Rede 4b-44 OSPF Hierárquico r Hierarquia de dois níveis: área local, backbone. m Anúncios de LS disseminados apenas na mesma área m cada nó possui topologia detalhada da área; apenas sabe a direção (caminho mais curto) para redes em outras áreas. r Roteador de borda de área: “sumariza” distâncias às redes na sua própria área, anuncia a outros roteadores de fronteira de área. r Roteadores de backbone: realizam roteamento OSPF limitado ao backbone. r Roteadores de borda: ligam a outros ASs.

45 4: Camada de Rede 4b-45 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

46 4: Camada de Rede 4b-46 Roteamento externo a sistemas autônomos: BGP r BGP (Border Gateway Protocol): o padrão de fato r BGP provê para cada AS meios de: 1. Obter informação de alcançabilidade (atingibilidade!!!) de sub-redes a partir de ASs vizinhos. 2. Propagar informação de alcançabilidade para todos os roteadores internos ao AS. 3. Determinar “boas” rotas para sub-redes a partir de informação de alcançabilidade e políticas. r Permite que uma sub-rede anuncie a sua existência para o resto da Internet: “Eu existo e estou aqui!”

47 4: Camada de Rede 4b-47 O básico do BGP r Par de roteadores (pares BGP) trocam infos de roteamento através de conexões TCP semipermanentes TCP: sessões BGP r Note que sessões BGP não correspondem a enlaces físicos. r Quando o AS2 anuncia um prefixo para o AS1, ele está prometendo que vai enviar àquele prefixo quaisquer datagramas destinados ao mesmo. m AS2 pode agregar prefixos nos seus anúncios 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c sessão eBGP sessão iBGP

48 4b-48 Distribuindo informação de alcançabilidade r Com a sessão eBGP 3a-para-1c, AS3 envia informação de alcançabilidade de prefixos para AS1. r 1c pode usar iBGP para distribuir esta nova informação de alcance de prefixo para todos os roteadores em AS1. r 1b pode então re-anunciar a nova informação de alcance para AS2 através da sessão eBGP 1b-para-2a. r Quando um roteador aprende sobre um novo prefixo, ele cria uma entrada para o prefixo na sua tabela de repasse. 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c sessão eBGP sessão iBGP

49 4: Camada de Rede 4b-49 Atributos de caminho e rotas BGP r Quando um prefixo é anunciado, o anúncio inclui atributos BGP. m prefixo + atributos = “rota” r Dois atributos importantes: m AS-PATH: contém os ASs pelos quais o anúncio para o prefixo passou: AS 67 AS 17 m NEXT-HOP: indica o roteador específico, interno ao AS, que leva ao AS do próximo salto. (Podem haver múltiplos enlaces do AS atual para o AS do próximo salto) r Quando um roteador de borda recebe um anúncio de rota, usa a política de importação para aceitar/declinar.

50 4: Camada de Rede 4b-50 Seleção de rota do BGP r Roteador pode aprender sobre mais de uma rota para algum prefixo. Ele deve selecionar a rota. r Regras de eliminação: 1. Valor do atributo preferência local associado à rota: decisão política 2. Menor AS-PATH 3. Roteador NEXT-HOP mais próximo: roteamento batata quente 4. Critérios adicionais

51 4: Camada de Rede 4b-51 Mensagens BGP r Mensagens BGP trocadas usando TCP. r Mensagens BGP: m OPEN: abre conexão TCP ao roteador par e autentica remetente m UPDATE: anuncia caminho novo (ou retira velho) m KEEPALIVE mantém conexão viva na ausência de UPDATES; também reconhece pedido OPEN m NOTIFICATION: reporta erros na mensagem anterior; também usada para fechar conexão

52 4: Camada de Rede 4b-52 Políticas de roteamento BGP r A,B,C são redes de provedores r X,W,Y são clientes (das redes de provedores) r X com duas interfaces: conectadas a duas redes m X não quer rotear de B para C m.. então X não vai anunciar para B a rota para C A B C W X Y legenda: rede cliente rede provedor

53 4: Camada de Rede 4b-53 Políticas de roteamento BGP (2) r A anuncia para B o caminho AW r B anuncia para X o caminho BAW r Deveria B anunciar para C o caminho BAW? m Nem pensar! B não obtém “rendimento” pelo roteamento CBAW, já que nem W ou C são clientes de B m B quer forçar C a rotear para W via A m B quer rotear apenas para/dos seus clientes! A B C W X Y legenda: rede cliente rede provedor

54 4: Camada de Rede 4b-54 Por que há diferenças entre roteamento Intra-AS e Inter-AS? Políticas: r Inter-AS: administração quer controle sobre como o tráfego é roteado, quem transita através da sua rede. r Intra-AS: administração única, logo são desnecessárias decisões políticas Escalabilidade: r roteamento hierárquico economiza tamanho de tabela de rotas, reduz tráfego de atualização Desempenho: r Intra-AS: pode focar em desempenho r Inter-AS: políticas podem ser mais importantes do que desempenho

55 4: Camada de Rede 4b-55 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6 Roteamento na Internet m RIP m OSPF m BGP r 4.7 Roteamento broadcast e multicast r 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O protocolo da Internet (IP) m Formato do datagrama m Endereçamento IPv4 m ICMP m IPv6 m IPSec

56 4: Camada de Rede 4b-56 R1 R2 R3R4 duplicação na fonte R1 R2 R3R4 duplicação dentro da rede criação/transmissão duplicada duplicação Roteamento Broadcast r Envia pacotes de um nó para todos os outros nós r Duplicação na fonte é ineficiente: r Duplicação na fonte: como a fonte determina os endereços dos receptores? duplicação

57 4: Camada de Rede 4b-57 Duplicação dentro da rede r Inundação: quando nó recebe pacotes de broadcast, envia cópia para todos os vizinhos m Problemas: ciclos e tempestades de broadcast r Inundação controlada: nó somente faz broadcast do pacote se já não tiver feito antes com o mesmo pacote m Nó mantém registro sobre ids dos pacotes para os quais já fez broadcast m Ou adota o repasse pelo caminho inverso (Reverse Path Forwarding - RPF): só repassa pacote se chegou pelo caminho unicast mais curto até o remetente r Árvores geradoras (spanning trees) m Nenhum pacote redundante recebido por nenhum nó

58 4: Camada de Rede 4b-58 A B G D E c F A B G D E c F (a) Broadcast iniciado em A (b) Broadcast iniciado em D Árvore Geradora r Primeiro construa uma árvore geradora r Nós encaminham cópias somente ao longo da árvore geradora

59 4: Camada de Rede 4b-59 A B G D E c F 1 2 3 4 5 (a)Construção passo-a- passo da árvore geradora A B G D E c F (b) Á rvore geradora construída Árvore Geradora: criação r Nó central r Cada nó envia mensagem de adesão ponto-a-ponto (unicast) endereçadas ao nó central m Mensagem é repassada até que chegue em um nó já pertencente à árvore geradora ou ao nó central!

60 Problema de Roteamento Multicast r Meta: achar uma árvore (ou árvores) conectando todos os roteadores com membros locais do grupo mcast m árvore: nem todos os caminhos entre roteadores são usados m baseada na fonte: árvore distinta de cada fonte para receptores m compartilhada: mesma árvore usada por todos os membros do grupo Árvore compartilhada Árvores baseadas na fonte

61 Abordagens para a construção de árvores mcast Abordagens: r baseada na fonte: uma árvore por fonte m árvores de caminhos mínimos m envio pelo caminho reverso r compartilhada: grupo usa uma árvore única m árvore de custo mínimo (Steiner) m árvore baseada em um centro …primeiro olharemos as abordagens básicas, e depois protocolos específicos que adotam estas abordagens

62 Árvore de Caminhos Mínimos r Árvore de encaminhamento mcast: árvore composta pelos caminhos mínimos da fonte para todos os receptores m Algoritmo de Dijkstra R1 R2 R3 R4 R5 R6 R7 2 1 6 3 4 5 i roteador com membro do grupo atrelado roteador sem membro do grupo atrelado enlace usado p/ envio, i indica a ordem de adição do enlace pelo algoritmo LEGENDA S: fonte

63 Repasse pelo Caminho Inverso se (datagrama mcast recebido por um enlace de entrada no caminho mínimo de volta para a fonte) então inunda o datagrama por todos os enlaces de saída senão ignora o datagrama  Baseia-se no conhecimento do roteador sobre caminhos mínimos unicast dele para a fonte  cada roteador tem um comportamento de envio simples:

64 Repasse pelo Caminho Inverso: exemplo resultado é uma árvore de caminho mínimo inverso específica para a fonte - pode ser uma escolha ruim para enlaces assimétricos R1 R2 R3 R4 R5 R6 R7 datagrama vai ser encaminhado LEGENDA S: fonte datagrama não vai ser encaminhado roteador com membro do grupo atrelado roteador sem membro do grupo atrelado

65 Envio pelo Caminho Reverso: poda r Árvore de repasse contém sub-árvores sem nenhum membro do grupo multicast m não há necessidade de enviar datagramas pelas sub-árvores m mensagens de “poda” enviadas para trás pelo roteador sem nenhum membro do grupo pra frente R1 R2 R3 R4 R5 R6 R7 mensagem de poda LEGENDA S: fonte enlace com envio mcast P P P roteador com membro do grupo atrelado roteador sem membro do grupo atrelado

66 Árvore de Steiner r Árvore de Steiner: árvore de custo mínimo conectando todos os roteadores com membros locais do grupo mcast r problema NP-completo r existem excelentes heurísticas r não é usada na prática: m complexidade computacional m necessita informações sobre a rede inteira m monolítica: recalculada sempre que um roteador precisa ser acrescentado/retirado

67 Árvores baseadas em centros r árvore de envio única compartilhada por todos r um roteador eleito como “centro” da árvore r para juntar-se: m roteador de fora envia msg-adesão unicast endereçada ao roteador central m msg-adesão é “processada” pelos roteadores intermediários e repassada para o centro m msg-adesão ou chega a um ramo da árvore já existente para este centro, ou chega ao centro m caminho seguido por msg-adesão se torna novo ramo da árvore para este roteador

68 Árvores baseadas em centros: exemplo Suponha que R6 foi escolhido como centro: R1 R2 R3 R4 R5 R6 R7 ordem em que as mensagens de junção são geradas LEGENDA 2 1 3 1 roteador com membro do grupo atrelado roteador sem membro do grupo atrelado

69 Roteamento Multicast na Internet: DVMRP r DVMRP: distance vector multicast routing protocol, RFC1075 r inundação e poda: envio pelo caminho inverso (RPF), árvore baseada na fonte m árvore RPF baseada em tabelas de roteamento próprias do DVMRP, construídas por meio da comunicação entre roteadores DVMRP m nada assume sobre o roteamento unicast subjacente m datagrama inicial para o grupo mcast é inundado por todo lugar via RPF m roteadores sem membros: mensagens de poda para cima

70 DVMRP: continuando… r estado soft : roteador DVMRP “esquece” periodicamente (1 min.) que ramos estão podados: m dados mcast novamente fluem pelos ramos não podados m roteador de baixo: refaz a poda ou continua a receber dados r roteadores podem rapidamente se enxertar na árvore m seguindo junção IGMP na folha r considerações finais m comumente implementado em roteadores comerciais m roteamento Mbone feito através do DVMRP

71 Tunelamento Q: Como conectar “ilhas” de roteadores multicast em um “oceano” de roteadores unicast?  datagrama mcast encapsulado dentro de um datagrama “normal” (sem endereço multicast)  datagrama IP normal enviado através de um “túnel” via IP unicast regular para o roteador mcast receptor  roteador mcast receptor desencapsula para obter datagrama mcast Topologia física Topologia lógica

72 PIM: Protocol Independent Multicast r não depende de nenhum algoritmo de roteamento unicast subjacente (trabalha com todos) r Dois cenários de distribuição multicast diferentes: Denso:  Localização dos membros do grupo de alta densidade  maior disponibilidade de banda Esparso:  nº de roteadores com membros do grupo é pequeno em relação ao nº total de roteadores  membros do grupo “amplamente dispersos”  menor disponibilidade de banda

73 Conseqüências da Dicotomia Esparso-Denso: Denso r participação dos roteadores nos grupos assumida até que os roteadores se podem explicitamente r construção da árvore mcast ditada pelos dados (e.x., RPF) r uso da banda e processamento no roteador não participante do grupo perdulários Esparso : r sem participação até que os roteadores se juntem explicitamente r construção da árvore mcast ditada pelos receptores (e.x., baseada em centro) r uso da banda e processamento no roteador não participante do grupo criteriosos

74 PIM- Modo Denso inundação com RPF e poda, similar ao DVMRP mas  Protocolo de roteamento unicast subjacente provê as informações referentes ao datagrama chegando, necessárias ao RPF  inundação menos complicada (menos eficiente) que a do DVMRP reduz a dependência em relação ao algoritmo de roteamento subjacente  possui mecanismo no protocolo para que o roteador detecte que é um nó folha

75 PIM – Modo Esparso r abordagem baseada em centro r Roteador envia msg. de junção para o ponto de encontro (rendezvous point - RP) m Roteadores intermediários atualizam estado e encaminham msg. de junção r após se juntar via RP, roteador pode mudar p/ árvore baseada na fonte m performance melhorada: menos concentração, caminhos menores R1 R2 R3 R4 R5 R6 R7 junção multicast dos dados a partir do ponto de encontro (RP) ponto de encontro

76 PIM – Modo Esparso fonte(s): r dados via rot. unicast para o RP, que os distribui ao longo da árvore com raiz no RP r RP pode estender árvore mcast para cima até a fonte r RP pode enviar msg. pare p/ fonte se não houver receptores atrelados m “ninguém está ouvindo!” R1 R2 R3 R4 R5 R6 R7 junção multicast dos dados a partir do ponto de encontro (RP) ponto de encontro

77 4: Camada de Rede 4b-77 Camada de Rede: resumo Próxima parada: A camada de Enlace de Dados! O que nós cobrimos: r Serviços da camada de rede r O que há dentro de um roteador? r O Protocolo da Internet: IP r Algoritmos de roteamento: estado dos enlaces e vetor de distâncias r roteamento hierárquico r protocolos de roteamento Internet RIP, OSPF, BGP r Roteamento broadcast e multicast


Carregar ppt "4: Camada de Rede 4b-1 Capítulo 4: Camada de Rede r 4.5 Algoritmos de roteamento m Estado de enlace m Vetor de distâncias m Roteamento hierárquico r 4.6."

Apresentações semelhantes


Anúncios Google