# BGP (Border Gateway Protocol)

> O BGP é o protocolo responsável por conectar diferentes Sistemas Autônomos (AS), formando a estrutura de roteamento da Internet.

---

categoria: Redes
tempo_medio: 12-18 min
nivel_tecnico: Avançado
equipamentos:
  - Computador
  - Roteador com suporte a BGP
  - Documentação da topologia da rede

---

# Objetivo

Compreender o funcionamento do BGP, sua importância para a Internet e por que ele é utilizado pelos provedores para trocar rotas entre diferentes redes.

---

# O que é o BGP?

A Internet não pertence a uma única empresa.

Ela é formada pela interligação de milhares de redes independentes espalhadas pelo mundo.

Cada uma dessas redes é chamada de **Sistema Autônomo (Autonomous System - AS)**.

Cada Sistema Autônomo administra suas próprias políticas de roteamento, seus equipamentos e seus enlaces.

O **Border Gateway Protocol (BGP)** é o protocolo responsável por permitir que esses Sistemas Autônomos troquem informações de roteamento entre si.

Sem o BGP, a Internet como a conhecemos simplesmente não existiria.

---

# O que é um Sistema Autônomo (AS)?

Um Sistema Autônomo é uma rede administrada por uma única organização.

Exemplos:

- Provedores de Internet (ISPs).
- Grandes empresas.
- Universidades.
- Operadoras de telecomunicações.
- Grandes provedores de conteúdo.

Cada AS possui um identificador único chamado **ASN (Autonomous System Number)**.

Exemplo:

```
AS 64512
```

Quando dois Sistemas Autônomos estabelecem uma sessão BGP, eles passam a anunciar entre si quais redes conseguem alcançar.

---

# Como funciona

Imagine dois provedores conectados entre si.

```text
              Internet

        ┌────────┴────────┐
        │                 │
     Provedor A       Provedor B
       AS65001          AS65002
        │                 │
        └──── Sessão BGP ─┘
```

Cada provedor anuncia ao outro:

- Quais redes possui.
- Quais caminhos conhece.
- Quais políticas deseja aplicar.

Em operação de ISP, esses anúncios podem envolver prefixos IPv4 e IPv6. Cada família de endereço deve ter política, filtro, monitoramento e validação próprios.

Com essas informações, ambos conseguem encaminhar o tráfego corretamente.

À medida que milhares de provedores realizam esse mesmo processo, forma-se a tabela global de roteamento da Internet.

---

# O conceito de AS-PATH

Uma das principais informações transportadas pelo BGP é o **AS-PATH**.

Ele registra por quais Sistemas Autônomos uma rota passou.

Exemplo:

```
65020
↓

65015

↓

65008

↓

65001
```

Esse histórico possui duas funções importantes:

- Evitar loops de roteamento.
- Auxiliar na escolha do melhor caminho.

Em geral, caminhos que atravessam menos Sistemas Autônomos tendem a ser preferidos, embora outros atributos também sejam considerados.

---

# Políticas de Roteamento

Ao contrário de outros protocolos, o BGP não busca apenas o menor caminho.

Ele também considera políticas definidas pelos administradores.

Por exemplo, um provedor pode decidir:

- Priorizar um determinado link.
- Evitar outro provedor.
- Não anunciar determinadas redes.
- Utilizar um trânsito apenas como contingência.
- Distribuir tráfego entre múltiplos enlaces.

Isso torna o BGP extremamente flexível.

---

# eBGP e iBGP

Existem duas formas principais de utilização do protocolo.

## eBGP (External BGP)

Utilizado entre Sistemas Autônomos diferentes.

Exemplo:

```text
AS65001
     │
   eBGP
     │
AS65002
```

É o cenário mais comum entre provedores de Internet.

---

## iBGP (Internal BGP)

Utilizado dentro do mesmo Sistema Autônomo.

Exemplo:

```text
          AS65001

R1 ─────── R2 ─────── R3
      iBGP
```

Ele permite distribuir internamente as rotas aprendidas através do eBGP.

---

# Escolha do melhor caminho

O BGP pode conhecer diversos caminhos para alcançar o mesmo destino.

Para decidir qual utilizar, ele analisa diversos atributos, como:

- Weight (dependendo do fabricante).
- Local Preference.
- AS-PATH.
- MED.
- Origem da rota.
- Tipo da rota.
- Próximo salto (Next Hop).

