BGP について
BGP は相互および内部の自律システムのルーティング プロトコルです。自律システムとは、共通の管理下にあり、共通のルーティング ポリシーを使用するネットワークまたはネットワーク グループです。BGP は、インターネットのルーティング情報を交換するために、インターネット サービス プロバイダー(ISP)間で使用されるプロトコルです。
BGP を使用する状況
大学や企業などの顧客ネットワークでは、そのネットワーク内でルーティング情報を交換するために OSPF などの内部ゲートウェイ プロトコル(IGP)を通常使用しています。顧客は ISP に接続し、ISP は BGP を使用して顧客のルートと ISP のルートを交換します。自律システム(AS)間で BGP を使用する場合、このプロトコルは外部 BGP(EBGP)と呼ばれます。サービス プロバイダーが BGP を使用して AS 内のルートを交換する場合、このプロトコルは内部 BGP(IBGP)と呼ばれます。
BGP は、IPv6 ネットワーク上で IPv6 プレフィックスのルーティング情報を伝送するために使用することもできます。
(注) |
BGPv6 デバイスは、クラスタに参加すると、ロギング レベル 7 が有効の場合ソフト トレースバックを生成します。 |
ルーティング テーブルの変更
BGP ネイバーは、ネイバー間で最初に TCP 接続を確立する際に、完全なルーティング情報を交換します。ルーティング テーブルで変更が検出された場合、BGP ルータはネイバーに対し、変更されたルートのみを送信します。BGP ルータは、定期的にルーティング アップデートを送信しません。また BGP ルーティング アップデートは、宛先ネットワークに対する最適パスのアドバタイズのみを行います。
(注) |
AS ループの検出は、完全な AS パス(AS_PATH 属性で指定される)をスキャンし、ローカルシステムの AS 番号が AS パスに現れないことを確認することによって実行されます。デフォルトでは、EBGP は学習したルートを同じピアにアドバタイズすることで、ループチェックを実行するときに ASA で追加の CPU サイクルが発生することを防ぐとともに、既存の発信更新タスクの遅延を防ぎます。 |
BGP により学習されたルートには、特定の宛先に対して複数のパスが存在する場合、宛先に対する最適なルートを決定するために使用されるプロパティが設定されています。これらのプロパティは BGP 属性と呼ばれ、ルート選択プロセスで使用されます。
-
[重要度(Weight)]:これは、シスコ定義の属性で、ルータに対してローカルです。[重要度(Weight)] 属性は、隣接ルータにアドバタイズされません。ルータが同じ宛先への複数のルートがあることを学習すると、[重要度(Weight)] 属性値が最も大きいルートが優先されます。
-
[ローカル プリファレンス(Local preference)]:この属性は、ローカル AS からの出力点を選択するために使用されます。[重要度(Weight)] 属性とは異なり、[ローカル プリファレンス(Local preference)] 属性は、ローカル AS 全体に伝搬されます。AS からの出力点が複数ある場合は、[ローカル プリファレンス(Local preference)] 属性値が最も高い出力点が特定のルートの出力点として使用されます。
-
[Multi-Exit 識別子(Multi-exit discriminator)]:メトリック属性である Multi-Exit 識別子(MED)は、メトリックをアドバタイズしている AS への優先ルートに関して、外部 AS への提案として使用されます。これが提案と呼ばれるのは、MED を受信している外部 AS がルート選択の際に他の BGP 属性も使用している可能性があるためです。MED メトリックが小さい方のルートが優先されます。
-
[発信元(Origin)]:この属性は、BGP が特定のルートについてどのように学習したかを示します。[発信元(Origin)] 属性は、次の 3 つの値のいずれかに設定することができ、ルート選択に使用されます。
-
[IGP]:ルートは発信側 AS の内部にあります。この値は、ネットワーク ルータ コンフィギュレーション コマンドを使用して BGP にルートを挿入する際に設定されます。
-
[EGP]:ルートは Exterior Border Gateway Protocol(EBGP)を使用して学習されます。
-
[未完了(Incomplete)]:ルートの送信元が不明であるか、他の方法で学習されています。未完了の発信元は、ルートが BGP に再配布されるときに発生します。
-
-
[AS_path]:ルート アドバタイズメントが自律システムを通過すると、ルート アドバタイズメントが通過した AS 番号が AS 番号の順序付きリストに追加されます。AS_path リストが最も短いルートのみ、IP ルーティング テーブルにインストールされます。
-
[ネクスト ホップ(Next hop)]:EBGP の [ネクスト ホップ(Next hop)] 属性は、アドバタイズしているルータに到達するために使用される IP アドレスです。EBGP ピアの場合、ネクスト ホップ アドレスは、ピア間の接続の IP アドレスです。IBGP の場合、EBGP のネクスト ホップ アドレスがローカル AS に伝送されます。
VPN でアドバタイズされたルートを iBGP ピアに再配布する場合は、next-hop-self コマンドを使用して、ルートが正しいネクストホップ IP で再配布されるようにします。
-
[コミュニティ(Community)]:この属性は、ルーティングの決定(承認、優先度、再配布など)を適用できる宛先をグループ化する方法、つまりコミュニティを提供します。ルート マップは、[コミュニティ(Community)] 属性を設定するために使用されます。定義済みの [コミュニティ(Community)] 属性は次のとおりです。
-
[no-export]:EBGP ピアにこのルートをアドバタイズしません。
-
[no-advertise]:このルートをどのピアにもアドバタイズしない。
-
[インターネット(internet)]:インターネット コミュニティにこのルートをアドバタイズします。ネットワーク内のすべてのルートがこのコミュニティに属します。
-
BGP パスの選択
BGP は、異なる送信元から同じルートの複数のアドバタイズメントを受信する場合があります。BGP はベスト パスとして 1 つのパスだけを選択します。このパスを選択すると、BGP は IP ルーティング テーブルに選択したパスを格納し、そのネイバーにパスを伝搬します。BGP は次の基準を使用して(示されている順序で)、宛先へのパスを選択します。
-
パスで指定されているネクスト ホップが到達不能な場合、この更新はドロップされます。
-
ウェイトが最大のパスが優先されます。
-
ウェイトが同じである場合、ローカルの優先順位が最大のパスが優先されます。
-
ローカルの優先順位が同じである場合、このルータで動作している BGP により発信されたパスが優先されます。
-
ルートが発信されていない場合、AS_path が最短のルートが優先されます。
-
すべてのパスの AS_path の長さが同じである場合、起点タイプが最下位のパス([IGP] は [EGP] よりも低く、[EGP] は [不完全(Incomplete)] よりも低い)が優先されます。
-
起点コードが同じである場合、最も小さい MED 属性を持つパスが優先されます。
-
パスの MED が同じである場合、内部パスより外部パスが優先されます。
-
それでもパスが同じである場合、最も近い IGP ネイバーを経由するパスが優先されます。
-
BGP マルチパス のルーティング テーブルで、複数のパスのインストールが必要かどうかを判断します。
-
両方のパスが外部の場合、最初に受信したパス(最も古いパス)が優先されます。
-
BGP ルータ ID で指定された、IP アドレスが最も小さいパスが優先されます。
-
送信元またはルータ ID が複数のパスで同じである場合、クラスタ リストの長さが最小のパスが優先されます。
-
最も小さいネイバー アドレスから発信されたパスが優先されます。
BGP マルチパス
BGP マルチパスでは、同一の宛先プレフィックスへの複数の等コスト BGP パスを IP ルーティング テーブルに組み込むことができます。その場合、宛先プレフィックスへのトラフィックは、組み込まれたすべてのパス間で共有されます。
これらのパスは、負荷共有のためのベスト パスと共にテーブルに組み込まれます。BGP マルチパスは、ベストパスの選択には影響しません。たとえば、ルータは引き続き、アルゴリズムに従っていずれかのパスをベスト パスとして指定し、このベスト パスをルータの BGP ピアにアドバタイズします。
同一宛先へのパスをマルチパスの候補にするには、これらのパスの次の特性がベスト パスと同等である必要があります。
-
Weight
-
ローカル プリファレンス
-
AS-PATH の長さ
-
オリジン コード
-
Multi Exit Discriminator(MED)
-
次のいずれかです。
-
ネイバー AS またはサブ AS(BGP マルチパスの追加前)
-
AS-PATH(BGP マルチパスの追加後)
-
一部の BGP マルチパス機能では、マルチパス候補に要件が追加されます。
-
パスは外部ネイバーまたは連合外部ネイバー(eBGP)から学習される必要があります。
-
BGP ネクスト ホップへの IGP メトリックは、ベストパス IGP メトリックと同等である必要があります。
内部 BGP(iBGP)マルチパス候補の追加要件を次に示します。
-
内部ネイバー(iBGP)からパスが学習される必要があります。
-
ルータが不等コスト iBGP マルチ パス用に設定されていない限り、BGP ネクストホップへの IGP メトリックは、ベスト パス IGP メトリックと同等です。
BGP はマルチパス候補から最近受信したパスのうち、最大 n 本のパスを IP ルーティング テーブルに挿入します。この n は、BGP マルチパスの設定時に指定した、ルーティング テーブルに組み込まれるルートの数です。マルチパスが無効な場合のデフォルト値は 1 です。
不等コスト ロード バランシングの場合、BGP リンク帯域幅も使用できます。
(注) |
内部ピアへの転送前に、eBGP マルチパスで選択されたベストパスに対し、同等の next-hop-self が実行されます。 |