内容

概要

前提条件

要件

使用するコンポーネント

背景説明

ローカル発信ルートで設定される BGP 重みパス属性

BGP 重みパス属性の変更

具体的なシナリオ

概要

このドキュメントでは、ネットワーク フェールオーバー シナリオにおけるボーダー ゲートウェイ プロトコル（BGP）の重みパス属性の重要性について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- ボーダー ゲートウェイ プロトコル（BGP）

- ルーティングプロトコルの再配布

- Cisco IOS® を実行している Cisco ルータ

使用するコンポーネント

このドキュメントの情報は、Cisco IOS バージョン 15.6(2) を備えた Cisco ルータに基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

BGP は、一般に、ローカルエリアネットワーク（LAN）から内部ゲートウェイプロトコル（IGP）を介して受信したネットワークプレフィックスをワイドエリアエリアネットワーク（WAN）にアドバタイズする（およびその逆）ために使用されます。適切に設定されていないと、ネットワークがリンク障害から回復した後に、BGP が、WAN を介した元のルーティングパスの復元に失敗する可能性があります。

フェールオーバーシナリオで展開されたルータでは、ルートがスタックする可能性があり、そのために障害およびリカバリ ネットワーク イベントの後にトラフィックがバックアップパスを介してリダイレクトされる場合があります。この問題は、BGP 重みパス属性の性質が原因で発生する可能性があります。

このネットワークでは、ネットワーク障害が発生（通常は WAN リンクで）すると、ネットワーク コンバージェンスが発生し、IGP を介して受信した利用可能なバックアップパスを使用できるようになります。

ただし、プライマリパスが回復しても、ルータが引き続きバックアップパスを使用し、WAN リンクを介した元のルートが復元されない場合があります。

その結果、非対称のルーティングパスや最適とは言えないルーティングパスが発生する可能性があります。

2 つの WAN ルータを使用した冗長性シナリオでは、これらのルータが、BGP を使用して、ネットワークプレフィックスを WAN と交換することができます。Enhanced Interior Gateway Routing Protocol（EIGRP）などの IGP を使用すると、ネットワークプレフィックスを LAN ネットワークデバイスと交換することができます。通常、完全なネットワーク接続を実現するためには、これらのプロトコル間の相互再配布が必要です。

注：このドキュメントでは、プレフィクスとルートという用語を同じ意味で使用しています。

次のトポロジーは、このネットワーク設計の概要を示しています。

ローカル発信ルートで設定される BGP 重みパス属性

このシナリオでは、フェールオーバー発生時の BGP 重みパス属性の動作について説明します。

ステップ 1：ルートはBGPを介して受信されます。

図のように、WAN RTR という名前のルータが、BGP を介して 192.168.1.0/24 ネットワークを受信します。

20 のアドミニストレーティブ ディスタンス（AD）でルートがルーティングテーブルに登録されます。

BGP テーブル：

WAN_RTR

WAN_RTR#show ip bgp

<snip>

Network          Next Hop            Metric LocPrf Weight Path

*>  192.168.1.0      10.1.2.2                 0             0 2 i

ルーティングテーブルには、BGP によって登録されたルートが示されます。

WAN_RTR

WAN_RTR#show ip route

<snip>

B     192.168.1.0/24 [20/0] via 10.1.2.2, 00:00:42

ステップ 2：ルートはEIGRPを介して受信されます。

リンク障害のために BGP セッションがダウンします。ネットワーク コンバージェンスによって、同じルート 192.168.1.0/24 が、今度は EIGRP を介して受信されます。

重要な点は、BGPが（次のルータ設定を使用して）EIGRPルートをアドバタイズまたは再配布できることです。その場合、今度は EIGRP ルートが BGP テーブルに追加されます。

注：ルータがローカルでネットワークプレフィックスを発信する場合、BGP Weightパスアトリビュートはデフォルトで32768に設定されます。

BGP 設定：

WAN_RTR

WAN_RTR#show running-config | begin router bgp

<snip>

router bgp 1

redistribute eigrp 1

neighbor 10.1.2.2 remote-as 2

!

注:BGPコマンドnetwork 192.168.1.0 mask 255.255.255.0でも同じ結果が表示されます。

BGP テーブル：

WAN_RTR

WAN_RTR#show ip bgp

<snip>

Network          Next Hop            Metric LocPrf Weight Path

*>  192.168.1.0      10.1.3.3            156160         32768 ?

ルーティングテーブルには、EIGRP によって登録されたルートが示されます。

WAN_RTR

WAN_RTR#show ip route

<snip>

