Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBárbara Rijo Castel-Branco Alterado mais de 8 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.