A ordem de avaliação varia conforme a implementação e a configuração do equipamento.

---

# Quando utilizar BGP

O BGP normalmente é utilizado em:

- Provedores de Internet.
- Operadoras de telecomunicações.
- Grandes datacenters.
- Empresas com múltiplos links de Internet.
- Pontos de Troca de Tráfego (IXPs).
- Ambientes com múltiplos Sistemas Autônomos.

Na maioria das redes corporativas pequenas e médias, ele não é necessário.

---

# OSPF x BGP

Embora ambos sejam protocolos de roteamento, possuem finalidades diferentes.

| OSPF | BGP |
|------|-----|
| Roteamento interno (IGP) | Roteamento entre AS (EGP) |
| Busca o menor custo | Considera políticas de roteamento |
| Convergência rápida | Convergência mais lenta |
| Utilizado dentro da organização | Utilizado entre organizações |
| Redes locais e corporativas | Internet e grandes provedores |

Na prática, muitos provedores utilizam:

- OSPF para distribuir rotas internamente.
- BGP para trocar rotas com outros provedores.

Os protocolos trabalham de forma complementar.

---

# Vantagens

- Altamente escalável.
- Permite aplicar políticas complexas de roteamento.
- Evita loops entre Sistemas Autônomos.
- Suporta múltiplos provedores.
- Fundamental para o funcionamento da Internet.

---

# Limitações

O BGP também apresenta algumas características que exigem atenção.

- Configuração mais complexa.
- Grande quantidade de parâmetros.
- Convergência mais lenta que protocolos internos.
- Exige bom planejamento.
- Pequenos erros podem afetar muitas redes.

---

# Boas práticas

- Documente todas as sessões BGP.
- Utilize filtros de entrada e saída.
- Anuncie apenas os prefixos autorizados.
- Separe validação de prefixos IPv4 e IPv6.
- Utilize autenticação quando disponível.
- Monitore continuamente as adjacências.
- Mantenha políticas de roteamento bem documentadas.

---

# Erros comuns

## Anunciar prefixos incorretos

Uma configuração incorreta pode divulgar redes indevidas para outros provedores.

Esse tipo de erro pode afetar milhares de usuários.

O mesmo cuidado vale para IPv6: anunciar prefixo incorreto, mais específico indevido ou bloco não autorizado pode causar impacto amplo.

---

## Falta de filtros

Aceitar todas as rotas ou anunciar tudo indiscriminadamente aumenta os riscos operacionais.

---

## Políticas inconsistentes

Diferenças de configuração entre roteadores podem gerar caminhos inesperados ou assimétricos.

---

## Não monitorar sessões

Uma sessão BGP interrompida pode causar perda parcial ou total da conectividade.

---

## Alterações sem planejamento

Mudanças em ambientes BGP devem ser cuidadosamente planejadas e documentadas, pois podem impactar uma grande quantidade de tráfego.

---

# Relação com outros conceitos

Antes de estudar BGP, recomenda-se compreender:

- [Modelo TCP/IP](../Fundamentos/02 - Modelo TCP-IP.md)
- [IPv4](../Endereçamento/02 - IPv4.md)
- [IPv6](../Endereçamento/13 - IPv6.md)
- [Gateway Padrão](../Endereçamento/04 - Gateway Padrão.md)
- [Rotas Estáticas](./01 - Rotas Estáticas.md)
- [OSPF](./03 - OSPF.md)

Esses conceitos fornecem a base necessária para entender como o BGP conecta redes independentes em escala global.

---

# Resumo

O Border Gateway Protocol é o principal protocolo de roteamento entre Sistemas Autônomos e um dos componentes fundamentais da Internet.

Enquanto protocolos como o OSPF determinam o melhor caminho dentro de uma organização, o BGP permite que organizações diferentes troquem informações de roteamento de forma controlada, aplicando políticas que equilibram desempenho, disponibilidade e objetivos operacionais.

Embora sua configuração seja mais complexa, o BGP é indispensável para provedores de Internet e grandes ambientes de rede.

---

# Próximas Ações

Agora que você concluiu a trilha de **Roteamento**, recomenda-se aprofundar os estudos em:

- [Conceitos de VLAN](../Vlans/01 - Conceitos.md)
- [Firewall](../Segurança/01 - Firewall.md)
- [ACL](../Segurança/02 - ACL.md)

Esses temas mostram como controlar o tráfego após definir os caminhos percorridos pelos pacotes na rede.