D     192.168.1.0/24 [90/156160] via 10.1.3.3, 00:00:02, FastEthernet0/1

WAN_RTR#

ステップ 3：BGPを介してルートを再度受信しました。

今度は EIGRP によってルートが BGP に再配布されます。元のルートが BGP を介して再度受信されると、BGP テーブルに 192.168.1.0/24 ネットワークの 2 つのエントリが存在するようになります。

BGP テーブル：

WAN_RTR

WAN_RTR#show ip bgp

<snip>

Network          Next Hop            Metric LocPrf Weight Path

*   192.168.1.0      10.1.2.2                 0             0 2 i

*>                   10.1.3.3            156160         32768 ?

BGP テーブルは、次のようになります。

- ステップ 2 で BGP に再配布された EIGRP ルートによって作成されたエントリが、引き続き存在する可能性があります。

- BGP セッションの再確立によって元のルートが再び追加されます。

BGPでベストパスを選択する場合の観点から、次のコマンドを実行します。

- BGPに再配布されるEIGRPルートのWeightパスアトリビュートの値は、BGPの観点からルータ内でローカルに発信されるため、32768に設定されます。

- WAN との BGP セッションを介して受信された元のルートの重みパス属性の値は 0 です。

- 1 つ目のルートの重みが最も高いため、BGP テーブルでベストパスとして選択されます。

- これにより、ルーティングテーブルが元の状態に収束せず、EIGRP ルートエントリが保持されます。

注：BGPウェイトパスアトリビュートは、BGPがCisco IOSルータのBGPテーブルでベストパスを選択するときにチェックする最初のパスアトリビュートです。BGP は、最も高い重みを持つエントリのパスを優先します。重みはシスコ固有のパラメータであり、設定されているルータにおいてローカルでのみ有効です。詳細については、次のドキュメントを参照してください：『BGP で最適パスを選択するアルゴリズム』

ルーティング テーブル:

WAN_RTR

WAN_RTR#show ip route

<snip>

D     192.168.1.0/24 [90/156160] via 10.1.3.3, 00:08:55, FastEthernet0/1

BGP 重みパス属性の変更

BGP 重みパス属性のデフォルト値は、weight コマンドまたは route-map コマンドを使用して、設定された BGP ピアごとに変更できます。

次のコマンドでは、BGP ピアから受信するすべてのルートの重みパス属性が 40000 に設定されます。

例 1

weight コマンドの使用

router bgp 1

neighbor 10.1.2.2 weight 40000

例 2

route-map コマンドによる重みパス属性の設定

route-map FROM-WAN permit 10

set weight 40000

!

router bgp 1

neighbor 10.1.2.2 route-map FROM-WAN in

!

clear ip bgp * soft in

例 3

route-map コマンドによる特定ルートの重みパス属性の設定

ip prefix-list NETWORKS permit 192.168.1.0/24

!

route-map FROM-WAN permit 10

match ip address prefix NETWORKS

set weight 40000

route-map FROM-WAN permit 100

!

router bgp 1

neighbor 10.1.2.2 route-map FROM-WAN in

!

clear ip bgp * soft in

重みパス属性の値を大きくすると、次の場合のように、BGP を介して受信した元のルートが優先されます。

ステップ 1：ルートはBGPを介して受信されます。

BGP テーブルには、BGP を介して受信したルートの重み値が 0 ではなく40000 になっていることが示されています。

BGP テーブル：

WAN_RTR

WAN_RTR#show ip bgp

<snip>

Network          Next Hop            Metric LocPrf Weight Path

*>  192.168.1.0      10.1.2.2                 0         40000 2 i

WAN_RTR#

ルーティング テーブル:

WAN_RTR

WAN_RTR#show ip route

<snip>

B     192.168.1.0/24 [20/0] via 10.1.2.2, 00:09:53

ステップ 2：ルートはEIGRPを介して受信されます。

BGP テーブルでは、ローカル発信ルートの値は依然として 32768 です。

BGP テーブル：

WAN_RTR

WAN_RTR#show ip bgp

<snip>

Network          Next Hop            Metric LocPrf Weight Path

*>  192.168.1.0      10.1.3.3            156160         32768 ?

ルーティング テーブル:

WAN_RTR

WAN_RTR#show ip route

<snip>

D     192.168.1.0/24 [90/156160] via 10.1.3.3, 00:01:41, FastEthernet0/1

ステップ 3：BGPを介してルートを再度受信しました。

重みが 40000 であるため、今度は BGP を介して受信したルートがローカル発信ルートよりも優先されます。これにより、ネットワークは元の状態に適切に収束します。

