Contenu

Introduction

Diagramme du réseau

Meilleur chemin

Types de versions de table

Numéro de version de la table initiale

Conditions d'une modification de la version de la table BGP

Utilisation de la version du tableau

Utilisation pour le dépannage

Introduction

Ce document décrit la version de la table, qui est un numéro utilisé par le protocole BGP (Border Gateway Protocol) afin de suivre les meilleurs changements de chemin des préfixes BGP qui sont propagés vers quels homologues BGP. Il s'agit d'un numéro utilisé par le logiciel BGP. Vous pouvez afficher le numéro de version du tableau si vous entrez les commandes show, ce qui aide l'administrateur réseau à résoudre les problèmes.

Diagramme du réseau

Voici le schéma de réseau utilisé pour cet article :

Meilleur chemin

Un préfixe BGP a un ou plusieurs chemins, car le préfixe BGP est appris de différents homologues et sources BGP.

Voici un exemple de préfixe BGP avec plusieurs chemins. Il y a deux chemins, et le meilleur est le deuxième.

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

Un seul chemin est choisi comme meilleur chemin BGP basé sur l'algorithme Best Path BGP. C'est toujours le cas. Référez-vous à l'article Best Path Selection Algorithm BGP pour plus d'informations.

Le chemin est appris d'un homologue BGP ou d'une source, par exemple à partir d'une redistribution à partir d'un protocole de routage vers BGP. En cas de changement du meilleur chemin, le BGP doit informer son homologue en envoyant une mise à jour ou un retrait. Le retrait est envoyé lorsque le dernier chemin du préfixe BGP est supprimé.

Voici un exemple où le préfixe provient localement par la commande 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

Le résultat montre l'origine IGP.

Voici un exemple où le préfixe est originaire localement par la commande 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

Le résultat indique Origine incomplète.

Types de versions de table

Le numéro de version de table est une valeur de 32 bits et il existe quatre types de versions de table :

- Version de la table BGP

- Version de la table RIB (Routing Information Base)

- Version de la table homologue

- Version de la table de préfixes

Ces éléments sont expliqués plus en détail dans la section Utilisation de la version du tableau.

Numéro de version de la table initiale

Lorsque BGP n'a pas encore appris de préfixes, la version de table globale, la version de table RIB et la version de table homologue sont 1, ce qui constitue le point de départ du numéro de version de table.

La commande BGP avec le mot clé summary vous donne trois numéros de version de table. Le mot clé summary peut être fourni pour toutes les familles d'adresses dans 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

Vous pouvez afficher la version de la table de préfixes si vous regardez un préfixe dans la table 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

Vous pouvez afficher la version du tableau si vous entrez la commande 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.

Conditions d'une modification de la version de la table BGP

Pour que le numéro de version de la table BGP puisse être modifié, il doit y avoir un changement dans le meilleur chemin et un changement propagé vers le RIB. Une modification du RIB pour un préfixe BGP n'a lieu que si le préfixe se trouve dans le RIB en tant que préfixe BGP. Si un autre protocole de routage place le préfixe dans le routage, le préfixe BGP est marqué comme échec RIB. Dans ce cas, même si le meilleur chemin change, la version de table ne change pas.

Voici un exemple où la version de la table BGP ne change pas. Le préfixe BGP 10.100.1.1/32 appris de R4 est également appris par une route statique configurée sur R1. Ainsi, R1 installe la route statique dans le RIB, et BGP sur R1 marque le préfixe comme échec RIB, car ce n'est pas le BGP qui installe le préfixe dans le RIB. Toute modification des chemins BGP pour ce préfixe n'est pas propagée au RIB. Ainsi, même s'il existe un meilleur changement de chemin, la version de la table BGP n'est pas brouillée, car il n'y a pas de mise à jour de la 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

Utilisation de la version du tableau

Lorsque le meilleur chemin change les préfixes BGP, quelques choses doivent se produire :

- Le RIB doit être averti.

- Les homologues BGP doivent être informés.

- Le routeur doit suivre quel homologue BGP est informé des meilleurs changements de chemin.

La version de la table BGP est le numéro principal utilisé. Ce numéro est identique à la version de table de préfixes la plus élevée de tout préfixe BGP pour une famille d'adresses spécifique. Supposons qu'il y ait cinq préfixes dans la table BGP, avec les versions 3, 6, 8, 10 et 18 de la table de préfixes. La version de la table BGP sera alors 18.

La version de la table homologue est utilisée afin de suivre quels homologues doivent être informés des préfixes pour lesquels il y a eu des modifications dans le meilleur chemin. La version de la table homologue de chaque homologue est comparée à la version de la table des préfixes des préfixes. Si la version de la table de préfixes d'un préfixe est inférieure à la version de la table homologue, BGP doit envoyer une mise à jour pour ce préfixe à cet homologue BGP. Par exemple, si l'homologue 10.1.1.2 a une version de table d'homologue de 60, cet homologue est à jour pour tous les préfixes avec une version de table de préfixe de 60 et inférieure. Le routeur doit envoyer une mise à jour BGP pour tous les préfixes avec une version de table de préfixes supérieure à 60.

Une fois que le routeur met à jour l'homologue BGP pour les préfixes modifiés du meilleur chemin, il met à jour la version de la table d'homologues pour cet homologue. Cette valeur de version de table d'homologue est ajustée pour correspondre à la valeur de la version de table de préfixe la plus élevée de tous les préfixes pour lesquels cet homologue BGP a été mis à jour. Supposons que la version de la table homologue était 60, et qu'il existe deux préfixes avec les versions de table de préfixe 61 et 62. Une fois que le routeur envoie les nouveaux meilleurs chemins pour ces deux préfixes à cet homologue BGP, la version de la table homologue est mise à jour à 62.

