Cisco Nexus 3000 シリーズ NX-OS ユニキャスト ルーティング コンフィギュレーション ガイド リリース 6.x
BGP 追加パスの設定
BGP 追加パスの設定
発行日;2013/10/09 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 4MB) | フィードバック

目次

BGP 追加パスの設定

BGP 追加パスについて

追加パスで解決できる問題

パスの隠蔽の例

最適ではないのホット ポテト ルーティングの例

追加 BGP パスの利点

BGP 追加パスの機能

追加パスの選択

選択したパスの一部をアドバタイズ

注意事項と制約事項

BGP 追加パスの設定方法

アドレス ファミリ毎の BGP 追加パスの設定

ネイバー毎の BGP 追加パスの設定

ピア ポリシー テンプレートを使用した追加パスの設定

追加パスのフィルタリングおよび設定操作

BGP 追加パスの設定例

BGP 追加パスの送受信機能

R1

R2

ピア ポリシー テンプレートを使用する BGP 追加パス

BGP 追加パスの設定確認

BGP 追加パスの設定

この章では、BGP 追加パスを設定する方法を説明します。同じプレフィックスの同じピアリングセッションで、以前のパスを新しいパスで暗黙的に置き換えることなく、マルチパスのアドバタイズメントが可能となります。

これによって、パス ダイバーシティが向上し、Multi-Exit Discriminator(MED)の変動が減少します。

この章は、次の項で構成されています。

「BGP 追加パスについて」

「BGP 追加パスの設定方法」

「BGP 追加パスの設定例」

「BGP 追加パスの設定確認」

BGP 追加パスについて

この項では、次のトピックについて取り上げます。

追加パスで解決できる問題

追加 BGP パスの利点

BGP 追加パスの機能

追加パスで解決できる問題

BGP ルータおよびルート リフレクタ(RR)は、セッションにおける最適パスにのみ伝播します。プレフィックス アドバタイズメントで、以前アナウンスされたプレフィックスを置き換えます(この動作は暗黙の取り消しとして知られています)。暗黙の取り消しはスケーリングには適していますが、パス ダイバーシティに影響があります。

パスの隠蔽は BGP マルチパスの効率的な使用や、スムーズな定期メンテナンスを妨げ、MED の変動や最適でないホットポテト ルーティングが発生する可能性があります。ネクスト ホップが失敗した場合も、ネットワークは BGP コントロール プレーンのコンバージェンスによりトラフィックが復旧するのを待たなければならないので、パスの隠蔽は迅速かつローカルの復旧の妨げになります。BGP 追加パス機能では、パス ダイバーシティを一般的な方法で提供します。Best External または Best Internal 機能は、限られた場合にのみパス ダイバーシティを提供します。

BGP 追加パス機能は、同じプレフィックスのマルチパスに対して、新しいパスで以前のパスを暗黙的に置き換えることなく、アドバタイズする手段を提供します。したがって、パスを隠蔽しないでパス ダイバーシティが実現されます。

パスの隠蔽の例

ここでは、パスの隠蔽が発生する過程の詳細を説明します。次の図では、BR1 および BR4 から RR1 にアドバタイズされるプレフィックス p を持つパス p1 および p2 があります。RR1 は 2 つのうち最適パスを選択し、PE に p1 のみアドバタイズします。

図 9-1 RR で追加パスを非表示にする1

また上の図では、BR2 から(パス x2 がある)BR3 にローカル プリファレンス 100 でアドバタイズされる、プレフィックス x を持つパス x1 が表示されています。BR3 にはパス x2 もありますが、ルーティング ポリシーにより、x2 ではなく RR の x1(表示されていません)をアドバタイズし、x2 のアドバタイズは抑制されます。ユーザは BR3 の最適な外部アドバタイズメントができるため、結果 RR に x2 をアドバタイズしますが、この時 RR は最適なパスだけをアドバタイズします。

最適ではないのホット ポテト ルーティングの例

