SIGN IN YOUR ACCOUNT TO HAVE ACCESS TO DIFFERENT FEATURES

FORGOT YOUR PASSWORD?

FORGOT YOUR DETAILS?

AAH, WAIT, I REMEMBER NOW!
GET SOCIAL
  • BLOG
  • SECURITY ALERTS
  • CONTATO
  • PRIVACIDADE
  • SOBRE
  • LOGIN

Brainwork

  • Certificação
  • Cisco
  • Informação
  • Linux
  • Microsoft
  • Network
  • Security
  • UC
  • Virtualização
  • Wireless
  • Home
  • Cisco
  • BGP Origin Path Attribute e Next Hop Self
01/06/2025

BGP Origin Path Attribute e Next Hop Self

BGP Origin Path Attribute e Next Hop Self

by André Ortega / segunda-feira, 07 novembro 2016 / Published in Cisco, Configuração, Network

(Mais uma semana começando…)

Aproveitando o gancho do post anterior (e a topologia e a configuração…), vamos falar do Origin Path Attribute e do Next Hop Self.

Rota Default no BGP

O Origin Path Attribute (um dos atributos que os anúncios BGP carregam), sinaliza como a rota foi inserida na tabela BGP originalmente.

Podemos ver os códigos do Origin Path Attribute (“i”, “*” e “?”) quando inserimos o comando show ip bgp.

  • IGP (i): Indica que a rota foi inserida no BGP originalmente através através dos comando network, neighbor default-originate ou aggregate-address (em alguns casos; veja abaixo).
  • EGP (e): Indica que a rota foi inserida pelo Exterior Gateway Protocol, protocolo anterior ao BGP e já não utilizado. Note que não há relação entre EGP e eBGP.
  • Incomplete (?): Sinaliza que a rota foi inserida no BGP através dos comandos redistribute, default-information originate ou aggregate-address (em alguns casos; veja abaixo).

Quando usamos o comando aggregate-address para a sumarização manual, dependendo de como fazemos a configuração, a rota terá Origin Path Attribute “i” ou “?”.

  • Se o as-set não for utilizado, a rota sumarizada terá o código “i”.
  • Se o as-set for utilizado, tanto a rota sumarizada quanto as rotas componentes (que fazem parte da rota sumarizada), terão o código “i”.
  • Se a opção as-set for utilizada, mas existir ao menos uma rota componente com código “?”, a rota agregada terá o Origin Code “?”.
A coluna Patch mostra como a rota foi inserida no BGP inicialmente.
R2#sh ip bgp
BGP table version is 38, local router ID is 10.1.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
*>i 0.0.0.0          10.1.1.1                 0    100      0 i
*>i 4.4.4.4/32       10.1.1.1                 0    100      0 ?
* i 10.1.1.0/24      10.1.1.1                 0    100      0 ?
*>                   0.0.0.0                  0         32768 ?
*>i 10.10.0.0/24     10.1.1.1                 0    100      0 ?
  *>i 172.16.0.0/24    10.1.1.1                 0    100      0 ?
R2#

Rota default anunciada por R1, usando a opção neighbor default-originate (veja post anterior).

