ベーシック BGP の概要
Cisco NX-OS は BGP バージョン 4 をサポートします。BGP v4 に組み込まれているマルチプロトコル拡張機能を使用すると、IP ルートおよび複数のレイヤ 3 プロトコル アドレス ファミリに関するルーティング情報を BGP に伝送させることができます。BGP では、他の BGP 対応スイッチとの間で TCP セッションを確立するための、信頼できるトランスポート プロトコルとして TCP を使用します。
BGP ではパスベクトル ルーティング アルゴリズムを使用して、BGP 対応ネットワーク スイッチまたは BGP スピーカ間でルーティング情報を交換します。各 BGP スピーカはこの情報を使用して、特定の宛先までのパスを判別し、なおかつルーティング ループを伴うパスを検出して回避します。ルーティング情報には、宛先の実際のルート プレフィックス、宛先に対する自律システムのパス、およびその他のパス属性が含まれます。
BGP はデフォルトで、宛先ホストまたはネットワークへのベスト パスとして、1 つだけパスを選択します。各パスは、BGP ベストパス分析で使用される well-known mandatory、well-known discretionary、optional transitive の各属性を伝送します。BGP ポリシーを設定し、これらの属性の一部を変更することによって、BGP パス選択を制御できます。詳細については、ルート ポリシーおよび BGP セッションのリセットのセクションを参照してください。
BGP は、ロード バランシングまたは等コスト マルチパス(ECMP)もサポートします。詳細については、「ロード シェアリングとマルチパス」の項を参照してください。
BGP 自律システム
自律システム(AS)とは、単一の管理エンティティにより制御されるネットワークです。自律システムは 1 つまたは複数の IGP および整合性のある一連のルーティング ポリシーを使用して、ルーティング ドメインを形成します。BGP は 16 ビットおよび 32 ビットの自律システム番号をサポートします。詳細については、「自律システム」を参照してください。
個々の BGP 自律システムは外部 BGP(eBGP)ピアリング セッションを通じて、ルーティング情報をダイナミックに交換します。同じ自律システム内の BGP スピーカは、内部 BGP(iBGP)を通じて、ルーティング情報を交換できます。
4 バイトの AS 番号のサポート
BGP では、2 バイトまたは 4 バイトの AS 番号をサポートしています。Cisco NX-OS は、プレーンテキスト表記で 4 バイト(つまり 32 ビットの整数)の AS 番号を表示します。4 バイトの AS 番号は、プレーンテキスト表記(たとえば 1 ~ 4294967295)または AS ドット表記(たとえば 1.0)で設定できます。詳細については、「自律システム」を参照してください。
アドミニストレーティブ ディスタンス
アドミニストレーティブ ディスタンスは、ルーティング情報源の信頼性を示す評価基準です。デフォルトでは、BGP は表に示されたアドミニストレーティブ ディスタンスを使用します。
ディスタンス |
デフォルト値 |
機能 |
---|---|---|
外部 |
20 |
eBGP から学習したルートに適用されます。 |
内部 |
200 |
iBGP から学習したルートに適用されます。 |
ローカル |
200 |
ルータを起点とするルートに適用されます。 |
(注) |
アドミニストレーティブ ディスタンスが BGP パス選択アルゴリズムに影響を与えることはありませんが、BGP で学習されたルートが IP ルーティング テーブルに組み込まれるかどうかを左右します。 |
詳細については、「アドミニストレーティブ ディスタンス」のセクションを参照してください。
BGP ピア
BGP スピーカーは他の BGP スピーカーを自動的に検出しません。ユーザ側で BGP スピーカ間の関係を設定する必要があります。BGP ピアは、別の BGP スピーカへのアクティブな TCP 接続を持つ BGP スピーカです。
BGP セッション
BGP は TCP ポート 179 を使用して、ピアとの TCP セッションを作成します。ピア間で TCP 接続が確立されると、各 BGP ピアは最初に相手と、それぞれのすべてのルートを交換し、BGP ルーティング テーブルを完成させます。初期交換以後、BGP ピアはネットワーク トポロジが変化したとき、またはルーティング ポリシーが変更されたときに、差分アップデートだけを送信します。更新と更新の間の非アクティブ期間には、ピアは「キープアライブ」と呼ばれる特別なメッセージを交換します。ホールド タイムは、は、次の BGP アップデートまたはキープアライブ メッセージを受信するまでに経過することが許容される、最大時間限度です。
Cisco NX-OS では、次のピア設定オプションをサポートしています。
-
個別の IPv4:BGP は、リモート アドレスと AS 番号が一致する BGP スピーカとのセッションを確立します。
-
単一 AS 番号の IPv4 プレフィックス ピア:BGP は、プレフィックスおよび AS 番号が一致する BGP スピーカとのセッションを確立します。
-
ダイナミック AS 番号プレフィックス ピア:BGP は、プレフィックスと、設定済み AS 番号のリストに載っている AS 番号と一致する BGP スピーカとのセッションを確立します。
プレフィックス ピアのダイナミック AS 番号
[/bookmap/topic/concept/concept/concept/conbody {"../../../nexus_3500/6_x/nexus_3548_unicast_routing_configuration_guide/maps_and_wrappers/g_configuring_advanced_bgp.xml"})Cisco NX-OS では、BGP セッションを確立する AS 番号の範囲またはリストを受け入れます。たとえば IPv4 プレフィックス 192.0.2.0/8 および AS 番号 33、66、99 を使用するように BGP を設定する場合、BGP は 192.0.2.1 および AS 番号 66 を使用してセッションを確立しますが、192.0.2.2 および AS 番号 50 からのセッションは拒否します。
Cisco NX-OS では、セッションが確立されるまで内部 BGP(iBGP)または外部 BGP(eBGP)セッションとして、プレフィックス ピアをダイナミック AS 番号と関連付けません。iBGP および eBGP の詳細については、を参照してください。
(注) |
ダイナミック AS 番号プレフィックス ピア設定は、BGP テンプレートから継承した個々の AS 番号の設定よりも優先します。詳細については、 の章を参照してください。 |
BGP ルータ ID
ピア間で BGP セッションを確立するには、BGP セッションの確立時に、OPEN メッセージで BGP ピアに送信されるルータ ID を BGP に設定する必要があります。BGP ルータ ID は 32 ビット値であり、IPv4 アドレスで表すことがよくあります。ルータ ID はユーザ側で設定できます。デフォルトでは、Cisco NX-OS によって、ルータのループバック インターフェイスの IPv4 アドレスにルータ ID が設定されます。ルータ上でループバック インターフェイスが設定されていない場合は、BGP ルータ ID を表すためにルータ上の物理インターフェイスに設定されている最上位の IPv4 アドレスがソフトウェアによって選択されます。BGP ルータ ID は、ネットワーク内の BGP ピアごとに一意である必要があります。
BGP にルータ ID が設定されていない場合、BGP ピアとのピアリング セッションを確立できません。
BGP パスの選択
BGP は複数の送信元から、同じルートのアドバタイズメントを受信する可能性がありますが、BGP はベスト パスとして、パスを 1 つだけ選択します。BGP は、そのパスを IP ルーティング テーブルに格納し、ピアにパスを伝達します。
所定のネットワークでパスが追加または削除されるたびに、ベストパス アルゴリズムが実行されます。ベストパス アルゴリズムは、ユーザが BGP 設定を変更した場合にも実行されます。BGP は所定のネットワークで使用できる一連の有効パスの中から、最適なパスを選択します。
Cisco NX-OS は次の手順で、BGP ベストパス アルゴリズムを実行します。
-
ステップ 1:2 つのパスを比較し、どちらが適切かを判別します(ステップ 1:パスのペアの比較のセクションを参照してください)。
-
ステップ 2:すべてのパスについて繰り返し、全体として最適なパスを選択するためにパスを比較する順序を決定します(ステップ 2:比較順序の決定のセクションを参照してください)。
-
ステップ 3:.新しいベスト パスを使用するに値するだけの差が新旧のベスト パスにあるかどうかを判別します(ステップ 3:ベスト パス変更の抑制の決定のセクションを参照してください)。
(注) |
重要なのは、パート 2 で決定される比較順序です。3 つのパス A、B、C があり、Cisco NX-OS が A と B を比較して A を選択し、Cisco NX-OS が B と C を比較して B を選択したとします。しかし、Cisco NX-OS が A と C を比較したときには、A を選択しないかもしれません。これは一部の BGP メトリックが同じネイバー自律システムからのパスだけに適用され、すべてのパスにわたっては適用されないからです。 |
パス選択には、BGP AS パス属性が使用されます。AS パス属性には、アドバタイズされたパスでたどる自律システム番号(AS 番号)のリストが含まれます。BGP 自律システムを自律システムの集合または連合に細分化する場合は、AS パスにローカル定義の自律システムを指定した連合セグメントが含まれます。
ステップ 1:パス ペアの比較
BGP ベストパス アルゴリズムの最初のステップでは、より適切なパスを判別するために 2 つのパスを比較します。次に、Cisco NX-OS が 2 つのパスを比較して、より適切なパスを判別する基本的なステップについて説明します。
-
Cisco NX-OS は、比較する有効なパスを選択します(たとえば、到達不能なネクスト ホップがあるパスは無効です)。
-
Cisco NX-OS は、重み値が最大のパスを選択します。
-
Cisco NX-OS は、ローカル プリファレンスが最大のパスを選択します。
-
パスの一方がローカル起点の場合、Cisco NX-OS はそのパスを選択します。
-
Cisco NX-OS は、AS パスが短い方のパスを選択します。
(注)
AS パス長を計算するときに、Cisco NX-OS は連合セグメントを無視し、AS セットを 1 として数えます。詳細については、「AS 連合」の項を参照してください。
-
Cisco NX-OS は、オリジンが低い方のパスを選択します。IGP は EGP よりも低いと見なされます。
-
Cisco NX-OS は、multi exit discriminator(MED)が小さい方のパスを選択します。
このステップが実行されるされないを左右する、一連のオプションを選択できます。Cisco NX-OS が両方のパスの MED を比較するのは、通常、同じ自律システムのピアからそれらのパスを受け取った場合です。それ以外の場合、Cisco NX-OS は MED の比較を省略します。
パスのピア自律システムに関係なく、ベストパス アルゴリズムの MED 比較が必ず実行されるように、Cisco NX-OS を設定することもできます。詳細については、「最適パス アルゴリズムの調整」を参照してください。この設定を行わなかった場合、MED 比較が実行されるかどうかは、次のように比較する 2 つのパスの AS パス属性によって決まります。
-
パスに AS パスがない、 または AS_SET から始まる AS パスがある場合、パスは内部であり、Cisco NX-OS は他の内部パスに対して MED を比較します。
-
AS パスが AS_SEQUENCE から始まる場合、ピア自律システムがシーケンスで最初の AS 番号になり、Cisco NX-OS は同じピア自律システムを持つ他のパスに対して MED を比較します。
-
AS パス に連合セグメントだけが含まれている場合、または連合セグメントで始まり、AS_SET が続いている場合、パスは内部であり、Cisco NX-OS は他の内部パスに対して MED を比較します。
-
AS パスが連合セグメントで始まり、AS_SEQUENCE が続いている場合、ピア自律システムが AS_SEQUENCE で最初の AS 番号になり、Cisco NX-OS は同じピア自律システムを持つ他のパスに対して MED を比較します。
(注)
Cisco NX-OS がパスで指定された MED 属性を受信しなかった場合、Cisco NX-OS は欠落 MED が使用可能な最大値になるようにユーザーがベストパス アルゴリズムを設定していない限り、 MED を 0 と見なします。詳細については、「最適パス アルゴリズムの調整」を参照してください。
-
非決定性の MED 比較機能がイネーブルの場合、ベスト パス アルゴリズムでは Cisco IOS スタイルの MED 比較が使用されます。詳細については、「最適パス アルゴリズムの調整」を参照してください。
-
-
一方のパスが内部ピアから、他方のパスが外部ピアからの場合、Cisco NX-OS は外部ピアからのパスを選択します。
-
ネクストホップ アドレスへの IGP メトリックが異なるバスの場合、Cisco NX-OS は IGP メトリックが小さい方のパスを選択します。
-
Cisco NX-OS は、最後に実行したベストパス アルゴリズムによって選択されたパスを使用します。
ステップ 1 ~ 9 のすべてのパス パラメータが同じ場合、ルータ ID を比較するようにベストパス アルゴリズムを設定できます。詳細については、「最適パス アルゴリズムの調整」を参照してください。パスに発信元属性が含まれている場合、Cisco NX-OS はその属性をルータ ID として使用して比較します。発信もと属性が含まれていない場合、Cisco NX-OS はパスを送信したピアのルータ ID を使用します。パス間でルータ ID が異なる場合、Cisco NX-OS はルータ ID が小さい方のパスを選択します。
(注)
属性の送信元をルータ ID として使用する場合は、2 つのパスに同じルータ ID を設定することができます。また、同じピア ルータとの 2 つの BGP セッションが可能です。したがって、同じルータ ID で 2 つのパスを受信できます。
-
Cisco NX-OS は、クラスタ長が短いほうのパスを選択します。クラスタ リスト属性の指定されたパスを受け取らなかった場合、クラスタ長は 0 です。
-
Cisco NX-OS は、IP アドレスが小さい方のピアから受信したパスを選択します。ローカル発生のパス(再配布のパスなど)は、ピア IP アドレスが 0 になります。
(注)
ステップ 9 以降が同じパスは、マルチパスを設定している場合、マルチパスに使用できます。詳細については、「ロード シェアリングとマルチパス」の項を参照してください。
ステップ 2:比較順序の決定
BGP ベストパス アルゴリズム実装の 2 番めのステップでは、Cisco NX-OS がパスを比較する順序を決定します。
-
Cisco NX-OS は、パスをグループに分けます。各グループ内で、Cisco NX-OS はすべてのパスにわたって MED を比較します。Cisco NX-OSは、ステップ 1:パス ペアの比較と同じルールを使用して、2 つのパス間で MED を比較できるかどうかを判断します。この比較では通常、ネイバー自律システムごとに 1 つずつグループが選択されます。bgp bestpath med always コマンドを設定すると、Cisco NX-OS はすべてのパスが含まれた 1 グループだけを選択します。
-
Cisco NX-OS は、常に最適な方を維持しながら、グループのすべてのパスを反復することによって、各グループのベスト パスを決定します。Cisco NX-OS は、各パスをそれまでの一時的なベスト パスと比較します。それまでのベスト パスよりも適切な場合は、そのパスが新しく一時的なベスト パスになり、Cisco NX-OS はグループの次のパスと比較します。
-
Cisco NX-OS は、ステップ 2 の各グループで選択されたベスト パスからなる、パス セットを形成します。Cisco NX-OS は、このパス セットでもステップ 2 と同様にそれぞれの比較を繰り返すことによって、全体としてのベスト パスを選択します。
ステップ 3:ベスト パス変更の抑制の決定
実装の次のパートでは、Cisco NX-OS が新しいベスト パスを使用するのか抑制するのかを決定します。新しいベスト パスが古いパスとまったく同じ場合、ルータは引き続き既存のベスト パスを使用できます(ルータ ID が同じ場合)。Cisco NX-OS では引き続き既存のベスト パスを使用することによって、ネットワークにおけるルート変更を回避できます。
抑制機能をオフにするには、ルータ ID を比較するようにベスト パス アルゴリズムを設定します。詳細については、「最適パス アルゴリズムの調整」を参照してください。この機能を設定すると、新しいベスト パスが常にに既存のベスト パスよりも優先されます。
次の条件が発生した場合に、ベスト パス変更を抑制できません。
-
既存のベスト パスが無効になった。
-
既存または新しいベスト パスを内部(または連合)ピアから受信したか、またはローカルに発生した(再配布などによって)。
-
同じピアからパスを受信した(パスのルータ ID が同じ)。
-
パス間で重み値、ローカル プリファレンス、オリジン、またはネクストホップ アドレスに対する IGP メトリックが異なっている。
-
パス間で MED が異なっている。
BGP およびユニキャスト RIB
BGP はユニキャスト RIB(ルーティング情報ベース)と通信して、ユニキャスト ルーティング テーブルに IPv4 ルートを格納します。ベスト パスの選択後、ベスト パスの変更をルーティング テーブルに反映させる必要があると BGP が判別した場合、BGP はユニキャスト RIB にルート アップデートを送信します。
BGP はユニキャスト RIB における BGP ルートの変更に関して、ルート通知を受け取ります。さらに、再配布をサポートする他のプロトコル ルートに関するルート通知を受け取ります。
BGP はネクストホップの変更に関する通知も、ユニキャスト RIB から受け取ります。BGP はこれらの通知を使用して、ネクストホップ アドレスへの到達可能性および IGP メトリックを追跡します。
ユニキャスト RIB でネクストホップ到達可能性または IGP メトリックが変更されるたびに、BGP は影響を受けるルートについて、ベスト パス再計算を開始させます。