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