内容

概要

ネットワーク図

ベスト パス

テーブル バージョンのタイプ

初期テーブル バージョン番号

BGP テーブル バージョンの変更に関する条件

テーブル バージョンの用途

トラブルシューティングの用途

概要

このドキュメントではテーブル バージョンについて説明します。これは、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 Table Version

- ルーティング情報ベース（RIB）テーブル バージョン

- ピア テーブル バーション

- プレフィックス テーブル バーション

これらについては、「テーブル バージョンの用途」セクションでさらに詳しく説明します。

初期テーブル バージョン番号

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 テーブル バージョンの変更に関する条件

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 プレフィックスが変更された場合は、次のようないくつかの処理が発生するはずです。

- RIB は通知を受け取る必要があります。

- BGP ピアは通知を受け取る必要があります。

- ルータは、どのベスト パスの変更がどの 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 使用率が常に高くなることが予想されます。