BGP 属性とパスの選択
ボーダーゲートウェイプロトコル(BGP) は、インターネットのルーティング プロトコルであり、インターネット上の自律システム (単一の管理ドメインの下にあるネットワークの集合) 間でルーティングおよび到達可能性の情報を交換するために使用されます。
インターネットサービスプロバイダー(ISP)は正式に登録されている必要があります自律システム番号(ASN)。これらの番号はインターネット上の各ネットワークを一意に識別するため、重要です。それぞれに固有の自律システム番号が割り当てられます。自律システム(として) BGP ルーティングで使用されます。これにより、世界中のネットワーク オペレータ (ISP など) が他のネットワーク オペレータとルーティング情報を交換できるようになります。 BGP は、ISP または 2 つ以上の ISP に接続されている大企業に勤めている場合に理解する重要な概念です。これを使えます AS情報検索ツール ISP の AS 番号を確認します。
BGP は、RIP、OSPF、EIGRP などの他の一般的なルーティング プロトコルとは異なります。これら 3 つのルーティング プロトコルには 1 つの共通点があります。それらはすべてインテリア ゲートウェイ プロトコル (IGP) として分類され、宛先までの最短パス (ホップ カウント、コスト、遅延のいずれかの観点から) を見つけることに重点を置いています。これらは自律システム内でのみ使用されますが、必要な拡張性が欠けているため、インターネットのような大規模なネットワークでは使用されません。インターネットを介したルーティングや、異なる自律システム間のルーティングに関しては、最短パスを見つけることよりも、トラフィック パスを操作できることがはるかに重要です。ここで、外部ゲートウェイ プロトコル (EGP) が登場します。現在インターネット上で使用されている EGP は BGP だけです。たとえば、インターネット トラフィックがたとえばニュージーランドから西ヨーロッパまたは北米の誰かに到達するまでの経路を知りたい場合は、 それを見ることは可能です を使って BGP ルッキング グラス (インターネット ルーティング テーブルへのパブリック ビュー アクセスを持つルーター)。
IGP とは異なり、BGP は一連の属性を利用して各宛先への最適なパスを決定します。これらの属性は、4 つの異なるカテゴリにさらに分類できます。以下の表は、さまざまな下位区分をまとめたものです。
よく知られている必須 | BGP のすべての実装でサポートされており、すべての BGP アップデートに常に含まれています |
有名な裁量権 | すべての BGP 実装でサポートされており、オプションで BGP アップデートに含まれます。 |
オプションの他動詞 | BGP のすべての実装でサポートされているわけではありません。推移的は、非準拠の BGP ルーターが更新をピアに送信するときに、サポートされていない属性を変更せずに転送することを示します。 |
オプションの非推移的 | BGP のすべての実装でサポートされているわけではありません。非推移的は、非準拠の BGP ルーターが更新をピアに送信するときにサポートされていない属性を削除することを示します。 |
表 1.0 BGP 属性の 4 つの異なるカテゴリ
この記事では、BGP が属性のリストに基づいて宛先への最適なパスを選択する方法について説明します。
BGP ベスト パス選択アルゴリズム
BGP パスの選択は、最適パス アルゴリズムを通じて行われます。 BGP に同じ宛先への複数のルートが含まれている場合、BGP はそれらを連続的に分析または比較して、どのパスを選択するのが最も効率的かを判断します。属性は、次の表に示す特定の順序で比較されます。
1 | 重さ | 最も重みが高いパス。ローカルルーターが発信元ではないすべてのルートのデフォルト値は 0 です。 |
二 | ローカル設定 | ローカル優先度が最も高いパス。デフォルト値は 100 です。 |
3 | 地元発祥の | ローカルルーターが発信したパス。 |
4 | AS パスの長さ | AS パスの長さが最も短いパス。 |
5 | オリジンコード | 最低のオリジンコード。 |
6 | と | MED が最も低いパス。 |
7 | iBGP パス上の eBGP パス | iBGP (内部 BGP) パス上の eBGP (外部 BGP)。 |
8 | BGP ネクストホップへの最短 IGP パス | AS 内の BGP ネクスト ホップへの IGP メトリックが最も低いパス。 |
9 | 最古の道 | 最初に受信したパス。 |
10 | ルーターID | BGP 隣接ルータ ID が最も小さいパス。 |
十一 | 近隣IPアドレス | 最も低い近隣 IP アドレスを持つパス。 |
表 2.0 BGP 最適パス選択アルゴリズム
BGP はどのパスを経由しますか?さて、それはから始まります 重さ 上記の表 2.0 に示すように、BGP 属性リストの一番上にある属性です。 1 つのパスの重みがより優れている場合、BGP はそのパスを最適なパスとして選択します。重みが等しい場合は、次の属性に移動します。 ローカル設定 。 1 つのパスの方がローカル優先度が高い場合、そのパスが最適なパスとして選択されます。ローカル設定が等しい場合は、最適なパスを選択するためのタイブレーカーが確立されるまで、リストの次の属性に移動します。すべてのパスが同じ BGP 属性を持つ場合、最終的には最後の属性になります。 近隣IPアドレス 。各属性について詳しく説明します。
重さ: BGP 属性の Weight は、順序の優先順位の点でリストの最初にあります。 Weight 属性は受信ルートに適用され、最適な出口 (送信) パスが決定されます。体重について知っておくべき重要なポイントは次のとおりです。
- 重みはシスコ独自の属性であるため、他のルータ ベンダーはこれをサポートしていません
- BGP ネイバー間では渡されません
- ルーター上でローカルでのみ重要です
- 最も重みが高いパスが優先されます
ローカル ルーターから発信されるルートには、デフォルトで 32768 の重みが割り当てられます。他のすべてのルートには、デフォルトで重み 0 が割り当てられます。図 1.0 の図を使用すると、次のコマンドを使用して、特定のネイバーからアドバタイズされるすべてのルートの重み値を定義できます。
|_+_|ローカル設定: BGP 属性のローカル設定は、優先順位の点でリストの 2 番目です。また、複数のパスが存在する場合に AS を終了する方法を内部 BGP ルーターに通知するために使用できます。これは受信外部ルートに適用され、自律システムの最適な出口 (送信) パスが決定されます。ローカル設定について知っておく必要があるいくつかの重要なポイントを次に示します。
- 更新を送信するときに、ローカル設定が AS 内のすべての内部 BGP ルーターに送信されます
- 外部の BGP ネイバー間では渡されません
- ローカル設定はよく知られた任意の BGP 属性であるため、すべての BGP ルーターによって認識される必要があります。
- BGP アップデートでの存在はオプションです
- デフォルト値は 100 です
- ローカル優先度が最も高いパスが優先されます
ローカル設定は、0 ~ 4294967295 の範囲の 32 ビット数値です。図 1.0 の図を使用すると、次のコマンドを使用して、BGP のグローバル ベースで、すべての受信外部ルートのローカル設定値を定義できます。
|_+_|上記の設定の意味は、NYC_Router と ATL_Router が内部 BGP ネイバーへの更新に Local Preference 属性を含むことになります。 ATL_Router はローカル優先度が最も高いパスであるため、LOS_Router と NYC_Router はローカル AS の外部の宛先に到達するルートとしてそれを優先するようになります。
地元発: BGP 属性 Locally Originated は、その名前が示すとおり、ローカル ルーターが発信したパスを優先します。 BGP ルーターは、別のルーターが BGP にインストールしたルートよりも、BGP 自体にインストールしたルートを優先します。
AS パスの長さ: BGP 属性 AS-Path は 4 番目の BGP 属性です。通常、これはアウトバウンド (出口) ルートに適用され、最適なインバウンド (入口) パスが決定されます。 AS-Path について知っておくべき重要なポイントをいくつか示します。
- BGP は宛先に到達するために最短の AS パスを優先します
- 既存の AS パスに先頭に追加すると、AS パスが長くなります。
- AS パスを先頭に追加することでルーティングに影響を与え、受信トラフィックにとってルートが望ましくないものにすることができます。
トラフィックを優先パス経由で AS に入力したい場合は、特定の AS 番号を複数回追加できます。これにより、AS パスが長くなり、当然、受信トラフィックにとっては望ましくないルートになります。これは、次の構成を使用して実現できます。
|_+_|上記の設定の意味は、NYC_Router を経由するパスが最長の AS-Path を持つため、MAN_Router はネットワーク 10.30.1.1/20 に到達するために ATL_Router を経由するパスを優先することになります。
オリジンコード: BGP 属性の発信元コードは、ルートの送信元を識別します。 BGP テーブルで表示できる発信元コードは 3 つあります。
- IGP: BGP テーブルに IGP が表示されている場合は、ルートが内部ゲートウェイ プロトコル (RIP や OSPF など) から発信されていることを示します。これは、BGP network コマンドを使用して、BGP でネットワークを自分でアドバタイズしたことを意味します。原点コード「i」が最も好ましい。
- EGP: BGP テーブルに EGP が表示されている場合は、ルートが外部ゲートウェイ プロトコルから発信されていることを示します。ただし、EGP は時代遅れのルーティング プロトコルであり、現在は使用されていません。
- 不完全: BGP テーブルに不完全または不明な送信元が示されている場合は、(接続されたルート、静的ルート、または IGP ルートのいずれかから) 何かが BGP に再配布されたことを意味します。オリジンコード「?」は最も好ましくありません。
発信元コードは通常、次の出力に示すように、BGP ルーティング テーブルの各行の末尾にリストされます。
|_+_|上記のルーティング テーブルから、最初のエントリの末尾にある「i」は、10.30.0.0 ネットワークが IGP (おそらく BGP network コマンドを使用) 経由で発信されたことを示しています。 「?」最後のエントリの末尾にある は、ネットワーク 172.20.1.0 が AS 700 の BGP に再配布された可能性があることを示しています。
マルチ出口弁別器 (MED): BGP 属性 MED は AS 間で交換され、これを使用して、AS に入るために必要なパスを他の AS に通知できます。 MED について知っておくべき重要なポイントをいくつか示します。
- MED は隣接 AS 内のすべてのルーターに伝播されますが、他の AS には渡されません。
- これは、隣人に AS に入る方法を知らせるために使用できます。
- AS間で交換される
- MED は BGP として識別されます メトリック ルーティングテーブル上で
- 最も低い MED (メトリック) が優先パスになります
- デフォルトの MED 値は 0 です
図 1.0 の図では、AS 500 へのエントリ ポイントが 2 つあります。AS 700 がネットワーク 10.30.0.0/20 に到達するために ATL_Router を経由するパスを優先するようにするには、 メトリックを設定する このコマンドは、次の設定に示すようにルートマップとともに使用できます。
|_+_|以下の出力に示すように、MAN_Router の BGP ルーティング テーブルを調べると、NYC_Router からのルートのメトリックが高くなったため、そのパスがあまり望ましくなくなり、AS 700 が ATL_Router を経由してアクセスする必要があることがわかります。ネットワーク10.30.0.0/20
|_+_|BGP は 2 つの MED コマンドを使用します bgp 決定論的-med そして bgp 常に比較-med BGP ルーティング テーブル内の同じ宛先への複数のルートの比較順序の結果として発生する、最適ではないルーティング選択の問題の可能性を軽減します。どちらのコマンドもデフォルトでは無効になっています。つまり、MED 値はデフォルトでは異なる AS からのパス間で比較されません。
次の設定を使用して、AS 内のすべてのルーターで両方のコマンドを有効にできます。
|_+_|上記の設定では、BGP ルーティング テーブル内のルートの順序に関係なく、同じネットワークへの複数のルートが複数のルーター経由で受信された場合に、強制的に MED 値が比較されます。重要な違いは、bgp 決定論的-medからのルータが関係します と同じ 、一方、bgp always-compare-med には、からのルーターが関与します。 異なる AS 。
iBGP パス上の eBGP パス: iBGP パス上の BGP 属性 eBGP パスは、発信元コード属性と似ています。内部 BGP (iBGP) プロトコルは同じ AS 内で動作しますが、外部 BGP (eBGP) プロトコルは AS 間で動作します。最適パス アルゴリズムでは、iBGP よりも eBGP が優先されます。
BGP ネクストホップへの最短 IGP パス: この基準を使用すると、最適なパス選択アルゴリズムは、自律システム内の BGP ネクスト ホップよりも IGP 値が最も低いパスを優先します。
最も古いパス: BGP 属性の Oldest Path は、外部パスが受信された時期に基づいて外部パスを区別します。最適なパス選択アルゴリズムでは、最初に受信したパス (古いパス) が優先されるため、「最も古いパス」という用語が付けられます。
ルーターID: BGP 属性のルーター ID は、ルーター値が最も高い IP アドレスを指します。ループバック インターフェイスがある場合は、ループバック上の IP アドレスが使用されます。ルーター ID は手動で設定することもできます。これらの基準により、BGP の最適パス選択アルゴリズムは、最も小さいルーター ID を持つ BGP ルーターから発信されるパスを優先します。
ルーター ID が類似している場合、最適なパス選択アルゴリズムはクラスター リストに基づいて区別されます。クラスター リストの長さが最も短いパスが優先されます。
近隣IPアドレス: この時点で、すべてのパスが同じ BGP 属性を持つという事実に基づいて、BGP 最適パス選択アルゴリズムが最適パスを選択できなかった場合、最後の属性の近隣 IP アドレスが使用されることになります。この基準を使用すると、隣接 IP アドレスが最も小さいパスが最終的にタイブレーカーになります。
BGP よくある質問
BGP は AS パス属性とネクストホップ属性をどのように使用しますか?
BGP では、AS は自律システムであり、アドレス空間を意味します。ルーティングの場合、AS はルーターを表し、AS-path 属性には接続が通過したすべてのルーターがリストされます。ネクストホップ属性は、パス リストにつながる隣接ルータです。
属性以上に BGP の選択に影響を与えるものは何ですか?
BGP システムは、その属性に基づいて各パスのスコアを計算します。システムは、指定された目的地までの各パスのスコアを比較し、最も高いスコアを持つパスを選択します。ネクスト ホップ デバイスが利用できないパス、またはパスが次のホップとしてマークされているパスは無視されます。 同期されていない 。
BGP ではどのような属性がエクスポートされますか?
パスのエクスポートに含める必要がある必須の属性が 3 つあります。これらは、オリジン、AS パス、およびネクストホップです。