Skip to main content


BGP Path Selection


O processo de BGP Path Selection define como o BGP escolhe o melhor caminho entre múltiplos disponíveis para o mesmo prefixo. Como o BGP pode receber várias rotas para um mesmo destino (de diferentes vizinhos ou ASNs) ele precisa seguir uma sequência de critérios para escolher uma única rota que será instalada na tabela de roteamento (RIB) e anunciada aos demais vizinhos.


O BGP não escolhe o menor número de saltos como protocolos como OSPF ou RIP. Em vez disso, ele usa atributos de rota, como local-preference, AS_PATH, MED, entre outros, seguindo uma ordem específica.


A ordem de decisão (Path Selection) é o seguinte:

  1. Preferir o caminho com maior weight (atributo Cisco, local ao roteador).
  2. Preferir o caminho com maior local-preference.
  3. Preferir rotas originadas localmente (network ou aggregate).
  4. Preferir o caminho com menor AS_PATH (menos sistemas autônomos no caminho).
  5. Preferir o caminho com menor origin type (IGP < EGP < Incomplete).
  6. Preferir o menor MED (Multi-Exit Discriminator).
  7. Preferir eBGP sobre iBGP.
  8. Preferir o caminho com menor IGP metric até o next-hop.
  9. Preferir o caminho mais antigo (estável).
  10. Preferir o caminho com menor router ID do peer.
  11. Preferir o caminho com menor endereço IP do neighbor (desempate final).

Nem todos os critérios precisam ser aplicados, o processo para assim que um critério diferencia um único melhor caminho.


Exemplo prático. Suponha que um roteador receba duas rotas para 192.0.2.0/24:

OrigemLocal-PrefAS-PATHMEDOrigem BGP
Vizinho A10065050 650600iBGP
Vizinho B2006507050eBGP

Neste caso, a rota via Vizinho B será escolhida porque tem maior local-preference, que é o segundo critério da lista. Os critérios seguintes nem são avaliados.



Local Preference versus Weight


A diferença entre Local Preference e Weight no BGP está no alcance e função de cada atributo.


O Local Preference é válido dentro do seu AS inteiro, ele é usado para influenciar qual saída será usada para destinos externos. Exemplo:

route-map PREFE_ALTA permit 10
set local-preference 200

router bgp 65010
neighbor 198.51.100.1 route-map PREFE_ALTA in

Se você tiver dois links com ISPs diferentes, o tráfego saindo do seu AS vai preferir o caminho com maior LOCAL_PREF.

Já o Weight é local ao roteador apenas, ou seja, não é compartilhado com nenhum outro roteador (como no caso do Local Preference). Ele é usado para decidir qual rota vai entrar na tabela de roteamento local.


route-map PESO_ALTO permit 10
set weight 500

router bgp 65010
neighbor 198.51.100.1 route-map PESO_ALTO in

O tráfego chegando nesse roteador vai preferir a rota com maior weight, mas outros roteadores do seu AS nem sabem disso.


AtributoEscopoPropagado para outros routers?Prioridade no BGPFinalidade principal
WeightLocal (1 roteador)❌ NãoMais alta (no Cisco)Escolher rota local preferida
Local PrefTodo o AS✅ SimMenor que weightControlar saída do tráfego BGP

Use Weight para ajustes pontuais em um roteador (ex: preferir uma rota em um roteador específico). Use Local Preference para política de roteamento global dentro do seu AS (ex: preferir um provedor inteiro).



BGP Best Path


O BGP pode aprender várias rotas para o mesmo prefixo (ex: 10.0.0.0/24), vindas de diferentes vizinhos. O algoritmo de Best Path Selection serve para escolher apenas uma delas para instalar na tabela de roteamento (RIB).


Essa escolha segue uma ordem rígida de critérios, avaliando atributos da rota. A primeira que "desempatar" define o caminho vencedor.


A ordem de seleção é a seguinte:

  1. Weight (Cisco-only)

    • Maior é preferido.
    • Local ao roteador, não propagado.
    • Exemplo: set weight 500.
  2. Local Preference (LOCAL_PREF)

    • Maior é preferido.
    • Compartilhado dentro do mesmo AS.
    • Define a melhor saída do seu AS.
  3. Origem da Rota (locally originated)

    • Rota originada localmente (via network ou aggregate) é preferida.
  4. AS-PATH

    • Menor quantidade de ASs é preferida.
    • Evita caminhos longos.
  5. Origin

    • IGP < EGP < INCOMPLETE
    • Rota com origem mais confiável vence.
  6. MED (Multi Exit Discriminator)

    • Menor é preferido.
    • Influencia entrada no seu AS.
  7. eBGP vs iBGP

    • Rotas aprendidas via eBGP são preferidas a rotas iBGP.
  8. Menor IGP Metric até o NEXT_HOP

    • Usa a métrica IGP (ex: OSPF) para alcançar o next-hop.
    • Rota com next-hop mais “perto” ganha.
  9. Router ID

    • Menor router-id vence (se tudo acima empatar).
  10. Menor endereço IP do vizinho

    • Se ainda houver empate, usa o IP do vizinho como critério final.