O que é BGP? Border Gateway Protocol

BGP (Border Gateway Protocol) é o protocolo subjacente ao sistema de roteamento global da Internet. Ele gerencia como os pacotes são roteados, de rede para rede, por meio da troca de informações de roteamento e acessibilidade entre roteadores de ponta. O BGP direciona pacotes entre sistemas autônomos (AS – autonomous systems), que são redes gerenciadas por uma única empresa ou provedor de serviços.

O BGP cria estabilidade de rede garantindo que os roteadores possam se adaptar às falhas de rota: quando um caminho cai, um novo caminho é rapidamente encontrado. O BGP toma decisões de roteamento com base em caminhos, definidos por regras ou políticas de rede definidas por administradores de rede.

Como funciona o BGP?

Cada roteador mantém uma tabela de roteamento que controla como os pacotes são direcionados. As informações da tabela de roteamento são geradas pelo processo BGP no roteador, com base nas informações de entrada de outros roteadores e nas informações na base de informações de roteamento BGP (RIB – routing information base), que é uma tabela de dados armazenada em um servidor no roteador BGP. O RIB contém informações de pares externos conectados diretamente, bem como de pares internos, e com base nas políticas de quais rotas devem ser usadas e quais informações devem ser publicadas, atualiza continuamente a tabela de roteamento conforme as alterações ocorrem.

Para que é usado o BGP?

O BGP oferece estabilidade de rede que garante que os roteadores possam se adaptar rapidamente para enviar pacotes por meio de outra reconexão se um caminho da Internet cair. O BGP toma decisões de roteamento com base em caminhos, regras ou políticas de rede configuradas por um administrador de rede. Cada roteador BGP mantém uma tabela de roteamento padrão usada para direcionar os pacotes em trânsito. O BGP usa a topologia cliente-servidor para comunicar informações de roteamento, com o cliente-servidor iniciando uma sessão BGP enviando uma solicitação ao servidor.

Noções básicas de roteamento BGP

O BGP envia informações atualizadas da tabela do roteador apenas quando algo muda e apenas as informações afetadas. O BGP não tem mecanismo de descoberta automática, o que significa que as conexões entre pares devem ser configuradas manualmente, com endereços de pares programados em ambas as extremidades.

O BGP toma decisões sobre o melhor caminho com base na acessibilidade atual, contagens de saltos e outras características do caminho. Em situações em que vários caminhos estão disponíveis – como em uma grande instalação de hospedagem – as políticas de BGP comunicam as preferências de uma organização quanto ao caminho que o tráfego deve seguir para dentro e para fora. As tags da comunidade BGP podem controlar o comportamento do anúncio de rota entre pares.

O BGP em rede é baseado em TCP / IP. Ele opera na Camada de Transporte OSI (Camada 4) para controlar a Camada de Rede (Camada 3). Conforme descrito no RFC4271 e ratificado em 2006, a versão atual do BGP-4 suporta IPv6 e Roteamento entre domínios sem classes (CIDR – Classless Inter-Domain Routing), o que permite a viabilidade contínua do IPv4. O uso do CIDR é uma forma de ter mais endereços na rede do que com o esquema de atribuição de endereço IP atual.

Problemas comuns do BGP

Problemas comuns com o BGP incluem falhas na troca de informações. As trocas de informações nem sempre são bem-sucedidas, pois as informações podem ser formatadas incorretamente ou conter dados incorretos. Os roteadores podem ficar sem memória ou armazenamento ou serem muito lentos para responder às atualizações. Os roteadores enviam códigos de erro e subcódigos para comunicar problemas, incluindo tempos limite, solicitações malformadas e problemas de processamento.

Segurança BGP

O BGP também é vulnerável a ataques baseados em informações incorretas. Agentes mal-intencionados podem inundar um roteador com pacotes inválidos em um ataque de negação de serviço, por exemplo. Eles também podem reivindicar ser a fonte de informações de roteamento para um AS e (temporariamente) controlar para onde vai o tráfego que sai desse AS, uma prática conhecida como sequestro de BGP.

Diferença entre BGP interno e externo, OSPF

Quando o BGP é usado para rotear dentro de um único AS, ele é chamado de BGP interno ou iBGP. Quando usado para conectar um AS a outros, é chamado de BGP externo ou eBGP.

O protocolo OSPF (Open Shortest Path First) é usado apenas em redes internas. O OSPF está focado em encontrar a rota mais curta disponível entre os nós e em fazer failover para essa rota mais curta o mais rápido possível. O BGP é mais lento para falhar em uma nova rota, mas é mais escalonável. O OSPF é essencialmente hierárquico em estrutura, enquanto o BGP é uma malha. Algumas redes estão substituindo o OSPF por iBGP.

Referencia: https://searchnetworking.techtarget.com/definition/BGP-Border-Gateway-Protocol