Redes de computadores II - 3.Roteamento

11,708 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,708
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
691
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Redes de computadores II - 3.Roteamento

  1. 1. Roteamento Prof. Mauro Tapajós
  2. 2. Roteamento <ul><li>Trata do encaminhamento da informação da origem até o destino desejado
  3. 3. A seleção de uma rota normalmente é baseada em algum critério de performance (número de saltos até o destino, atraso, velocidade do link )
  4. 4. Esquemas de roteamento vão depender do tipo de rede (comutada por pacotes ou circuitos) </li></ul>H A H B R R R R R Rede 1 Rede 2 Rede 3 Rede 4 Rede 5
  5. 5. Roteamento em Redes comutadas por Circuitos <ul><li>O roteamento em redes baseadas em comutação por circuitos é basicamente estático, rotas predefinidas são armazenadas nos dispositivos da rede
  6. 6. Existe uma rota principal, caso ela esteja fora de serviço, é tentada outra das rotas definidas numa certa ordem de prioridades
  7. 7. Esquema basicamente estático, onde as rotas são definidas manualmente, inclusive as rotas de “backup”
  8. 8. Um exemplo é o roteamento de chamadas através de redes telefônicas </li></ul>
  9. 9. Roteamento na Rede Telefônica <ul><li>Características neste tipo de roteamento </li></ul><ul><ul><li>Tráfego estável e previsível
  10. 10. Nós (centrais telefônicas) extremamente confiáveis
  11. 11. Uma única organização controla a maior parte deste tipo de rede (pouca subdivisão)
  12. 12. Rede muito capilarizada
  13. 13. As conexões exigem a mesma quantidade de recursos de rede </li></ul></ul>
  14. 14. Roteamento em Redes de Pacotes Como se define os melhores caminhos de uma rede para outra? Como se encaminha um pacote de uma rede para outra? A B C D W X Y Z ?
  15. 15. Roteamento em Redes de Pacotes Através da interconexão de vários equipamentos capazes de encaminhar tráfego - Roteadores A B C D W X Y Z R A B C D W X Y Z R R Network Cloud
  16. 16. Roteamento em Redes de Pacotes <ul><li>Características </li></ul><ul><ul><li>Roteadores e links com confiabilidade apenas razoável
  17. 17. Grande diversidade de perfis de tráfego
  18. 18. Os trechos da rede possuem vários diferentes donos (grande subdivisão)
  19. 19. Capilaridade irregular e esparsa </li></ul></ul>
  20. 20. Roteamento em Redes de Pacotes <ul><li>Em redes baseadas em circuitos virtuais , a escolha da rota é feita no momento de inicialização do circuito virtual
  21. 21. Em redes baseadas em datagramas , uma rota é determinada para cada pacote de forma independente
  22. 22. Roteamento é a decisão de qual caminho seguir
  23. 23. Encaminhamento (forwarding) é o envio depois da decisão feita
  24. 24. Routing ≠ Bridging </li></ul>
  25. 25. Roteamento em Redes de Pacotes <ul><li>Se A manda pacotes para E, B deve tomar uma decisão de encaminhamento com base nos endereços de rede dos pacotes
  26. 26. Este endereço apenas define um destino e não o caminho a ser tomado </li></ul>A E B C D packet ? ?
  27. 27. Flooding (inundação) <ul><li>Uso de contadores de saltos
  28. 28. Útil para mensagens de emergência (aplicações militares)
  29. 29. Pode ser usada para se inicializar a rota de um circuito virtual, já que todas as rotas possíveis são tentadas
  30. 30. Pode ser usada para disseminar informação importante para todos os nós da rede </li></ul>
  31. 31. Tipos de Algoritmo de Roteamento <ul><li>Distribuídos / Centralizados
  32. 32. Baseados em um único caminho ( single path ) / vários caminhos ( multi path )
  33. 33. Plano ou hierárquico
  34. 34. Decisões de encaminhamento nos hosts ( source-routing ) ou nos roteadores
  35. 35. Intra-domínio ou inter-domínio
  36. 36. Baseado em estratégias Link State ou Distance Vector (Bellman-Ford) </li></ul>
  37. 37. Métricas Usadas para o cálculo da melhor rota. Exemplos: <ul><li>Comprimento do caminho ( path length )
  38. 38. Confiabilidade (em termos de erros de bits ou números de quedas de links)
  39. 39. Atraso
  40. 40. Largura de banda
  41. 41. Carga
  42. 42. Custo de comunicação ($)
  43. 43. Combinações </li></ul>
  44. 44. Princípio da Melhor Rota <ul><li>Se um roteador está no meio da melhor rota r entre outros dois roteadores, então a melhor rota dele para qualquer dos dois passa por r
  45. 45. Dado um determinado destino, todas as rotas ótimas para este destino irão criar uma árvore ( sink tree ) </li></ul>
  46. 46. Algoritmos de Roteamento <ul><li>Estabelecem os caminhos para cada pacotes de acordo com certas regras
  47. 47. Simplicidade, Robustez, Flexibilidade, Estabilidade, Otimização (convergência rápida)
  48. 48. Algoritmos Não-adaptativos (Estáticos) – rotas pré-definidas, a informação de roteamento não é atualizada
  49. 49. Algoritmos Adaptativos (Dinâmicos) – a informação de roteamento é atualizada periodicamente </li></ul>
  50. 50. Roteamento Estático <ul><li>Define rotas permanentes e fixas entre cada par origem-destino
  51. 51. Baseado num dos algoritmos de baixo custo
  52. 52. Estes algoritmos não podem se basear no estado da rede (variáveis dinâmicas como o tráfego)
  53. 53. Não há muita diferença nos roteamentos de datagramas e de circuitos virtuais
  54. 54. As tabelas de roteamento somente necessitam armazenar o próximo nó da rede que compõe a rota
  55. 55. Baseia-se em volumes de tráfego estimado ou capacidades de links </li></ul>
  56. 56. Exemplo de Roteamento Estático
  57. 57. Algoritmos de Baixo Custo ( Least-Cost ) <ul><li>Dada uma rede conectada por enlaces bidirecionais entre seus nós e cada enlace possui um custo associado, o custo de uma determinada rota será a soma dos custos de cada enlace que compõe a rota
  58. 58. O algoritmo deve encontrar a rota de menor custo entre cada dois nós da rede
  59. 59. Dois algoritmos básicos: Dijkstra e Bellman-Ford </li></ul>
  60. 60. Dijkstra <ul><li>Algoritmo desenvolvido em 1959
  61. 61. Determina os menores caminhos entre um dado vértice A e todos os demais
  62. 62. Inicia um conjunto S somente com o nó de origem A e parte para os outros
  63. 63. A cada iteração: agrega o nó de um conjunto W de nós ligados diretamente a S, com menor custo para A </li></ul>
  64. 64. Algoritmo de Dijkstra - Exemplo
  65. 65. Algoritmos de Roteamento Rede de Exemplo
  66. 66. Algoritmo de Dijkstra Exemplo
  67. 67. Algoritmo de Bellman-Ford Exemplo
  68. 68. Algoritmos de Dijkstra e Bellman-Ford Passos dos Algoritmos
  69. 69. Roteadores <ul><li>Roteadores são equipamentos que operam na camada de rede, comutando pacotes
  70. 70. Os roteadores dividem a rede em regiões, cada qual com o seu número de rede único
  71. 71. Os cabeçalhos MAC mudarão constantemente durante a travessia do pacote pelas redes, logo as decisões de encaminhamento deverão se basear em endereços de rede </li></ul>Rede A Aplicação Transporte Rede Interface de Rede Host B Rede Interface de Rede Roteador Rede Interface de Rede Roteador Rede B Rede C Aplicação Transporte Rede Interface de Rede Host A
  72. 72. Roteadores <ul><li>Em hosts – a informaçao de roteamento é parcial (normalmente 2 rotas: uma direta e uma default)
  73. 73. Em roteadores – é exigida uma informação maior sobre a topologia
  74. 74. As tabelas dos roteadores contém basicamente entradas para os hosts locais e as redes remotas
  75. 75. O último roteador no caminho para o destino encaminhará o pacote diretamente para o seu destino
  76. 76. O roteamento é feito com base no endereço de rede apresentado no cabeçalho do pacote
  77. 77. Roteadores são essencialmente dispositivos de rede de camada 3
  78. 78. Deve saber tratar itens como: esquemas de endereçamento, MTU’s e interfaces </li></ul>
  79. 79. Roteadores Multiprotocolos <ul><li>LAN´s de hoje podem trabalhar com vários protocolos (Apple Talk, TCP/IP, IPX)
  80. 80. Ter um roteador para cada tipo de protocolo é ineficiente
  81. 81. Ao receber um pacote, o roteador o analisa e passa para o processador de protocolo correspondente </li></ul>
  82. 82. Tabelas de Roteamento <ul><li>Uma requerida para cada roteador
  83. 83. Entradas para cada rede alcançável e não para cada destino (inviável!)
  84. 84. Cada entrada mostra o próximo nó na rota – não toda a rota
  85. 85. Podem existir em hosts
  86. 86. No caso normal, hosts apenas definem um roteador ( default gateway ) padrão para onde devem ser encaminhados os pacotes para uma rede externa a sua própria
  87. 87. Se houverem vários roteadores ligados na rede do host, ele então deve ter tabelas de roteamento para definir para qual deles enviar </li></ul>
  88. 88. Tabelas de Roteamento IP <ul><li>Roteadores mantém tabelas nas quais as entradas são endereços IP
  89. 89. Cada entrada indica o próximo nó a ser seguido e não toda a rota definida
  90. 90. Visando reduzir estas tabelas, suas entradas são da forma: </li><ul><li>Endereços de redes remotas (rede, 0)
  91. 91. Endereços de hosts locais (esta rede, host)
  92. 92. Endereços de subredes remotas (esta-rede, subrede, 0)
  93. 93. Endereços de hosts locais na subrede local (esta-rede, esta-subrede, host) </li></ul></ul>
  94. 94. Buscas em Tabelas de Roteamento IP <ul><li>Busca por um endereço de host idêntico – flag H </li></ul>Tenta reconhecer um host dentre os que estão diretamente ligados no roteador Se encontrar encapsula diretamente num quadro com endereço MAC do host e envia no segmento de rede <ul><li>Busca por um rede remota de mesmo endereço </li></ul>Necessidade de conhecimento de máscaras de rede Se encontrar encapsula diretamente num quadro com endereço MAC igual ao do próximo nó da rota <ul><li>Busca por uma entrada default </li></ul>Permite que uma única entrada seja usada para uma lista de entradas com mesmo próximo nó
  95. 95. Tabelas de Roteamento IP - Exemplo N2 N3 N4 N1 R1 R2 R3 N1 N2 N3 N4 R1 Entrega Direta Entrega Direta R3 Tabelas de roteamento reais contém endereços IP, flags indicando o tipo de entrada, máscaras de subrede, e outras informações
  96. 96. Agregação de rotas com CIDR
  97. 97. <ul><li>Nas redes de pacotes, normalmente se usa algum tipo de técnica de roteamento dinâmico
  98. 98. Isto quer dizer que as decisões de roteamento variarão com as mudanças em parâmetros da rede
  99. 99. Estes parâmetros usualmente são falhas na rede e condições de congestionamento
  100. 100. Para ser dinâmico e distribuído , o roteamento depende de troca de mensagens feita pelos nós a rede
  101. 101. Aspectos devem ser levados em conta (processamento adicional, overhead e velocidade de resposta) </li></ul>Algoritmos de Roteamento Dinâmico
  102. 102. <ul><li>A determinação da rota pode se basear numa variedade de métricas (valores derivados de computações de uma determinada variável como, por exemplo, atraso) ou até combinações de métricas
  103. 103. Assim, existirá a necessidade de um protocolo para fornecer e atualizar esta informação
  104. 104. Roteadores podem então tomar suas decisões de encaminhamento com base na topologia e nas condições da rede </li></ul>Algoritmos de Roteamento Dinâmico
  105. 105. Algoritmos de Roteamento Dinâmico <ul><li>Algoritmos de roteamento estático - Implementação fácil, mas e se um link cai ou determinada região fica inacessível em virtude de congestionamento?
  106. 106. Algoritmos de roteamento dinâmicos – hosts e roteadores continuamente trocam informação e encontram os melhores caminhos entre dois pontos, reagindo a mudanças na rede
  107. 107. Podem se ajustar a condições de queda de links ou congestionamento, mas: </li><ul><li>A informação a mais de roteamento cria tráfego extra – overhead (indesejável)
  108. 108. Loops de pacotes podem ocorrer enquanto a informação de roteamento estiver sendo trocada
  109. 109. “ Fluttering ” – enquanto os roteadores tentam “entender” o que está acontecendo, podem enviar pacotes para um mesmo destino por rotas diferentes tentando balancear rotas, ou mesmo tratando links bidirecionais de forma distinta dificultando e confundindo o gerenciamento da rede e as aplicações de rede em execução (as que usam TCP por exemplo) </li></ul></ul>
  110. 110. Algoritmos de Roteamento Dinâmico <ul><li>Protocolos de roteamento não serão a solução para problemas de congestionamento ou quedas de links (apenas podem amenizar o problema) mas podem, depois da mudança, corrigir as rotas previamente usadas para que se ajustem à nova realidade
  111. 111. Maior necessidade de processamento em função de decisões de roteamento mais complexas
  112. 112. Melhoram performance do ponto de vista do usuário </li></ul>
  113. 113. Estratégias para Algoritmos de Roteamento Dinâmico Com base nas fontes de informação, podemos ter: <ul><ul><li>Estratégias locais: </li><ul><li>Roteamento através da saída com menor fila de pacotes no roteador
  114. 114. Balanceamento de carga
  115. 115. Podem ser estratégias equivocadas e raramente são usadas </li></ul><li>Informações trocadas entre todos os nós </li><ul><li>Algoritmos de Link-state </li></ul><li>Informações trocadas entre nós vizinhos </li><ul><li>Algoritmos de Distance vector </li></ul></ul></ul>
  116. 116. Algoritmo de Distance Vector <ul><li>Também chamado Bellman-Ford distribuído
  117. 117. Cada roteador mantém uma tabela indexada para cada outro roteador da rede
  118. 118. Cada entrada na tabela possui um destino, uma métrica e a linha de saída correspondente
  119. 119. As métricas podem ser várias: o número de saltos, o tamanho das filas ou o atraso para um pacote chegar ao destino
  120. 120. A informação de roteamento é atualizada por trocas das tabelas entre os nós da rede </li></ul>
  121. 121. Algoritmo de Distance Vector (Exemplo)
  122. 122. Algoritmo de Distance Vector
  123. 123. Problema da Contagem ao Infinito
  124. 124. Problema da Contagem ao Infinito Soluções Alternativas <ul><li>Split Horizon : alternativa que evita enviar informações de determinado destino de volta à interface que informou sobre este mesmo destino.
  125. 125. Poison Reverse : ao invés de não enviar as informações na interface como descrito acima, se envia a informação de que o destino é inalcançável (custo = infinito). Esta alternativa quebra imediatamente possíveis loops de rotas. </li></ul>
  126. 126. Algoritmo de Distance Vector <ul><li>Problema da contagem até infinito (reação lenta a falhas na rede)
  127. 127. Converge lentamente depois de uma mudança na topologia (sempre os roteadores devem recalcular suas tabelas para encaminhar a informação de roteamento)
  128. 128. Originalmente usado na Arpanet (e na internet - RIP)
  129. 129. São fáceis de se implementar mas geram muito overhead , comparado com outras alternativas </li></ul>
  130. 130. Algoritmo de Link State <ul><li>Identifica cada roteador individualmente
  131. 131. Determina o custo para cada roteador vizinho
  132. 132. Monta um pacote com os custos para cada vizinho (enlace) – LSP – Link State Packet
  133. 133. Um LSP contém: </li><ul><li>Identidade do remetente
  134. 134. Número de sequência e idade ( age )
  135. 135. Lista de vizinhos e custos </li></ul><li>Um número de sequência e uma idade em cada pacote previne pacotes velhos de serem aceitos </li></ul>
  136. 136. Algoritmo de Link State <ul><li>A troca de mensagens LSP’s utiliza flooding (no caso de roteadores em LAN’s são usados endereços multicast para todos os roteadores)
  137. 137. LSP’s são enviados periodicamente ou em reflexo à variações na rede como </li><ul><li>surgimento de um novo vizinho
  138. 138. queda de um enlace
  139. 139. mudança no custo de um enlace </li></ul><li>Substituiu algoritmos de DV na Arpanet (não levavam as taxas de bits em conta e demoravam para convergir)
  140. 140. Alguns protocolos que o utilizam: OSPF (internet), IS-IS (ISO) </li></ul>
  141. 141. Comparação dos Algoritmos Dinâmicos <ul><li>Link State converge mais rapidamente que Distance Vector (não necessita recalcular as tabelas a serem encaminhadas, simplesmente encaminham os LSP’s recebidos)
  142. 142. Um roteador com problemas desestabiliza os dois algoritmos na mesma escala </li></ul>
  143. 143. Protocolos de Roteamento <ul><li>Apesar de roteamento ser uma tarefa da camada de rede, protocolos de roteamento se preocupam na troca de informações de roteamento entre os pontos da rede e assim são protocolos de aplicação
  144. 144. Um protocolo de roteamento deve resumir a informação de roteamento e divulgá-la da maneira mais eficiente possível
  145. 145. A maneira como um roteador analisa a tabela de roteamento não muda, o que muda é a forma como as entradas desta tabelas são geradas e alteradas </li></ul>
  146. 146. Protocolos de Roteamento <ul><li>Um roteador recém inicializado pede informação da rede aos outros roteadores (noção de topologia)
  147. 147. Os outros roteadores respondem enviando informação de roteamento
  148. 148. O roteador usa estas informações para gerar uma primeira tabela de roteamento e se insere no processo divulgando suas próprias informações para os demais de forma dinâmica
  149. 149. A troca das informações é contínua e as novas tabelas geradas podem refletir o que está acontecendo com a rede </li></ul>
  150. 150. Routing Information Protocol (RIP) <ul><li>É um IGP (RFC 1058) originalmente criado para a Xerox (XNS)
  151. 151. Posteriormente associado com o UNIX e TCP/IP e normalmente implementado no routed dos sistemas UNIX BSD (aceitação pelo mercado)
  152. 152. É uma versão distribuída do algoritmo de Bellman-Ford
  153. 153. Adequado a redes pequenas
  154. 154. Somente possui uma única métrica: saltos </li></ul>
  155. 155. Routing Information Protocol (RIP) <ul><li>Identifica participantes ativos (roteadores) e passivos ( hosts )
  156. 156. Baseado no algoritmo de distance vector </li><ul><li>O vetor é o número da rede
  157. 157. A distância é o número de saltos para a rede
  158. 158. Um salto é considerado uma travessia por um roteador </li></ul><li>O protocolo possui dois tipos básicos de mensagens: request (1) e reply (2)
  159. 159. Um request enviado pede aos vizinhos que enviem parte (se indicados os destinos) ou toda a sua tabela de roteamento por um reply
  160. 160. Uma mensagem de reply também é enviada a cada 30 segundos ou quando há alteração na tabela de roteamento (atualização) o que pode causar problemas como uma avalanche de broadcasts </li></ul>
  161. 161. Formato de Mensagem RIP
  162. 162. <ul><li>São transmitidos em datagramas UDP para a porta 520
  163. 163. Tem tamanho máximo de 512 octetos, acima disso a informação de roteamento deve ser dividida em vários datagramas (25 rotas em cada um) </li></ul>Formato de Mensagem RIP
  164. 164. RIP <ul><li>Redes diretamente conectadas tem métrica de 1 e a métrica máxima tem valor 16 (infinito)
  165. 165. Cada rota na tabela possui um temporizador
  166. 166. 2 tipos de participantes: ativos (somente roteadores) e passivos (só “ouvem” as mensagens)
  167. 167. Aceita atualizações de qualquer dispositivo (pode ser confundido por qualquer um)
  168. 168. RIP não prevê máscaras de subrede
  169. 169. Projetado para redes medianas (centenas de nós) razoavelmente estáveis
  170. 170. Existem versões incompatíveis de RIP para TCP/IP, NetWare e AppleTalk </li></ul>
  171. 171. RIP-2 <ul><li>Descrito na RFC 1723
  172. 172. É uma ampliação do RIP versão 1
  173. 173. Seu objetivo: poder ser usado em redes medianas, onde se utilizam subredes variáveis e ainda apresentar interoperabilidade com RIP 1 e CIDR
  174. 174. Oferece autenticação simples e suporte a multicasting
  175. 175. Utiliza os campos nulos que não são usados por RIP-1
  176. 176. Route tag : informação sobre a origem da rota
  177. 177. Assim, implementações de RIP-1 devem ignorar estes campos para que ambos possam operar juntos corretamente </li></ul>
  178. 178. Formato da Mensagem RIP-2
  179. 179. OSPF ( Open Shortest Path First ) <ul><li>É um protocolo IGP baseado no algoritmo de Link State (RFC 2328)
  180. 180. Derivado de uma versão preliminar do protocolo de roteamento OSI IS-IS
  181. 181. Um nó pode ser um roteador ou uma rede
  182. 182. Um custo é associado a cada interface de saída de cada roteador
  183. 183. OSPF utiliza o IP diretamente (e não sobre UDP ou TCP) com campo protocol igual a 89 </li></ul>
  184. 184. OSPF <ul><li>Suporta diferentes métricas
  185. 185. OSPF pode calcular um conjunto de rotas específicas para cada tipo de serviço IP ( type-of-service )
  186. 186. Permite balanceamento de carga entre rotas de mesmo custo
  187. 187. Suporta máscaras de subrede de tamanho variável
  188. 188. OSPF suporta 3 tipos de conexões: </li><ul><li>Enlaces ponto-a-ponto entre roteadores
  189. 189. Redes multiacesso com broadcasting (LAN’s)
  190. 190. Redes multiacesso sem broadcasting (WAN’s) </li></ul></ul>
  191. 191. OSPF - Exemplo de Rede e seu Grafo
  192. 192. Áreas OSPF <ul><li>OSPF pode dividir AS’s muito grandes em áreas (uma rede ou conjunto de redes contíguas) para diminuir o banco de dados da topologia (hierarquização)
  193. 193. São identificadas por um número de 32 bits e os roteadores também
  194. 194. Sempre existirá uma área backbone de identificador 0 que liga todas as áreas -> topologia estrela
  195. 195. Elas não se sobrepõem, mas um roteador pode não fazer parte de uma área
  196. 196. Cada área roda uma instância do algoritmo de LS - a informação de topologia está limitada naquela área (mensagens do protocolo de roteamento estarão também confinadas naquela área - menor overhead ) </li></ul>
  197. 197. OSPF
  198. 198. Mensagens OSPF <ul><li>Utiliza multicast para não sobrecarregar a rede (endereço 224.0.0.5 – AllSPFRouters )
  199. 199. Usa Dijkstra para calcular as melhores rotas </li></ul>
  200. 200. Operação OSPF <ul><li>Ao inicializar, cada roteador: </li></ul>1. Determina o custo de cada uma de suas interfaces 2. Descobre/alerta seus vizinhos através de uma mensagem de HELLO 3. Anuncia seus custos para os outros roteadores na topologia (mensagem LINK STATE UPDATE) <ul><li>quando ocorrer uma mudança nos links, os custos são recalculados e reanunciados para todos os roteadores -> LINK STATE UPDATE
  201. 201. Cada roteador deve confirmar as atualizações recebidas
  202. 202. Cada roteador de posse destas informações é capaz de gerar os caminhos de menor custo para cada rede de destino - pode usar qualquer algoritmo de roteamento estático (como Dijkstra) </li></ul>
  203. 203. Roteador Designado <ul><li>Roteadores numa mesma LAN não precisam se falar todos entre si
  204. 204. -> um roteador designado fará o papel de nó central para os demais
  205. 205. O protocolo funciona com a troca de mensagens entre roteadores adjacentes apenas (economia de banda) </li></ul>
  206. 206. Cabeçalho Comum de Mensagens OSPF
  207. 207. Cabeçalho de Mensagens OSPF <ul><li>Versão : atualmente igual a 2
  208. 208. Tipo : um dos 5 tipos de mensagens OSPF
  209. 209. Comprimento do pacote : em octetos incluindo o cabeçalho (+24 bytes)
  210. 210. Router ID : 32 bits
  211. 211. Área ID : 32 bits
  212. 212. Tipo de autenticação : ausente, password ou encriptação
  213. 213. Dados de autenticação : usados no procedimento de autenticação </li></ul>
  214. 214. OSPF - Mensagem Hello <ul><li>São enviadas periodicamente em cada enlace do roteador para verificar a vizinhança, mas nunca são repassados
  215. 215. O roteador designado (o de maior prioridade) será o responsável pelo envio de anúncios da rede em questão </li></ul>
  216. 216. OSPF - Mensagem Database Description <ul><li>Inicializam a idéia de topologia do roteador por que enviam a base de dados de topologia de cada um
  217. 217. Como a base de topologia pode ser muito grande, muitas mensagens podem ser usadas (campos I, M e seq. number) </li></ul>
  218. 218. OSPF – Mensagem Link Status Update <ul><li>As informações de estado do enlace são trocadas (ou pedidas com link state request ) pelos roteadores OSPF para que os bancos de dados de topologia sejam mantidos
  219. 219. Tabelas da rede sob as métricas de atraso, velocidade e confiabilidade podem ser usadas independentemente de acordo com o type-of-service (roteamentos independentes) </li></ul>Anúncio (enlace de roteador, rede, resumo ou AS externo)
  220. 220. IGRP <ul><li>Interior Gateway Routing Protocol
  221. 221. É um protocolo proprietário de roteamento baseado no algoritmo de distance vector desenvolvido nos anos 80
  222. 222. Adequado em redes IP mas também portado para outras como CLNP
  223. 223. Utiliza uma combinação de métricas na decisão roteamento </li></ul>
  224. 224. EIGRP ( Enhanced Interior Gateway Routing Protocol ) <ul><li>Evolução do IGRP
  225. 225. Baseado em relacionamentos entre roteadores vizinhos ( mensagens hello)
  226. 226. Hello de 5 seg (links alta velocidade) e 60 seg (links baixa velocidade) – ajustável
  227. 227. Sempre lida com os endereços primários das interfaces
  228. 228. Métricas: basicamente largura de banda e atraso total - é aplicada uma fórmula específica
  229. 229. Quando for necessário a informação de uma rota específica, pode ser enviada somente parte da tabela pelo vizinho e não toda ela </li></ul>
  230. 230. EIGRP <ul><li>Pode armazenar várias rotas de mesmo custo ou não para fazer balanceamento de carga proporcionalmente
  231. 231. Evita loops com “ split horizon ” e “ poison reverse ”
  232. 232. Pode ser configurado para utilizar parte do link e não todo em casos de links de baixa velocidade </li></ul>
  233. 233. VRRP – Virtual Router Redundancy Protocol <ul><li>Encapsulado diretamente no IP
  234. 234. Como um end-host descobre o next-hop para um destino? </li><ul><li>R.: Prot rot dinâmico, ICMP router discovery, rota estática (default gateway) </li></ul><li>Rota padrão para o “roteador virtual”
  235. 235. Um roteador master assume depois de eleição
  236. 236. Incompatível com HSRP (Cisco)
  237. 237. Escopo -> LAN
  238. 238. Usa multicast
  239. 239. Só IPv4
  240. 240. VR -> VR ID + IP's associados </li></ul>
  241. 241. VRRP cenário simples <ul><li>Só 1 VRouter
  242. 242. Anúncios VRRP periódicos </li><ul><li>End origem IP primário
  243. 243. End MAC origem -> MAC virtual </li></ul><li>É possível load splitting </li></ul>
  244. 244. VRRP – Cenário 2 – 2 VRouters
  245. 245. VRRP <ul><li>O MAC do VR tem o seguinte formato:
  246. 246. 00-00-5E-00-01-{VRID} (hex - internet standard bit-order) </li><ul><li>Os 3 primeiros octetos são derivados da OUI IANA
  247. 247. Os 2 seguintes (00-01) indicam que é um AC VRRP
  248. 248. {VRID} é o indetificador do VR </li></ul><li>Até 255 roteadores VRRP na rede </li></ul>
  249. 249. Mobilidade IP <ul><li>Muitas das novas tecnologias pressupõem mobilidade dos equipamentos
  250. 250. Esquema de endereçamento IP na Internet dificulta esta mobilidade – na Internet o endereçamento está relacionado com a topologia da rede
  251. 251. Impossível manter tabelas de roteamento para cada host na Internet
  252. 252. Um grupo de trabalho do IETF (atualmente na RFC 3344) estuda mecanismos para que seja possível a mobilidade em redes IP de forma automática
  253. 253. Características desejadas: transparência, interoperabilidade com as versões atuais de IP (IPv4) e segurança
  254. 254. Não prevê movimentação em alta velocidade como celular (geração de grande overhead ) </li></ul>
  255. 255. Mobilidade IP - Endereços <ul><li>É independente de tecnologia de transmissão
  256. 256. Um host terá 2 endereços (primário fixo e um secundário temporário)
  257. 257. Duas possibilidades de se trabalhar com </li></ul>os dois IP’s <ul><ul><li>Co-located care-of address – aplicações usam o IP primário e a camada 2 usa o secundário </li></ul></ul><ul><ul><ul><li>Pode-se usar a infra-estrutura como ela é
  258. 258. Exige software mais robusto no equipamento móvel </li></ul></ul></ul><ul><ul><li>Foreign agent care-of address - e xige um participante ativo na rede estrangeira ( foreign agent ) como um roteador ou servidor específico </li></ul></ul>
  259. 259. Mobilidade IP
  260. 260. Mobilidade IP - Registro <ul><li>Um agente estrangeiro envia mensagens de anúncio periodicamente ( advertisements - uma mensagem ICMP Router Discovery alterada)
  261. 261. Um host móvel deve se cadastrar com o agente estrangeiro na rede sendo visitada
  262. 262. É usada porta UDP 434
  263. 263. Ele deve encaminhar o pedido de encaminhamento de pacotes para o seu home agent via o foreign agent
  264. 264. Ele deve então conseguir um IP care-of para esta rede </li></ul>
  265. 265. Mobilidade IP - Operação <ul><li>O endereço co-located care-of IP pode ser o do próprio agente estrangeiro que seria seu responsável nesta rede (economia de endereços) ou de um serviço como DHCP
  266. 266. Quando o visitante for se comunicar o endereço de origem a ser usado é o seu primário (necessidade de acordo com o ISP)
  267. 267. Assim, toda resposta para ele será encaminhada para a rede home , e o home agent deve encaminhar para o túnel </li></ul>
  268. 268. Mobilidade IP – 2X Problem <ul><li>O tunelamento tem o final no agente estrangeiro ou no próprio host móvel (se ele obteve um IP de um serviço externo como o DHCP)
  269. 269. O uso de proxy ARP pelo foreign agent na rede remota permite a entrega direta de pacotes sem passar pelo túnel
  270. 270. Visa também evitar o ponto de falha que seria o home agent </li></ul>
  271. 271. Mobilidade IP <ul><li>Broadcast na rede original do host pode ou não ser encaminhado para o host móvel
  272. 272. Na volta à rede original o host deve corrigir sua tabela de roteamento antes de retirar seu registro
  273. 273. Necessidade de padronização de mecanismos de segurança (RFC 2002 propõe MD5 chaveado para autenticação e sugere outros mecanismos para casos em que privacidade for necessária) </li></ul>
  274. 274. Roteamento Multicast <ul><li>Roteamento multicast tem encaminhamento diferente do roteamento unicast
  275. 275. O roteamento multicast se altera com a inclusão/saída de um host do grupo multicast
  276. 276. Para encaminhar pacotes multicast, os roteadores devem examinar mais do que simplesmente o endereço de destino
  277. 277. Um datagrama multicasting pode ser gerado por um host que não faz parte do grupo e passar por redes que não possuam membros deste grupo </li></ul>
  278. 278. Roteamento Multicast <ul><li>Os caminhos que levam um datagrama multicast da sua origem até todos os membros do grupo formam uma “árvore de distribuição”
  279. 279. Para cada origem possível existe uma árvore de distribuição
  280. 280. A informação de grupos/membros deve ser conhecida pelos roteadores a todo momento mas existe a preocupação de não afogar a rede com estas atualizações
  281. 281. Não há ainda um mecanismo de multicasting sendo largamente adotado na Internet </li></ul>
  282. 282. Transmissão e Roteamento Multicast <ul><li>Necessidade de criação de uma árvore multicast da origem para o destino, passando por todos os segmentos onde existam estações do grupo multicast ( spanning tree )
  283. 283. Os pacotes são transmitidos pela origem e seguem sendo replicados em todos os segmentos que compõem o caminho de forma que um pacote chegue para cada segmento, INDEPENDENTE DO NÚMERO DE ESTAÇÕES DO GRUPO NO SEGMENTO
  284. 284. Com isso se reduz o tráfego necessário
  285. 285. Para fazer parte de um grupo, cada novo participante deve sinalizar isso de forma dinâmica para os roteadores que o atendem (IGMP)
  286. 286. Os roteadores devem trocar informação sobre que segmentos contém elementos do grupo
  287. 287. Com isso montam as árvores com os caminhos multicast
  288. 288. Para esta troca de informação eles necessitam de um protocolo de roteamento multicast </li></ul>
  289. 289. Tabelas de Roteamento Multicast <ul><li>As tabelas de roteamento multicasting terão entradas do tipo: </li><ul><ul><ul><li>(grupo multicast, origem), sendo a origem normalmente um endereço de rede </li></ul></ul></ul><li>Para reduzir estas tabelas, os protocolos de roteamento usam prefixos para as origens possíveis </li></ul>
  290. 290. Roteamento Multicast
  291. 291. Mecanismos de Roteamento Multicast <ul><li>RPF - Reverse Path Forwarding – o roteador que recebe o datagrama multicast analisa se ele foi recebido pela interface coerente baseado na sua tabela de roteamento comum gerada por algum algoritmo de roteamento unicast . Se positivo, ele é replicado nas demais interfaces
  292. 292. TRPF - Truncated R everse Path Forwarding – sofisticação do algoritmo acima que evita o broadcast nas interfaces registrando que grupos são acessados por quais interfaces
  293. 293. DVMRP – Distance Vector Multicast Routing Protocol </li><ul><li>Semelhante ao RIP – não pegou </li></ul><li>RPM - R everse Path Multicast </li><ul><li>Melhora o TRPF “podando” ou “enxertando” ramos na árvore (mais dinâmico) – grafts requests
  294. 294. data-driven (só divulga a informação de grupos quando chegam datagramas para aquele grupo) </li></ul></ul>
  295. 295. Roteamento Multicast <ul><li>Core-based Trees </li><ul><li>Cada região possui um core-router (raiz)
  296. 296. Árvores spanning tree criadas com centro ( core ou root ) aproximadamente no centro do grupo
  297. 297. Pacotes para o grupo são enviados para o core que os encaminha pela árvore.
  298. 298. Demand driven – só depois de ativado o envio se recebem pacotes </li></ul><li>MOSPF – Multicast Extensions to OSPF </li><ul><li>Demand-driven
  299. 299. Trata multicast dentro de uma área
  300. 300. Usa ABR ( area border router ) para propagar informação para fora da área </li></ul></ul>
  301. 301. Roteamento Multicast - PIM <ul><li>PIM – Protocol Independent Multicast
  302. 302. Dense Mode (DM) -> adequado a LAN's </li><ul><li>Abordagem broadcast and prune
  303. 303. Depende de uma instância de roteamento unicast (ao contrário de DVMRP)
  304. 304. Não é muito escalável (assim como DVMRP) </li></ul><li>Sparse Mode (SM) -> adequado a WAN's </li><ul><li>Semelhante a CBT
  305. 305. Root -> rendez-vous point
  306. 306. Também tem problemas de escalabilidade </li></ul></ul>
  307. 307. Roteamento Multicast - MSDP <ul><li>MSDP – Multicast Source Distribution Protocol
  308. 308. Idéia básica: túneis entre os vários RPs dos domínios
  309. 309. MSDP é usado para divulgar informações de grupos multicast entre os RPs </li></ul>
  310. 310. Engenharia de Tráfego <ul><li>Baseada no conceito de encontrar rotas adequadas de acordo com exigências de serviço adequadas
  311. 311. Exige um protocolo de troca de informações de rotas
  312. 312. Protocolos de roteamento com extensões apropriadas para divulgação de rotas e recursos disponíveis na rede
  313. 313. Constraint-based routing - CBR - capacidade de encontrar caminhos com base em mecanismos de otimização e critérios de restrição
  314. 314. Suporta critérios relacionados com recursos disponíveis (por exemplo: banda disponível) e também relacionados com aspectos administrativos (por exemplo: clientes VIP)
  315. 315. Suporte a rotas hot stand-by
  316. 316. RSVP pode estabelecer caminhos sobre uma rede MPLS com base em critérios CBR
  317. 317. Pode-se ainda estabelecer rotas manualmente </li></ul>
  318. 318. Core Routing <ul><li>Sistema de roteamento baseado em várias redes onde existe uma região core para troca de tráfego entre estas redes
  319. 319. Adequado para redes onde exista um backbone centralizado
  320. 320. Toda a informação sobre destinos estaria armazenada nos core routers
  321. 321. Não é adequado para a Internet </li></ul>
  322. 322. Roteamento Interno e Externo
  323. 323. Roteamento Hierárquico <ul><li>Em redes de tamanho maior, ter um entrada para cada destino-roteador possível torna-se uma realidade inviável
  324. 324. Uma forma de reduzir tabelas de roteamento é hierarquizar a estrutura de forma que as tabelas sejam resumidas </li></ul>
  325. 325. Roteamento Hierárquico
  326. 326. Autonomous System - AS (Sistema Autônomo) IGP – Interior Gateway Protocol EGP – Exterior gateway Protocol AS AS
  327. 327. Roteamento de Borda <ul><li>Protocolos baseados puramente em distance vector ou link state não são efetivos para roteamento exterior
  328. 328. Assumem que todos os roteadores compartilham as mesmas métricas
  329. 329. Podem existir diferenças de prioridades e restrições entre AS’s (diferentes políticas implementadas)
  330. 330. Uso de flooding de informação de link state pode se tornar intolerável
  331. 331. Protocolos de roteamento exterior devem propagar: </li><ul><li>Informação de que redes são alcançadas e por cada roteador
  332. 332. Informação de quais AS’s devem ser atravessados para se chegar até elas </li></ul><li>Este tipo de informação permite a implementação de políticas de roteamento </li></ul>
  333. 333. Roteamento de Borda <ul><li>AS's normalmente pertencem a uma organização mas o roteamento externo ultrapassa estes domínios
  334. 334. Apesar dos roteadores trocarem informação de roteamento, é impraticável que todos os roteadores de um rede grande pertençam a um mesmo nível de roteamento externo
  335. 335. É utilizado então um mecanismo que processe informações de roteamento dentro do AS (IGP) e um outro que processe entre AS’s (EGP)
  336. 336. Esta estrutura oferece uma hierarquia de vários níveis para roteamento na Internet
  337. 337. Dentro de um AS existe a liberdade de se escolher a arquitetura de roteamento interna </li></ul>
  338. 338. Roteamento de Borda
  339. 339. Roteamento de Borda <ul><li>AS's normalmente pertencem a uma organização mas o roteamento externo ultrapassa estes domínios
  340. 340. Apesar dos roteadores trocarem informação de roteamento, é impraticável que todos os roteadores de um rede grande pertençam a um mesmo nível de roteamento externo
  341. 341. É utilizado então um mecanismo que processe informações de roteamento dentro do AS (IGP) e um outro que processe entre AS’s (EGP)
  342. 342. Esta estrutura oferece uma hierarquia de vários níveis para roteamento na Internet
  343. 343. Dentro de um AS existe a liberdade de se escolher a arquitetura de roteamento interna </li></ul>
  344. 344. Autonomous System - AS (Sistema Autônomo) AS
  345. 345. Roteamento nos AS’s <ul><li>Um AS é um conjunto de redes e roteadores que são vistas como um unidade do ponto de vista do roteamento: é uma porção lógica de redes IP maiores
  346. 346. O roteamento realizado dentro de um AS (interno) se difere do realizado fora
  347. 347. Foram desenvolvidos protocolos de “borda” para lidarem com o roteamento entre AS’s (EGP’s)
  348. 348. Os EGP’s oferecem o suporte a políticas de roteamento (opções configuradas em cada rotedor – não fazem parte do protocolo) </li></ul>
  349. 349. Roteamento nos AS’s
  350. 350. BGP ( Border Gateway Protocol ) <ul><li>É um EGP desenvolvido para internets TCP/IP e substitui o velho protocolo EGP (Arpanet)
  351. 351. A versão atual é a BGP-4 (RFC 1771)
  352. 352. BGP é baseado em 3 procedimentos básicos: </li></ul><ul><ul><li>Neighbor acquisition (aquisição de um vizinho)
  353. 353. Neighbor reachability (alcance do vizinho)
  354. 354. Network reachability (alcance da rede) </li></ul></ul><ul><li>O protocolo não se preocupa em como um roteador saberá da existência de um outro roteador ou mesmo como ele decidirá que deve trocar informação com este roteador </li></ul>
  355. 355. BGP ( Border Gateway Protocol ) <ul><li>Exige confiabilidade rodando sobre TCP (porta 179)
  356. 356. Não é um protocolo puramente baseado em Distance Vector nem Link State (alguns, como Tanenbaum, o consideram DV)
  357. 357. Não realiza sempre trocas completas de informação: uma vez somente isto é feito e depois são trocadas informações incrementais
  358. 358. Além das informações de destino e próximo salto (normalmente em termos de AS's), são trocados também informações dos AS’s que compõem os caminhos </li></ul>
  359. 359. BGP ( Border Gateway Protocol ) <ul><li>Suporta CIDR
  360. 360. Permite implementação de políticas de roteamento
  361. 361. Reduz uso de banda – agrega rotas
  362. 362. Maior flexibilidade
  363. 363. Foi projetado para evitar loops de topologia (usa informações de caminho completas – path attributes )
  364. 364. Sujeito aos problemas de segurança comuns em aplicações sobre TCP </li></ul>
  365. 365. Sessões BGP <ul><li>Sessões eBGP – roteadores em AS's diferentes
  366. 366. Sessões iBGP – roteadores no mesmo AS
  367. 367. Estabelecidas através de conexões TCP entre pares BGP
  368. 368. Trocam rotas (prefixo/destino + atributos BGP)
  369. 369. Atributos importantes: </li><ul><li>AS-PATH: sequência de ASN's (AS number)
  370. 370. NEXT_HOP: IP do roteador de borda (uso no caso de vários caminhos para o mesmo destino) </li></ul></ul>
  371. 371. Tipos de mensagens BGP <ul><li>O procedimento de aquisição de um vizinho é feito pelo envio de uma mensagem “ open ”
  372. 372. Se o outro roteador responder com um “ keepalive ” é sinal de que ele aceita a criação de um relacionamento </li></ul>
  373. 373. Relacionamento BGP <ul><li>Cada um dos roteadores envia um open sobre a conexão TCP (porta 179) e recebe como resposta uma mensagem keepalive
  374. 374. Para o relacionamento entre os dois roteadores permanecer ativo (alcance do vizinho), devem ser enviadas mensagens keepalive periodicamente
  375. 375. O campo Marker é acordado entre as partes e pode ser usado para sincronização ou até autenticação básica (o protocolo de transporte não define início e fim) </li></ul>
  376. 376. BGP – Mensagem Open <ul><li>A mensagem open carrega a identificação do roteador e do AS que ele está
  377. 377. Hold timer : parâmetro incluído na mensagem de open para indicar o intervalo máximo entre duas mensagens de keepalive
  378. 378. Version (= 4)
  379. 379. BGP ID: identifica o roteador. Único para vários AS. Deve ser um de seus IP's.
  380. 380. Parâmetros opcionais: somente 1 definido, tipo de autenticação (para evitar que os mecanismos de autenticação sejam parte do BGP) </li></ul>
  381. 381. BGP – Mensagem Update <ul><li>O procedimento de alcance de uma rede é realizado pelo broadcast de mensagens Update nas conexões
  382. 382. Ela disponibiliza para os vizinhos informações de rotas válidas na internet ( Path Attributes ) e de rotas/destinos a serem desconsiderados ( withdrawn routes)
  383. 383. Normalmente em cada AS poucos, ou somente um roteador, implementará BGP
  384. 384. Uma mensagem de notificação somente é enviada em caso de detecção de erros na operação do protocolo
  385. 385. Endereços IP são representados uma máscara numérica de 1 byte e por 1,2,3 ou 4 bytes do end. IP (dependendo da máscara)) </li></ul>
  386. 386. BGP <ul><li>Normalmente as mensagens de update são criadas de forma que os Path Attributes sejam válidos para todos os destinos informados na mensagem (fatoração)
  387. 387. Path Attributes : </li></ul><ul><ul><li>A origem da informação (IGP ou EGP)
  388. 388. Os AS’s que estão no caminho da rota (políticas de roteamento)
  389. 389. O próximo roteador de borda no caminho (lembre-se que o caminho pode conter roteadores que não implementam BGP)
  390. 390. Outras informações: múltiplas entradas no AS, preferências locais (interesse de roteadores internos somente) e rotas agregadas </li></ul></ul><ul><li>Pode agregar rotas </li></ul>
  391. 391. Protocolos de Roteamento OSI <ul><li>ES-IS - End System to Intermediate System </li><ul><li>Usado com CLNP ( Connectionless Network Protocol )
  392. 392. Troca de informações de roteamento com os sistemas finais (hosts) </li></ul><li>IS-IS - Intermediate System to Intermediate System </li><ul><li>Roteamento intra-domínio
  393. 393. Herança DECNet
  394. 394. Redes Novell: NLSP (variante do IS-IS) </li></ul><li>IDRP - Inter-Domain Routing Protocol </li><ul><li>Roteamento inter-domínio </li></ul></ul>

×