BGPパス選択について
ルーティング テーブルの各プレフィックスに対して、ルーティング プロトコル プロセスは単一の最適なパスを選択します。最適なパスを選択した後、ルーティング・テーブルにルートがインストールされます。管理距離とも呼ばれるグローバルプリファレンス値が低い(より優先される)プロトコルで同じプレフィックスが学習されない場合、最適なパスがアクティブなルートになります。アクティブなルートを決定するアルゴリズムは次のとおりです。
-
ネクストホップを解決できることを確認します。
-
プリファレンス値(ルーティング プロトコル プロセス プリファレンス)が最も低いパスを選択します。
転送の対象とされないルート(ルーティングポリシーで拒否された、またはネクストホップにアクセスできないなど)は、プリファレンス値が –1 になり、決して選択されません。
-
ローカルプリファレンスの高いパスを優先します。
BGP 以外のパスでは、優先度が最も低いパスを選択 します2 。
-
累積内部ゲートウェイプロトコル(AIGP)属性が有効になっている場合、IGPメトリックを追加し、より低いAIGP属性を持つパスを優先します。
-
自律システム(AS)パス値が最も短いパスを
as-path-ignore
優先します(ステートメントが設定されている場合はスキップします)。コンフェデレーション セグメント(シーケンスまたはセット)のパス長は 0 です。ASセットのパス長は1です。
-
起点コードが低いルートを優先します。
IGPから学習したルートは、外部ゲートウェイプロトコル(EGP)から学習したルートよりも起点コードが低く、どちらも不完全なルート(起点が不明なルート)よりも起点コードが低いです。
-
複数出口識別子(MED)メトリックが最も低いパスを優先します。
非決定的ルーティング・テーブルのパス選択動作が設定されているかどうかによって、2 つのケースが考えられます。
-
非決定的ルーティング・テーブルのパス選択動作が設定されていない場合(つまり、BGP設定にステート メントが含まれていない場合
path-selection cisco-nondeterministic
)、ASパスの先頭に同じ隣接AS番号を持つパスに対しては、MEDメトリックが最も低いパスを優先します。比較したルートのピアASが同じかどうかに関係なく、常にMEDを比較するには、 ステートメントをpath-selection always-compare-med
含めます。 -
非決定的ルーティング・テーブルのパス選択動作が設定されている場合(つまり、
path-selection cisco-nondeterministic
BGP設定に ステート メントが含まれる)、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つのパスが同じMED-plus-IGPコストを持つ場合でも、IGPコストメトリックに基づいています。
-
両方のパスが外部にある場合、最も古いパス、つまり、最初に学習されたパスを優先します。これは、ルートフラッピングを最小限に抑えるために行われます。このルールは、以下の条件のいずれかに該当する場合には使用されません。
-
-path-selection external-router-id が設定されています。
-
両方のピアが同じルーター ID を持っています。
-
どちらのピアもコンフェデレーションピアです。
-
どちらのパスも現在アクティブなパスではありません。
-
-
2 次ルートよりも一次ルートを優先します。一次ルートは、ルーティング・テーブルに属するルートです。2 次ルートは、エクスポート・ポリシーを介してルーティング・テーブルに追加されるルートです。
-
ルーター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非決定論的)をエミュレートします。このモードでは、ルートを受信した順序で評価し、隣接するASに応じてルートをグループ化しません。モードでは
cisco-non-deterministic
、アクティブなパスが常に優先されます。非アクティブでも適格なパスはすべてアクティブなパスに従い、受信した順序で維持され、最新のパスが優先されます。対象外のパスはリストの最後に残ります。例として、192.168.1.0 /24 ルートに対して 3 つのパスアドバタイズメントがあるとします。
パス1-EBGPを介して学習。65010のASパス。200 の MED
パス2-IBGPを介して学習。65020のASパス。150のMED。IGP コストは 5
パス3-IBGPを介して学習。65010のASパス。100のMED。IGP のコストは 10
これらの広告は、記載された順序で 1 秒以内に連続して受信されます。パス3は最も最近受信されるので、ルーティングデバイスは、次に新しいアドバタイズメントであるパス2と比較します。IBGP ピアへのコストはパス 2 の方が優れているため、ルーティング デバイスはパス 3 の競合を排除します。パス1と2を比較する場合、ルーティングデバイスはEBGPピアから受信されるため、パス1を優先します。これにより、ルーティング・デバイスは、ルートのアクティブ・パスとしてパス1をインストールすることができます。
メモ:ネットワークでこの設定オプションを使用することはお勧めしません。ネットワーク内のすべてのルーティング デバイスが一貫したルート選択を行えるようにするため、相互運用性のみを目的として提供されます。
比較したルートのピアASが同じかどうかに関係なく、常にMEDを比較します(always-compare-med)。
両方のパスが外部にある場合、現在アクティブなパスが優先される(external-router-id)というルールを上書きします。パス選択プロセスの次のステップ(ステップ 12)に進みます。
パス選択(
med-plus-igp
)のMED値を比較する前に、ネクストホップ宛先へのIGPコストをMED値に追加します。BGPマルチパスは、MED-plus-IGPコストが同じで、IGPコストが異なるパスには適用されません。マルチパスパス選択は、2つのパスが同じMED-plus-IGPコストを持つ場合でも、IGPコストメトリックに基づいています。
BGP テーブルのパス選択
BGP のパス選択では、以下のパラメーターに従います。
-
ローカルプリファレンス値が最も高いものを優先します。
-
最短のASパス長を優先します。
-
起点値が最も小さい方を優先します。
-
MED 値が最も小さい方を優先します。
-
EBGP ピアから学習したルートを IBGP ピアよりも優先します。
-
ASからの最適な出口を優先します。
-
EBGP 受信ルートの場合、現在のアクティブなルートを優先します。
-
ルーターIDが最も小さいピアからのルートを優先します。
-
クラスタ長が最も短いパスを優先します。
-
ピア IP アドレスが最も小さいピアからのルートを優先します。ステップ 2、6、12 が RPD 基準です。
宛先への複数パスのアドバタイズの効果
BGPは、宛先への複数のパスをアドバタイズするようにBGPを設定しない限り、アクティブなパスのみをアドバタイズします。
ルーティング・デバイスのルーティング・テーブルに宛先への4つのパスがあり、最大3つのパス(add-path send path-count 3)をアドバタイズするように設定されたとします。3 つのパスは、パス選択基準に基づいて選択されます。つまり、最適な 3 つのパスがパス選択順に選択されます。最良のパスは、アクティブなパスです。このパスは検討から削除され、新しい最適なパスが選択されます。このプロセスは、指定されたパス数に達するまで繰り返されます。