Como funciona BGP: o protocolo da internet explicado para provedores
Como funciona BGP: cada rede da internet, identificada por um número de AS, abre sessões com as redes vizinhas e anuncia a elas os blocos de IP que alcança. Cada vizinho guarda esses anúncios, aplica as próprias regras, escolhe um caminho por destino e repassa adiante, e é assim que um bloco anunciado no interior chega ao mundo inteiro.
Resumo
- [object Object]
- Cada rede é um sistema autônomo, com um ASN, e anuncia os prefixos que estão sob o seu controle.
- O AS_PATH registra por quais redes o anúncio passou e impede que ele volte para onde já esteve.
- Um provedor precisa de BGP quando tem bloco próprio e mais de uma saída, como dois trânsitos ou o IX.br.
O que é BGP em redes e por que a internet depende dele
O BGP, sigla de Border Gateway Protocol, é o protocolo que as redes independentes usam para dizer umas às outras quais endereços alcançam. A internet não tem um mapa central; ela é a soma desses anúncios trocados entre milhares de redes.
Dentro de uma rede, os roteadores usam protocolos como OSPF ou IS-IS, que conhecem cada enlace e calculam o caminho de menor custo. Entre redes de donos diferentes isso não funciona, porque ninguém mostra a topologia interna ao concorrente nem aceita que ele decida por onde o tráfego passa.
O BGP resolve esse problema trocando só o essencial: quais prefixos cada rede alcança e por quais redes o anúncio passou. Cada uma decide sozinha o que aceitar e o que repassar, e os serviços de BGP para provedores existem justamente para escrever essas decisões na borda.
A versão em uso é a 4, descrita na RFC 4271. Ela é antiga, mas recebeu extensões ao longo dos anos para carregar IPv6, communities, validação de origem e outros recursos sem mudar o funcionamento básico.
AS, ASN e prefixo: as três peças do BGP
Antes do mecanismo, vale fixar os nomes. Quase toda conversa sobre BGP usa estas três palavras.
- Sistema autônomo (AS): um conjunto de redes com uma única política de roteamento, como um provedor, uma operadora ou um grande site.
- ASN: o número que identifica o AS, distribuído no Brasil pelo Registro.br e usado em cada anúncio.
- Prefixo: um bloco de endereços, como 203.0.113.0/24, que o AS anuncia como alcançável por ele.
Um provedor com ASN e bloco próprios é um AS como qualquer operadora grande. A diferença está no número de vizinhos e no tamanho da tabela, não nas regras do protocolo.
Como funciona BGP, passo a passo
O funcionamento se resume a seis etapas que se repetem em cada sessão: abrir, anunciar, filtrar, escolher, repassar e manter. Uma mudança em qualquer ponto da internet percorre essas etapas de rede em rede.
Etapa 1
Abrir a sessão
Os dois roteadores fecham uma conexão TCP na porta 179 e combinam ASN, tempo de espera e recursos.
Etapa 2
Anunciar os prefixos
Cada lado envia mensagens UPDATE com os prefixos que alcança e os atributos de cada um.
Etapa 3
Filtrar o que chegou
O receptor descarta o que a política não aceita, como blocos que não pertencem ao vizinho.
Etapa 4
Escolher um caminho
Para cada prefixo recebido por mais de um vizinho, o roteador elege um caminho só.
Etapa 5
Repassar adiante
O caminho escolhido é anunciado aos outros vizinhos, com o ASN local acrescentado ao AS_PATH.
Etapa 6
Manter ou retirar
Mensagens KEEPALIVE mostram que a sessão vive; quando um destino some, um UPDATE de retirada avisa os vizinhos.
Nada é recalculado de tempos em tempos: depois da troca inicial, só circulam as mudanças. Por isso uma sessão estável quase não gera tráfego de controle.
| Mensagem | Quando aparece | Para que serve |
|---|---|---|
| OPEN | Logo depois da conexão TCP | Apresentar o ASN, o router-id e os recursos suportados |
| UPDATE | Na troca inicial e a cada mudança | Anunciar prefixos novos ou retirar os que sumiram |
| KEEPALIVE | Em intervalos regulares | Provar que o vizinho continua respondendo |
| NOTIFICATION | Quando algo dá errado | Explicar o erro e encerrar a sessão |
A etapa 4 tem regras próprias e uma ordem fixa de critérios. O guia sobre como o BGP faz a seleção da melhor rota percorre essa ordem com um exemplo de IX.br e trânsito.
Como o AS_PATH impede que um anúncio ande em círculo
Cada rede que repassa um anúncio coloca o próprio ASN no começo do AS_PATH. Se um roteador recebe uma rota que já traz o número dele, sabe que ela deu a volta e a descarta.
Por isso o BGP é chamado de protocolo de vetor de caminho: ele não conhece enlaces nem custos, só a lista de redes até o destino. Essa lista também serve de critério de escolha, porque menos redes no caminho costuma significar um trajeto mais direto.
Na prática: o caminho do bloco de um provedor até a internet
Acompanhar um único anúncio ajuda a enxergar o mecanismo inteiro. No exemplo, os ASNs e o bloco são de documentação.
- Origem: o provedor AS 64500 anuncia 203.0.113.0/24 ao trânsito AS 64496, numa sessão eBGP.
- Primeiro filtro: o trânsito confere se o bloco está registrado em nome do provedor e se o ROA bate; só então aceita.
- Repasse: o trânsito anuncia o bloco aos vizinhos dele com o AS_PATH 64496 64500.
- Propagação: cada rede seguinte acrescenta o próprio ASN e repassa, até o anúncio alcançar a internet inteira.
- Volta do tráfego: quem quer falar com um assinante do provedor segue o caminho que escolheu entre os anúncios recebidos.
Prefixo: 203.0.113.0/24
AS_PATH: 64511 64496 64500
Próximo salto: 198.51.100.9
ORIGIN: IGP
LOCAL_PREF: 100
Estado: escolhida, instalada na tabelaO último número do AS_PATH, 64500, é a origem do anúncio. É ele que a validação RPKI compara com o ROA do bloco para decidir se a rota é válida, inválida ou desconhecida.
Vai anunciar o seu bloco pela primeira vez?
Nos serviços de BGP, um Especialista prepara o ASN, o ROA, as sessões e os filtros, e confere o anúncio do lado de fora antes de encerrar.
O que acontece quando o anúncio é retirado
Se o provedor perde o link com o trânsito, a sessão cai e o trânsito envia aos vizinhos um UPDATE de retirada daquele prefixo. A notícia se espalha pelo mesmo caminho do anúncio original.
Se houver um segundo link, as redes passam a usar o anúncio que chegava por ele. É assim que o multihoming BGP mantém o provedor acessível quando uma operadora falha.
eBGP e iBGP, as duas formas de sessão
Sessão entre redes diferentes é eBGP; sessão entre roteadores do mesmo AS é iBGP. O protocolo é o mesmo, mas as regras de repasse e de próximo salto mudam.
O eBGP é o que o provedor tem com trânsitos, com o IX.br e com clientes que têm ASN. O iBGP aparece quando a borda ganha um segundo roteador e as rotas aprendidas num precisam chegar ao outro; o guia de configuração de iBGP mostra esse desenho.
Quando um provedor precisa rodar BGP?
BGP passa a ser necessário quando o provedor quer controlar por onde o tráfego entra e sai, e isso exige ASN e bloco próprios. Com um link só e IP da operadora, rota estática resolve.
| Situação | Precisa de BGP? | Por quê |
|---|---|---|
| Um link, IP emprestado pela operadora | Não | A operadora anuncia o bloco por você |
| Um link, ASN e bloco próprios | Sim | Só o BGP anuncia o seu bloco com o seu ASN |
| Dois trânsitos | Sim | Para trocar de link sozinho quando um cai e dividir o tráfego |
| Entrada no IX.br | Sim | As sessões com os route servers são eBGP |
| Caches de conteúdo dentro da rede | Sim, na maioria dos casos | Os caches recebem as rotas dos assinantes por BGP |
Para quem ainda não tem número, a solicitação de ASN e blocos IP é o primeiro passo antes de qualquer sessão.
Erros comuns de quem está começando com BGP
Os erros de iniciante quase sempre vêm de tratar o BGP como um protocolo interno, que confia em tudo o que recebe. No BGP, a regra é o contrário: só passa o que a política permite.
Evite
- Aceitar tudo o que o vizinho manda, sem filtro de entrada.
- Anunciar tudo o que a borda conhece, sem filtro de saída.
- Anunciar o bloco sem ROA e sem objeto de rota no IRR.
- Esperar que o BGP escolha o link mais rápido ou mais vazio.
- Redistribuir a tabela BGP dentro do OSPF.
- Deixar a sessão sem monitoramento e descobrir a queda pelo assinante.
Os dois primeiros itens são os que causam incidentes visíveis na internet inteira. Um provedor que repassa as rotas de um trânsito para o outro pode atrair tráfego que não consegue carregar.
Por que uma queda de sessão pode demorar a ser percebida?
Sem outro mecanismo, o roteador só declara o vizinho perdido quando o tempo de espera, o hold time, acaba sem nenhuma mensagem. A RFC 4271 sugere 90 segundos para esse tempo, com KEEPALIVE a cada terço dele.
Noventa segundos mandando tráfego para um link morto é muito para um provedor. Por isso as bordas usam BFD, que detecta a queda do enlace em frações de segundo, e o monitoramento de BGP, que avisa a equipe na hora.
Checklist de referência para a primeira sessão BGP
Antes de pedir a primeira sessão a uma operadora, confira os itens abaixo. Eles evitam a maior parte dos problemas que aparecem nos primeiros dias.
Marque o que já está pronto no seu provedor
- O ASN e os blocos IPv4 e IPv6 estão registrados em nome do provedor.
- O ROA de cada bloco foi criado com o ASN e o tamanho máximo de prefixo certos.
- Os objetos de rota estão no IRR, para a operadora gerar os filtros dela.
- A política de saída anuncia só os blocos próprios e os de clientes com ASN.
- A política de entrada descarta faixas privadas, o próprio bloco e prefixos longos demais.
- Existe monitoramento da sessão e uma cópia da configuração fora do roteador.
Cada item em aberto é um problema adiado para o dia da ativação. Os quatro primeiros, em especial, dependem de terceiros e levam tempo para ficar prontos.
Com a lista completa, a configuração em si é a parte curta do trabalho. O guia sobre como configurar BGP no MikroTik mostra os comandos no RouterOS 7, e o de sessão BGP que não sobe ajuda se a ativação travar.
A Táquion Tech configura a borda BGP de provedores em todo o Brasil à distância, do pedido do ASN à primeira sessão no ar, e entrega a documentação junto.
Perguntas frequentes
O que é BGP em redes de computadores?
É o protocolo de roteamento que liga redes independentes, chamadas de sistemas autônomos. Cada rede anuncia às vizinhas os blocos de IP que alcança, e a internet é formada pela soma desses anúncios.
O BGP é um protocolo interno ou externo?
É um protocolo de roteamento externo, feito para a troca entre redes de donos diferentes. Ele também roda dentro de um AS, como iBGP, mas só para distribuir as rotas externas; o mapa interno fica com OSPF ou IS-IS.
Qual porta o BGP usa?
A porta TCP 179. Se um firewall no caminho bloqueia essa porta, a sessão não sobe, mesmo com todos os outros dados certos.
Qual a diferença entre BGP e rota estática?
A rota estática é escrita à mão e não muda sozinha quando um link cai. O BGP aprende as rotas dos vizinhos, troca de caminho automaticamente e permite anunciar o seu bloco para a internet.
Provedor pequeno precisa ter ASN próprio?
Não é obrigatório, mas sem ASN o provedor depende da operadora para anunciar os endereços e fica preso a ela. Quem planeja um segundo link ou o IX.br costuma pedir o número antes, porque o processo leva tempo.
Fontes
- RFC 4271, A Border Gateway Protocol 4 (BGP-4): mensagens, atributos, AS_PATH e tempos de espera sugeridos.
- RFC 1930, Guidelines for creation, selection, and registration of an Autonomous System: definição de sistema autônomo e de quando uma rede precisa de ASN.
- Border Gateway Protocol (Wikipédia): visão geral do protocolo e da sua história.