内部転送コストを最小化するために、中継する ISP は(IGP コストに基づいて)最も近い出口ポイントにパケットを転送しようとします。この動作は、ホット ポテト ルーティングと呼ばれます。次の図の分散 RR クラスタ モデルでは、ロサンゼルスから発信されるトラフィックがメキシコに進む必要があることを想定しています。すべてのリンクで、IGP コストは同じです。メキシコへの出口ポイントは 2 つあり、1 つがオースティンに向かい、もう 1 つがアトランタに向かう場合、ロサンゼルスからは、アトランタよりオースティンに向かう方が IGP コストが低いため、オースティンに向けてトラフィックを送信します。RR3 がある(および RR1、RR2、RR4 および RR5 がない)場所に中央 RR が存在する集中型 RR モデルでは、RR3 から見てメキシコへの最も近い出口ポイントはアトランタとなります。ロサンゼルスからアトランタの BR に向けてトラフィックを送信し、それによって最適ではないホット ポテト ルーティングが生じることは望ましくありません。

図 9-2 分散 RR クラスタ

 

追加 BGP パスの利点

BGP ルータおよびルート リフレクタ(RR)は、セッションにおける最適パスにのみ伝播します。プレフィックス アドバタイズメントで、以前アナウンスされたプレフィックスを置き換えます(この動作は暗黙の取り消しとして知られています)。

この動作は、スケーリングには適していますが、パス ダイバーシティを妨げる可能性があります(これによって脆弱になるまたは完全に無くなるおそれがあります)。同様にこの動作は、BGP マルチパスの効率的な使用や、スムーズな定期メンテナンスを妨げ、MED の変動や最適でないホットポテト ルーティングが発生する可能性があります。ネクスト ホップが失敗した場合も、ネットワークは BGP コントロール プレーンのコンバージェンスによりトラフィックが復旧するのを待たなければならないので、迅速かつローカルの復旧の妨げになります。

BGP 追加パス機能は、暗黙的に以前のパスに代わる新しいパスなしで、同じプレフィックスのマルチパスをアドバタイズする BGP の拡張機能です。これにより、パス ダイバーシティが向上し、MED の変動が減少します。

BGP 追加パスの機能

BGP 追加パス機能は、NLRI で各パスにパス ID を追加することによって実現します。パス ID は VPN のルート識別子(RD)のようなものです。ただし、パス ID はすべてのアドレス ファミリに適用できます。パス ID はピアリング セッション内で一意で、各ネットワークに生成されます。ルート アナウンスが暗黙的に以前のパスを取り消すことを防ぐために、パス ID が使用されます。追加パス機能は、最適パスに加えその他のパスのアドバタイズメントが可能です。追加パスは、暗黙的に以前のパスから新しいパスに代わることなく、同じプレフィックスのマルチパスをアドバタイズする機能を備えています。

BGP 追加パス機能では、通常次の 3 つの操作を行う必要があります。

1. デバイスが追加パスを送信、受信、または送受信するかどうかを指定します。これは、アドレス ファミリ レベルまたはネイバー レベルで行います。セッションの確立中に、2 つの BGP ネイバーがこれらの間で追加パス機能(送信または受信できるかどうか)をネゴシエートします。

2. 選択基準を指定して、アドバタイズメントする候補パスのセット選択します。

3. 示された候補パスから追加パスのセットをネイバーに対してアドバタイズします。

追加パスを送受信するには、追加パス機能をネゴシエートする必要があります。ネゴシエートされない場合、たとえ選択基準により最適パス以上のパスが指定され、ネイバーが指定されたパスをアドバタイズするように設定されていても、ネゴシエートできないために選択パスは利用されず、最適パスのみ送信されます。

追加パスの送受信を BGP に設定すると、デバイスのピアに対して追加パス機能のネゴシエーションが開始されます。この機能についてネゴシエートしたネイバーは、(他のアップデート グループ ポリシーが許可する場合)アップデート グループに追加され、この機能についてネゴシエートされていないピアとは別のアップデート グループに分類されます。したがって、追加パス機能によってネイバーのアップデート グループ メンバーシップが再計算されます。

追加パスの選択

