IP : Border Gateway Protocol (BGP)

Versão da tabela de BGP

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback

Introdução

Este documento descreve a versão de tabela, que é um número usado pelo Border Gateway Protocol (BGP) a fim seguir que as mudanças do melhor caminho dos prefixos BGP são propagadas a que bgp peer. É um número usado pelo software BGP. Você pode ver o número de versão de tabela se você inscreve comandos show, que ajuda o administrador de rede a pesquisar defeitos problemas.

Contribuído por Luc De Ghein, engenheiro de TAC da Cisco.

Diagrama de Rede

Este é o diagrama da rede que é usado para este artigo:

Melhor caminho

Um prefixo BGP tem uns ou vários trajetos, porque o prefixo BGP é instruído dos bgp peer diferentes e das fontes.

Está aqui um exemplo de um prefixo BGP com caminhos múltiplos. Há dois trajetos, e o melhor caminho é segundo.

R1#show bgp ipv4 unicast 10.100.1.1
BGP routing table entry for 10.100.1.1/32, version 2
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     1        
  Refresh Epoch 1
  5 4
    10.1.5.5 from 10.1.5.5 (10.1.5.5)
      Origin IGP, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  4
    10.1.3.4 from 10.1.3.4 (10.100.1.1)
      Origin IGP, metric 0, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0

Somente um trajeto é escolhido como o melhor caminho BGP baseado no algoritmo do melhor caminho BGP. Este é sempre o caso. Refira o artigo do algoritmo de seleção de caminho do melhors BGP para mais informação.

O trajeto é aprendido de um bgp peer ou de uma fonte, como da redistribução de um protocolo de roteamento no BGP. Quando há uma mudança no melhor caminho, o BGP deve informar seu par enviando uma atualização ou uma retirada. A retirada é enviada quando o último trajeto do prefixo BGP é removido.

Está aqui um exemplo onde o prefixo é originado localmente pelo comando network:

