Arquitectura de Redes Routing Dinâmico BGP Arq. de Redes - Pedro Brandão - 2004 1 BGP (Border Gateway Protocol) Os protocolos de encaminhamento exteriores foram criados para controlar o crescimento das tabelas de encaminhamento e para fornecer uma perspectiva mais estruturada da Internet; Os domínios de encaminhamento foram separados administrativamente em Sistemas Autónomos com políticas de encaminhamento e IGPs independentes; Os protocolos de encaminhamento exteriores ou EGPs são usados para trocar informação entre routers de sistemas autónomos diferentes; Os dois EGPs mais utilizados são: Exterior Gateway Protocol (EGP); EGP é usado entre routers de diferentes AS e assume que existe apenas uma rede de backbone, ou seja, que existe apenas um único caminho entre dois quaisquer AS. Esta é uma das razões para que o seu uso esteja remetido para grandes redes privadas (Intranets). Na Internet o EGP está a ser substituido por BGP. Border Gateway Protocol (BGP-4); Arq. de Redes - Pedro Brandão - 2004 2
Problemas do EGP (RFC 904) O EGP é baseado numa pesquisa periódica com mensagens HELLO e I-Hear-You para monitorar o estado dos vizinhos e para solicitar actualizações; Em EGP os routers exteriores apenas anunciam as redes interiores do seu AS. Não são anunciadas rotas para outros ASs vizinhos. A ineficiência deste protocolo para tratar situações de ciclos e para definir politicas de encaminhamento levou à necessidade de construir um novo protocolo mais robusto. Arq. de Redes - Pedro Brandão - 2004 3 BGP - Características BGP v4-1993 - norma de facto para o encaminhamento inter-domínios da Internet (RFC1771); Baseado em CIDR (Classless InterDomain Routing) BGP evoluiu de forma a suportar agregação de rotas e redução de informação de encaminhamento. Permite a agregação de rotas; Reduz a informação de encaminhamento. Não impõe restrições à topologia da rede; Pressupõe que o encaminhamento dentro de cada AS é assegurado por um IGP; A Internet é vista como um grande grafo de AS identificados com um número único. Arq. de Redes - Pedro Brandão - 2004 4
Grafo de ASs AS1 AS2 AS3 AS1 AS2 AS3 AS4 AS4 AS7 AS5 AS7 AS5 AS6 IGP AS6 Arq. de Redes - Pedro Brandão - 2004 5 BGP É um PVP (Path Vector Protocol) Descreve todo o caminho percorrido pelas mensagens de actualização, e não apenas a distância Evita ciclos de encaminhamento; Usa TCP para transportar as suas mensagens (porto 179); Políticas de encaminhamento: Conjunto de regras que restringem o encaminhamento de forma a obedecer às directivas da autoridade administradora do AS; As politicas de encaminhamento não são definidas no protocolo BGP. São configuradas nos routers e dependem da implementação em questão; Por exemplo, para que um Multihomed AS recuse a passagem de tráfego de trânsito, basta que não anuncie redes que não as suas. Também pode ser configurado para permitir a passagem de tráfego de trânsito seleccionado. Para tal, basta permitir também os anúncios destas; Um AS pode seleccionar que AS de saída quer para cada tipo de destino. Arq. de Redes - Pedro Brandão - 2004 6
BGP - conceitos BGP Speakers routers capazes de falar BGP; Vizinhos BGP (Internos ou Externos) par de BGP speakers que trocam informação directamente. Podem ser de dois tipos: internos ou externos; Sessão BGP Ligação TCP entre dois vizinhos BGP. Estes monitorizam o estado da ligação trocando mensagens de keepalive regularmente; Router fronteira AS router que tem ligação a múltiplos sistemas autónomos; Tráfego Local / Tráfego de Trânsito tráfego local é aquele que é originado ou terminado dentro do mesmo AS; todo o tráfego que não é local é tráfego de trânsito; Tipos de AS Stub AS, Multihomed (não permite tráfego de trânsito) e AS de trânsito; Identificador do AS número de 16 bits que identifica o AS; Percurso AS lista de todos os números de AS atravessados por uma rota no contexto de troca de informação de encaminhamento. Em vez de usar métricas complexas, o BGP anuncia os caminhos inteiros aos seus vizinhos. Arq. de Redes - Pedro Brandão - 2004 7 Negociação entre vizinhos BGP O primeiro passo no protocolo BGP é o estabelecimento de sessões entre extremos BGP; Sem o sucesso desta fase não há troca de informação de encaminhamento; A negociação entre vizinhos BGP é baseada: Sucesso do estabelecimento da ligação TCP; Sucesso do processamento da mensagem de OPEN; Detecção periódica de mensagens de KEEPALIVE ou de UPDATE. 0 8 16 24 31 Comprimento Cabeçalho Marker Tipo Arq. de Redes - Pedro Brandão - 2004 8 Marker : Deteção de perda de sincronização Mecanismo de autenticação TIPO: OPEN, UPDATE, NOTIFICATION, KEEPALIVE
Mensagem Open Versão: BGP3 ou BGP4; Meu AS: sistema de onde veio a mensagem; Temporizador de espera: segundos entre keepalives ou actualizações; Identificador BGP: identificação do router (IP mais alto); Comp. Param. Opc.: comprimento em bytes do campo de parâmetros opcionais; Parâmetros opcionais: este campo de comprimento variável contém uma lista: Formato de cada parâmetro de negociação: <TYPE (len=1), LENGTH (len=1), VALUE (len=?)> 0 8 16 24 31 Versão Meu AS Temporizador de espera Identificador BGP Comp. Param Opc. Parâmetros opcionais Arq. de Redes - Pedro Brandão - 2004 9 Mensagens Notification e Keepalive 0 8 16 24 31 Erro Subcódigo Informação Informação Mensagem Notificação Notificação Erros; Não é recebida mensagem keepalive durante o período de holding time; Router quer terminar ligação. Keepalive É constituída apenas pelo cabeçalho (19 bytes); É trocada periodicamente entre extremos de forma a determinar se existe conectividade ou não; O temporizador de espera define o tempo máximo que um extremo pode estar sem receber uma mensagem de KEEPALIVE ou de UPDATE. Arq. de Redes - Pedro Brandão - 2004 10
Mensagem de actualização As mensagens de actualização contêm toda a informação necessária para o BGP construir as representações da rede e dos caminhos sem ciclos; Esta mensagem é constituída por três partes distintas: Redes não atingíveis; Atributos do percurso: Ajudam os extremos a detectar ciclos. Um dos possíveis atributos é o AS_PATH que consiste na sequência dos AS atravessados pela mensagem. Informação de acessibilidade do nível de rede - Network Layer Reachability Information (NLRI): NLRI indica as redes que são anunciadas como atingíveis; Prefixo IP é a parte do endereço IP que representa a rede (CIDR); É este campo que contém as redes anunciadas como atingíveis. 0 8 16 Comp. Redes não atingíveis Tamanho Prefixo Redes não atingíveis Comp. dos atributos Atributos do caminho Atributos de percurso Comprimento Prefixo NLRI Arq. de Redes - Pedro Brandão - 2004 11 Funcionamento do BGP Keepalive para verificar se é possível estabelecer a ligação; Troca de mensagens Open; Mensagens update, nas quais cada router envia os atributos dos caminhos que conhece (quanto mais redes tiver ligadas no seu AS, mais updates envia): Cada mensagem update anuncia apenas as redes acessíveis por um único caminho: Origin informação obtida por IGP, EGP ou outros (INCOMPLETE) AS_PATH AS por onde a mensagem passou; NEXT_HOP Caminho a tomar pelas mensagens dirigidas à rede anunciada; Rede anunciada. Arq. de Redes - Pedro Brandão - 2004 12
Processo de encaminhamento O BGP é um protocolo simples e flexível; O modelo BGP inclui os seguintes componentes: Um conjunto de rotas para cada extremo BGP; Um mecanismo de políticas de entrada para filtrar estas rotas e para manipular os seus atributos; Um processo de decisão que escolhe as rotas a usar; Outro conjunto de rotas para consumo do router; Um mecanismo de políticas de saída para filtrar estas rotas e para manipular os seus atributos; Um conjunto de rotas para anunciar a cada extremo BGP. Arq. de Redes - Pedro Brandão - 2004 13 Processo de encaminhamento Rotas recebidas dos extremos Um BGP speaker recebe rotas e atributos associados dos extremos internos e externos através das mensagens de actualização. Mecanismo de políticas de entrada Este componente filtra rotas e manipula os seus atributos baseado em dados como o prefixo da rede, o AS_PATH, ORIGIN e outros atributos. Rotas utilizadas pelo router As rotas escolhidas pelo processo de decisão vão para uma base de dados de onde saiem para o processo de saída e para a tabela de encaminhamento do router em questão. Se uma rota não é colocada nesta tabela nunca será candidata a ser anunciada. Mecanismo de políticas de saída Funciona de forma idêntica ao de entrada. Filtra as rotas a anunciar e manipula atributos (ex: o AS_PATH tem que ser manipulado antes de sair...) Rotas enviadas aos extremos Este é o conjunto de rotas que passaram na política de saída. Serão anunciadas tanto a extremos externos como internos. Arq. de Redes - Pedro Brandão - 2004 14
Processo de encaminhamento Input Policy Engine Processo de Decisão Tabela de Routing Ouput Policy Engine Router a correr o processo de encaminhamento Arq. de Redes - Pedro Brandão - 2004 15