受信機能がイネーブルの場合、追加パスとしてすべての BGP パスをアドバタイズする set path-selection all advertise コマンドを設定しない限り、最適パスのみピアにアドバタイズされます。

選択したパスの一部をアドバタイズ

パスのセットを選択する際に、別のパスのセットをアドバタイズしたい場合は注意してください。アドバタイズするパスのセットが、選択されたパスのサブセットではない場合、意図したパスがアドバタイズされません。

注意事項と制約事項

BGP 設定の追加パスには次の注意事項と制限があります。

BGP 追加パスは動的な機能としてサポートされていません。これは OPEN に含まれますが、CAPABILITY メッセージには含まれません。設定は次のセッション確立時に有効となり、確立されたセッションが中断されることはありません。

BGP 追加パスの設定方法

この項では、次のトピックについて取り上げます。

アドレス ファミリ毎の BGP 追加パスの設定

ネイバー毎の BGP 追加パスの設定

ピア ポリシー テンプレートを使用した追加パスの設定

追加パスのフィルタリングおよび設定操作

アドレス ファミリ毎の BGP 追加パスの設定

デバイスがアドレス ファミリ内のすべてのネイバーとの間で追加パスを送受信をできるかどうか指定するには、次の手順を実行します。

はじめる前に

BGP 機能がイネーブルになっていることを確認します。

手順の概要

1. configure terminal

2. router bgp as-number

3. address-family {ipv4 | ipv6} {multicast | unicast}

4. additional-paths receive

5. additional-paths send

6. additional-paths selection route-map map-name

7. end

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example :

switch# configure terminal

switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

router bgp as-number

 

Example :

switch(config)# router bgp 65000

switch(config-router )#

BGP をイネーブルにして、ローカル BGP スピーカに自律システム番号を割り当てます。

ステップ 3

address family {ipv4 | ipv6} {multicast | unicast}

 

Example :

switch(config-router )# address family ipv6 unicast

アドレス ファミリ コンフィギュレーション モードを開始します。

ステップ 4

additional-paths receive

 

Example :

switch(config-router-af )# additional-paths receive

(任意)使用可能なピアから受信するプレフィックスの BGP 追加パスをイネーブルにします。


) この機能は、ネイバーで additional-paths receive(disable)コマンドによって明示的に無効にされない限り、指定されたアドレス ファミリのすべてのネイバーに適用され、そしてアドレス ファミリの設定が上書きされます。


ステップ 5

additional-paths send

 

Example :

switch(config-router-af )# additional-paths send

(任意)使用可能なピアに送信されるプレフィックスの BGP 追加パスをイネーブルにします。


) この機能は、ネイバーで additional-paths send(disable)コマンドによって明示的に無効にされない限り、指定されたアドレス ファミリのすべてのネイバーに適用され、そしてアドレス ファミリの設定が上書きされます。


ステップ 6

additional-paths selection route-map map-name

 

Example :

switch(config-router-stmp)# exit

switch(config-router )#

(任意)プレフィックスの追加パス選択機能を設定します。

ステップ 7

end

 

Example:

switch(config-router-af)# end

(任意)終了して、特権 EXEC モードに戻ります。

ネイバー毎の BGP 追加パスの設定

特定のネイバーが追加のパスを送受信できるかどうかを設定するには、次の手順を実行します。

はじめる前に

BGP 機能がイネーブルになっていることを確認します(を参照)。

手順の概要

1. configure terminal

2. router bgp as-number

3. neighbor { ipv4-address | ipv4-prefix/length | ipv6-address | ipv6-prefix/length } [ remote-as { as-num } [. as-num ]]

4. address-family {ipv4 | ipv6} {multicast | unicast}

5. capability additional-paths receive [disable]

6. capability additional-paths send [disable]

7. end

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example :

switch# configure terminal

switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

router bgp as-number

 

Example :

switch(config)# router bgp 65000

switch(config-router )#

BGP をイネーブルにして、ローカル BGP スピーカに自律システム番号を割り当てます。

ステップ 3

neighbor {ipv4-address | ipv4-prefix/length | ipv6-address

| ipv6-prefix/length} [ remote-as {as-num} [.as-num ]]

 