R2#sh ip bgp 0.0.0.0
BGP routing table entry for 0.0.0.0/0, version 27
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Refresh Epoch 1
  Local
    10.1.1.1 from 10.1.1.1 (172.16.0.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
R2#

Rota para 4.4.4.4 anunciada por R1, usando o comando redistribute static (veja poste anterior).

R2#sh ip bgp 4.4.4.4
BGP routing table entry for 4.4.4.4/32, version 20
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Refresh Epoch 1
  Local
    10.1.1.1 from 10.1.1.1 (172.16.0.1)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
R2#

E por que isso importa?

O BGP tem um longo processo para a escolha da melhor rota, e um dos passos para a escolha pode ser avaliar o Origin PA, sendo que uma rota (NLRI – Network Layer Reachability Information) com Origin PA IGP é preferida à uma rota EGP, que por sua vez é preferida a uma rota incomplete (?).

Next Hop Self

No post anterior tínhamos R1 e R2 no mesmo AS (10), enquanto R3 estava em um AS diferente (30). E na configuração do BGP no R1, tínhamos o comando neighbor 10.1.1.2 next-hop-self.

R1#sh run | sec router
router ospf 40
router bgp 10
bgp log-neighbor-changes
redistribute connected
redistribute static
neighbor 10.1.1.2 remote-as 10
 neighbor 10.1.1.2 next-hop-self
neighbor 10.1.1.2 default-originate
neighbor 10.10.0.2 remote-as 30
R1#

Quando um roteador envia updates para um peer eBGP (roteador em outro AS), o NEXT_HOP Path Attribute é alterado para o IP do roteador que está fazendo o anúncio. Ou seja, no nosso exemplo, todos os updates que R3 recebe de R1 vem com o NEXT HOP 10.10.0.1 (IP utilizado por R1 para enviar os updates).

R3#sh ip bgp
BGP table version is 7, local router ID is 10.10.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
*>  3.3.3.3/32       0.0.0.0                  0         32768 ?
*>  4.4.4.4/32       10.10.0.1                0             0 10 ?
*>  10.1.1.0/24      10.10.0.1                0             0 10 ?
*>  10.10.0.0/24     0.0.0.0                  0         32768 ?
*                    10.10.0.1                0             0 10 ?
*>  172.16.0.0/24    10.10.0.1                0             0 10 ?
R3#

No entanto, quando R1 envia os updates para R2 (estão no mesmo AS) o NEXT HOP informado por padrão é o IP do último roteador eBGP por onde o anúncio passou.

Com isso as rotas anunciadas por R3 chegariam ao R2 com o IP do R3, o que pode causar problemas no roteamento (se não houver uma rota para o NEXT HOP a rota não pode ser considerada best, ou ainda pode ser necessário a verificação recursiva, que causa aumento no consumo da CPU).

Com o comando next-hop-self em R1:

R2#sh ip bgp
BGP table version is 8, local router ID is 10.1.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
*>i 0.0.0.0          10.1.1.1                 0    100      0 i
*>i 3.3.3.3/32       10.1.1.1                 0    100      0 30 ?
*>i 4.4.4.4/32       10.1.1.1                 0    100      0 ?
*>  10.1.1.0/24      0.0.0.0                  0         32768 ?
* i                  10.1.1.1                 0    100      0 ?
*>i 10.10.0.0/24     10.1.1.1                 0    100      0 ?
*>i 172.16.0.0/24    10.1.1.1                 0    100      0 ?
R2#

Removendo o comando next-hop-self de R1:

R2#sh ip bgp
BGP table version is 5, local router ID is 10.1.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
*>i 0.0.0.0          10.1.1.1                 0    100      0 i
* i 3.3.3.3/32       10.10.0.2                0    100      0 30 ?
* i 4.4.4.4/32       172.16.0.2               0    100      0 ?
r>i 10.1.1.0/24      10.1.1.1                 0    100      0 ?
*>i 10.10.0.0/24     10.1.1.1                 0    100      0 ?
*>i 172.16.0.0/24    10.1.1.1                 0    100      0 ?
R2#

Da mesma forma que podemos mudar o comportamento de peers iBGP usando o comando next-hop-self, podemos mudar o comportamento de peers eBGP usando o comando next-hop-unchanged.

Até a próxima.

Relacionado

Tagged under: BGP, CCIE, Next hop self, Origin PA, Path attributes

About André Ortega

Formando em Processamento de Dados e Ciência da Computação. Especialista Cisco (CCNP Enterprise e CCNP Security). Dezenove anos de experiência com redes e segurança.

What you can read next

Cisco Networkers (San Francisco)
LAB CCIE Voice atualizado
Resolvendo nome no roteador

2 Comments to “ BGP Origin Path Attribute e Next Hop Self”

  1. Luciano Rodrigues da Silva says :
    07/11/2016 at 12:46

    Ainda estou tentando entender a lógica do BGP e já vi que vai dar trabalho…. =/

    Por curiosidade, onde vc está fazendo esse diagrama dos roteadores? Obrigado!

    1. André Ortega says :
      08/11/2016 at 09:28

      Realmente BGP é um tópico complexo.
      Fiz a topologia no Power Point.

POSTS RECENTES

  • DevNet evolui: novas certificações CCNA, CCNP e CCIE Automation
    DevNet evolui: novas certificações CCNA, CCNP e CCIE Automation
    30/05/2025
  • Novidades na Certificação CCNP Collaboration da Cisco
    Novidades na Certificação CCNP Collaboration da Cisco
    29/05/2025
  • Cisco atualiza nomes das certificações de cibersegurança
    Cisco atualiza nomes das certificações de cibersegurança
    28/05/2025
  • Criminosos Utilizam Site Fake de Antivírus para Propagar Malware
    Criminosos Utilizam Site Fake de Antivírus para Propagar Malware
    28/05/2025
  • Brasil na Operação RapTor: Ação Global na Dark Web
    Brasil na Operação RapTor: Ação Global na Dark Web
    24/05/2025

Tags

#Microsoft #CobaltStrike #Ransomware #AtaquesCibernéticos #SegurançaDigital #Hackers #Fortra #HealthISAC #ProteçãoDeDados #TI #CyberThreats #SegurançaNaNuvem #Tecnologia #MicrosoftSecurity #Broadcom 2324 2010 2015 2017 2022 2023 2024 2350 200-125 25 anos 2560C 2960C 2960X 2975 350-050 3560-X 200-301 2009 200-120 100-101 #Multicloud #VMwareTransformation 1 ano 1.1.1.100 10 anos 10 Gbps 100 empresas 200-101 100 Gigabit 1905 1921 1925 1941 2.0 1900 2800 2900 2013 2011 1800 2960 3750 2960S

Arquivo

Login

  • Acessar
  • Feed de posts
  • Feed de comentários
  • WordPress.org

Acesse Também

  • Blog LabCisco
  • Café com Redes
  • Cisco IOS hints and tricks
  • Cisco Redes
  • Cisco Support Community
  • Coruja de TI
  • Homelaber Brasil
  • Internetwork Expert´s
  • Netfinders Brasil
  • Rota Default
  • TechRebels
  • The Cisco Learning Network

X

Blog: Verificando MD5 (hash) de um arquivo no Windows e Linux brainwork.com.br/2023/05/11/v… #Checksum #CiscoChampion #Hash

Hahahahah Muito bom twitter.com/TracketPacer/s…

Blog: Trocar ícone (favicon) da página guest no Cisco ISE brainwork.com.br/2023/04/24/t… #Cisco_Champion #Customização #Favicon

Blog: Cisco Champion 2023 brainwork.com.br/2023/04/10/c… #CiscoChampion

Blog: RFC 2324 (HTCPCP), conhece? brainwork.com.br/2023/04/01/r… #2324 #CiscoChampion #HTCPCP

Seguir @brainworkblog
  1. ./fernando em Aprenda Python e ganhe pontos para renovar as certificações CCNA, CCNP e CCIE
  2. André Ortega em Reset Cisco FTD (zerar FTD sem reinstalar)
  3. ALEX LIRA CAMACHO em Reset Cisco FTD (zerar FTD sem reinstalar)
  4. André Ortega em Atualizando Cisco 9300 (Install Mode)
  5. Dominique em Atualizando Cisco 9300 (Install Mode)

Entre em contato:

  • Web: www.brainwork.com.br
  • Facebook: fb.com/brainworkblog
  • Twitter: twitter.com/brainworkblog
  • Youtube: youtube.com/brainworkblog
  • Instagram: instagram.com/brainwork.blog
  • GET SOCIAL
Brainwork

© 2008 - 2022 Brainwork. Todos os direitos reservados.
Customização da página por Brainwork.

TOP
Gerenciar o consentimento
Para fornecer as melhores experiências, usamos tecnologias como cookies para armazenar e/ou acessar informações do dispositivo. O consentimento para essas tecnologias nos permitirá processar dados como comportamento de navegação ou IDs exclusivos neste site. Não consentir ou retirar o consentimento pode afetar negativamente certos recursos e funções.
Funcional Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos. O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.
Gerenciar opções Gerenciar serviços Manage {vendor_count} vendors Leia mais sobre esses propósitos
Ver preferências
{title} {title} {title}