BGP テーブル：

WAN_RTR

WAN_RTR#show ip bgp

<snip>

Network          Next Hop            Metric LocPrf Weight Path

*>  192.168.1.0      10.1.2.2                 0         40000 2 i

ルーティング テーブル:

WAN_RTR

WAN_RTR#show ip route

<snip>

B     192.168.1.0/24 [20/0] via 10.1.2.2, 00:00:25

具体的なシナリオ

次のシナリオを例に説明します。

ステップ 1：元のネットワークの状態。

CORE レイヤ 3 スイッチが、WAN RTR A および WAN RTR B から EIGRP を介して 192.168.1.0/24 ルートを受信します。WAN RTR A 経由のパスが選択されます。

次の出力には、CORE スイッチが両方の WAN ルータとの EIGRP 隣接関係を維持し、192.168.1.0/24 ネットワークに到達するために WAN RTR A が選択されている様子が示されています。

コア

CORE#show ip eigrp neighbors

EIGRP-IPv4 Neighbors for AS(1)

H   Address                 Interface              Hold Uptime   SRTT   RTO  Q  Seq

(sec)         (ms)       Cnt Num

0   10.1.2.2  (WAN_RTR_A)   Fa0/0                    10 00:05:15   79  1066  0  10

1   10.1.3.3  (WAN_RTR_B)   Fa0/1                    12 00:06:22   76   456  0  5

CORE#show ip route

<snip>

D EX  192.168.1.0/24 [170/28416] via 10.1.2.2, 00:00:32, FastEthernet0/0

CORE#show ip eigrp topology

EIGRP-IPv4 Topology Table for AS(1)/ID(10.10.10.10)

<snip>

P 192.168.1.0/24, 1 successors, FD is 28416, tag is 4

via 10.1.2.2 (28416/2816), FastEthernet0/0

via 10.1.3.3 (281856/2816), FastEthernet0/1

ステップ 2：プライマリWANリンク障害。

リンク障害が発生し、CORE スイッチは、次善の EIGRP パスである WAN RTR B を介したルートを登録しています。

コア

CORE#show ip route

<snip>

D EX  192.168.1.0/24 [170/281856] via 10.1.3.3, 00:00:05, FastEthernet0/1

CORE#show ip eigrp topology

EIGRP-IPv4 Topology Table for AS(1)/ID(10.10.10.10)

<snip>

P 192.168.1.0/24, 1 successors, FD is 28416, tag is 4

via 10.1.3.3 (281856/2816), FastEthernet0/1

ステップ 3：プライマリWANリンクの復元。

プライマリ WAN リンクが復元されました。ただし、次の出力に示されているように、CORE スイッチは引き続きバックアップパスを介してルーティングしています。

コア

CORE#show ip route

<snip>

D EX  192.168.1.0/24 [170/281856] via 10.1.3.3, 00:06:09, FastEthernet0/1

CORE#show ip eigrp topology

EIGRP-IPv4 Topology Table for AS(1)/ID(10.10.10.10)

<snip>

P 192.168.1.0/24, 1 successors, FD is 28416, tag is 4

via 10.1.3.3 (281856/2816), FastEthernet0/1

この動作の原因は、前述のように、BGP 重みパス属性にあります。

現状では、WAN RTR A は EIGRP を介したルーティングテーブルのルートを示しています。このルートは、EIGRP から再配布された BGP テーブルでは、重みパス属性の値が最大であるために、再確立した WAN リンクから BGP を介して受信されるルートの重み値よりも優先されています。

WAN_RTR_A

WAN_RTR_A#show ip bgp

<snip>

Network          Next Hop            Metric LocPrf Weight Path

*   192.168.1.0      10.2.4.4                 0             0 4 i

*>                   10.1.2.1            284416         32768 ?

WAN_RTR_A#show ip bgp summary

BGP router identifier 10.20.20.20, local AS number 2

<snip>

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

10.2.4.4        4            4      12      12       16    0    0 00:03:54   (UP) 4

WAN_RTR_A#show ip route

<snip>

D EX  192.168.1.0/24 [170/284416] via 10.1.2.1, 00:08:22, FastEthernet0/0

このドキュメントで説明している動作は、この分野で広く見られています。ネットワークのトポロジと初期症状は、説明した例とは異なる場合があります。ただし、根本的な原因は、このドキュメントで説明したものである可能性があり、多くの場合、実際にそうです。ご使用のネットワーク展開において、この条件を発生させる変数を、設定およびシナリオが満たすかどうかを確認することが重要です。