Example :

switch(config-router)# neighbor 2001:DB8::1037

BGP ネイバー(ルータ、VRF)を設定し、ネイバー コンフィギュレーション モードを開始します。

ステップ 4

address family {ipv4 | ipv6} {multicast | unicast}

 

Example :

switch(config-router )# address family ipv6 unicast

アドレス ファミリ コンフィギュレーション モードを開始します。

ステップ 5

capability additional-paths receive [disable]

 

Example :

switch(config-router-af )# capability additional-paths receive

(任意)指定されたネイバーの追加パス受信機能を設定します。


) このコマンドは、アドレス ファミリのレベルで設定されたすべての送受信機能を上書きします。


ステップ 6

capability additional-paths send [disable]

 

Example :

switch(config-router-af )# capability additional-paths send

(任意)指定されたネイバーの追加パス送信機能を設定します。


) このコマンドは、アドレス ファミリのレベルで設定されたすべての送受信機能を上書きします。


ステップ 7

end

 

Example:

switch(config-router-af)# end

(任意)終了して、特権 EXEC モードに戻ります。

ピア ポリシー テンプレートを使用した追加パスの設定

この設定作業では、追加パスを送受信する機能および選択基準をアドレス ファミリに設定してから、テンプレートを設定します。

はじめる前に

BGP 機能がイネーブルになっていることを確認します(を参照)。

手順の概要

1. configure terminal

2. router bgp as-number

3. template peer-policy template-name

4. capability additional-paths receive [disable]

5. capability additional-paths send [disable]

6. exit

7. neighbor { ipv4-address | ipv4-prefix/length | ipv6-address | ipv6-prefix/length } [ remote-as { as-num } [. as-num ]]

8. inherit peer-policy template-name sequence-number

9. end

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example :

switch# configure terminal

switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

router bgp as-number

 

Example :

switch(config)# router bgp 65000

BGP モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。

ステップ 3

template peer-policy template-name

 

Example :

switch(config-router )# template peer-policy rr-client-ptl #

ポリシー テンプレート コンフィギュレーション モードを開始し、ピア ポリシー テンプレートを作成します。

ステップ 4

capability additional-paths receive [disable]

 

Example :

switch(config-router-af )# capability additional-paths receive

(任意)指定されたネイバーの追加パス受信機能を設定します。


) このコマンドは、アドレス ファミリのレベルで設定されたすべての送受信機能を上書きします。


ステップ 5

capability additional-paths send [disable]

 

Example :

switch(config-router-af )# capability additional-paths send

(任意)指定されたネイバーの追加パス送信機能を設定します。


) このコマンドは、アドレス ファミリのレベルで設定されたすべての送受信機能を上書きします。


ステップ 6

exit

 

Example :

switch(config-router-ptmp)# exit

 

ポリシー テンプレート コンフィギュレーション モードを終了し、ルータ コンフィギュレーション モードに戻ります。

ステップ 7

neighbor {ipv4-address | ipv4-prefix/length | ipv6-address

| ipv6-prefix/length} [ remote-as {as-num} [.as-num ]]

 

Example :

switch(config-router)# neighbor 2001:DB8::1037

BGP ネイバー(ルータ、VRF)を設定し、ネイバー コンフィギュレーション モードを開始します。

ステップ 8

address-family ipv4 { multicast | unicast }

 

Example :

switch(config-router-neighbor)# address-family ipv4 unicast

switch(config-router-neighbor-af)#

(任意)指定のアドレス ファミリに対しグローバル アドレス ファミリ コンフィギュレーション モードを設定します。

ステップ 9

inherit peer-policy template-name sequence-number

 

Example :

switch(config-router-neighbor-af)# inherit peer-policy rr-client-ptl 10

ネイバーが設定を継承できるように、ピア ポリシー テンプレートをこのネイバーに送信します。

ステップ 10

end

 

Example:

switch(config-router-af)# end

(任意)終了して、特権 EXEC モードに戻ります。

追加パスのフィルタリングおよび設定操作

