Prévia do material em texto
Protocolo BGP O protocolo de roteamento BGP e a sua importância para comunicação na Internet. Suas principais características, limitações de concepção e aspectos de segurança. Prof. Fred Sauer 1. Itens iniciais Propósito O Border Gateway Protocol (BGP) é o protocolo de roteamento utilizado para a comunicação entre os sistemas autônomos que compõem a Internet. Entender seus conceitos e dominar sua configuração é essencial para os profissionais de tecnologia da informação (TI). O gerenciamento e o planejamento estruturado de uma rede WAN utilizam como alicerce os conceitos desse protocolo. Preparação Antes de iniciar seus estudos, assegure-se de ter a versão mais recente do software Cisco Packet Tracer instalada em sua máquina. Ele será essencial para a realização das tarefas práticas. Objetivos Reconhecer o papel do BGP na Internet. Reconhecer os conceitos básicos do protocolo BGP e seus principais problemas de segurança. Aplicar o roteamento BGP em roteadores de borda da WAN. Introdução A comunicação é um processo fundamental para a evolução de uma sociedade. Os primeiros registros de interação humana mostram que esta ocorreu mediante padrões aleatórios e pouco intuitivos, em que sinais, gestos e sons eram utilizados na tentativa de estabelecer o entendimento entre as partes. A gesticulação, utilizada como forma primitiva de expressão, apresentava inúmeros ruídos, o que tornava o diálogo passível de erros e de difícil interpretação. Com o passar do tempo, ocorreu a lapidação do processo comunicativo. Os antigos egípcios, por exemplo, utilizavam hieróglifos para registrar suas informações, transmitindo de forma ordenada e coerente sua cultura através das gerações vindouras. Independentemente do meio físico utilizado, para que uma comunicação possa ocorrer, é fundamental que a informação seja transmitida por meio de parâmetros previamente conhecidos, só efetivamente ocorrendo quando a mensagem é transmitida, recebida e compreendida pelas entidades participantes. A arquitetura de redes de computadores segue a mesma analogia ao utilizar o conceito de protocolos para padronizar a comunicação entre suas camadas. Uma dúvida recorrente entre aqueles que iniciam seus estudos em redes de computadores é: como o processo de comunicação na Internet ocorre, permitindo que uma mensagem seja transportada ao longo de grandes distâncias? Ou também: como a requisição de uma informação é capaz de viajar os vários enlaces físicos até chegar de forma íntegra a seu destino? O responsável por essa entrega dentro da Internet é o protocolo BGP, que por meio da troca de informações entre os enlaces de comunicação, permite o transporte das mensagens por caminhos ótimos definidos para cada destino desejado. Neste conteúdo, estudaremos a importância dos sistemas autônomos e o papel do BGP no contexto da Internet. Veremos, também, suas principais limitações de segurança e as propostas de mitigação existentes. Por fim, em um cenário prático, aplicaremos o protocolo BGP em uma topologia de interconexão WAN. Introdução ao Protocolo BGP Conteúdo interativo Acesse a versão digital para assistir ao vídeo. • • • 1. O papel do BGP na Internet A estrutura da Internet Reconhecendo a estrutura da Internet Assista ao vídeo a seguir. Nele será abordada a organização da internet através do emprego de sistemas autônomos e hierarquia dos provedores. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. A Internet pode ser entendida por meio da representação de um gigantesco grafo formado por agrupamentos com quantidades variadas de roteadores. Esses agrupamentos são denominados sistemas autônomos e são responsáveis por transmitir as informações dos seus usuários, de acordo com os endereços de destino desejados. No Brasil, um dos primeiros contatos com o conceito de Internet ocorreu ainda na década de 1980, delimitado pelas fronteiras acadêmicas do Laboratório Nacional de Computação Científica (LNCC), localizado no Rio de Janeiro (VIEIRA, 2003). Inicialmente, as comunicações ocorriam a taxas de transmissão baixas em comparação com as atuais, restritas basicamente à comunicação textual e realizadas por meio de circuitos estabelecidos na infraestrutura telefônica. As limitações técnicas do passado hoje dão lugar a um cenário em que o e-commerce é uma realidade na sociedade, e vários serviços que antes demandavam deslocamento até uma repartição pública, como a obtenção de uma certidão, hoje podem ser obtidos rapidamente por meio de um smartphone. Essa evolução provocou iniciativas como o Marco Civil da Internet, lei sancionada em 23 de abril de 2014 que, entre outras diretrizes, garante a inviolabilidade e o sigilo dos dados digitais, regendo os princípios que regulam o uso consciente da Internet no país. Com a crescente utilização das redes e a popularização dos dispositivos IOT nos lares, a qualidade de acesso à infraestrutura de comunicação global deve ser cuidadosamente planejada, a fim de evitar a degradação na transmissão de seus dados. Os indicadores de um levantamento realizado pelo do Centro Regional de Estudos para o Desenvolvimento da Sociedade da Informação (Cetic.br) com dados até 2021 revelam que o número de usuários conectados à Internet no país é de aproximadamente 156 milhões. A série temporal representada na figura a seguir, elaborada com base em observações do Cetic.br, evidencia picos de conectividade no período pré-pandemia, declinando consideravelmente no ano posterior. Esse valor não reflete o número de dispositivos com acesso à Internet, uma vez que cada usuário final pode ter mais de um equipamento com conectividade à rede, mas lança luz sobre a crescente demanda por requisições IP e a necessidade de um planejamento estruturado para suprir a necessidade por conexão. Gráfico: Pesquisa sobre o uso das tecnologias de informação e comunicação nos domicílios brasileiros. Com o aumento do uso da Internet entre os usuários do país, uma pergunta recorrente é: como a estrutura da Internet e as organizações que compõem a sua base regem a comunicação no ambiente WAN? Para melhor entendermos o papel exercido por essas organizações e como elas possibilitam a comunicação fim a fim, observemos o cenário descrito na imagem a seguir. Estrutura da Internet. A estrutura topológica da Internet pode ser representada por uma hierarquia interconectada por vários backbones — redes de alta velocidade de empresas privadas, que compõem a espinha dorsal do ambiente WAN — interligados por pontos de troca de tráfego. Nos níveis subsequentes, redes de provedores utilizam os backbones para conseguir conectividade global e ofertar seus serviços de Internet a redes clientes (FOROUZAN; MOSHARRAF, 2013). Exemplo Imaginemos o cenário no qual um usuário residencial encaminha pacotes IP com destino a um servidor Web como google.com. Para que a solicitação possa sair da rede doméstica e chegar até o servidor de destino, é preciso que haja roteamento. Como a rede local não conhece uma rota direta para o destino de seus pacotes, precisa de intermediários nessa comunicação, responsáveis por transmitir as requisições de forma confiável entre origem e destino. Esses intermediários são inúmeros roteadores de borda, que, mantidos sob a administração de diferentes sistemas autônomos, roteiam esses pacotes mediante regras estabelecidas pelo protocolo BGP. Cada usuário presente na Internet está sob a tutela de um Internet Service Provider (ISP) que, por administrar blocos públicos de endereço IP, os cede a seus usuários mediante pagamento. Um usuário situado na rede cliente ilustrada na figura, por exemplo, se enquadra nesse caso, pois obtém a solução de encaminhamento para o tráfego de seus pacotes no provedor de serviço contratado. As decisões de roteamento posteriormente adotadas são totalmente transparentes ao usuário. O provedor, na condição de vetor de saída para o usuário final, pode oferecer seus serviços por meio de tecnologias como: DSL, cable modem, telefonia celular, FTTH e outras formas deacesso à WAN. Do ponto de vista teórico, um sistema autônomo, também conhecido pela sigla AS, do inglês Autonomous System, é fundamentalmente um conceito lógico, definido graças ao protocolo de roteamento BGP. Sob a tutela de um sistema autônomo, encontram-se inúmeros roteadores, switches, servidores e equipamentos computacionais que permitem o tráfego entre redes distintas. A Internet é basicamente construída por vários desses sistemas autônomos que, por meio de suas interconexões, permitem o roteamento no ambiente WAN. Um ISP é uma entidade tipicamente comercial que, visando à disponibilização de seus serviços e à maximização de seus lucros, pode ter um ou mais sistemas autônomos. Algoritmos de vetor de caminhos A seguir, assista ao vídeo e confira o algoritmo de vetor de caminhos. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. Dentro do conceito de roteamento, os protocolos são tipicamente divididos de acordo com a lógica de seu funcionamento. A imagem a seguir exemplifica a categorização dos protocolos de roteamento em virtude de suas diferentes abordagens. Protocolos de roteamento dinâmicos. Daremos ênfase aos protocolos de roteamento externo (Exterior Gateway Protocols – EGP), responsáveis pela comunicação entre sistemas autônomos distintos. Contudo, cabe ressaltar que os protocolos de roteamento interno (Interior Gateway Protocols – IGP) são aqueles utilizados dentro de um mesmo domínio administrativo. No contexto dos IGP, protocolos como OSPF e RIP são amplamente utilizados, cabendo ao administrador da rede local a livre escolha de sua implementação, naturalmente com base em requisitos que cada um suporta ou não. Toda a comunicação e a troca de tráfego realizados na borda de um sistema autônomo, ou seja, pelos roteadores responsáveis por fazer a comunicação externa ao domínio administrativo, com outros sistemas autônomos, são regidos pela categoria de protocolos EGP. O BGP, único protocolo exterior atualmente padronizado, é conhecido por aplicar a lógica de vetor de caminhos (Path Vector) para guiar suas decisões de roteamento. Vamos utilizar o cenário ilustrativo da imagem a seguir para entendermos a lógica por trás desse mecanismo. Escolha de caminho no BGP. Um algoritmo de vetor de caminhos, implementado no BGP, busca evidenciar o caminho mais curto entre uma origem e um destino por meio da listagem dos ASN no caminho até determinada rede. Ao propagar um novo prefixo no contexto sob sua administração para os seus vizinhos, o roteador BGP do AS 100 adiciona o seu próprio ASN numa lista ordenada e a envia aos seus vizinhos. Toda vez que essa rota cruzar a fronteira de um AS, a lista será atualizada pelos roteadores BGP acrescentando seus respectivos ASN. Comentário Nesse cenário, o AS 300 receberá duas possíveis rotas para o destino de pacotes endereçados ao novo prefixo anunciado por AS 100. A rota via [500 400 100] será preterida em função da disponibilidade de um caminho mais curto, [200 100], uma vez que precisará passar apenas por uma AS (a AS 200) para chegar ao AS 100. O AS 300 instalará, portanto, a rota via AS 200 como preferencial em sua tabela de roteamento. Um vetor de caminhos é uma lista ordenada de AS, representando um caminho. Apesar dessa lógica aparentemente simples, a engenharia de tráfego permite alterar esse comportamento padrão mediante a manipulação dos atributos de rota BGP, que veremos nas seções adiante. Como os roteadores BGP não têm uma visão topológica completa da rede, esse mecanismo de anexação de todos os ASN do caminho, criando um “vetor de caminhos”, também contribui para evitar loops de roteamento no contexto BGP. Um loop de roteamento é uma condição de falha na qual os pacotes ficam transitando pelos ASN sem chegar ao destino. A simples identificação de seu próprio ASN em uma lista recebida é um loop. O processo de detecção de loop de roteamento ocorre durante a propagação de um prefixo. Caso o roteador de um AS identifique o seu próprio valor numérico contido nessa lista ordenada, ele descartará a rota, por concluir se tratar de uma informação redundante. A lista ordenada que contém todos os ASNs pelos quais uma mensagem passou é conhecida como AS_Path, um importante atributo de rota BGP para evitar os loops de roteamento. A imagem a seguir ilustra o processo de propagação de um prefixo entre sistemas autônomos distintos, com o descarte de uma possível rota pelo AS 100. Mecanismo de prevenção de loop. Quando a rota propagada pelo AS 100 cruzar a fronteira de um sistema autônomo vizinho, o atributo AS_Path dessa rota será atualizado, incluindo-o de forma sequencial. Esse é o caso do AS 300, que, ao divulgar o caminho [300 400 200 100] para o AS 100, evidencia um loop de roteamento. No cenário ilustrado, ao se deparar com seu próprio ASN contido na atualização recebida, ocorre o descarte da mensagem por parte do AS 100. Políticas de roteamento entre sistemas autônomos Políticas de roteamento No vídeo a seguir, apresentamos o conceito de políticas de roteamento exemplificando através do uso de sistemas autônomos. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. Quando um roteador recebe informações de roteamento de um vizinho, ele utiliza suas políticas de importação para aceitar ou rejeitar aquele registro. Essa decisão é puramente política, decorrente de quesitos financeiros ou logísticos. Uma política de importação pode decidir, por exemplo, rejeitar uma rota porque o AS pode não desejar enviar tráfego através de um dos AS presentes no AS_Path (KUROSE; ROSS, 2010). Lixin Gao e Jennifer Rexford, em seu artigo denominado Stable internet Routing without Global Coordination (GAO, 2001), sugerem políticas típicas de importação e exportação para se adotar em um ambiente de interconexão WAN. Aqui, apresentaremos os conceitos básicos do roteamento BGP com um exemplo simples. Comentário A imagem a seguir mostra seis sistemas autônomos interconectados: A, B, C, W, X e Y. Vamos admitir que os sistemas autônomos W, X e Y são redes stubs e que A, B e C são redes provedoras de serviços de backbone. Uma rede stub é aquela ligada a um ou mais ISPs, operando apenas como cliente da Internet. Não há trânsito de comunicação entre outras redes por uma rede stub. Admitamos também que A, B e C, conectados uns aos outros, repassam informações de rotas BGP às suas redes cliente. Todo o tráfego que entrar em uma rede stub deve ser destinado a essa rede, e todo o tráfego que sair da rede stub deve ter sido originado naquela rede. As redes W, X e Y são stub, sendo que X tem conexão com mais de um ISP. Entretanto, tal como W e Y, o próprio X deve ser a origem ou destino de todo o tráfego que entra e que sai de X. Como esse comportamento da rede stub será implementado e imposto? Como X será impedido de repassar tráfego entre B e C? Isso pode ser conseguido controlando-se o modo como as rotas BGP são anunciadas. Em particular, X funcionará como uma rede stub se anunciar a seus vizinhos B e C que não há nenhum caminho para quaisquer outros destinos a não ser ele mesmo. Isto é, mesmo que X conheça um caminho, digamos, X-C-Y, que chegue até a rede Y, ele não anunciará esse caminho a B. Como B não fica sabendo que X tem um caminho para Y, B nunca repassará tráfego destinado a Y (ou a C) via X. Esse exemplo simples ilustra como uma política seletiva de anúncio de rota pode ser usada para implementar relacionamentos de roteamento entre clientes e provedores. Um cenário BGP simples. Agora, com a mesma imagem, vamos observar uma rede provedora, o AS B. Suponha que B ficasse sabendo por A que há um caminho A-W para W. Assim, B pode instalar a rota B-A-W em sua base de informações de roteamento. É claro que B também pode anunciar o caminho B-A-W a seu cliente X, de modo que X saiba que pode rotear para W via B. Mas, B deveria anunciar o caminho B-A-W a C? Se o fizer, então C poderá rotear tráfego para W via C-B-A-W. Se A, B e C forem todos provedores de backbone, então B poderá sentir-se no direito de acharque não deverá ter de suportar a carga e o custo de permitir tráfego em trânsito entre A e B. B poderia entender que é de A e C o ônus de garantir que C possa rotear para clientes de A via uma conexão direta entre A e C. Comentário Atualmente, não existe nenhum padrão oficial que determine como ISPs de backbone devem rotear entre si. Todavia, os ISPs comerciais adotam uma regra prática que diz que qualquer tráfego que esteja fluindo por uma rede de backbone de um ISP deve ter ou uma origem ou um destino (ou ambos) em uma rede que seja cliente daquele ISP; caso contrário, o tráfego estaria usufruindo gratuitamente da rede do ISP. Neste estudo discutimos o importante papel do BGP na Internet e algumas de suas características. Mais adiante, vamos aprofundar nossos conhecimentos sobre os mecanismos usados pelo BGP para escolha das rotas, seus problemas e soluções. Verificando o aprendizado Questão 1 (IADES/2021 – Adaptada) Na literatura de redes de computadores, há dois tipos de protocolos de roteamento, Interior Gateway Protocol (IGP) e Exterior Gateway Protocol (EGP). Com relação aos protocolos de roteamento, assinale a alternativa correta. A O Border Gateway Protocol (BGP) é um tipo de EGP para interligar sistemas autônomos. B O protocolo Routing Information Protocol (RIP) utiliza roteamento por estado de enlace. C O Open Shortest Path First Protocol (OSPF) é um EGP semelhante ao RIP. D O Open Shortest Path First Protocol (OSPF) utiliza o roteamento por vetor de distância. E O Border Gateway Protocol (BGP) foi projetado unicamente para executar o roteamento interno do sistema autônomo. A alternativa A está correta. O Border Gateway Protocol é o único protocolo de roteamento externo utilizado para a interligação de diferentes sistemas autônomos. Questão 2 (CEPUERJ/2021 — Adaptada) Na qualidade de um protocolo de roteamento inter-AS, é correto afirmar que o BGP oferece a cada sistema autônomo meios de A obter de todos os AS vizinhos informações sobre alcançabilidade dos endereços da RFC nº 1.918. B propagar a informação de alcançabilidade dos endereços privados. C obter de AS vizinhos informações de alcançabilidade de sub-redes. D criar um roteamento estático para que a Internet seja escalável. E conhecer todo o mapa topológico da rede para interligar os roteadores. A alternativa C está correta. Assim como os demais protocolos de roteamento dinâmicos, o BGP tem por função permitir o roteamento de pacotes para sub-redes conhecidas. 2. O protocolo BGP Características do BGP Caracterização do protocolo BGP Assista ao vídeo a seguir e confira como ocorre a caracterização do protocolo BGP. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. Anteriormente, introduzimos o conceito de AS. Cada AS é identificado na Internet por um número, conhecido como Autonomous Systems Number (ASN), o qual permite, de forma inequívoca, a identificação daquela organização no contexto BGP. Todas as organizações que precisem de um bloco de endereços IP, como novos provedores, devem pleitear um ASN aos órgãos de gestão da Internet. No Brasil, o NIC.br é a entidade responsável por essa atribuição. Globalmente, porém, a atribuição se dá de acordo com a imagem a seguir, por meio da qual se constata que a organização IANA delegou aos cinco Registros Regionais da Internet (RIR) a administração e o controle tanto do espaço de endereçamento IP como o dos números de sistemas autônomos. Registros Regionais da Internet (RIRs). Inicialmente, imaginava-se que 2 bytes para um ASN representariam um quantitativo suficiente para acomodar futuras demandas de expansão, uma vez que possibilitariam atribuir um máximo teórico de 65.535 valores únicos. Contudo, em virtude da alta demanda, esse valor rapidamente se mostrou insuficiente. Com a iminente exaustão do pool inicial do endereçamento, esse valor foi atualizado para 4 bytes, permitindo acomodar um total de 4.294.967.295 ASN. Comentário Segundo o NIC.br — entidade civil criada para implementar as decisões e os projetos do Comitê Gestor da Internet no Brasil, existem aproximadamente 9 mil sistemas autônomos que compõem a malha de interconexão brasileira. Como o Brasil tem a segunda maior concentração mundial de AS, em um ranking liderado pelos Estados Unidos, fica evidente, para um profissional de TI, a necessidade de conhecer as características e o funcionamento do protocolo que permite a comunicação direta entre essas entidades. O protocolo BGP foi criado com o intuito de permitir a escalabilidade de roteamento no ambiente WAN. Em um cenário de interconexão no qual um erro de configuração afeta diretamente todos os participantes da Internet, características como resiliência e robustez são essenciais. A versão 4 é atualmente utilizada no ambiente WAN. O protocolo BGP-4 é uma extensão do BGP-3, com a adição de funcionalidades pontuais, como o suporte ao roteamento classless (CIDR). Comparado a outros protocolos de roteamento, o BGP-4 tem os seguintes recursos adicionais (KUROSE; ROSS, 2010): Uso do transporte confiável do TCP Para garantir a confiabilidade na troca de mensagens, é usado o protocolo TCP porta 179, diferentemente dos demais protocolos de roteamento, como OSPF e EIGRP, que utilizam um mecanismo de confiabilidade próprio por meio de reconhecimentos, e do RIPv1 e RIPv2 que utilizam o UDP, não confiável, para o encapsulamento de suas mensagens. Anúncios de rota (advertisements) baseados na percepção de mudanças Outros protocolos de roteamento, como o RIP, anunciam periodicamente todas as suas rotas conhecidas, saturando os enlaces de roteamento com excessivas atualizações. No entanto, devido ao grande tamanho da sua tabela de encaminhamento, o BGP-4 optou pela estabilidade, e anuncia apenas quando há mudanças nas rotas. Isso significa que, se não houver alteração na rota, não haverá mensagens periódicas, reduzindo o volume de mensagens. Controlando a rota com o método Path Vector O algoritmo de vetor de caminhos do BGP é baseado em diâmetros de saltos de AS, ou seja, de uma determinada lista numérica sequencial de caminhos AS, chamada As_Path. Por meio da observação de todos os AS do caminho é possível detectar loops de roteamento e identificar caminhos ótimos. No BGP-4, o elemento da informação que representa a rota é chamado de Path Attribute, conforme será explicado mais adiante. Funcionamento do BGP Configuração básica do BGP Comandos básicos da configuração do BGP A configuração básica de um cenário BGP e os comandos básicos para configuração e visualização são apresentados no vídeo a seguir. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. A configuração do BGP começa a partir de um cuidadoso planejamento de seus pontos de interconexão, para, posteriormente, na prática, traduzir a estratégia em configuração. Diferentemente dos protocolos IGP, o BGP não utiliza pacotes hello para a descoberta dinâmica de vizinhos. A vizinhança é definida de forma manual, por meio da definição do endereço IP do roteador par. Vejamos, na imagem a seguir, o processo básico de configuração BGP. Cenário BGP simples. A seguir observe os comandos e suas respectivas funções em R1: R1# configure terminal Entrar no modo de configuração global. R1(config-router)# router bgp 100 Inicializar o processo de roteamento BGP por meio do número de AS da sua organização. R1(config-router)# neighbor 10.10.1.1 remote-as 200 Especificar o endereço IP do roteador vizinho e seu número de AS. R1(config-router)# network 192.168.100.0 mask 255.255.255.0 Divulgar suas redes locais e a respectiva máscara. A seguir, observe os comandos e suas respectivas funções em R2: R2# configure terminal R2(config-router)# router bgp 200 R2(config-router)# router bgp 200 Inicializar o processo de roteamento BGP por meio do número de AS da sua organização. R2(config-router)# neighbor 10.10.1.2 remote-as 100 Especificar o endereço IP do roteador vizinho e seu número de AS. R2(config-router)# network 192.168.200.0 mask 255.255.255.0Divulgar suas redes locais e a respectiva máscara. Uma mensagem na console dos dispositivos informará o estabelecimento de adjacência. Atenção R1(config-router)#%BGP-5-ADJCHANGE: neighbor 10.10.1.2 Up R2(config-router)#%BGP-5-ADJCHANGE: neighbor 10.10.1.1 Up Verificando as configurações do BGP Comandos de verificação como show ip bgp summary ou show ip bgp neighbor podem ser utilizados para uma verificação mais detalhada dos parâmetros utilizados. Na imagem a seguir, algumas informações de interesse no R2 foram destacadas. Visualização das configurações do BGP. A definição de um BGP router ID é um parâmetro de configuração opcional. Por não ter sido atribuído na etapa anterior, a lógica de alocação dinâmica utiliza o maior endereço IP ativo de uma interface loopback. Na ausência desta, o maior endereço IP de qualquer interface ativa é utilizado. Para garantir que o RID (Router ID) não seja alternado, convém configurá-lo estaticamente por meio do comando R2(config-router)# bgp router-id X.X.X.X. A configuração estática de um router-id é uma prática recomendada (CISCO NETWORKING ACADEMY, 2014). Como só configuramos um único vizinho BGP, o campo Neighbor apresenta apenas o endereço IP do peer BGP R1, a versão do protocolo BGP utilizada para comunicação, o respectivo número de sistema autônomo do vizinho e o tempo de atividade da sessão. Outro comando de visualização é o show ip bgp, que exibe as entradas na tabela de roteamento e seus respectivos Path Attribute (Metric, LocPrf, Weight e As_Path). É possível verificar que o Next Hop 0.0.0.0 indica que o prefixo 192.168.100.0 é uma rota local. Nesse caso, o atributo As_Path não é preenchido, pois o destino é o próprio sistema autônomo de origem. Já o prefixo 192.168.200.0 apresenta como Next Hop a interface IP do roteador vizinho, detalhando que o caminho para o destino deve passar necessariamente pelo AS 200. Visualização das tabelas de roteamento e seus atributos. Sessões BGP As sessões estabelecidas no contexto BGP podem ser classificadas como iBGP ou eBGP: External BGP (eBGP) São sessões entre roteadores que estão em AS diferentes. Nelas, dois sistemas autônomos distintos estabelecem uma conexão para troca de tráfego. Internal BGP (iBGP) São sessões estabelecidas dentro de um mesmo AS, ou seja, os roteadores pertencem ao mesmo sistema autônomo. Na imagem a seguir, roteadores elegíveis para sessões eBGP formam o par R1-R2 e R4-R5. Roteadores que formam sessões iBGP pertencem ao mesmo sistema autônomo, caso dos roteadores R2-R3 e R3-R4. Cada roteador combina as informações recebidas via iBGP e eBGP para criar sua tabela de roteamento. Sessões BGP. Mensagens e atributos do BGP Mensagens BGP No vídeo a seguir, abordamos o conceito de mensagens BGP. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. A comunicação BGP utiliza quatro tipos de mensagens, conforme mostrado a seguir. OPEN Primeira mensagem trocada entre as adjacências BGP após o estabelecimento de uma sessão TCP bem-sucedida. UPDATE Usada por um roteador para informar novas rotas ou rotas que não estão mais disponíveis. No contexto BGP, o envio de informações de rota (endereço e prefixo) é chamado de NLRI (Network Layer Reachability Information). Mensagens BGP update carregam além das informações NLRI, os Path Attributes de uma rota. NOTIFICATION Enviada ao roteador vizinho quando um erro é detectado. KEEPALIVE Mensagens periódicas trocadas por padrão a cada 60s (em roteadores cisco) para verificar se o par continua operacional. Atributos BGP Conceituando os atributos BGP No vídeo a seguir, apresentamos os atributos do protocolo BGP. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. Cada protocolo de roteamento tem o seu próprio algoritmo para montar seu mapa topológico da rede e escolher a melhor rota para o destino de seus pacotes. No caso do BGP, são utilizadas várias métricas para tomar essa decisão, que chamamos de Path Attributes (atributos de caminho). Atributos de caminho estão associados a cada anúncio recebido e a manipulação desses valores fornece ao BGP a granularidade e o controle de ajuste necessário para a criação de suas políticas de roteamento. Os atributos BGP podem ser divididos em quatro categorias, conforme classificação mostrada a seguir. Well-known mandatory São eles: AS_Path Next_HOP ORIGIN Atributos considerados essenciais e que devem ser reconhecidos por todas as implementações BGP, devendo necessariamente constar nas mensagens BGP UPDATE trocadas entre os pares. Nessa categoria, encontra-se o importante atributo AS_Path, já descrito anteriormente. • • • Well-known discretionary São eles: Local_Pref Atomic_Aggregate Atributos reconhecidos por todas as implementações BGP, podendo, eventualmente, constar nas mensagens de BGP UPDATE. Isso significa que, como não é obrigatória sua presença, seu envio é opcional, mas seu reconhecimento é obrigatório. Optional transitive São eles: Aggregator Community Atributos que não demandam obrigatoriedade de conhecimento pelos roteadores executando BGP — peers BGP. No entanto, são repassados nas mensagens trocadas entre AS. Isso significa que, caso o destinatário saiba interpretar as informações repassadas, fará uso dela. Caso contrário, nada fará, sem prejudicar a operação. Optional non-transitive São eles: Multi_Exit_Disc Originator_ID Cluster_List Atributos que não demandam obrigatoriedade de conhecimento pelos peers BGP e não são repassados nas mensagens trocadas entre AS vizinhos. Atributos de caminho (Path Attributes) são utilizados para determinar qual caminho o BGP selecionará quando tiver mais de uma opção disponível para uma rede destino. Nem todos são utilizados no processo de escolha de melhor rota. Na literatura existe uma vasta documentação sobre o algoritmo de seleção de caminho BGP. Algumas são convergentes e identificam cerca de oito atributos que são efetivamente utilizados no processo de seleção de caminho. Outras identificam um valor ligeiramente maior, especificando nove ou mais atributos. Via de regra, a sequência lógica a seguir é a definida da seguite forma (CISCO NETWORKING ACADEMY, 2014): Weight É um atributo de caminho localmente significativo e específico dos roteadores Cisco. Suponha um roteador R1 que tenha dois links de comunicação com dois ISPs distintos, ISP1 e ISP2, como na imagem a seguir. Um dos links é mais rápido e desejamos influenciar os pacotes a utilizarem o enlace de maior velocidade. • • • • • • • Nesse caso, uma solução seria atribuir um peso — Weight — maior para as rotas disponíveis no link mais rápido, e atribuir um peso menor para as rotas com o vizinho mais lento. O valor padrão do atributo Weight é zero, sendo que, em roteadores Cisco, é o primeiro critério de desempate durante a seleção de uma rota. Local_Pref É o atributo mais utilizado para influenciar as decisões de roteamento. Assim como o atributo Weight, um valor maior de Local_Pref indica a preferência por uma determinada rota. Por padrão, lhe é atribuído o valor numérico de 100. Locally Originate Atenção Um roteador vai preferir uma rota BGP gerada localmente em detrimento de uma rota aprendida de outro roteador. Podemos identificar uma rota gerada localmente quando o seu Next Hop é 0.0.0.0. AS Path Lenght O próximo critério de desempate reside no caminho que tiver o menor número de sistemas autônomos entre origem e destino. Nesse sentido, o BGP se assemelha muito com o RIP, onde usamos a contagem de saltos para determinar a melhor rota. Origin Code Identifica a origem da informação de roteamento, podendo assumir três valores distintos (IGP, EGP ou Incomplete). Se o código de origem de uma rota for um 'i', significa que a rota foi injetada na tabela BGP por meio da emissão do comando 'network' por algum roteador. Já o código de origem 'e' raramente é visto em tabelas BGP, e foi descontinuado por identificar o antecessor do BGP, o protocolo EGP. O código '?' identifica que o BGP aprendeusobre a rota através de uma redistribuição de rotas. MED (Multi-Exit Discriminator) Em uma situação em que um roteador tenha duas conexões com o mesmo ISP, o atributo MED pode ser utilizado para influenciar as decisões de seleção de caminho. Um valor de MED mais baixo é preferencial. eBGP over iBGP Path Um caminho eBGP tem preferência sobre o caminho iBGP. Router ID O último critério de desempate reside no valor de ID de um roteador. O ID de roteador mais baixo será o preferido. Aspectos de segurança Segurança no BGP Que tal saber como é a segurança no protocolo BGP? Assista ao vídeo a seguir e descubra! Conteúdo interativo Acesse a versão digital para assistir ao vídeo. Por desempenhar um papel crucial no funcionamento da Internet, o BGP é um alvo sensível quanto a ataques contra a sua infraestrutura. Um ataque trivial e de rápida disseminação no ambiente WAN é o sequestro de prefixos BGP, uma das principais preocupações enfrentadas pelos administradores de AS. Nele, o atacante anuncia a posse falsa de um bloco de prefixos IP, beneficiando-se da ausência de mecanismos robustos de autenticação durante as atualizações de rota. Como vimos anteriormente, o estabelecimento de uma sessão BGP é simples, e por não ter mecanismos nativos que garantam a legitimidade das informações anunciadas entre seus pares, caso um roteador BGP anuncie um prefixo para uma rede que ele não tenha, o tráfego destinado a essa rede poderá ser desviado para o anunciador. Graves prejuízos de alcançabilidade da rede poderão ocorrer nesse caso. Vejamos, na imagem a seguir, o funcionamento desse ataque. Ataque de sequestro de prefixos BGP. No cenário ilustrado, AS 1 é o real detentor do prefixo 129.119.0.0/16, e realiza seu anúncio de forma legítima na rede. Concomitantemente, o AS 6 estabelece um relacionamento de vizinhança com o AS 5 e anuncia o mesmo prefixo, apesar de não o possuir. Ao receber duas atualizações para a mesma rede destino, o processo de decisão de roteamento dará preferência à rota com o menor número de saltos entre origem e destino — o menor valor de AS_Path. Nesse caso, a rota oriunda do AS 6 — o atacante — será marcada como preferencial e instalada na tabela de roteamento de AS 5. Assim, todo o tráfego com origem em AS 5 e destinado às redes do AS 1 poderá ser desviado para AS 6, caracterizando-se o sequestro bem-sucedido. Comentário Por ser um ataque de fácil realização e um possível vetor de danos sociais e financeiros, passou a ser discutido na comunidade acadêmica e monitorado mais atentamente. Em 2008, usuários paquistaneses tiveram seu acesso ao YouTube cerceado após um sequestro bem-sucedido realizado por motivações ideológicas (SERMPEZIS, 2018). O intuito seria impedir a visualização de vídeos propagando a fé cristã. Grandes empresas como Microsoft, Riot Games e Google também estariam sendo alvos constantes de sequestros desse tipo. Relatos no contexto da guerra iniciada em 2022 entre Rússia e Ucrânia (LUCONI; VECCHIO, 2022) evidenciam a utilização dessa técnica como arma de guerra cibernética. A imagem a seguir, extraída do site bgpstream.com — responsável por apresentar de forma detalhada possíveis sequestros BGP — identifica uma tentativa particular de ataque lançado contra a Ukrainian Research and Academic Network (URAN). Possível sequestro. É possível perceber que, em determinado momento, duas tentativas de ataque teriam sido realizadas, e parte do tráfego destinado ao AS 3319 pode ter sido desviado para o AS 208747. Mitigação de ataques ao BGP Uma proposta mitigatória simples e eficaz contra esse problema seria a implementação de filtros BGP nas interfaces inbound e outbound dos sistemas autônomos, para rejeitar atualizações consideradas suspeitas. Filtros são utilizados para fazer o controle das atualizações de rotas que entram e saem de um AS. Porém, a manutenção e atualização desses filtros imporia uma sobrecarga administrativa considerável, não sendo, portanto, uma solução escalável. A solução aparentemente mais promissora para esse problema de segurança é baseada na infraestrutura denominada RPKI, acrônimo para Resource Public Key Infrastructure. Nela, cada AS é responsável por registrar seus recursos numéricos por meio de uma entidade conhecida como Registro Regional da Internet (RIR). Entende-se por recursos numéricos o número de AS e os prefixos que ele está autorizado a originar, por pertencerem à sua esfera administrativa. Vejamos na figura a seguir o funcionamento resumido dessa infraestrutura. Utilização da infraestrutura RPKI. No contexto da infraestrutura RPKI, cada sistema autônomo é responsável por manter sob sua administração local um software validador, que periodicamente atualiza suas informações em cache com os chamados ROA (Route Origin Authorization), e os entrega ao roteador por meio do protocolo RTR (RPKI to Router) em um formato simplificado. Uma ROA indica qual sistema autônomo está autorizado a originar um determinado prefixo, e é utilizada pelo roteador para tomar decisões de aceite de novas rotas. No nosso cenário, a ROA ilustrada especifica que apenas o AS 1916 tem a autorização de anunciar o prefixo 132.255.96.0/22, ou seja, qualquer outro sistema autônomo que anuncie o mesmo prefixo terá sua atualização de rota BGP assinalada como um anúncio inválido na rede. Comentário Quando o roteador ATENAS se deparar com duas atualizações para o mesmo prefixo de destino, poderá inferir que o caminho via AS 65536 não é legítimo, uma vez que seu ASN de origem não está explicitamente indicado em uma ROA. A adoção global dessa infraestrutura faria com que os roteadores de borda não adicionassem em sua tabela de roteamento o caminho informado pelo AS do atacante. A infraestrutura RPKI é mais complexa que isso, envolvendo outros atores e mecanismos operacionais, e foi representada aqui de forma resumida apenas como exemplo. Porém, é uma solução atualmente discutida na literatura como válida para conter o ataque de sequestro de prefixo. Neste momento, nos aprofundamos nos mecanismos usados pelo BGP para escolha das rotas, seus problemas e soluções. Na sequência, vamos exercitar a configuração do BGP em uma topologia no Packet Tracer. Verificando o aprendizado Questão 1 Diferentemente dos protocolos de roteamento IGP, o BGP utiliza um mecanismo próprio para determinar o melhor caminho para uma rede destino. Esses mecanismos são conhecidos como? A Atributos de caminho. B Custo. C Contagem de saltos. D Distância administrativa. E Largura de banda. A alternativa A está correta. Path Attributes (atributos de caminho) são utilizados para determinar qual caminho o BGP selecionará quando tiver mais de uma opção disponível para uma rede destino. Nem todos são utilizados no processo de escolha de melhor rota. Questão 2 Dois roteadores BGP devem estabelecer uma comunicação para o envio de prefixos de rede. Qual a primeira mensagem trocada entre os peers após o estabelecimento de uma sessão TCP? A OPEN. B UPDATE. C NOTIFICATION. D KEEPALIVE. E HELLO. A alternativa A está correta. A mensagem OPEN é usada para estabelecer uma adjacência BGP e contém os parâmetros necessários para a comunicação. 3. Aplicando o protocolo BGPv4 Topologia inicial Configuração de um cenário com o BGPv4 A seguir, assista ao vídeo e observe como configurar um cenário utilizando o BGPv4. Conteúdo interativo Acesse a versão digital para assistir ao vídeo. Anteriormente, vimos o funcionamento do protocolo BGP e suas principais características, agora aplicaremos os seus conhecimentos em um cenário prático. Suponha que você foi escolhido pelo setor de TI da sua empresa para administrar três novos equipamentos destinados à comunicação BGP. Para garantir a melhor configuração possível e evitar erros acidentais, optou- se por uma implementação de teste por meio da utilização do Packet Tracer. Sua tarefa inicial será garantir a conexão topológica da rede, de acordo com o mapa de endereçamento presente na imagem a seguir, e estar atento a possíveisdemandas adicionais dos engenheiros de rede da sua empresa. Topologia de referência para o exercício prático. Assegure-se de utilizar as mesmas interfaces para conexão identificadas no diagrama topológico apresentado, pois eventuais alterações influenciarão no resultado esperado. A tabela de endereçamento a seguir ajudará nessa tarefa. Device Interface IPv4 R1 G0/0/0 10.1.2.1/30 S0/1/0 10.1.3.1/30 Loopback0 192.168.1.1/24 Loopback1 192.168.10.1/24 R2 G0/0/0 10.1.2.2/30 S0/1/0 10.2.3.2/30 Loopback0 192.168.2.1/24 Device Interface IPv4 Loopback1 192.168.20.1/24 R3 G0/0/0 10.2.3.1/30 S0/1/0 10.1.3.2/30 Loopback0 192.168.3.1/24 Loopback1 192.168.30.1/24 Tabela: Endereçamento das interfaces. Fred Sauer. Configurando o protocolo BGPv4 Configuração básica dos roteadores Visando à organização do cenário topológico, optou-se por modularizar a configuração, atribuindo-se inicialmente o endereçamento IP das interfaces diretamente conectadas. Os comandos para a atribuição de endereçamento às portas estão ilustrados a seguir. Em R1: plain-text Router>enable Router#configure terminal Router(config)#hostname R1 R1(config)#interface loopback 0 R1(config-if)#ip address 192.168.1.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#interface loopback 1 R1(config-if)#ip address 192.168.10.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#interface GigabitEthernet0/0/0 R1(config-if)#ip address 10.1.2.1 255.255.255.252 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#interface Serial0/1/0 R1(config-if)#ip address 10.1.3.1 255.255.255.252 R1(config-if)#no shutdown Em R2: plain-text Router>enable Router#configure terminal Router(config)#hostname R2 R2(config)#interface loopback 0 R2(config-if)#ip address 192.168.2.1 255.255.255.0 R2(config-if)#no shutdown R2(config-if)#exit R2(config)#interface loopback 1 R2(config-if)#ip address 192.168.20.1 255.255.255.0 R2(config-if)#no shutdown R2(config-if)#exit R2(config)#interface GigabitEthernet0/0/0 R2(config-if)#ip address 10.1.2.2 255.255.255.252 R2(config-if)# no shutdown R2(config-if)#exit R2(config)#interface GigabitEthernet0/0/1 R2(config-if)#ip address 10.2.3.2 255.255.255.252 R2(config-if)#no shutdown Em R3: plain-text Router>enable Router#configure terminal Router(config)#hostname R3 R3(config)#interface loopback 0 R3(config-if)#ip address 192.168.3.1 255.255.255.0 R3(config-if)#no shutdown R3(config-if)#exit R3(config)#interface loopback 1 R3(config-if)#ip address 192.168.30.1 255.255.255.0 R3(config-if)#no shutdown R3(config-if)#exit R3(config)#interface GigabitEthernet0/0/0 R3(config-if)#ip address 10.2.3.1 255.255.255.252 R3(config-if)#no shutdown R3(config-if)#exit R3(config)#interface Serial0/1/0 R3(config-if)#ip address 10.1.3.2 255.255.255.252 R3(config-if)#no shut Os comandos ilustrados nas figuras apresentadas apenas atribuem o endereçamento e ativam as interfaces configuradas. O passo seguinte é preparar os roteadores para conexão BGP. Os comandos são listados a seguir. Configurando a vizinhança do BGP Em R1: a. Informe o número de sistema autônomo da organização e suas relações de vizinhança. plain-text R1(config)#router bgp 100 R1(config-router)#neighbor 10.1.2.2 remote-as 200 R1(config-router)#neighbor 10.1.3.2 remote-as 300 b. Divulgue as redes locais pertencentes ao ASN 100. plain-text R1(config-router)#network 192.168.1.0 mask 255.255.255.0 R1(config-router)#network 192.168.10.0 mask 255.255.255.0 Em R2: a. Informe o número de sistema autônomo da organização e suas relações de vizinhança. plain-text R2(config)#router bgp 200 R2(config-router)#neighbor 10.1.2.1 remote-as 100 R2(config-router)#neighbor 10.2.3.1 remote-as 300 b. Divulgue as redes locais pertencentes ao ASN 200. plain-text R2(config-router)#network 192.168.2.0 mask 255.255.255.0 R2(config-router)#network 192.168.20.0 mask 255.255.255.0 %BGP-5-ADJCHANGE: neighbor 10.1.2.1 Up Uma mensagem será exibida na CLI informando que a vizinhança com R1 foi estabelecida. Em R3: a. Informe o número de sistema autônomo da organização e suas relações de vizinhança. plain-text R3(config)#router bgp 300 R3(config-router)#neighbor 10.2.3.2 remote-as 200 R3(config-router)#neighbor 10.1.3.1 remote-as 100 b. Divulgue as redes locais pertencentes ao ASN 300. plain-text R3(config-router)#network 192.168.3.1 mask 255.255.255.0 R3(config-router)#network 192.168.30.1 mask 255.255.255.0 %BGP-5-ADJCHANGE: neighbor 10.2.3.2 Up %BGP-5-ADJCHANGE: neighbor 10.1.3.1 Up Uma mensagem na CLI informará que as vizinhanças foram estabelecidas. Visualizando a configuração do BGP Para testar as opções configuradas, vamos primeiro observar na imagem a seguir a operação do BGP no roteador R1, por meio do comando show ip bgp. As saídas de interesse foram destacadas para evidenciar decisões de roteamento. Verificando a tabela de rotas em R1. É possível observar, na imagem apresentada, que R1 reconhece duas rotas para o destino 192.168.2.0/24, uma via next hop R2 e outra via next hop R3. Contudo, por uma apresentar uma rota mais direta para o destino de seus pacotes [200] em comparação a outra via [300 200], adota então a rota de menor AS_Path como preferencial. Decisões semelhantes ocorrem para as demais rotas, onde o caminho preferencial foi destacado em verde e as rotas de backup em amarelo. O mesmo comportamento se reflete nos roteadores R2 e R3, ilustrados a seguir, nos quais dois caminhos possíveis se fazem presentes. Porém, só um é marcado como preferencial com o símbolo de “maior que” (>) e instalado na tabela de roteamento. Verificando a tabela de rotas em R2. Observe a imagem a seguir: Verificando a tabela de rotas em R3. Testando a conectividade A conectividade entre os AS pode ser testada individualmente por meio do comando ping. A seguir, é ilustrada a confirmação do roteamento fim a fim entre os AS da topologia. Testando a conectividade entre AS100 e AS200. Observe a imagem a seguir: Testando a conectividade entre AS100 e AS300. Até este momento, exercitamos a configuração do BGP em uma topologia simples. Agora você pode aplicar os conhecimentos adquiridos em topologias mais complexas e em cenários reais. Bons estudos! Verificando o aprendizado Questão 1 De acordo com a imagem a seguir, qual configuração permitirá o estabelecimento de uma sessão BGP entre os roteadores Brasil e Argentina? A R_Brasil(config)# router bgp 500 a. R_Brasil(config-router)# network 17.0.0.0 b. R_Brasil(config-router)# network 10.10.10.1 remote-as 500 B R_Brasil(config)# router bgp 500 a. R_Brasil(config-router)# network 22.0.0.0 b. R_Brasil(config-router)# neighbor 10.10.10.2 remote-as 200 C R_Brasil(config)# router bgp 200 a. R_Brasil(config-router)# network 17.0.0.0 b. R_Brasil(config-router)# neighbor 10.10.10.1 remote-as 200 D R_Brasil(config)# router bgp 200 a. R_Brasil(config-router)# network 22.0.0.0 b. R_Brasil(config-router)# neighbor 10.10.10.1 remote-as 200 E R_Brasil(config)# router bgp 200 and 500 a. R_Brasil(config-router)# network 22.0.0.0 b. R_Brasil(config-router)# neighbor 10.10.10.2 remote-as 200 A alternativa B está correta. Para o estabelecimento de uma sessão BGP, três comandos são fundamentais. Primeiro, devemos habilitar o processo de roteamento BGP, informando o ASN de nossa organização (500). Posteriormente, a rede deve ser anunciada por meio do comando network. Por fim, o vizinho BGP deve ser especificado pelo comando neighbor [IP da interface] remote-as [ASN do vizinho]. Questão 2 O administrador de uma rede emite o comando show ip bgp para verificar as rotas BGP na tabela de roteamento. De acordo com a imagem, qual Next Hop seria utilizado para encaminhar tráfego à rede 192.168.10.40? A 192.168.10.62 B 192.168.10.10 C 192.168.10.22 D 0.0.0.0 E 192.168.10.40 A alternativa A está correta. O símbolo > ao lado da rota indica que ela é a rota preferencial para a redede destino 192.168.10.40. 4. Conclusão Considerações finais Como vimos, a Internet surgiu em um ambiente acadêmico e rapidamente se expandiu, aglutinando serviços considerados essenciais para sociedade. O BGP, no papel de único protocolo de roteamento externo, foi decisivo para essa sólida expansão, garantindo a resiliência necessária à complexa rede de interesses que rege a comunicação entre sistemas autônomos. Por meio do estabelecimento de vizinhança, o BGP é capaz de manipular seus atributos de caminho para escolher caminhos ótimos. No entanto, de maneira proporcional à sua flexibilidade de configuração, apresenta graves problemas de segurança que podem ser explorados por ameaças. Para projetistas de redes, conhecer o uso de técnicas que garantam maior segurança no ambiente BGP não é um opcional. É um requisito que é alcançado com o uso de boas práticas. Conhecer e aplicar técnicas de segurança é de inegável importância. Apresentamos aqui a configuração básica do protocolo BGP, com especial atenção ao estabelecimento de vizinhança, descrevendo suas características e ilustrando com exemplos. Podcast Para encerrar, ouça a entrevista sobre o protocolo BGP e sua importância para a correta operação da Internet. Conteúdo interativo Acesse a versão digital para ouvir o áudio. Explore + Para aprofundamento dos assuntos aqui apresentados, sugerimos a leitura da RFC 4271: A Border Gateway Protocol 4 (BGP-4), que descreve de forma detalhada a dinâmica do protocolo BGP. Pesquise também sobre o artigo Stable Internet routing without global coordination, importante norteador para as políticas de roteamento adotadas entre sistemas autônomos. O artigo A Survey of BGP Security Issues and Solutions também é um importante ponto de partida para entender os problemas e propostas de segurança existentes no contexto BGP. Referências CHO, S. et al. BGP hijacking classification. In: 2019 Network Traffic Measurement and Analysis Conference (TMA). IEEE, 2019. p. 25-32. CISCO NETWORKING ACADEMY. Routing Protocols Companion Guide. Rio de Janeiro: Pearson Education, 2014. DE MELO, Y. de A.; SALLES, R. M.; OLIVEIRA, F. S. G. Validação da solução RPKI para segurança do BGP. In: Anais Estendidos do XXII Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais. SBC, 2022. p. 41-48. EDGEWORTH, B. et al. CCNP and CCIE Enterprise Core ENCOR 350-401 Official Cert Guide. Indianapolis: Cisco Press, 2019. FOROUZAN, B. A.; MOSHARRAF, F. Redes de computadores: uma abordagem top-down. Porto Alegre: AMGH, 2013. GAO, L.; REXFORD, J. Stable Internet Routing Without Global Coordination. In: IEEE/ACM Transactions on Networking, v. 9, n. 6, p. 681-692, 2001. KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: uma abordagem topdown. 5. ed. São Paulo: Pearson, 2010. LUCONI, V.; VECCHIO, A. Impact of the First Months of War on Routing and Latency in Ukraine, 2022. Consultado na Internet em: 12 out. 2022. SERMPEZIS, P. et al. ARTEMIS,: Neutralizing BGP hijacking within a minute. IEEE/ACM Transactions on Networking, v. 26, n. 6, p. 2471-2486, 2018. VIEIRA, E. Os bastidores da Internet no Brasil. São Paulo: Manole, 2003. Protocolo BGP 1. Itens iniciais Propósito Preparação Objetivos Introdução Introdução ao Protocolo BGP Conteúdo interativo 1. O papel do BGP na Internet A estrutura da Internet Reconhecendo a estrutura da Internet Conteúdo interativo Exemplo Algoritmos de vetor de caminhos Conteúdo interativo Comentário Políticas de roteamento entre sistemas autônomos Políticas de roteamento Conteúdo interativo Comentário Comentário Verificando o aprendizado 2. O protocolo BGP Características do BGP Caracterização do protocolo BGP Conteúdo interativo Comentário Uso do transporte confiável do TCP Anúncios de rota (advertisements) baseados na percepção de mudanças Controlando a rota com o método Path Vector Funcionamento do BGP Configuração básica do BGP Comandos básicos da configuração do BGP Conteúdo interativo R1# configure terminal R1(config-router)# router bgp 100 R1(config-router)# neighbor 10.10.1.1 remote-as 200 R1(config-router)# network 192.168.100.0 mask 255.255.255.0 R2# configure terminal R2(config-router)# router bgp 200 R2(config-router)# neighbor 10.10.1.2 remote-as 100 R2(config-router)# network 192.168.200.0 mask 255.255.255.0 Atenção Verificando as configurações do BGP Sessões BGP External BGP (eBGP) Internal BGP (iBGP) Mensagens e atributos do BGP Mensagens BGP Conteúdo interativo OPEN UPDATE NOTIFICATION KEEPALIVE Atributos BGP Conceituando os atributos BGP Conteúdo interativo Well-known mandatory Well-known discretionary Optional transitive Optional non-transitive Weight Local_Pref Locally Originate Atenção AS Path Lenght Origin Code MED (Multi-Exit Discriminator) eBGP over iBGP Path Router ID Aspectos de segurança Segurança no BGP Conteúdo interativo Comentário Mitigação de ataques ao BGP Comentário Verificando o aprendizado 3. Aplicando o protocolo BGPv4 Topologia inicial Configuração de um cenário com o BGPv4 Conteúdo interativo Configurando o protocolo BGPv4 Configuração básica dos roteadores Configurando a vizinhança do BGP Visualizando a configuração do BGP Testando a conectividade Verificando o aprendizado Questão 1 Questão 2 4. Conclusão Considerações finais Podcast Conteúdo interativo Explore + Referências