R4#show bgp ipv4 unicast 10.100.1.1
BGP routing table entry for 10.100.1.1/32, version 4
Paths: (1 available, best #1, table default)
  Advertised to update-groups:
     1        
  Refresh Epoch 1
  Local
    0.0.0.0 from 0.0.0.0 (10.1.3.4)
      Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best
      rx pathid: 0, tx pathid: 0x0

A saída mostra a origem IGP.

Está aqui um exemplo onde o prefixo é originado localmente pelo comando conectado redistribução:

R4#show bgp ipv4 unicast 10.100.1.1
BGP routing table entry for 10.100.1.1/32, version 7
Paths: (1 available, best #1, table default)
Flag: 0x820
  Not advertised to any peer
  Refresh Epoch 1
  Local
    0.0.0.0 from 0.0.0.0 (10.1.3.4)
      Origin incomplete, metric 0, localpref 100, weight 32768, valid, sourced, best
      rx pathid: 0, tx pathid: 0x0

A saída mostra a origem incompleta.

Tipos de versões de tabela

O número de versão de tabela é um valor de 32 bits, e há quatro tipos de versões de tabela:

  • Versão da tabela de BGP
  • Versão de tabela do Routing Information Base (RIB)
  • Versão de tabela do par
  • Versão de tabela do prefixo

Estes são explicados mais no uso da seção da versão de tabela.

Número de versão de tabela inicial

Quando o BGP não aprendeu sobre nenhuns prefixos ainda, a versão de tabela global, a versão de tabela do RIB, e a versão de tabela do par são 1, que é o ponto de início para o número de versão de tabela.

O comando bgp com a palavra-chave sumária dá-lhe três números de versão de tabela. A palavra-chave sumária pode ser fornecida para todas as famílias do endereço no BGP.

R1#show bgp ipv4 unicast summary
BGP router identifier 10.1.3.1, local AS number 1
BGP table version is 1, main routing table version 1

Neighbor     V       AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.1.1.2     4        2       4       4        1    0    0 00:01:15        0
10.1.2.3     4        3       4       4        1    0    0 00:01:06        0
10.1.3.4     4        4       4       4        1    0    0 00:01:33        0

Você pode ver a versão de tabela do prefixo se você olha um prefixo na tabela de BGP.

R1#show bgp ipv4 unicast 10.100.1.1/32
BGP routing table entry for 10.100.1.1/32, version 2
Paths: (1 available, best #1, table default)
  Advertised to update-groups:
     1        
  Refresh Epoch 1
  4
    10.1.3.4 from 10.1.3.4 (10.1.3.4)
      Origin IGP, metric 0, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0

Você pode ver a versão de tabela se você inscreve o comando internal BGP da mostra IP:

R1#show ip bgp internal
Time left for bestpath timer: 964 secs
Consistency-checker not enabled
Update generation pool version 8, messages 0, in pool 0, below 00:00:24.432.
Enhanced Refresh EOR Stalepath-time disabled
Enhanced Refresh max-eor-time disabled
Total number of BGP Accepter process: 50, Spawned count: 0
Total number of neighbors: 4
Total number of sessions : 4
  Established            : 4
  OpenConfirm            : 0
  OpenSent               : 0
  Active                 : 0
  Connect                : 0
  Idle                   : 0
  Closing                : 0
  Uninitialized          : 0
Address-family IPv4 Unicast, Mode : RW
    Table Versions : Current 39 Init 2 RIB 39


    Start time : 00:00:18.919    Time elapsed 22:15:38.198
    First Peer up in : 00:00:06.830    Exited Read-Only in : 00:01:07.966
    Done with Install in : 00:01:07.967    Last Update-done in : 00:01:07.969
    0 updates expanded
    L3VPN Tunnel Encapsulated Paths : 0
    Slow-peer detection is disabled     BGP Nexthop scan:-
        penalty: 0, Time since last run: 21:19:42.174,  Next due in: none
        Max runtime : 0 ms Latest runtime : 0 ms Scan count: 2
    BGP General Scan:-
        Max runtime : 1 ms Latest runtime : 0 ms Scan count: 0

    BGP future scanner version: 1333
    BGP scanner version: 0
Address-family IPv4 Multicast, Mode : RW
    Table Versions : Current 1 Init 1 RIB 1


    Start time : 00:00:18.919    Time elapsed 22:15:38.199
    First Peer up in : never    Exited Read-Only in : 00:00:10.286
    Done with Install in : 00:00:10.286    Last Update-done in : never
    0 updates expanded
    L3VPN Tunnel Encapsulated Paths : 0
    Slow-peer detection is disabled     BGP Nexthop scan:-
        penalty: 0, Time since last run: never,  Next due in: none
        Max runtime : 0 ms Latest runtime : 0 ms Scan count: 0
    BGP General Scan:-
        Max runtime : 1 ms Latest runtime : 0 ms Scan count: 0

    BGP future scanner version: 1334
    BGP scanner version: 0
Address-family MVPNv4 Unicast, Mode : RW
    Table Versions : Current 1 Init 1 RIB 1


    Start time : 00:00:18.919    Time elapsed 22:15:38.200
    First Peer up in : never    Exited Read-Only in : 00:00:10.286
    Done with Install in : 00:00:10.286    Last Update-done in : never
    0 updates expanded
    L3VPN Tunnel Encapsulated Paths : 0
    Slow-peer detection is disabled     BGP Nexthop scan:-
        penalty: 0, Time since last run: never,  Next due in: none
        Max runtime : 0 ms Latest runtime : 0 ms Scan count: 0
    BGP General Scan:-
        Max runtime : 1 ms Latest runtime : 0 ms Scan count: 0

    BGP future scanner version: 1334
    TX VPN optimization enabled.

Condições para uma mudança na versão da tabela de BGP

Para que o número de versão da tabela de BGP mude, deve haver uma mudança no melhor caminho e uma mudança propagada ao RIB. Uma mudança ao RIB para um prefixo BGP ocorre somente se o prefixo está no RIB como um prefixo BGP. Se algum outro protocolo de roteamento coloca o prefixo no roteamento, a seguir o prefixo BGP está marcado como uma RIB-falha. Nesse caso, mesmo se o melhor caminho muda, a versão de tabela não muda.

Está aqui um exemplo onde a versão da tabela de BGP não muda. O prefixo 10.100.1.1/32 BGP instruído do R4 é aprendido igualmente por uma rota estática configurada no r1. Assim, o r1 instala a rota estática no RIB, e o BGP no r1 marca o prefixo como uma RIB-falha, porque não é o BGP que instala o prefixo no RIB. Nenhuma mudança aos trajetos BGP para este prefixo não é propagada ao RIB. Assim mesmo que haja uma mudança do melhor caminho, a versão da tabela de BGP não é colidida, porque não há nenhuma atualização ao RIB.

R1#show bgp ipv4 unicast 10.100.1.1/32
BGP routing table entry for 10.100.1.1/32, version 8
Paths: (2 available, best #1, table default, RIB-failure(17))
  Advertised to update-groups:
     2        
  Refresh Epoch 2
  4
    10.1.3.4 from 10.1.3.4 (10.100.1.1)
      Origin IGP, metric 0, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 2
  5 4
    10.1.5.5 from 10.1.5.5 (10.1.5.5)
      Origin IGP, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0

R1#show ip route 10.100.1.1 
Routing entry for 10.100.1.1/32
  Known via "static", distance 1, metric 0 (connected)
  Routing Descriptor Blocks:
  * directly connected, via Loopback0
      Route metric is 0, traffic share count is 1

Uso da versão de tabela

Quando o melhor caminho muda os prefixos BGP, algumas coisas devem acontecer:

  • O RIB deve ser notificado.
  • Os bgp peer devem ser informados.
  • O roteador deve seguir que bgp peer é informado de que o melhor caminho muda.

A versão da tabela de BGP é o número principal usado. Este número é o mesmo que a versão de tabela a mais alta do prefixo de todo o prefixo BGP para uma família do endereço específico. Supõe que há cinco prefixos na tabela de BGP, com versões de tabela 3 do prefixo, 6, 8, 10, e 18. A versão da tabela de BGP será então 18.

A versão de tabela do par é usada a fim seguir que pares devem ser informados de que os prefixos para que havia umas mudanças no melhor caminho. A versão de tabela do par de cada par é verificada contra a versão de tabela do prefixo dos prefixos. Se a versão de tabela do prefixo de um prefixo é mais baixa do que a versão de tabela do par, a seguir o BGP deve enviar uma atualização para esse prefixo a esse bgp peer. Por exemplo, se o par 10.1.1.2 tem uma versão de tabela do par de 60, a seguir esse par é atualizado para todos os prefixos com versão de tabela do prefixo de 60 e mais baixo. O roteador deve enviar uma atualização BGP para todos os prefixos com uma versão de tabela do prefixo que seja mais alta de 60.

Uma vez o roteador atualiza o bgp peer para os prefixos mudados melhor caminho, o roteador atualiza a versão de tabela do par para este par. Este valor da versão de tabela do par é ajustado para combinar o valor da versão de tabela a mais alta do prefixo de todos os prefixos para que este bgp peer foi atualizado. Supõe que a versão de tabela do par era 60, e há dois prefixos com versões de tabela 61 e 62 do prefixo. Uma vez que o roteador envia os melhores caminhos novos para estes dois prefixos a esse bgp peer, a seguir a versão de tabela do par está atualizada a 62.

A versão de tabela do prefixo é o número de versão de tabela anexada ao prefixo BGP. É mudada quando o melhor caminho muda para esse prefixo. Cada vez que o melhor caminho muda para um prefixo BGP, sua versão de tabela do prefixo está colidida, que significa que está atualizada para ser igual ao número de versão disponível seguinte. Supõe que o prefixo 10.0.0.0/8 tem a versão de tabela 27 do prefixo, e a versão da tabela de BGP é 30. Neste caso, quando o melhor caminho muda para o prefixo 10.0.0.0/8, sua versão de tabela do prefixo é colidida a 31.

A versão de tabela do RIB está usada a fim seguir se o RIB precisa de ser atualizado depois que as mudanças do melhor caminho BGP ocorrem. O RIB deve ser informado dos prefixos BGP quais têm uma versão de tabela do prefixo mais altamente do que a versão de tabela do RIB. Para estes prefixos, há um RIB ADICIONA, SUPRIME, ou ALTERA do evento.

Uso para pesquisar defeitos

A fim saber quando o BGP convirgiu, inscreva o comando summary BGP da mostra. Se a versão da tabela de BGP do par iguala a versão da tabela de BGP, esse par convirgiu. Se a versão principal da tabela de roteamento iguala a versão da tabela de BGP, o RIB convirgiu.

R1#show bgp ipv4 unicast summary
BGP router identifier 10.1.3.1, local AS number 1
BGP table version is 2, main routing table version 2
1 network entries using 144 bytes of memory
1 path entries using 80 bytes of memory
1/1 BGP path/bestpath attribute entries using 144 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 392 total bytes of memory
BGP activity 1/0 prefixes, 1/0 paths, scan interval 60 secs

Neighbor     V       AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.1.1.2     4        2      69      69        2    0    0 01:00:54        0
10.1.2.3     4        3      69      70        2    0    0 01:00:45        0
10.1.3.4     4        4      72      70        2    0    0 01:01:12        1

Pode haver muitas mudanças às versões da tabela de BGP, e aquele não significa sempre que algo é errado.

Supõe que o roteador está conectado ao Internet, e tenha a tabela de roteamento de Internet completo. Tipicamente, há algumas mudanças quase cada segundo na tabela de BGP do Internet. Então, o roteador deve voltar a calcular o melhor caminho para alguns prefixos, e atualiza seu RIB e seus bgp peer. Este é um comportamento esperado.

Supõe que você cancela um bgp peer (a sessão é restaurada), a seguir o roteador deve anunciar sua tabela de BGP completa a esse par. Espera-se para que esse par tenha uma versão de tabela crescente. A versão de tabela aumenta enquanto o par recebe os prefixos BGP outra vez. O bgp peer de emissão não aumenta a versão de tabela para os prefixos BGP.

Exemplo: Os começos da versão de tabela com 28.

R1#show bgp ipv4 unicast summary     
BGP router identifier 10.1.3.1, local AS number 1
BGP table version is 28, main routing table version 281
network entries using 144 bytes of memory2 path entries using 160 bytes of memory
2/1 BGP path/bestpath attribute entries using 288 bytes of memory
2 BGP AS-PATH entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 640 total bytes of memory
BGP activity 1/0 prefixes, 16/14 paths, scan interval 60 secs

Neighbor     V       AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.1.1.2     4       2     117     125       28    0    0 01:43:50        0
10.1.2.3     4       3     117     125       28    0    0 01:43:53        0
10.1.3.4     4       4      10      12       28    0    0 00:04:22        1
10.1.5.5     4       5      55      63       28    0    0 00:45:45        1

R1#show bgp ipv4 unicast 10.100.1.1/32
BGP routing table entry for 10.100.1.1/32, version 28


Paths: (2 available, best #1, table default)
  Advertised to update-groups:
     1        
  Refresh Epoch 2
  4
    10.1.3.4 from 10.1.3.4 (10.100.1.1)   <<< path from R4
      Origin IGP, metric 0, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 2
  5 4
    10.1.5.5 from 10.1.5.5 (10.1.5.5)   <<< path from R5
      Origin IGP, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0

Conduza um claro duro para a sessão de BGP para o r1 no par 10.1.3.4 (R4). O par anuncia somente um prefixo 10.100.1.1/32 para o r1. 10.100.1.1/32 são instruídos do R4 e do R5. O melhor caminho é o trajeto do R4.

Assegure-se de que você tenha debugar interno BGP IP permitido a fim ver o que acontece às versões da tabela de BGP. Você deve ter o debug ip bgp updates permitido a fim ver o que acontece quando a atualização chega.

R1#debug ip bgp updates              
BGP updates debugging is on for address family: IPv4 Unicast

R1#debug ip bgp internal            
BGP internal debugging is on

R1#show debugging
IP routing:
  BGP internal debugging is on
  BGP updates debugging is on for address family: IPv4 Unicast
R1#
%BGP-5-NBR_RESET: Neighbor 10.1.3.4 reset (Peer closed the session)   <<< BGP
session to R4 goes down

BGP: TX IPv4 Unicast Net global 10.100.1.1/32 Changed.
BGP: TX IPv4 Unicast Net global 10.100.1.1/32 RIB done.
BGP: TX IPv4 Unicast Net global 10.100.1.1/32 Changed.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Resetting counters.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Ignoring dummy policy change.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Resetting counters.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Ignoring dummy policy change.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Changing state from ACTIVE to DOWN
(session not established).
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Removing from group (3 members left).
%BGP-5-ADJCHANGE: neighbor 10.1.3.4 Down Peer closed the session
%BGP_SESSION-5-ADJCHANGE: neighbor 10.1.3.4 IPv4 Unicast topology base removed
from session  Peer
closed the session
BGP: TX IPv4 Unicast Mem global 10.1.3.4 State is DOWN (session not established).
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Attempting to
install.   <<< RIB gets informed
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Built route type:
1024, flags: 200000, tag: 5,
metric: 0 path: 1.
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Path 1, type: DEF,
gw: 10.1.5.5, idb: N/A,
topo_id: 0, src: 1.1.5.5, lbl: 1048577, flags: 0.
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Installing 1 paths,
multipath limit 1 (from 1).
BGP(0): Revise route installing 1 of 1 routes for 10.100.1.1/32 -> 10.1.5.5
(global) to main IP table   <<< The remaining path through R5 gets installed
in the RIB
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Install successful.
BGP: TX IPv4 Unicast Net global 10.100.1.1/32 RIB done.
BGP: TX IPv4 Unicast Net global 10.100.1.1/32 RIB done.
BGP: TX IPv4 Unicast Tab RIB walk done version 29, added 1 topologies.
BGP: TX IPv4 Unicast Tab Executing.
BGP: TX IPv4 Unicast Wkr global 1 Cur Processing.
BGP: TX IPv4 Unicast Top global Appending nets from attr 0x9362CB4.
BGP: TX IPv4 Unicast Wkr global 1 Cur Attr change from 0x0 to 0x9362CB4.
BGP(0): (base) 10.1.1.2 send UPDATE (format) 10.100.1.1/32, next 10.1.1.1,
metric 0, path 5 4
   <<< R1 sends update for 10.100.1.1/32 for Table Version 29.
(bestpath is still the one from R5, i.e. the only one R1 has at this moment)
BGP: TX IPv4 Unicast Wkr global 1 Cur Net 10.100.1.1/32 (Pxt 0x9F58FA0:0x0)
Formatted.
BGP: TX IPv4 Unicast Top global No attributes with modified nets.
BGP: TX IPv4 Unicast Top global Added tail marker with version 29.
BGP: TX IPv4 Unicast Wkr global 1 Cur Reached marker with version 29.
BGP: TX IPv4 Unicast Top global No attributes with modified nets.
BGP: TX IPv4 Unicast Wkr global 1 Cur Replicating.
BGP: TX IPv4 Unicast Wkr global 1 Cur Done (end of list), processed 1 attr(s),
1/1 net(s), 0 pos.
BGP: TX IPv4 Unicast Grp global 1 Checking EORs again (3/3).
BGP: TX IPv4 Unicast Grp global 1 Start minimum advertisement timer (30 secs).
BGP: TX IPv4 Unicast Wkr global 1 Cur Blocked (minimum advertisement interval).
BGP: TX IPv4 Unicast Wkr global 1 Cur Reached end of list.
BGP: TX IPv4 Unicast Grp global 1 Converged.
BGP: TX IPv4 Unicast Tab Processed 1 walker(s).
BGP: TX IPv4 Unicast Tab Generation completed.
BGP: TX IPv4 Unicast Top global Deleting first marker with version 28.
BGP: TX IPv4 Unicast Top global Collection reached marker 28 after 0 path
extension(s).
BGP: TX IPv4 Unicast Top global Collection done on marker 29 after 1 path
extension(s).
BGP: TX IPv4 Unicast Top global Collection done on marker 29 after 0 path
extension(s).
BGP: TX IPv4 Unicast Mem global 10.1.3.4 Policy change while no group and
member is DOWN.
BGP: TX IPv4 Unicast Mem global 10.1.3.4 Changing state from DOWN to WAIT
(pending advertised bit allocation).
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Added to group (now has
4 members).
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Continuing into ACTIVE state.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Refresh Start-of-rib for afi 1,
safi 1.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Full refresh requested.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Refresh has to wait for pathext
prepend.
%BGP-5-ADJCHANGE: neighbor 10.1.3.4 Up    <<< BGP session to R4 is up again.
But, R1 did not learn the prefix 10.100.1.1/32 yet from R4
.
BGP: nbr_topo global 10.1.3.4 IPv4 Unicast:base (0x63D50D0:1) rcvd Refresh
Start-of-RIB
BGP: nbr_topo global 10.1.3.4 IPv4 Unicast:base (0x63D50D0:1) refresh_epoch
is 2
BGP: TX IPv4 Unicast Top global Start pathext prepend.
BGP: TX IPv4 Unicast Tab Pathext prepend full table refresh.
BGP: TX IPv4 Unicast Tab Pathext prepend full table refresh.
BGP: TX IPv4 Unicast Top global Inserting initial marker.
BGP: TX IPv4 Unicast Top global Done pathext prepend (1 attrs).
BGP: TX IPv4 Unicast Grp global 1 Starting refresh after prepend completion.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Starting refresh (first member,
1, 0, marker).
BGP: TX IPv4 Unicast Wkr global 1 Ref Start at marker 1.
BGP: TX IPv4 Unicast Wkr global 1 Ref Unblocked
BGP: TX IPv4 Unicast Top global Collection done on marker 1 after 0 path
extension(s).
BGP: TX IPv4 Unicast Tab Executing.
BGP: TX IPv4 Unicast Wkr global 1 Ref Processing.
BGP: TX IPv4 Unicast Wkr global 1 Ref Attr change from 0x0 to 0x9362CB4.
BGP(0): (base) 10.1.1.2 send UPDATE (format) 10.100.1.1/32, next 10.1.1.1,
metric 0, path 5 4 
BGP: TX IPv4 Unicast Wkr global 1 Ref Net 10.100.1.1/32 (Pxt 0x9F58FA0:0x0)
Formatted.
BGP: TX IPv4 Unicast Wkr global 1 Ref Reached marker with version 29.
BGP: TX IPv4 Unicast Wkr global 1 Ref Replicating (pending member_pos
processing).
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Completed refresh.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Refresh stop.
BGP: TX IPv4 Unicast Grp global 1 Refresh complete.
BGP: TX IPv4 Unicast Wkr global 1 Ref Stop.
BGP: TX IPv4 Unicast Wkr global 1 Ref Blocked (not in list).
BGP: TX IPv4 Unicast Grp global 1 Converged.
BGP: TX IPv4 Unicast Mem global 1 1 10.1.3.4 Send EOR.
BGP: TX IPv4 Unicast Wkr global 1 Ref Suspending / blocked (member marker),
processed 1 attr(s), 1/1 net(s),
1 pos.
BGP: TX IPv4 Unicast Tab Processed 1 walker(s).
BGP: TX IPv4 Unicast Tab Generation completed.
BGP: TX IPv4 Unicast Top global Deleting first marker with version 1.
BGP: TX IPv4 Unicast Top global Collection reached marker 1 after 0 path
extension(s).
BGP: TX IPv4 Unicast Top global Collection done on marker 29 after 1 path
extension(s).
BGP: TX IPv4 Unicast Top global Collection done on marker 29 after 0 path
extension(s).
BGP(0): 10.1.3.4 rcvd UPDATE w/ attr: nexthop 10.1.3.4, origin i, metric 0,
merged path4, AS_PATH
BGP(0): 10.1.3.4 rcvd 10.100.1.1/32
   <<< R1 received 10.100.1.1/32 from
R4 again
BGP: TX IPv4 Unicast Net global 10.100.1.1/32 Changed.
BGP: nbr_topo global 10.1.3.4 IPv4 Unicast:base (0x63D50D0:1) rcvd Refresh
End-of-RIB
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Attempting to install.
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Built route type:
1024, flags: 200000, tag: 4, metric: 0 path: 1.
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Path 1, type: DEF,
gw: 10.1.3.4, idb: N/A, topo_id: 0, src: 1.1.3.4, lbl: 1048577, flags: 0.
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Installing 1 paths,
multipath limit 1 (from 1).
BGP(0): Revise route installing 1 of 1 routes for 10.100.1.1/32 -> 10.1.3.4
(global) to main IP table
BGP: net global:IPv4 Unicast:base 10.100.1.1/32 RIB-INSTALL Install successful.
BGP: TX IPv4 Unicast Net global 10.100.1.1/32 RIB done.
BGP: TX IPv4 Unicast Net global 10.100.1.1/32 RIB done.
BGP: TX IPv4 Unicast Tab RIB walk done version 30
, added 1 topologies.
BGP: TX IPv4 Unicast Tab Executing.
BGP: TX IPv4 Unicast Tab Generation completed.
BGP: TX Member message pool under period (60 < 600).
BGP: TX IPv4 Unicast Mem global 1 1 10.1.2.3 State is ACTIVE (ready).
BGP: TX IPv4 Unicast Grp global 1 Minimum advertisement timer expired.
BGP: TX IPv4 Unicast Wkr global 1 Cur Unblocked
BGP: TX IPv4 Unicast Tab Executing.
BGP: TX IPv4 Unicast Wkr global 1 Cur Processing.
BGP: TX IPv4 Unicast Top global Appending nets from attr 0x9362D54.
BGP: TX IPv4 Unicast Wkr global 1 Cur Attr change from 0x0 to 0x9362D54.
BGP(0): (base) 10.1.1.2 send UPDATE (format) 10.100.1.1/32, next 10.1.1.1,
metric 0, path 4
   <<< R1 sends an update for 10.100.1.1/32 for Table Version
30 (bestpath is again the one from R4)
BGP: TX IPv4 Unicast Wkr global 1 Cur Net 10.100.1.1/32 (Pxt 0x9F58FA0:0x0)
Formatted.
BGP: TX IPv4 Unicast Top global No attributes with modified nets.
BGP: TX IPv4 Unicast Top global Added tail marker with version 30.
BGP: TX IPv4 Unicast Wkr global 1 Cur Reached marker with version 30.
BGP: TX IPv4 Unicast Top global No attributes with modified nets.
BGP: TX IPv4 Unicast Wkr global 1 Cur Replicating.
BGP: TX IPv4 Unicast Wkr global 1 Cur Done (end of list), processed 1
attr(s), 1/1 net(s), 0 pos.
BGP: TX IPv4 Unicast Grp global 1 Checking EORs again (4/4).
BGP: TX IPv4 Unicast Grp global 1 Start minimum advertisement timer (30 secs).
BGP: TX IPv4 Unicast Wkr global 1 Cur Blocked (minimum advertisement interval).
BGP: TX IPv4 Unicast Wkr global 1 Cur Reached end of list.
BGP: TX IPv4 Unicast Grp global 1 Converged.
BGP: TX IPv4 Unicast Tab Processed 1 walker(s).
BGP: TX IPv4 Unicast Tab Generation completed.
BGP: TX IPv4 Unicast Top global Deleting first marker with version 29.
BGP: TX IPv4 Unicast Top global Collection reached marker 29 after 0 path
extension(s).
BGP: TX IPv4 Unicast Top global Collection done on marker 30 after 1 path
extension(s).
BGP: TX IPv4 Unicast Top global Collection done on marker 30 after 0 path
extension(s).
BGP: TX IPv4 Unicast Tab RIB walk done version 30, added 0 topologies.

Todas as versões de tabela estão em 30 agora:

R1#show bgp ipv4 unicast summary     
BGP router identifier 10.1.3.1, local AS number 1
BGP table version is 30, main routing table version 30
1 network entries using 144 bytes of memory
2 path entries using 160 bytes of memory
2/1 BGP path/bestpath attribute entries using 288 bytes of memory
2 BGP AS-PATH entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 640 total bytes of memory
BGP activity 1/0 prefixes, 17/15 paths, scan interval 60 secs

Neighbor     V       AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.1.1.2     4        2     127     135       30    0    0 01:52:42        0
10.1.2.3     4        3     126     136       30    0    0 01:52:45        0
10.1.3.4     4        4      12      14       30    0    0 00:06:25        1
10.1.5.5     4        5      64      73       30    0    0 00:54:37        1


R1#show bgp ipv4 unicast 10.100.1.1/32
BGP routing table entry for 10.100.1.1/32, version 30
Paths: (2 available, best #1, table default)
  Advertised to update-groups:
     1        
  Refresh Epoch 2
  4
    10.1.3.4 from 10.1.3.4 (10.100.1.1)
      Origin IGP, metric 0, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 2
  5 4
    10.1.5.5 from 10.1.5.5 (10.1.5.5)
      Origin IGP, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0

Na extremidade, no r1, havia duas mudanças do melhor caminho. Assim, a versão de tabela obtida colidiu por 2.

Primeiramente, o par 10.1.3.4 foi para baixo no r1. O melhor caminho mudou ao trajeto recebido do R5. A versão de tabela aumentou ao número disponível seguinte, que era 29. A versão de tabela do prefixo foi colidida a 29 também. O RIB foi atualizado com este melhor caminho novo. A versão de tabela do RIB foi aumentada a 29. Então, o r1 enviou uma atualização ao bgp peer 10.1.1.2 para o melhor caminho novo e atualizou a versão de tabela do par a 29. Cada outro par foi atualizado também.

Em segundo, uma vez que o par 10.1.3.4 estava acima outra vez, o r1 recebeu a atualização para 10.100.1.1/32 do R4 e voltou a calcular o melhor caminho. O trajeto do R4 era o melhor caminho novo, que causou a versão de tabela e a versão de tabela do prefixo a ser colididas ao número disponível seguinte de 30. Além disso, o RIB e todos bgp peer restantes foram atualizados, e as versões de tabela do RIB e do par foram atualizadas a 30. A versão de tabela foi colidida somente por uma cada vez aqui. Contudo, se os outros prefixos BGP se submeteram a outras mudanças, esta versão de tabela seria colidida por mais de uma, porque salta cada vez ao número disponível seguinte.

Se você inscreve o comando out claro BGP IP para um bgp peer, esse roteador envia novamente seus prefixos BGP a esse par. Isto não causa uma mudança no melhor caminho no bgp peer de recepção. Daqui, não há nenhuma mudança na versão de tabela nesse par.

Quando você executa o debug ip bgp updates no roteador de recepção, você vê:

BGP(0): 10.1.3.4 rcvd UPDATE w/ attr: nexthop 10.1.3.4, origin i, 
metric 0, merged path 4, AS_PATH
BGP(0): 10.1.3.4 rcvd 10.100.1.1/32...duplicate ignored

A atualização recebida é reconhecida como uma duplicata, assim que é ignorada e nenhuma mudança do melhor caminho ocorre.

Supõe que você tem um roteador com 100.000 prefixos na tabela de BGP, e a versão da tabela de BGP aumenta por 100.000 cada minuto. Isto não é esperado, e o comportamento deve ser examinado. Uma razão para o comportamento poderia ser que o salto seguinte para os prefixos BGP está batendo para todos os prefixos cada minuto.

Um dos resultados quando a versão da tabela de BGP aumenta rapidamente é que o BGP Router do processo e o BGP IO são ocupados, que puderam causar um CPU de roteador alto constante.



Document ID: 116511