必要に応じて、アドバタイズされる候補である追加パスのプレフィックスを照合することで、アドバタイズされるパスをフィルタするためにルート マップを使用できます。(これらのプレフィックスは additional-paths selection コマンドで設定されます)。

また、ルート マップを介してこれらのパスを認識する操作を任意で設定することもできます。このタスクでは、 set metric コマンドを使用する場合があります。この作業で記載のない他の set コマンド使用可能です。

all と記載されたパス(一義的なネクスト ホップを持つすべてのパス)にメトリックを設定するのでしょうか。ネイバー 2001:DB8::1037 が別のネイバーから同じルートを受信しているとします。ローカル デバイスから受信されたルートはメトリックが 565 で、メトリックが 700 の別のデバイスからのルートが存在ます。メトリックが 565 のルートは、メトリックが 700 のルートよりも優先されます。

手順の概要

1. configure terminal

2. route-map route-name [ deny | permit ] [ sequence-number ]

3. set path-selection all advertise

4. set metric metric value

5. end

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example :

switch# configure terminal

switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

route-map map-name [ deny | permit ] [ sequence-number ]

 

Example :

switch(config)# route-map add_path4 permit 10

あるルーティング プロトコルからの別のルーティング プロトコルへルートを再配布するための、ルート マップと条件を定義します。

ステップ 3

set path-selection all advertise

 

Example :

switch(config-route-map )# set path-selection all advertise

受信機能がイネーブルの場合、ピアに追加パスとしてすべての BGP パスをアドバタイズします。

ステップ 4

set metric metric-value

 

Example :

switch(config-route-map )# set metric 500

一致基準を満たす追加パスのメトリックを設定します。

他の set コマンドは、ルート マップを渡すパスを処理するために使用できます。

ステップ 5

end

 

Example:

switch(config-router-af)# end

(任意)終了して、特権 EXEC モードに戻ります。

BGP 追加パスの設定例

この項では、次のトピックについて取り上げます。

BGP 追加パスの送受信機能

ピア ポリシー テンプレートを使用する BGP 追加パス

BGP 追加パスの送受信機能

R1

この例では、R1 のアドレスは 2001:db8::1045 で、そのネイバー R2 のアドレスは 2001:db8::1037 です。 R2 から R1 に additional-paths を含む更新が送信されます(すべてのパスがアドバタイズされます)。R2 が追加パスの送信のみ可能で追加パスを受信しないため、更新はアドバタイズされる標準の BGP 最適パスのみ R1 から R2 に送信されます。

route-map add_path4 permit 10

set metric 500

set path-selection all advertise

!!

router bgp 1

address-family ipv6 unicast

additional-paths send

additional-paths receive

additional-paths selection route-map add_path4

neighbor 2001:db8::1037

address-family ipv6 unicast

capability additional-paths send

capability additional-paths receive

R2

route-map add_path4 permit 10

set metric 500

set path-selection all advertise

!!

router bgp 2

address-family ipv6 unicast

additional-paths selection route-map add_path4

neighbor 2001:db8::1045

address-family ipv6 unicast

capability additional-paths send

ピア ポリシー テンプレートを使用する BGP 追加パス

次の例では、IP アドレス 2001:db8::1037 のネイバーに rr-client-pt1 という名前のテンプレートを介して追加パスの送信と受信機能が存在することが示されています。

router bgp 65000

address-family ipv6 unicast

additional-paths send

additional-paths receive

additional-paths selection route-map add_path4

neighbor 2001:db8::1037

address-family ipv6 unicast

inherit peer-policy rr-client-pt1 10

template peer-policy rr-client-pt1

capability additional-paths send

capability additional-paths receive

BGP 追加パスの設定確認

BGP 追加パスの設定に関する情報を表示するには、次のコマンドを使用します。

 

コマンド
目的

show ip bgp [ip-address]

BGP テーブル内のエントリを表示します。

show ip bgp neighbors [ip-address [ advertise-routes ]]

設定されたネイバーおよび各ネイバー固有のその他の情報を表示します。


1.