O que define o destino?
No BGP, o roteamento não é baseado apenas em saltos, mas em uma rica coleção de **Path Attributes (PAs)**. Pense neles como o "passaporte" de uma rota: cada carimbo diz algo sobre de onde ela veio e como ela deve ser tratada no ASN 12345.
A Taxonomia dos Atributos
Cada atributo BGP cai em uma destas quatro categorias fundamentais. Clique para explorar.
Well-known Mandatory
Devem ser reconhecidos por todos os roteadores BGP e **sempre** incluídos no UPDATE.
Well-known Discretionary
Devem ser reconhecidos por todos, mas sua inclusão no UPDATE é opcional.
Optional Transitive
O roteador pode não reconhecer, mas deve passar adiante para os vizinhos.
Optional Non-Transitive
Se o roteador não reconhecer, ele ignora e **não** passa para os vizinhos.
Os "Big Three" da Propagação
AS_PATH (Mandatório)
A lista de ASNs que a rota atravessou. Serve para evitar loops e como critério de desempate (mais curto vence).
NEXT_HOP (Mandatório)
O endereço IP do próximo roteador para alcançar o destino. No iBGP, ele não muda por padrão (requer next-hop-local).
LOCAL_PREF (Discricionário)
Usado dentro do AS para escolher o caminho de saída. Maior valor vence. Não é enviado para vizinhos eBGP.
Exemplo de Tabela BGP
# display bgp routing-table
*> 8.8.8.0/24 10.1.1.1 0 200 0 65001i
* 8.8.8.0/24 20.1.1.1 0 100 0 65002i
No exemplo acima, a rota com LocPrf 200 é escolhida (>) sobre a de LocPrf 100, independente do AS-Path.
BGP Communities: O Poder das Etiquetas
Comunidades são valores numéricos anexados a prefixos que instruem outros roteadores a tomar ações específicas. Elas são o "post-it" da engenharia de tráfego.
Well-Known Communities
Não anuncie este prefixo para vizinhos eBGP externos.
Não anuncie este prefixo para NENHUM vizinho (iBGP ou eBGP).
Comunidade customizada usada para descartar tráfego sob ataque DDoS.
Status do Prefixo: 192.168.10.0/24
// Clique em uma comunidade à esquerda para simular...
Implementação no Huawei VRP
Enviando Comunidades
Por padrão, roteadores Huawei não enviam comunidades. É necessário habilitar explicitamente.
peer 10.1.1.2 advertise-community
peer 10.1.1.2 route-policy P_SEND export
Filtrando por Comunidade
Use ip community-filter para identificar prefixos marcados.
route-policy P_RECV permit node 10
if-match community-filter 1
apply local-preference 500