Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Autônomos e Roteamento na Internet Edgard Jamhour Topologia de Rede de um ISP (Exemplo ADSL) CPE B-RAS linha de baixa capacidade linha de alta capacidade Broadband Remote Access Server (responsável por autenticar e policiar o tráfego do usuário) PPPoE usuário acesso núcleo borda CPE CPE DSLAM Como uma operadora localiza um CPE de outra operadora? CPE CPE CPE operadora 2 operadora 1 C P E C P E C P E C P E C P E C P E CPE CPE CPE Sistema Autônomo (Autonomous System - AS) Sistema Autônomo 1 rede rede Sistema Autônomo 2 rede rede rede rede Sistema Autônomo 3 O que é um AS ? B I Conexão com outro AS 200.17.1.0/24 200.17.2.0/24 200.17.3.0/24 O AS pode divulgar rotas agrupadas: 200.17.0.0/16 200.17.130.0/24 I I I Autoridades de Registro de Endereço IANA ARIN RIPE NCC AfriNIC LACNIC APNIC América do Norte Europa, Oriente e Asia Central Africa América Latina e Caribe Ásia e Pacífico Exemplos de AS (ver http://bgp.he.net/) AS PUCPR Número do AS: 13522 Prefixos: 3 Endereços IP:8192 Nome: Pontificia Descrição :Universidade Catolica do Parana País: BR Autoridade de Registro: LACNIC Prefixo BGP do endereço www.pucpr.br: 200.192.112.0/21 AS GOOGLE Número do AS: 15169 Prefixos: 109 Endereços: 122624 Nome: GOOGLE Descrição: Google Inc. País: US Autoridade de Registro: ARIN Prefixo BGP do endereço google.com Prefix:209.85.128.0/17 Comunicação entre Sistemas Autônomos Toda operadora é um AS, mas nem todo AS é uma operadora Alguns backbones, como o da RNP, atuam como interligação entre ASs POP-PR Curitiba POP = Ponto de Presença Tipos de AS [peer] [transit] AS2 transit AS1 non-transit AS5 stub AS4 transit AS3 transit [transit] [transit] [transit] [transit] sentido de divulgação das rotas PTT (Ponto de Troca de Tráfego) IXP (Internet Exchange Point) PTT Metro São Paulo http://ptt.br Tipos de Roteadores Sistema Autônomo 1 rede Sistema Autônomo 2 rede rede rede rede Sistema Autônomo 3 CPE Conhece rotas dos outros AS A Internet é apenas a rota default Conhece apenas rotas no Interior do AS Protocolos de Roteamento AS1 rede AS2 rede rede rede rede AS3 CPE Protocolo de roteamento do tipo EGP (Exterior Gateway Protocol) Protocolo de roteamento do tipo IGP (Interior Gateway Protocol) Não precisa de protocolo de roteamento Conceitos Básicos de Roteamento Process-Switching • Copia o pacote L3 na CPU • A CPU faz Lookup no plano de controle (RIP) • Executa resolução de endereços MAC (ARP, NDP) Fast-Switching • A decisão de encaminhamento é tomada com base em tabelas auxiliares previamente armazenadas (FIB) • O armazenamento é feito no processamento do primeiro pacote do fluxo Conceitos Básicos de Roteamento A C B E D F 2 2 2 5 3 3 1 1 A C B E D F estado de enlace vetor de distâncias [1] [2] [2] [3] Vetores de Distância (Flexibilidade para definição de políticas) A B C D rede A 1 2 1 2 1 2 1 3 acesso a rede A com custo 1 acesso a rede A com custo 2 acesso a rede A com custo 1 acesso a rede A com custo 2 X rede A por A.1 rede A por A.2 rede A por C3 rede A por B2 rede B Estado de Enlace A B Link State Database Link State Database hello hello LSA LSA novo LSA A X B C D E novo LSA novo LSA novo LSA novo LSA Dijkstra Shortest Path First (SPF) • Princípio: – Encontrar o menor caminho entre um dos nós da rede e todos os demais • Estratégia: – Escolher sempre o melhor nó adjacente – Atribuir custos acumulativos a cada nó da rede A C B D F E 1 5 3 5 1 6 4 2 0 1 4 5 9 10 Divisão em Áreas (Espinha de Peixe) área A área B área Backbone ABR ABR área C ABR área D Informações de estado são propagadas apenas no interior da área. Entre áreas são propagadas rotas Vetores de Caminho 200.17.1.0/24 B C D E F G I J EGP SA1 Y X W Z EGP 200.17.1.0/24 via SA3 SA2 SA3 200.17.1.0/24 via SA3, SA2 200.17.1.0/24 via SA3, SA1 200.17.1.0/24 via SA3 Protocolos para Redes IP • Vetor de Distâncias – RIP (Routing Information Protocol) – EIGRP (Enhanced Interior Gateway Routing Protocol) • Estado de Enlace – OSPF (Open Shortest Path First) – IS-IS (Intermediate Sytem-to-Intermediate System) • Vetor de caminho – BGP (Border Gateway Protocol) RIP vs EIGRP RIP v2 EIGRP Encapsulamento UDP Encapsulamento no IP Não mantém adjacências (estado dos vizinhos) Mantém adjacências (Hello a cada 5s) Reanúncio periódica de rotas (30s default) Não faz reanúncio periódico Custo por saltos Custo através de métrica composta (banda e delay) Detecta falhas por timeout de rotas Detecta falhas através de controle de adjacência (Hello) Número máximo de hop é 15 (métrica 16 é usado para remover rotas – poisoning) Número máximo de hops é 255 (default 100) RIP vs EIGRP • RIP • Apenas a melhor rota é armazenada na RIB • Não há comutação imediata para caminhos alternativos • Convergência muito lenta (rotas precisam expirar para serem eliminadas) • EIGRP • A melhor rota (sucessor) e uma rota alternativa (feasible sucessor) são armazenadas. Mensagens RIP vs EIGRP • RIP • (multicast 224.0.0.9) • Request – Opcional – acelera o envio de oferta de rotas – (raramente utilizado) • Response – Geralmente em modo não solicitado • EIGPR • (multicast 224.0.0.10) • Hello/Acks (multicast/unicast) – Controle de adjacência • Updates (unicast) – Anúncio de novas rotas • Queries (multicast) – Descoberta de rotas perdidas • Replies (unicast) – Resposta as Queries • Requests: unicast or multicast – Pedidos de informações Mensagens EIGRP SPLIT Horizon e Poison Reverse • Roteadores são proibidos de anunciar rotas pela mesma interface que aprenderam. – Método para prevenir loops em protocolos de roteamento do tipo vetor de distâncias. • “Poison Reverse” é uma exceção que permite anunciar rotas aprendidas pela interface com custo infinito (16 em RIP). – Se o link two-four falhar, o roteador two reconverge para o caminho para rede a através de three. – O roteador two utiliza “poison reverse” para remover a rota para a anunciadas. Anúncio para rede a com custo infinito X OSPF: Open Shortest Path First A B Hello [multicast] Hello [multicast] Database Description [unicast] Database Description [unicast] Link State Request [unicast] Link State Request [unicast] Link State Update [multicast]Link State Update [multicast] Link State Acknowledge [unicast] Link State Acknowledge [unicast] Terminologia OSPF R2 R1 Rede A R3 BACKBONE Area 0.0.0.0 Roteador de Fronteira de Área (ABR) Roteador de Fronteira de AS (ASBR) Rx Rede EIGRP R4 R5 R6 Rede B Rede C Rede D R7 R8 R9 Rede E R10 Redistribuição RB Ry Redistribuição Area 51 Area 13 Area 171 Roteador Designado Switch = Meio Compartilhado Roteador Designado Roteador Designado de Backup (Link State Update) vários LSA [224.0.0.5] (Link State Update) vários LSA (Link State Update) vários LSA [224.0.0.6] Cabeçalho OSPF Version (2) Tipo de Mensagem Tamanho da Mensagem Identificador de Roteador Byte 1 Byte 2 Byte 3 Byte 4 Identificador de Área Checksum da mensagem Dados de autenticação ... Reservado Tipo de Autenticação ID de Chave Tamanho da Autentic. Número de sequência COMUM A TODAS AS MENSAGENS OSPF ANTECEDE OS CABEÇALHOS ESPECÌFICOS DE CADA MENSAGEM Mensagem Hello Máscara de rede Byte 1 Byte 2 Byte 3 Byte 4 Intervalo de Hello Roteador designado Roteador designado de backup Intervalo de morte do roteador Primeiro Vizinho Opções Prioridade Roteador Outros Vizinhos ENVIADO PERMANENTE ENTRE OS PEERS FAZ O CONTROLE DE ADJACÊNCIA USADO NA ELEIÇÃO DO ROTEDOR DESIGNADO (DR e BDR) Mensagem DataBase Description MTU da Interface Opções Número de sequência da descrição do banco de dados Byte 1 Byte 2 Byte 3 Byte 4 Idade do Estado de Enlace Identificador de Estado de Enlace Roteador Anunciante Opções Número de sequência do Estado de Enlace Reservado I M S Tipo do Est. Enlace Checksum Tamanho Outros Cabeçalhos de Anúncio de Estado de Enlace .... L S A H e a d e r ENVIA RESUMOS DOS LSA CONHECIDOS UTILIZADO PARA QUE OS ROTEADORES SINCRONIZEM SUAS BASES ATRAVÉS DE LSR (LINK-STATE REQUEST) Mensagens Link State Update Byte 1 Byte 2 Byte 3 Byte 4 Contador de Anúncios (número de LSAs) Idade do Estado de Enlace (LS) Link State Acknowledge (LSU = N X LSA) Opções Tipo de LS Identificador de estado do enlace Roteador Anunciado Número de Sequência de Estado do Enlace Checksum do Estado de Enlace (LS) Tamanho Flags Reservado Número de Enlaces Identificador de Enlace (IP ou Subrede) Dado do Enlace (Máscara de Subrede) Tipo de Enlace Contador de TOS Métrica Padrão TOS Reservado Métrica do TOS INFORMAÇÔES DETALHADAS DOS LSA ENVIADO EM RESPOSTA A LSR (INICIALIZAÇÃO DA REDE) OU EM CASO DE ALTERAÇÃO DE ESTADO Mensagens Link State Acknowledge Byte 1 Byte 2 Byte 3 Byte 4 Idade do Estado de Enlace Identificador de Estado de Enlace Roteador Anunciante Opções Número de sequência do Estado de Enlace Tipo do Est. Enlace Checksum Tamanho Outros Cabeçalhos de Anúncio de Estado de Enlace .... L S A H e a d e r AS MENSAGENS LSU SÃO CONFIRMADAS, POR ISSO NÃO PRECISAM SER RETRANSMITIDAS Tipos de Mensagem OSPF • Type 1 – Router LSA: – Gerado por cada roteador no interior de uma área. – O ID de estado de enlace (link-state ID) é o ID do roteador que gerou a informação. • Type 2 – Network LSA: – Gerado pelo DR. – O link-state ID é o ID do DR. • Type 3 – Summary LSA: – Criado pelo ABR e inundado para outras áreas. Tipos de Mensagem OSPF • Type 4 – Summary ASBR LSA: – Criado pelo ABR e usado para repassar informações sobre o ASBR para os demais roteadores OSPF. – O link-state ID é o ID do ASBR. • Type 5 – External LSA: – Prefixos externos gerados pelo ASBR. • Type 6 – Multicast LSA: – Não suportado e não utilizado. • Type 7 – External LSA: – Também conhecido como not-so-stubby-area (NSSA) LSA. – Utilizados para permitir que áreas stubby (ou not-so-stubby), divulgue prefixos externos. LSA Tipo 1: Router LSA • Lista dos enlaces diretamente conectados ao Roteador no interior da área. • Esse tipo de anúncio não pode sair da área • Tipos de enlaces: – 1 = Ponto-a-ponto (ID do roteador vizinho) – 2 = Trânsito (IP do DR) – 3 = Conexão a uma rede stub (IP da rede) – 4 = Enlace virtual (ID do roteador vizinho) LSA Tipo 2: Network LSA • Criado em redes do tipo multi-acesso e são gerados pelo DR. • Lista todos os roteadores ligados a rede multi-acesso. • Não pode se propagar para fora da área. LSA Tipo 3: Summary LSA • Utilizado para propagar informações de roteamento entre áreas diferentes. • A sumarização de rotas é opcional. Por default, todas as rotas conhecidas são divulgadas. LSA Tipo 4: Summary ASBR LSA • Neste cenário o roteador R1 é um ASBR (Autonomous System Border Router), isto é, um roteador que redistribui informações de outros protocolos. • Quando R2 aprende que R1 é um ASBR (através de um bit do protocolo), ele divulga a informação de acesso ao ASBR todos os demais roteadores OSPF. LSA Tipo 5: External LSA • Utilizado para divulgar rotas externas para a rede OSPF. • Esses anúncios são usados em conjunto com LSAs do tipo 4, que indicam como localizar o roteador R1. LSA Tipo 7: External LSA • NSSA (not-so-stubby-area) não permitem anúncios de prefixos externos (tipo 5). • Os anúncios de tipo 7 carregam exatamente a mesma informação que os tipo 5, e são traduzidos por R2 assim que deixam a NSSA. Áreas Sub, Totally Stubby e Not-so-Stubby Roteadores na área Stub recebem uma rota default (tipo 3) no lugar de rotas externas (tipo 5). Mas eles continuam recebendo informações de outras áreas (tipo 3). Roteadores na área Totally Stub recebem apenas a rota default e informações de sua própria área. Roteadores na área Not-so-stubby (NSSA) podem divulgar rotas externas o restante da rede OSPF, disfarçando anúncios do tipo 5 em anúncios do tipo 7. Exemplo OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 30 0x80000003 0x004CD9 2 2.2.2.2 2.2.2.2 31 0x80000002 0x0048E9 1 Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 192.168.12.2 2.2.2.2 31 0x80000001 0x008F1F Summary Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 3.3.3.3 2.2.2.2 17 0x80000001 0x00D650 192.168.23.0 2.2.2.2 66 0x80000001 0x00A70C BGP: Border Gateway Protocol • Protocolo de comunicação entre sistemas autônomos • Funcionada sobre TCP (porta 179) • Não suporta descoberta de vizinhos – Vizinhos precisam ser declarados explicitamente • Baseado em Vetor de Caminho – Realiza atualizações incrementais (sem refresh) – O maior volume de troca de rotas acontece na criação da sessão I-BGP e E-BGP Sistema Autônomo 1 rede Sistema Autônomo 2 rede rede rede rede Sistema Autônomo 3 CPE IGP E-BGP E-BGP I-BGP E-BGP I-BGP I-BGP: entre roteadores de borda no mesmo AS E-BGP: entre rotadores de borda de AS diferentes (roteadores precisam ser vizinhos) BGP: Border Gateway Protocol A B Open [unicast] Open ou Notification [multicast]Update [unicast] Update [unicast] KeepAlive [unicast] KeepAlive [unicast] Route Refresh [unicast] Route Refresh [unicast] BGP Speaker BGP Speaker Cabeçalho BGP • Todas as mensagens utilizam um cabeçalho comum • Utilizado para autenticação Marcador Marcador (cont.) Byte 1 Byte 2 Byte 3 Byte 4 Marcador (cont.) Tamanho da Mensagem Marcador (cont.) Tipo da Mensagem Mensagem Open • Utilizada para estabelecer a sessão entre dois roteadores BPG peers Byte 1 Byte 2 Byte 3 Byte 4 ID AS Tempo de Suspensão Identificador BGP Tamanho Opcoes Parâmetros Opcionais Parâmetros Opcionais Versão (4) Mensagem BGP: Update • Múltiplos destinos (prefixos) que são acessíveis pelo mesmo caminho, e possuem os mesmos atributos, podem ser anunciadas em uma única mensagem update. Tamanho das Rotas Retiradas Tamanho do Atributos do Caminho Byte 1 Byte 2 Byte 3 Byte 4 rotas retiradas atributos de caminho (rota anunciada) informações de acesso a camada de rede Lista de atributos da rota que está sendo anunciada. Cada atributo segue o formato Tipo-Valor-Comprimento Tamanho do NLRI Corresponde a uma lista de prefixos que pode ser acessado através da rota anunciada. Exemplo: 200.1.2.0/24, 200.1.3.0/24, 60.1.0.0/16, etc. Corresponde a uma lista de prefixos que está deixando de ser ofertado pelo roteador. Exemplo: 200.1.2.0/24, 200.1.3.0/24, 60.1.0.0/16, etc. Mensagem Keepalive • Sistemas BGP trocam mensagens keepalive para determinar se um link ou peer falhou ou não está mais disponível • Mensagens são trocadas frequentemente para o tempo de “hold” não expirar intervalos de 30s entre keepalives e hold timer de 90s são default (JUNOS) • Hold timer é negociado entre peers • Contem apenas o BGP header (19 bytes) Mensagem Notification • Enviadas quando uma condição de erro é detectada – As sessões BGP e a conexão TCP são encerradas • Tipos de mensagem de erro: 1. Message header error 2. Open message error 3. Update message error 4. Hold timer expired 5. Finite state machine error 6. Cease Atributos • AS-path • BGP nexthop – Primeiro salto até o prefixo de destino • Local-preference – Preferencia em rotas de saída • MED – Preferencia em rotas de entrada • Origin – Origem do prefixo: IGP, EGP ou outro protocolo (incompleto) Atributos de Caminho: AS-Path e Nexthop AS-PATH: {SA1} NEXT-HOP: D NLRI: {2001.2.0/24, 200.1.3.0/24} 200.1.2.0/24 200.1.3.0/24 200.2.3.0/24 200.2.2.0/24 E F G H SA2 I J K L SA3 A B C D SA1 AS-PATH: {SA2} NEXT-HOP: H NLRI: {200.2.2.0/24, 200.2.3.0/24} AS-PATH: {SA1,SA2} NEXT-HOP: H NLRI: {2001.2.0/24, 200.1.3.0/24} update update Local Preference • Critério usado para selecionar rotas de saída • Permite que o administrador local controle a preferência das rotas recebidas, se sobrepondo ao custo. • O caminho com maior local preference é escolhido AS1 AS2 AS3 AS4 200.4.1.0/24 Local preference 100 Local preference 101 MED – Multi-Exit Descriminator • Determina melhor caminho para rotas de entrada • É usado para infomar para AS neighbors qual a rota desejada para receber pacotes. • Não é transitivo, isto é, não é propagado para AS que não sejam neighbors AS1 AS2 MED 500 MED 600 200.1.2.0/24 Interior BPG - IBGP • Usado no lugar do IGP em situações onde vários roteadores precisam conhecer muitas rotas. – Nexthop não é modificado – AS-Path não é adicionado – Roteadores IBGP fazem um full-mesh – Rotas iBGP não são propagadas de forma transitiva AS1 AS2 AS2 I-BGP Seleção de Rotas no BGP 1. Menor “route preference” 2. Maior “local preference” 3. AS-path mais curto 4. Menor “Origin” (IGP < EGP < incomplete) 5. Menor MED 6. Externa sobre “confederation” sobre interna 7. Menor métrica do IGP 8. Menor “cluster list” 9. Menor router-id Route Preference (como a rota foi gerada) • Nexthop é alcançável? • -1 = Not reachable • Preferência menor • 0 = directly connected • 5 = static routes • 7 = RSVP • 9 = LDP • 10 = OSPF internal • 15 = ISIS L1 internal • 18 = ISIS L2 internal • 100 = RIP • 130 = Aggregate or generated • 150 = OSPF external • 160 = ISIS L1 external • 165 = ISIS L2 external • 170 = BGP Anúncios de Rotas BGP (Práticas Usuais) • Apenas rotas ativas – Todas as rotas aprendidas via BGP (exceto regra iBGP) • É necessário configuração explícita para: – Anunciar rotas inativas – Anunciar rotas estáticas – Anunciar rotas agregadas – Anunciar rota default – Redistribuir rotas no BGP Política de Roteamento • Permite controlar quais rotas recebidas irão para tabela de roteamento • Permite filtrar ou modificar as rotas anunciadas Vizinhos Protocolo Tabela de Roteamento Tabela de Encaminhamento Vizinhos Protocolo Política de Importação Política de Exportação Exemplos • RTA • router bgp 100 • neighbor 2.2.2.3 remote-as 300 • network 150.10.0.0 • route-map SETMETRIC permit 10 • match ip-address 1 • set metric 2 • route-map SETMETRIC permit 20 • set metric 5 • access-list 1 permit 170.10.0.0 0.0.255.255 • RTC • router bgp 300 • network 170.10.0.0 • neighbor 2.2.2.2 remote-as 100 • neighbor 2.2.2.2 route-map STOPUPDATES out • route-map STOPUPDATES permit 10 • match ip address 1 • access-list 1 deny 170.10.0.0 0.0.255.255 • access-list 1 permit 0.0.0.0 255.255.255.255 RTA redistribui rotas da rede 170. com custo 2 e todas as demais com custo 5. RTA não irá enviar atualizações da rede 170. Exemplos de Políticas mais Comuns • Filtro de rotas para prefixos privados • Filtros de tamanho de prefíxo • Anuncia agregado e suprime específicas • Preferência por rotas de clientes sobre qualquer outra • Preferência por rotas de peers sobre rotas de trânsito • Marcação de rotas com communities Comunidades BGP • Marcação dada a um grupo de prefixos que partilham uma propriedade em comum • Decisões de roteamento podem estar baseadas na community da rota • Facilita e simplifica o controle das informações de rotas • Deveria ser marcada pelo roteador de entrada • Comunities Padronizadas • NO_EXPORT (0xFFFFFF01) – Não anuncia para outros peers eBGP • NO_ADVERTISE (0xFFFFFF02) – Não anuncia para nenhum peer • NO_EXPORT_SUBCONFED (0xFFFFFF03) – Não anuncia para outros ASs, incluindo membros de uma confederation (ver definição mais adiante) Exemplo de Política com Comunidade • RTB# • router bgp 200 • network 160.10.0.0 • neighbor 3.3.3.1 remote-as 300 • neighbor 3.3.3.1 send-community • neighbor 3.3.3.1 route-map setcommunity out • route-map setcommunity • match ip address 1 • set community no-export • access-list 1 permit 0.0.0.0 255.255.255.255 RTB marca o atributo de comunidade de BGP instruindo RTC a não propagar suas rotas para peers externos. Agregação de Rotas • RTB# • router bgp 200 • neighbor 3.3.3.1 remote-as 300 • network 160.10.0.0 • RTC# • router bgp 300 • neighbor 3.3.3.3 remote-as 200 • neighbor 2.2.2.2 remote-as 100 • network 170.10.0.0 • aggregate-address 160.0.0.0 255.0.0.0 RTB gera a rede 160.10. e envia para RTC. Este por sua vez, propaga a super-rede 160 para RTA. Melhoriaspara o IBGP • Inicialmente, roteadores em IBGP operam em full- mesh – N roteadores implica em N 2 conexões TCP. – Conexões TCP consomem recursos no roteador • Melhorias – Route Reflection • Permite propagação das melhores rotas recebidas – Confederations • Quebra o AS em múltiplos sub-Ass • iBGP é full mesh apenas dentro da confederação • A divisão em sub-AS é vista apenas internamente Conclusão • A Internet está organizada em sistemas autônomos (AS) • A configuração de rotas dos roteadores da Internet é realizada de forma automática, utilizando-se protocolos de roteamento. • Os protocolos de roteamento para rede IP se dividem em duas grandes categorias: IGP (configuração de rotas no interior do AS) e EGP (configuração de rotas entre AS). • Existem vários protocolos IGP para redes IP: RIP, OSPF, IS-IS. Os protocolos baseados em estado de enlace, como o OSPF e o IS-IS são considerado mais adequados para redes grande. • O único protocolo aceito como EGP para Internet é o BGP. A B C D E F A B C D E F SA1 SA1 SA2 SA3 SA2 SA3 Cenário 1 Cenário 2 E G
Compartilhar