回答:
BGPは常に、そのピアに最適なパスのみをアドバタイズします。これは、eBGP、iBGP、ルートリフレクション(iBGPの単なる特殊なケースです)、およびBGPを使用するその他の方法に当てはまります。
しかし、そうです。プロバイダーAとBにアドバタイズを送信し、プロバイダーAとBにも接続とBGPセッションがある場合は、BGPテーブルに両方のパスが表示されます。ルーティングテーブルに作成された複数のルートが表示されない場合があります...それは私のデバイスの構成の問題であり、ASパスの長さが等しい複数のルートをルーティングテーブルに挿入できるかどうかです...通常、BGPは単一ルート。ただし、BGPテーブルには、両方のプロバイダーからのアドバタイズが表示されます。
実際...プロバイダーBとC、またはCとDをピアリングしている場合でも、B、C、およびDを介して到達可能である限り、BGPテーブルに複数のパスが表示されます。同様に、私のデバイスはBを選択する必要があります。これは最短のASパスであるためですが、CとDからのASパスが長いパスが引き続き表示されます。 Bを通るパス、次に私が見るパスは "AC"と "AD"のAS PATHを持つため、Bにまったく接続していないように見えますが、Aを通るパスがなくなった場合、次に、Bを通るパスがCおよびDを介して先に伝搬されます。
いくつかの具体的な情報を提供できる場合は、それを共有してもかまわない場合は、宣伝しているブロックでさえ、他の人は私たちが見ているものを見て、おそらくより具体的なガイダンスを提供できます。
これらの回答でまだカバーされていない1つの側面は、BGPピアが最良のルートだけでなく、代替ルートの一部またはすべても送信できるようにするBGP「アドパス」です。
これはiBGPで最も役立ち(動作する可能性も高い)、ECMPが向上します。
EBGPの場合、単一のルーター上の同じピアへの複数のセッションがある場合は、ECMPを許可するためにBGP「マルチパス」を使用する必要があります。SPネットワークでルートリフレクションが行われる方法と場所に応じて、すべてのセッションが均等に使用される可能性があります。
add-pathに関するDave Ward(当時はJuniper、現在はCisco)からのプレゼンテーションは次のとおりです。
http://www.nanog.org/meetings/nanog48/presentations/Tuesday/Ward_AddPath_N48.pdf
通常、BGPピアは相互に単一のパスのみを送信でき、そのパスの更新は既存のパスを置き換えます。
ただし、BGPには拡張機能があり、これは通常additional-paths
、ピアに送信される各ルートに識別子を付け、BGPピアがパスへの複数のルートを交換できるようにすることで、トラフィックエンジニアリングの範囲を広げるだけでなく、非ベストパスプレフィックスは、ベストパスが撤回された瞬間に使用されるバックアップルートとしてFIBにインストールできるため、パス撤回時の収束時間の短縮-これは特に重要ですCiscoルーターのBGPスキャナーはせいぜい30秒ごとに実行され、300,000を超えるルートを歩くと負荷がかかるため、完全なインターネットテーブルを再実行します。
明らかに、私たちは同じネクストホップで複数のプレフィックスを受信することについて話しているので、BGP追加パスはECMPとは関係がないことに注意してください-唯一の例外は、iBGPを実行していてnext-hop-self
(またはダーティなことをしていない)ネクストホップが保持されるeBGPを使用)
これは拡張機能であるため、両方のルーターがサポートし、接続時に機能をネゴシエートする必要があります(または、動的機能をネゴシエートします)。eBGPとiBGPの両方で使用できます。
あなたの質問はBGP自体ではなく、ISPポリシーに関係しています。常にではない-ポリシーまたは誤って-あなたのプロバイダーは上流にあなたのスペースを発表します。ところで、PIまたはPAを使用していますか?
あなたとLG(ガラスのように見える)の間には多くのフィルタリングがあり、パスなどからプレフィックスを削除できます。アドバタイズされたプレフィックスの長さはどれくらいですか?PIまたはPAスペースはありますか?ベストパスはピアにアドバタイズされるため、2つのパスがアップストリームで互いに競合する可能性があり、1つだけがLGに到達しています。パスの1つをシャットダウンした場合、収束後にLGに表示されますか?それはあなたがベストパスに負けていることを教えてくれます。プロバイダーでLGを試して、最初にプレフィックスが存在することを確認してから、次のSPまで作業してみてください。
iBGPベストパスの質問の場合、デフォルトでは1つだけをアドバタイズします。
答えは単純な「はい」や「いいえ」ではありませんが、私は本質的に「これはそうではない」というあなたの観察は確かに本当だと思います。
キュレーションのために、SEは純粋に他のページへのリンクである回答を優先します。そのため、ソースがいつか消えたり変更されたりした場合に備えて、その一部をここで再現します。
最適パスアルゴリズムのしくみ
BGPは、最初の有効なパスを現在の最適パスとして割り当てます。次にBGPは、BGPが有効なパスのリストの最後に到達するまで、最適パスをリスト内の次のパスと比較します。このリストは、最適なパスを決定するために使用されるルールを提供します。
1)WEIGHTが最も高いパスを優先します。
注:WEIGHTはシスコ固有のパラメータです。構成されているルーターに対してローカルです。
2)LOCAL_PREFが最も高いパスを優先します。
注:LOCAL_PREFのないパスは、bgp default local-preferenceコマンドで値が設定されているか、デフォルトで値が100であると見なされます。
3)ネットワークまたは集約BGPサブコマンドを介して、またはIGPからの再配布を介してローカルで発信されたパスを優先します。
networkまたはredistributeコマンドによって供給されるローカルパスは、aggregate-addressコマンドによって供給されるローカルアグリゲートよりも優先されます。
4)AS_PATHが最も短いパスを優先します。
注:以下の項目に注意してください。
bgp bestpath as-path ignoreコマンドを設定している場合、この手順はスキップされます。
AS_SETは、セットに含まれるASの数に関係なく、1としてカウントされます。
AS_CONFED_SEQUENCEおよびAS_CONFED_SETは、AS_PATHの長さに含まれていません。
5)起点タイプが最も低いパスを優先します。
注:IGPは外部ゲートウェイプロトコル(EGP)よりも低く、EGPはINCOMPLETEよりも低くなっています。
6)マルチ出口ディスクリミネーター(MED)が最も低いパスを優先します。
注:以下の項目に注意してください。
この比較は、最初の(隣接する)ASが2つのパスで同じ場合にのみ行われます。コンフェデレーションサブASは無視されます。
つまり、MEDは、AS_SEQUENCEの最初のASが複数のパスで同じ場合にのみ比較されます。先行するAS_CONFED_SEQUENCEはすべて無視されます。
bgp always-compare-medが有効な場合、MEDはすべてのパスで比較されます。
AS全体でこのオプションを無効にする必要があります。そうしないと、ルーティングループが発生する可能性があります。
bgp bestpath med-confedが有効な場合、MEDは、AS_CONFED_SEQUENCEのみで構成されるすべてのパスについて比較されます。
これらのパスは、ローカル連合内で発生しました。
4,294,967,295のMEDを持つネイバーから受信したパスのMEDは、BGPテーブルに挿入する前に変更されます。MEDは4,294,967,294に変更されます。
MEDなしで受信したパスには、bgp bestpath med missing-as-worstを有効にしていない限り、0のMEDが割り当てられます。
bgp bestpath med missing-as-worstを有効にした場合、パスには4,294,967,294のMEDが割り当てられます。
bgp deterministic-medコマンドもこのステップに影響を与える可能性があります。
デモについては、BGPルーターが最適なパスを選択するためにマルチ出口ディスクリミネーターを使用する方法を参照してください。
7)iBGPパスよりもeBGPを優先します。
ベストパスを選択した場合は、ステップ9(マルチパス)に進みます。
注:AS_CONFED_SEQUENCEおよびAS_CONFED_SETを含むパスは、連合に対してローカルです。したがって、これらのパスは内部パスとして扱われます。外部連合と内部連合の間に区別はありません。
8)BGPネクストホップよりもIGPメトリックが最も低いパスを優先します。
bestpathがすでに選択されている場合でも続行します。
9)BGPマルチパスのルーティングテーブルに複数のパスをインストールする必要があるかどうかを判断します。
ベストパスがまだ選択されていない場合は続行します。
10)両方のパスが外部の場合、最初に受信したパス(最も古いパス)を優先します。
新しいパスが次の決定基準に基づく優先ルートであっても(ステップ11、12、および13)、新しいパスが古いパスを置き換えないため、このステップはルートフラップを最小限に抑えます。
これらの項目のいずれかが当てはまる場合は、このステップをスキップしてください。
bgp best path compare-routeridコマンドを有効にしました。
注:このコマンドは、Cisco IOSソフトウェアリリース12.0.11S、12.0.11SC、12.0.11S3、12.1.3、12.1.3AA、12.1.3.T、および12.1.3.Eで導入されました。
ルートは同じルーターから受信されたため、ルーターIDは複数のパスで同じです。
現在のベストパスはありません。
たとえば、パスを提供するネイバーがダウンした場合、現在の最適なパスが失われる可能性があります。
11)最小のルーターIDを持つBGPルーターからのルートを優先します。
ルーターIDは、ルーターの最上位のIPアドレスであり、ループバックアドレスが優先されます。また、bgp router-idコマンドを使用して、ルーターIDを手動で設定することもできます。
注:パスにルートリフレクター(RR)属性が含まれている場合、パス選択プロセスでは、発信元IDがルーターIDに置き換えられます。
12)発信元またはルーターIDが複数のパスで同じである場合は、クラスターリストの長さが最小のパスを優先します。
これは、BGP RR環境にのみ存在します。これにより、クライアントはRRまたは他のクラスター内のクライアントとピアリングできます。このシナリオでは、クライアントはRR固有のBGP属性を認識している必要があります。
13)最下位のネイバーアドレスからのパスを優先します。
このアドレスは、BGPネイバー設定で使用されるIPアドレスです。このアドレスは、ローカルルーターとのTCP接続で使用されるリモートピアに対応しています。
とはいえ、私は間違っている可能性があります。私はこの分野の初心者です。