In diesem Dokument wird die Tabellenversion beschrieben. Diese Zahl wird vom Border Gateway Protocol (BGP) verwendet, um festzustellen, welche Pfadänderungen der BGP-Präfixe an welche BGP-Peers propagiert werden. Diese Nummer wird von der BGP-Software verwendet. Wenn Sie show-Befehle eingeben, können Sie die Versionsnummer der Tabelle anzeigen, wodurch der Netzwerkadministrator bei der Fehlerbehebung unterstützt wird.
Dies ist das Netzwerkdiagramm, das für diesen Artikel verwendet wird:
Ein BGP-Präfix hat einen oder mehrere Pfade, da das BGP-Präfix von verschiedenen BGP-Peers und -Quellen bezogen wird.
Im Folgenden sehen Sie ein Beispiel für ein BGP-Präfix mit mehreren Pfaden. Es gibt zwei Pfade, und der beste Pfad ist der zweite.
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
Es wird nur ein Pfad als bestmöglicher BGP-Pfad basierend auf dem BGP Best Path-Algorithmus ausgewählt. Das ist immer der Fall. Weitere Informationen finden Sie im Artikel BGP Best Path Selection Algorithm.
Der Pfad wird entweder von einem BGP-Peer oder von einer Quelle gelernt, z. B. durch die Neuverteilung von einem Routing-Protokoll in das BGP. Wenn sich der beste Pfad ändert, muss das BGP seinen Peer informieren, indem es eine Aktualisierung oder einen Rückzug sendet. Der Withdraw wird gesendet, wenn der letzte Pfad des BGP-Präfix entfernt wird.
Im folgenden Beispiel wird das Präfix lokal über den Netzwerkbefehl bezogen:
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
In der Ausgabe wird Origin IGP angezeigt.
Im folgenden Beispiel wird das Präfix lokal über den Befehl "redistribution connected" (Umverteilung verbunden) bezogen:
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
In der Ausgabe wird Origin Incomplete angezeigt.
Die Tabellenversionsnummer ist ein 32-Bit-Wert, und es gibt vier Typen von Tabellenversionen:
Diese werden im Abschnitt Verwendung der Tabellenversion genauer erläutert.
Wenn das BGP noch keine Präfixe kennt, sind die globale Tabellenversion, die RIB-Tabellenversion und die Peer Table Version 1, der Ausgangspunkt für die Tabellennummer.
Der BGP-Befehl mit dem summary-Schlüsselwort gibt Ihnen drei Tabellennummern. Das summary-Schlüsselwort kann für alle Adressfamilien in BGP bereitgestellt werden.
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
Sie können die Version der Präfixtabelle anzeigen, wenn Sie ein Präfix in der BGP-Tabelle betrachten.
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
Sie können die Tabellenversion anzeigen, wenn Sie den internen Befehl show ip bgp eingeben:
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.
Damit die Versionsnummer der BGP-Tabelle geändert werden kann, muss der beste Pfad geändert und eine Änderung an die RIB weitergegeben werden. Eine Änderung der RIB für ein BGP-Präfix erfolgt nur, wenn das Präfix in der RIB als BGP-Präfix angegeben ist. Wenn ein anderes Routing-Protokoll das Präfix in das Routing einfügt, wird das BGP-Präfix als RIB-Fehler markiert. In diesem Fall ändert sich die Tabellenversion selbst dann nicht, wenn sich der beste Pfad ändert.
Im folgenden Beispiel ändert sich die BGP-Tabellenversion nicht. Das BGP-Präfix 10.100.1.1/32, das von R4 gelernt wurde, wird auch von einer auf R1 konfigurierten statischen Route erfasst. R1 installiert also die statische Route in der RIB, und BGP auf R1 markiert das Präfix als RIB-Fehler, da es nicht das BGP ist, das das Präfix in der RIB installiert. Änderungen an den BGP-Pfaden für dieses Präfix werden nicht an die RIB weitergeleitet. Auch wenn es eine Änderung des besten Pfads gibt, wird die BGP-Tabellenversion nicht blockiert, da keine Aktualisierung der RIB erfolgt.
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
Wenn der beste Pfad die BGP-Präfixe ändert, müssen einige Dinge passieren:
Die BGP-Tabellenversion ist die Hauptnummer. Diese Nummer entspricht der höchsten Prefix Table-Version eines BGP-Präfix für eine bestimmte Adressfamilie. Es wird angenommen, dass die BGP-Tabelle fünf Präfixe enthält, mit den Präfixtabellen 3, 6, 8, 10 und 18. Die BGP-Tabellenversion ist dann 18.
Die Peer Table-Version wird verwendet, um zu verfolgen, welche Peers über welche Präfixe informiert werden müssen, für die Änderungen am besten Pfad vorgenommen wurden. Die Peer Table-Version jedes Peers wird mit der Prefix Table Version der Präfixe verglichen. Wenn die Prefix Table-Version eines Präfix niedriger ist als die Peer Table-Version, muss das BGP diesem BGP-Peer ein Update für dieses Präfix senden. Wenn beispielsweise der Peer 10.1.1.2 über eine Peer Table-Version von 60 verfügt, ist dieser Peer für alle Präfixe mit einer Prefix Table-Version von 60 und niedriger auf dem neuesten Stand. Der Router muss ein BGP-Update für alle Präfixe mit einer Prefix Table-Version über 60 senden.
Sobald der Router den BGP-Peer für die Präfixe aktualisiert hat, die für den besten Pfad geändert wurden, aktualisiert der Router die Peer Table-Version für diesen Peer. Dieser Wert für die Peer Table-Version wird so angepasst, dass er dem Wert der höchsten Prefix Table-Version aller Präfixe entspricht, für die dieser BGP-Peer aktualisiert wurde. Angenommen, die Peer-Tabellenversion war 60, und es gibt zwei Präfixe mit Präfixtabellen, Versionen 61 und 62. Sobald der Router die neuen besten Pfade für diese beiden Präfixe an diesen BGP-Peer sendet, wird die Peer Table-Version auf 62 aktualisiert.
Bei der Prefix Table Version handelt es sich um die dem BGP-Präfix hinzugefügte Tabellenkategorie. Sie wird geändert, wenn sich der beste Pfad für dieses Präfix ändert. Jedes Mal, wenn sich der beste Pfad für ein BGP-Präfix ändert, wird die Präfix-Tabelle-Version blockiert, d. h. sie wird aktualisiert, um der nächsten verfügbaren Versionsnummer zu entsprechen. Nehmen wir an, das Präfix 10.0.0.0/8 verfügt über die Präfixtabelle Version 27, und die BGP-Tabellenversion ist 30. Wenn sich der beste Pfad für das Präfix 10.0.0.0/8 ändert, wird die Präfixtabellenversion auf 31 gepriesen.
Die Version der RIB-Tabelle dient der Nachverfolgung, ob die RIB aktualisiert werden muss, nachdem die BGP-Pfadoptionen vorgenommen wurden. Die RIB muss über die BGP-Präfixe informiert werden, deren Präfixtabellenversion höher ist als die RIB-Tabellenversion. Für diese Präfixe gibt es ein RIB ADD-, DELETE- oder MODIFY-Ereignis.
Geben Sie den Befehl show bgp summary ein, um zu erfahren, wann das BGP konvertiert wurde. Wenn die Peer-BGP-Tabellenversion der BGP-Tabellenversion entspricht, wurde dieser Peer konvertiert. Wenn die Hauptversion der Routing-Tabelle der BGP-Tabellenversion entspricht, wurde die RIB konvertiert.
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
Es kann viele Änderungen an den BGP-Tabellen geben, was nicht immer bedeutet, dass etwas falsch ist.
Angenommen, der Router ist mit dem Internet verbunden und verfügt über die vollständige Internet-Routing-Tabelle. In der Regel gibt es einige Änderungen fast jede Sekunde auf der Internet-BGP-Tabelle. Anschließend muss der Router den besten Pfad für einige Präfixe neu berechnen und seine RIB- und BGP-Peers aktualisieren. Dieses Verhalten wird erwartet.
Wenn Sie einen BGP-Peer löschen (die Sitzung wird zurückgesetzt), muss der Router dem Peer seine vollständige BGP-Tabelle ankündigen. Es wird erwartet, dass dieser Peer eine zunehmende Tabellenversion hat. Die Tabellenversion wird erhöht, wenn der Peer die BGP-Präfixe erneut empfängt. Der sendende BGP-Peer erhöht die Tabellenversion für die BGP-Präfixe nicht.
Hier ein Beispiel. Die Tabellenversion beginnt mit 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
Führen Sie für die BGP-Sitzung zu R1 auf dem Peer 10.1.3.4 (R4) eine feste Klarstellung durch. Der Peer kündigt nur ein Präfix 10.100.1.1/32 für R1 an. 10.100.1.1/32 wird von R4 und R5 gelernt. Der beste Pfad ist der Pfad von R4.
Stellen Sie sicher, dass debug ip bgp internal aktiviert ist, um zu sehen, was mit den BGP-Tabellenversionen geschieht. Sie sollten debug ip bgp updates aktiviert haben, um zu sehen, was passiert, wenn die Aktualisierung eingeht.
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.
Alle Tabellenversionen sind jetzt bei 30:
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
Am Ende gab es auf R1 zwei beste Pfadänderungen. Die Tabellenversion wurde also um 2 gebumpft.
Zunächst ging der Peer 10.1.3.4 auf R1 herunter. Der beste Pfad wechselte zu dem von R5 empfangenen Pfad. Die Tabellenversion wurde auf die nächste verfügbare Zahl erhöht, die 29 betrug. Die Prefix Table-Version wurde ebenfalls auf 29 gepriesen. Die RIB wurde mit diesem neuen besten Pfad aktualisiert. Die Tabellenversion der RIB wurde auf 29 erhöht. Anschließend hat R1 ein Update für den neuen besten Pfad an den BGP-Peer 10.1.1.2 gesendet und die Peer-Tabellenversion auf 29 aktualisiert. Alle anderen Peers wurden ebenfalls aktualisiert.
Zweitens erhielt R1 das Update für 10.100.1.1/32 von R4, sobald der Peer 10.1.3.4 wieder aktiv war, und berechnete den besten Pfad neu. Der Pfad von R4 war der neue beste Pfad, wodurch die Tabellenversion und die Präfixtabellenversion auf die nächste verfügbare Anzahl von 30 gebrannt wurden. Auch hier wurden die RIB und alle anderen BGP-Peers aktualisiert, und die RIB- und Peer-Table-Versionen wurden auf 30 aktualisiert. Die Tabellenversion wurde hier jeweils nur einmal zusammengefasst. Wenn jedoch die anderen BGP-Präfixe andere Änderungen erfahren, wird diese Tabelle um mehr als eine übersprungen, da sie jedes Mal zur nächsten verfügbaren Nummer springt.
Wenn Sie den Befehl clear ip bgp out für einen BGP-Peer eingeben, sendet dieser Router seine BGP-Präfixe an diesen Peer erneut. Dies bewirkt keine Änderung des besten Pfads auf dem empfangenden BGP-Peer. Daher wird die Tabellenversion für diesen Peer nicht geändert.
Wenn Sie die Debug-IP-BGP-Aktualisierungen auf dem empfangenden Router ausführen, sehen Sie:
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
Das empfangene Update wird als Duplikat erkannt, wird also ignoriert und findet keine optimale Pfadänderung statt.
Angenommen, Sie haben einen Router mit 100.000 Präfixen in der BGP-Tabelle, und die BGP-Tabellenversion erhöht sich pro Minute um 100.000. Dies ist nicht zu erwarten, und das Verhalten muss überprüft werden. Ein Grund für das Verhalten könnte sein, dass beim Next-Hop für die BGP-Präfixe jede Minute Flapping für alle Präfixe auftritt.
Eine der Ergebnisse, wenn die BGP-Tabellenversion schnell zunimmt, ist, dass der Prozess-BGP-Router und die BGP-E/A-E/A ausgelastet sind, was zu einer konstant hohen Router-CPU führen kann.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
30-Sep-2013 |
Erstveröffentlichung |