このドキュメントではテーブル バージョンについて説明します。これは、Border Gateway Protocol(BGP)で使用される番号で、BGP プレフィックスのベスト パスの変更がどの BGP ピアに伝播されるかを追跡するためのものです。この番号は BGP ソフトウェアで使用されます。テーブル バージョン番号は show コマンドを入力することによって表示できます。これはネットワーク管理者が問題をトラブルシューティングするときに役立ちます 。
この記事で使用するネットワーク図を以下に示します。
BGP プレフィックスには 1 つ以上のパスが含まれています。これは、BGP プレフィックスを別の BGP ピアと送信元から取得するためのものです。
複数のパスを持つ BGP プレフィックスの例を以下に示します。2 つのパスがあり、ベスト パスは 2 つ目のパスです。
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
BGP ベスト パス アルゴリズムに基づいて、1 つのパスだけが BGP ベスト パスとして選択されます。これは常に同じです。詳細については、BGP ベスト パス選択アルゴリズムの記事を参照してください。
パスは、ルーティング プロトコルから BGP に再配布するなどの目的で BGP ピアまたは送信元から取得されます。ベスト パスが変更された場合は、BGP が更新または撤回を送信することによって、ピアに通知する必要があります。撤回は BGP プレフィックスの最後のパスが削除されたときに送信されます。
プレフィックスが 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
この出力は Origin IGP を示しています。
プレフィックスが redistribute 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
この出力は Origin Incomplete を示しています。
テーブル バージョン番号は 32 ビット値で、テーブル バージョンには次の 4 つのタイプがあります。
これらについては、「テーブル バージョンの用途」セクションでさらに詳しく説明します。
BGP がプレフィックスに関する情報を取得していない場合は、グローバル テーブル バージョン、RIB テーブル バージョン、およびピア テーブル バージョンは、テーブル バージョン番号の開始点である 1 になります。
BGP コマンドに summary キーワードを指定すると、3 つのテーブル バージョン番号が返されます。summary キーワードは、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
プレフィックス テーブル バージョンは、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
テーブル バージョンは、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.
BGP テーブル バージョン番号を変更するには、ベスト パスを変更して RIB に伝播させる必要があります。BGP プレフィックスの RIB の変更は、プレフィックスが RIB 内に BGP プレフィックスとして存在する場合にのみ実行されます。他のルーティング プロトコルでルーティング内にプレフィックスが配置された場合は、BGP プレフィックスが RIB 障害としてマークされます。その場合、ベスト パスが変更されても、テーブル バージョンは変更されません。
BGP テーブル バージョンが変更されない例を以下に示します。R4から学習したBGPプレフィクス10.100.1.1/32は、R1で設定したスタティックルートによっても学習されます。そのため、R1はスタティックルートをRIBにインストールし、R1のBGPはRIB障害としてマークしますを選択します。このプレフィックスの BGP パスを変更しても RIB には伝搬されません。そのため、ベスト パスが変更されても、RIB が更新されないため、BGP テーブル バージョンは変化されません。
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
ベスト パスで BGP プレフィックスが変更された場合は、次のようないくつかの処理が発生するはずです。
BGP テーブル バージョンはメイン番号として使用されます。この番号は、特定のアドレス ファミリの BGP プレフィックスの最大のプレフィックス テーブル バージョンと同じです。BGPテーブルに、プレフィックステーブルバージョン3、6、8、10、および18の5つのプレフィックスがあると仮定します。その後、BGPテーブルバージョンは18になります。
ピア テーブル バージョンは、ベスト パスが変更されたプレフィックスを通知すべきピアを追跡するために使用されます。各ピアのピア テーブル バージョンは、そのプレフィックスのプレフィックス テーブル バージョンに照らして検査されます。プレフィックスのプレフィックス テーブル バージョンがピア テーブル バージョンよりも小さい場合は、BGP がその BGP ピアにそのプレフィックスの更新を送信する必要があります。たとえば、ピア 10.1.1.2 のピア テーブル バージョンが 60 の場合は、60 以下のプレフィックス テーブル バージョンを持つすべてのプレフィックスにおいてそのピアが最新になります。ルータは、60 より大きいプレフィックス テーブル バージョンを持つすべてのプレフィックスにおいて、BGP 更新を送信する必要があります。
ルータは、ベスト パスが変更されたプレフィックスの BGP ピアを更新すると、そのピアのピア テーブル バージョンも更新します。このピア テーブル バージョンの値は、この BGP ピアが更新されたすべてのプレフィックスの最大のプレフィックス テーブル バージョンの値と一致するように調整されます。ピアテーブルバージョンが60で、プレフィックステーブルバージョンが61および62の2つのプレフィックスがあるとします。ルータが2つのプレフィックスの新しいベストパスをBGPピアに送信すると、ピアテーブルバージョンが62に更新されます。
プレフィックス テーブル バージョンは、BGP プレフィックスにアタッチされたテーブル バージョン番号です。これは、そのプレフィックスにおいてベスト パスが変更されたときに変更されます。ある BGP プレフィックスにおいてベスト パスが変更されるたびに、そのプレフィックス テーブル バージョンが変更されます。つまり、次に使用可能なバージョン番号と一致するように更新されます。プレフィックス10.0.0.0/8にプレフィックステーブルバージョン27があり、BGPテーブルバージョンが30であると仮定します。この場合、プレフィックス10.0.0.0/8のベストパスが変更されると、プレフィックステーブルバージョンは31になります。
RIB テーブル バージョンは、BGP ベスト パスの変更後に RIB を更新する必要があるかどうかを追跡するために使用されます。RIB は、プレフィックス テーブル バージョンが RIB テーブル バージョンより大きい BGP プレフィックスについての通知を受け取る必要があります。これらのプレフィックスでは、RIB ADD、DELETE、または MODIFY イベントが発生します。
BGP が収束したことを確認するには、show bgp summary コマンドを入力します。ピア BGP テーブル バージョンが BGP テーブル バージョンと一致する場合は、そのピアが収束しています。メイン ルーティング テーブル バージョンが BGP テーブル バージョンと一致する場合は、RIB が収束しています。
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
BGP テーブル バージョンは何回も変更される可能性がありますが、それが問題になることはありません。
ルータがインターネットに接続されており、フル インターネット ルーティング テーブルが存在するとします。通常は、インターネット BGP テーブルがほぼ秒単位でわずかながら変更されます。ルータはそのたびに、一部のプレフィックスのベスト パスを再計算して、その RIB と BGP ピアを更新する必要があります。これは正常な動作です。
ユーザが BGP ピアをクリア(セッションをリセット)したとすると、ルータはそのピアにフル BGP テーブルをアドバタイズする必要があります。そのピアのテーブル バージョンが増加することが予想されます。ピアが BGP プレフィックスを受信するたびに、テーブル バージョンが増加します。送信側の BGP ピアは BGP プレフィックスのテーブル バージョンを増加させません。
次に例を示します。テーブル バージョンは 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
ピア 10.1.3.4(R4)上の R1 に向かう BGP セッションに対してハード クリアを実行します。 ピアは、1つのプレフィックス10.100.1.1/32のみをR1にアドバタイズします。10.100.1.1/32はR4とR5から学習されます。ベストパスはR4からのパスです。
BGP テーブル バージョンがどうなったかを確認するために、debug ip bgp internal を有効にしておいてください。更新が到着するとどうなるかを確認するには、debug ip bgp updates を有効にしておく必要があります。
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.
この時点で、すべてのテーブル バージョンが 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
最後に、R1 で、2 つのベスト パスが変更されました。そのため、テーブル バージョンが 2 だけ増加しました。
最初に、ピア10.1.3.4がR1でダウンしました。ベストパスはR5から受信したパスに変更されました。テーブルバージョンは次に使用可能な番号である29に増加し、プレフィックテーブルバージョンも29に9にににます。RIB がこの新しいベスト パスで更新されました。RIBのテーブルバージョンが29に増加しました。次に、R1が新しいベストパスのBGPピア10.1.1.2にアップデートを送信し、ピアテーブルバージョンを29に更新しました。
次に、ピア 10.1.3.4 が再度有効になった後、R1 が R4 から 10.100.1.1/32 の更新を受信し、ベスト パスを再計算しました。R4からのパスは新しいベストパスで、テーブルバージョンとプレフィックステーブルバージョンが次に使用可能な30にバンピングされます。ここでも、RIBと他のすべてのBGPピアが更新され、RIBとピアテーブルバージョンが30に更新されます毎回1回だけ。ただし、他の BGP プレフィックスに他の変更があった場合は、そのテーブル バージョンが 2 以上増加します。これは、毎回次に使用可能な番号にジャンプするためです。
BGP ピアに対して clear ip bgp out コマンドを入力すると、そのルータが BGP プレフィックスをそのピアに再送信します。これにより、受信側の BGP ピアのベスト パスは変更されません。そのため、そのピア上のテーブル バージョンは変更されません。
受信側のルータで debug ip bgp updates を実行すると、次のように表示されます。
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
受信された更新が重複として認識されるため、無視され、ベスト パスの変更が行われません。
BGP テーブル内に 100.000 のプレフィックスを持つルータが存在し、BGP テーブル バージョンが毎分 100.000 ずつ増加するとします。これは想定外であり、動作を検証する必要があります。これが問題なのは、BGP プレフィックスのネクスト ホップが毎分すべてのプレフィックスに対して変化する可能性があることです。
BGP テーブル バージョンが急激に増加すると、プロセスの BGP Router と BGP IO がビジーになって、ルータの CPU 使用率が常に高くなることが予想されます。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
30-Sep-2013 |
初版 |