BGPパス選択について
ルーティングテーブルの各プレフィックスに対して、ルーティングプロトコルプロセスは単一の最良のパスを選択します。最適なパスが選択された後、そのルートがルーティングテーブルにインストールされます。管理距離とも呼ばれるグローバルプリファレンス値が低い(より好ましい)プロトコルによって同じプレフィックスが学習されない場合、最良のパスがアクティブなルートになります。アクティブルートを決定するアルゴリズムは次のとおりです。
-
ネクストホップが解決可能であることを確認します。
-
プリファレンス値(ルーティングプロトコルプロセスプリファレンス)が最も低いパスを選択します。
転送の対象とならないルート(例えば、ルーティングポリシーで拒否されたり、ネクストホップにアクセスできないという理由で)は、プリファレンスが-1になり、決して選択されません。
-
ローカルプリファレンスの高いパスを優先します。
非 BGP パスの場合は、 優先度 2 値が最も低いパスを選択します。
-
累積内部ゲートウェイプロトコル(AIGP)属性が有効な場合、IGPメトリックを追加し、AIGP属性の低いパスを優先します。
-
自律システム(AS)パス値が最短のパスを優先します(
as-path-ignoreステートメントが設定されている場合はスキップします)。コンフェデレーションセグメント(シーケンスまたはセット)のパス長は0です。ASセットのパス長は1です。
-
起点コードの小さいルートを優先します。
IGPから学習したルートは、外部ゲートウェイプロトコル(EGP)から学習したルートよりも起点コードが低く、どちらも不完全なルート(起点が不明なルート)よりも起点コードが低くなっています。
-
Multiple Exit Discriminator(MED)メトリックが最も小さいパスを優先します。
非決定的なルーティングテーブルのパス選択動作が設定されているか否かにより、次の2つのケースが考えられます。
-
非決定的なルーティングテーブルパス選択動作が設定されていない場合(つまり、
path-selection cisco-nondeterministicステートメントがBGP設定に含まれていない場合)、ASパスの先頭に同じ隣接AS番号を持つパスについては、MEDメトリックが最も小さいパスを優先します。比較されたルートのピアASが同じか否かにかかわらず、常にMEDを比較するには、path-selection always-compare-medステートメントを含めます。 -
非決定的なルーティングテーブルパス選択動作が設定されている場合(つまり、BGP設定に
path-selection cisco-nondeterministicステートメントが含まれている場合)、MEDメトリックが最も小さいパスを優先します。
隣接ASを決定する際、コンフェデレーションは考慮されません。MEDメトリックが欠落した場合、MEDは存在するもののゼロであるかのように扱われます。
注:MED比較は、AS内の単一パス選択(ルートにASパスが含まれていない場合)でも機能しますが、この使用法は一般的ではありません。
デフォルトでは、同じピアの自律システム(AS)を持つルートのMEDのみが比較されます。ルーティングテーブルのパス選択オプションを設定して、さまざまな動作を得ることができます。
-
-
IGPルートとローカルに生成されたルート(スタティック、ダイレクト、ローカルなど)を含む、厳密な内部パスを優先します。
-
内部BGP(IBGP)セッションで学習した外部パスよりも、厳密な外部BGP(EBGP)パスを優先します。
-
ネクストホップが最もメトリックの低いIGPルートを通じて解決されるパスを優先します。IGPを介して解決されるBGPルートは、到達不能または拒否されたルートよりも優先されます。
注:前のステップの後にタイブレークが行われた場合、パスはBGPイコールコストパスとみなされます(そして転送に使用されます)。マルチパス対応の BGP ネイバーによって学習された、同じネイバー AS を持つすべてのパスが考慮されます。
BGPマルチパスは、MED-plus-IGPコストが同じで、IGPコストが異なるパスには適用されません。マルチパスのパス選択は、2つのパスが同じIGPプラスIGPコストを持つ場合でも、IGPコスト・メトリックに基づいて行われます。
-
両方のパスが外部にある場合は、最も古いパス、つまり最初に学習されたパスが優先されます。これは、ルートフラップを最小化するために行われます。このルールは、次の条件のいずれかに該当する場合は使用されません。
-
path-selection external-ルーター-id が設定されています。
-
どちらのピアも同じルーターIDを持っています。
-
どちらかのピアがコンフェデレーション・ピアとなります。
-
どちらのパスも、現在アクティブなパスではありません。
-
-
ルーターIDが最も小さいピアからのパスを優先します。オリジネーターID属性を持つパスについては、ルーターID比較時にオリジネーターIDをルーターIDに置き換えてください。
-
クラスターリストの長さが最も短いパスを優先します。リストがない場合、長さは0です。
-
ピアIPアドレスが最も小さいピアからのパスを優先します。
-
セカンダリルートよりもプライマリルートを優先します。一次ルートは、ルーティングテーブルに属するルートです。二次ルートとは、エクスポート・ポリシーによってルーティングテーブルに追加されるルートのことです。
ルーティング・テーブルのパス選択
アルゴリズムの最短 AS パス ステップは、デフォルトで、AS パスの長さを評価し、アクティブなパスを決定します。 as-path-ignore オプションを含めることで、Junos OSがアルゴリズムのこのステップをスキップできるように設定できます。
Junos OSリリース14.1R8、14.2R7、15.1R4、15.1F6、および16.1R1以降、ルーティングインスタンスで as-path-ignore オプションがサポートされています。
ルーティング プロセスのパス選択は、BGP がパスをルーティングテーブルに引き渡して決定を下す前に行われます。パス選択動作ルーティングテーブル設定するには、 path-selection ステートメントを含めます。
path-selection { (always-compare-med | cisco-non-deterministic | external-router-id); as-path-ignore; l2vpn-use-bgp-rules; med-plus-igp { igp-multiplier number; med-multiplier number; } }
このステートメントを含めることができる階層レベルの一覧については、このステートメントの「ステートメント概要」セクションを参照してください。
ルーティング・テーブルのパス選択は、次のいずれかの方法で設定することができます:
-
Cisco IOS のデフォルト動作(cisco-non-deterministic)をエミュレートします。このモードでは、ルートを受け取った順に評価し、ネイバーのASに応じてルートをグループ化しません。
cisco-non-deterministicモードでは、アクティブなパスが常に優先されます。非アクティブながら適格なパスはすべて、アクティブなパスに続き、受信した順番に維持され、最新のパスが優先されます。対象外のパスはリストの末尾に残ります。例として、192.168.1.0 /24 ルートに対して 3 つのパス広告があるとします。
-
パス1-EBGPで学習。65010のASパス。200人のMED
-
パス2-IBGPで学習。65020のASパス。150人のMED。5のIGPコスト
-
パス3-IBGPで学習。65010のASパス。100人のMED。10のIGPコスト
これらのアドバタイズは、記載された順番に1秒以内に次々と受信されます。パス3は最も最近に受信したものなので、ルーティング・デバイスは次に新しいアドバタイズであるパス2と比較します。IBGPピアへのコストは、パス2の方が良いので、ルーティング・デバイスは、パス3をコンテンションから除外します。パス1とパス2を比較した場合、パス1はEBGPピアから受信するため、ルーティング・デバイスはパス1を優先します。これにより、ルーティングデバイスは、パス1をルートのアクティブパスとしてインストールできます。
注:この設定オプションをネットワークで使用することはお勧めしません。ネットワーク上のすべてのルーティングデバイスが一貫したルート選択を行えるようにするため、相互運用性のみを目的として提供されています。
-
比較するルートのピアASが同じか否かにかかわらず、常にMEDを比較します(always-compare-med)。
両方のパスが外部にある場合、現在アクティブなパスが優先される(external-ルーター-id)というルールを無効にします。パス選択プロセスの次のステップ(ステップ 15)に進みます。
パス選択(
med-plus-igp)のMED値を比較する前に、ネクストホップ宛先までのIGPコストをMED値に追加します。BGPマルチパスは、MED-plus-IGPコストが同じながら、IGPコストが異なるパスには適用されません。マルチパスのパス選択は、2つのパスが同じIGPプラスIGPコストを持つ場合でも、IGPコスト・メトリックに基づいて行われます。
BGPテーブルのパス選択
BGPのパス選択では、以下のパラメータに従います。
-
ローカルプリファレンス値が最も高いものを優先します。
-
最短のASパス長を優先します。
-
起点値が最も小さいものを優先します。
-
MEDの値が最も小さいものを優先します。
-
EBGPピアから学習したルートをIBGPピアよりも優先します。
-
ASからの最適な出口を優先します。
-
EBGP受信ルートの場合、現在のアクティブなルートを優先します。
-
ルータIDが最も小さいピアからのルートを優先します。
-
クラスター長の最も短いパスを優先します。
-
ピアIPアドレスが最も小さいピアからのルートを優先します。ステップ2、6および12がRPDの基準です。
宛先までの複数のパスをアドバタイズすることによる効果
BGPは、宛先への複数のパスをアドバタイズするようにBGPを設定しない限り、アクティブなBGPのみをアドバタイズします。
ルーティングデバイスのルーティングテーブルに宛先への4つのパスがあり、最大3つのパス(add-path、send path-count 3)をアドバタイズするように設定されているとします。3つのパスは、パス選択基準に基づいて選択されます。つまり、最適な3つのパスがパス選択順に選択されます。最適なパスはアクティブなパスです。このパスは検討から外され、新たな最適パスが選択されます。この処理は、指定されたパス数に達するまで繰り返されます。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。