La version de la table de préfixes est le numéro de version de la table attaché au préfixe BGP. Il est modifié lorsque le meilleur chemin change pour ce préfixe. Chaque fois que le meilleur chemin change pour un préfixe BGP, sa version de table de préfixes est boumée, ce qui signifie qu'elle est mise à jour pour être égale au numéro de version disponible suivant. Supposons que le préfixe 10.0.0.0/8 possède la table de préfixes version 27 et que la version de la table BGP soit 30. Dans ce cas, lorsque le meilleur chemin change pour le préfixe 10.0.0.0/8, sa version de table de préfixes est remplacée par 31.

La version de la table RIB est utilisée afin de suivre si le RIB doit être mis à jour après les modifications du meilleur chemin BGP. Le RIB doit être informé des préfixes BGP dont la version de table de préfixe est supérieure à la version de table RIB. Pour ces préfixes, il existe un événement RIB ADD, DELETE ou MODIFY.

Utilisation pour le dépannage

Afin de savoir quand BGP a convergé, entrez la commande show bgp summary. Si la version de la table BGP homologue est égale à la version de la table BGP, cet homologue a convergé. Si la version de la table de routage principale est égale à la version de la table BGP, le RIB a convergé.

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

Il peut y avoir de nombreuses modifications dans les versions de la table BGP, et cela ne signifie pas toujours que quelque chose ne va pas.

Supposons que le routeur est connecté à Internet et qu’il possède la table de routage Internet complète. En règle générale, la table BGP Internet comporte quelques modifications presque toutes les secondes. Ensuite, le routeur doit recalculer le meilleur chemin pour certains préfixes, et mettre à jour son RIB et ses homologues BGP. C’est un comportement attendu.

Supposons que vous effaciez un homologue BGP (la session est réinitialisée), alors le routeur doit annoncer sa table BGP complète à cet homologue. Il est prévu que cet homologue ait une version de table croissante. La version de la table augmente lorsque l'homologue reçoit à nouveau les préfixes BGP. L'homologue BGP émetteur n'augmente pas la version de table pour les préfixes BGP.

Voici un exemple. La version du tableau commence par 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

Effectuez une configuration claire pour la session BGP vers R1 sur l'homologue 10.1.3.4 (R4). L'homologue n'annonce qu'un seul préfixe 10.100.1.1/32 vers R1. 10.100.1.1/32 est appris de R4 et R5. Le meilleur chemin est le chemin à partir de R4.

Assurez-vous que vous avez debug ip bgp internal activé afin de voir ce qui arrive aux versions de la table BGP. Vous devez avoir debug ip bgp update activé afin de voir ce qui se passe quand la mise à jour arrive.

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.

Toutes les versions de table sont à 30 maintenant :

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

En fin de compte, sur R1, il y a eu deux meilleurs changements de chemin. Donc, la version du tableau est tombée sur 2.

Premièrement, l'homologue 10.1.3.4 est tombé sur R1. Le meilleur chemin est passé au chemin reçu de R5. La version du tableau est passée au numéro disponible suivant, soit 29. La version de la table de préfixes a été également réduite à 29. Le RIB a été mis à jour avec ce nouveau meilleur chemin. La version du tableau de la RIB a été portée à 29. Ensuite, R1 a envoyé une mise à jour à l'homologue BGP 10.1.1.2 pour le nouveau meilleur chemin et a mis à jour la version de la table homologue à 29. Tous les autres homologues ont également été mis à jour.

Ensuite, une fois l'homologue 10.1.3.4 réactivé, R1 a reçu la mise à jour de 10.100.1.1/32 de R4 et recalculé le meilleur chemin. Le chemin d'accès à partir de R4 était le nouveau meilleur chemin, ce qui a fait basculer la version de table et la version de table de préfixe sur le nombre disponible suivant de 30. Encore une fois, le RIB et tous les autres homologues BGP ont été mis à jour, et les versions de table RIB et homologue ont été mises à jour à 30. La version du tableau n'a été relevée que d'une seule fois ici. Cependant, si les autres préfixes BGP ont subi d'autres modifications, cette version de table sera boguée de plusieurs, car elle saute chaque fois vers le numéro disponible suivant.

Si vous entrez la commande clear ip bgp out pour un homologue BGP, ce routeur renvoie ses préfixes BGP à cet homologue. Cela ne provoque pas de changement dans le meilleur chemin sur l'homologue BGP récepteur. Par conséquent, il n'y a aucun changement dans la version de table sur cet homologue.

Lorsque vous exécutez les mises à jour debug ip bgp sur le routeur récepteur, vous voyez :

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

La mise à jour reçue est reconnue comme un doublon, elle est donc ignorée et aucun changement de meilleur chemin n'est effectué.

Supposez que vous avez un routeur avec 100.000 préfixes dans la table BGP, et que la version de la table BGP augmente de 100.000 chaque minute. Cela n'est pas prévu et le comportement doit être examiné. Une des raisons de ce comportement pourrait être que le saut suivant pour les préfixes BGP est un battement de tous les préfixes chaque minute.

L'un des résultats de l'augmentation rapide de la version de la table BGP est que le processus routeur BGP et E/S BGP sont occupés, ce qui peut entraîner une augmentation constante du CPU du routeur.