Este documento descreve a versão da tabela, que é um número usado pelo Border Gateway Protocol (BGP) para rastrear quais alterações de melhor caminho dos prefixos BGP são propagadas para quais peers BGP. É um número usado pelo software BGP. Você pode exibir o número da versão da tabela se inserir comandos show, o que ajuda o administrador de rede a solucionar problemas.
Este é o diagrama de rede usado para este artigo:
Um prefixo de BGP tem um ou mais caminhos, porque o prefixo de BGP é aprendido de diferentes pares e origens de BGP.
Aqui está um exemplo de um prefixo BGP com vários caminhos. Há dois caminhos, e o melhor caminho é o 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 caminho é escolhido como o melhor caminho do BGP com base no algoritmo do melhor caminho do BGP. É sempre assim. Consulte o artigo BGP Best Path Selection Algorithm para obter mais informações.
O caminho é aprendido de um peer BGP ou de uma origem, como por exemplo, através da redistribuição de um protocolo de roteamento para o BGP. Quando há uma alteração no melhor caminho, o BGP deve informar seu peer enviando uma atualização ou retirada. A retirada é enviada quando o último caminho do prefixo BGP é removido.
Aqui está um exemplo em que 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 IGP de origem.
Aqui está um exemplo em que o prefixo é originado localmente pelo comando redistribution connected:
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 Origem incompleta.
O número da versão da tabela é um valor de 32 bits e há quatro tipos de versões da tabela:
Eles são explicados na seção Uso da Versão da Tabela.
Quando o BGP ainda não aprendeu sobre nenhum prefixo, a versão global da tabela, a versão da tabela RIB e a versão da tabela peer são 1, que é o ponto de partida para o número da versão da tabela.
O comando BGP com a palavra-chave summary fornece três números de versão de tabela. A palavra-chave summary pode ser fornecida para todas as famílias de endereços 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 exibir a versão da tabela de prefixo se observar um prefixo na tabela 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 exibir a Versão da Tabela se inserir o comando show ip bgp internal:
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.
Para que o número da versão da tabela BGP seja alterado, deve haver uma alteração no melhor caminho e uma alteração propagada para o RIB. Uma alteração no RIB para um prefixo BGP ocorre somente se o prefixo estiver no RIB como um prefixo BGP. Se qualquer outro protocolo de roteamento colocar o prefixo no roteamento, o prefixo BGP será marcado como uma falha de RIB. Nesse caso, mesmo que o melhor caminho mude, a versão da tabela não muda.
Aqui está um exemplo em que a Versão da Tabela BGP não é alterada. O prefixo BGP 10.100.1.1/32 aprendido de R4 também é aprendido por uma rota estática configurada em R1. Assim, R1 instala a rota estática no RIB, e o BGP em R1 marca o prefixo como uma falha do RIB, porque não é o BGP que instala o prefixo no RIB. Qualquer alteração nos caminhos BGP para este prefixo não é propagada para o RIB. Portanto, mesmo que haja uma alteração de melhor caminho, a Versão da Tabela BGP não é bloqueada, porque não há atualização para o 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
Quando o melhor caminho altera os prefixos de BGP, algumas coisas devem acontecer:
A versão da tabela BGP é o número principal usado. Esse número é igual à versão mais alta da tabela de prefixo de qualquer prefixo BGP para uma família de endereços específica. Suponha que haja cinco prefixos na tabela BGP, com as Versões 3, 6, 8, 10 e 18 da Tabela de Prefixo. A versão da tabela BGP será então 18.
A versão da tabela de peer é usada para rastrear quais pares devem ser informados sobre quais prefixos foram alterados no melhor caminho. A versão da tabela de peer de cada peer é verificada em relação à versão da tabela de prefixo dos prefixos. Se a versão da tabela de prefixo de um prefixo for inferior à versão da tabela de peers, o BGP deverá enviar uma atualização para esse prefixo para esse peer BGP. Por exemplo, se o peer 10.1.1.2 tiver uma versão de tabela de peer 60, esse peer estará atualizado para todos os prefixos com a versão de tabela de prefixo 60 e inferior. O roteador deve enviar uma atualização de BGP para todos os prefixos com uma versão de tabela de prefixo superior a 60.
Quando o roteador atualiza o peer BGP para os prefixos de melhor caminho alterado, ele atualiza a versão da tabela de peers para esse peer. Esse valor de Versão da Tabela de Pares é ajustado para corresponder ao valor da Versão da Tabela de Prefixo mais alta de todos os prefixos para os quais esse peer de BGP foi atualizado. Suponha que a Versão da Tabela de Pares seja 60, e que haja dois prefixos com as Versões 61 e 62 da Tabela de Prefixos. Quando o roteador envia os novos melhores caminhos para esses dois prefixos para esse peer BGP, a versão da tabela de peers é atualizada para 62.
A versão da tabela de prefixo é o número da versão da tabela anexada ao prefixo BGP. Ela é alterada quando o melhor caminho muda para esse prefixo. Cada vez que o melhor caminho muda para um prefixo BGP, sua versão da tabela de prefixo é bloqueada, o que significa que ela é atualizada para ser igual ao próximo número de versão disponível. Suponha que o prefixo 10.0.0.0/8 tenha a versão 27 da Tabela de Prefixo e que a versão da Tabela de BGP seja 30. Nesse caso, quando o melhor caminho muda para o prefixo 10.0.0.0/8, sua versão da tabela de prefixo é limitada a 31.
A versão da Tabela RIB é usada para rastrear se o RIB precisa ser atualizado após ocorrerem alterações no melhor caminho do BGP. O RIB deve ser informado sobre os prefixos de BGP que têm uma versão de tabela de prefixo superior à versão de tabela RIB. Para esses prefixos, há um evento ADD, DELETE ou MODIFY do RIB.
Para saber quando o BGP convergiu, insira o comando show bgp summary. Se a Versão da Tabela BGP do Peer for igual à Versão da Tabela BGP, esse peer convergiu. Se a versão principal da tabela de roteamento for igual à versão da tabela BGP, o RIB convergiu.
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 alterações nas versões da tabela BGP, e isso nem sempre significa que algo está errado.
Suponha que o roteador esteja conectado à Internet e tenha a tabela completa de roteamento da Internet. Geralmente, há algumas alterações quase a cada segundo na tabela Internet BGP. Em seguida, o roteador deve recalcular o melhor caminho para alguns prefixos e atualizar seu RIB e seus peers BGP. Este é um comportamento esperado.
Suponha que você limpe um peer BGP (a sessão é redefinida), então o roteador deve anunciar sua tabela BGP completa para esse peer. Espera-se que esse peer tenha uma versão de tabela crescente. A versão da tabela aumenta à medida que o peer recebe os prefixos de BGP novamente. O peer BGP de envio não aumenta a versão da tabela para os prefixos BGP.
Exemplo: A versão da tabela começa 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
Faça uma limpeza difícil para a sessão BGP em direção a R1 no peer 10.1.3.4 (R4). O peer anuncia apenas um prefixo 10.100.1.1/32 em direção a R1. 10.100.1.1/32 é aprendido com R4 e R5. O melhor caminho é o caminho de R4.
Certifique-se de que você tenha debug ip bgp internal habilitado para ver o que acontece com as versões da tabela BGP. Você deve ter debug ip bgp updates ativadas para 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 da 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
No final, em R1, houve duas alterações no melhor caminho. Então, a versão da tabela foi interrompida por 2.
Primeiro, o peer 10.1.3.4 caiu em R1. O melhor caminho foi alterado para o caminho recebido de R5. A versão da tabela aumentou para o próximo número disponível, que era 29. A versão da tabela de prefixo foi enviada para 29 também. O RIB foi atualizado com este novo melhor caminho. A versão da tabela do RIB foi aumentada para 29. Em seguida, R1 enviou uma atualização ao peer BGP 10.1.1.2 para o novo melhor caminho e atualizou a versão da tabela de paridade para 29. Todos os outros pares também foram atualizados.
Segundo, quando o peer 10.1.3.4 foi ativado novamente, R1 recebeu a atualização para 10.100.1.1/32 do R4 e recalculou o melhor caminho. O caminho do R4 era o novo melhor caminho, o que fez com que a Versão da Tabela e a Versão da Tabela de Prefixo fossem ignoradas para o próximo número disponível de 30. Novamente, o RIB e todos os outros peers BGP foram atualizados e o RIB e as versões da tabela de paridade foram atualizados para 30. A versão da tabela foi ignorada somente uma vez aqui. No entanto, se os outros prefixos de BGP sofreram outras alterações, esta versão de tabela seria ignorada por mais de uma, porque salta cada vez para o próximo número disponível.
Se você digitar o comando clear ip bgp out para um peer BGP, esse roteador reenvia seus prefixos BGP para esse peer. Isso não causa uma alteração no melhor caminho no peer BGP receptor. Portanto, não há nenhuma alteração na Versão da Tabela nesse peer.
Quando você executa as atualizações debug ip bgp no roteador receptor, 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 duplicada, portanto, ela é ignorada e não ocorre a melhor alteração de caminho.
Suponha que você tenha um roteador com prefixos 100.000 na tabela BGP e que a versão da tabela BGP aumente em 100.000 a cada minuto. Isso não é esperado e o comportamento deve ser examinado. Uma razão para o comportamento pode ser que o próximo salto para os prefixos BGP está oscilando para todos os prefixos a cada minuto.
Um dos resultados quando a versão da tabela BGP aumenta rapidamente é que o processo BGP Router e BGP IO estão ocupados, o que pode causar uma constante alta CPU do roteador.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
30-Sep-2013 |
Versão inicial |