基本的 BGP の設定

この章では、Cisco NX-OS デバイス上でボーダー ゲートウェイ プロトコル(BGP)を設定する方法について説明します

この章は、次の項で構成されています。

基本的な 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 は、プレーン テキスト表記法または AS ドット付き表記法の 2 バイトの自律システム(AS)番号、もしくはプレーン テキスト表記法の 4 バイトの AS 番号をサポートします。

4 バイトの AS 番号を使用して BGP が設定されている場合は、route-target auto VXLAN コマンドを使用できません。これは、AS 番号とともに(すでに 3 バイト値である)VNI がルート ターゲットの生成に使用されるためです。詳細については、『Cisco Nexus 9000 Series NX-OS VXLAN Configuration Guide』を参照してください。

アドミニストレーティブ ディスタンス

アドミニストレーティブ ディスタンスは、ルーティング情報源の信頼性を示す評価基準です。デフォルトで、BGP は表に示されたアドミニストレーティブ ディスタンスを使用します。

表 1. デフォルトの BGP アドミニストレーティブ ディスタンス

ディスタンス

デフォルト値

機能

外部

20

eBGP から学習したルートに適用されます。

内部

200

iBGP から学習したルートに適用されます。

ローカル

220

ルータを起点とするルートに適用されます。


(注)  


アドミニストレーティブ ディスタンスが 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 または IPv6 アドレス:BGP は、リモート アドレスと AS 番号が一致する BGP スピーカとのセッションを確立します。

  • 単一 AS 番号の IPv4 または IPv6 プレフィックス ピア:BGP は、プレフィックスおよび AS 番号が一致する BGP スピーカとのセッションを確立します。

  • ダイナミック AS 番号プレフィックス ピア:BGP は、プレフィックスと、設定済み AS 番号のリストに載っている AS 番号と一致する BGP スピーカとのセッションを確立します。

プレフィックス ピアおよびインターフェイス ピアのダイナミック AS 番号

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 リリース 9.3(6) 以降、ダイナミック AS 番号のサポートは、プレフィックス ピアに加えてインターフェイス ピアにも拡張されています。IPv4 および IPv6 アドレス ファミリ向け IPv6 リンク ローカル経由の BGP インターフェイス ピアリングの設定を参照してください。

Cisco NX-OS では、セッションが確立されるまで内部 BGP(iBGP)または外部 BGP(eBGP)セッションとして、プレフィックス ピアをダイナミック AS 番号と関連付けません。iBGP および eBGP の詳細については、高度な BGP の設定を参照してください。


(注)  


ダイナミック AS 番号プレフィックス ピア設定は、BGP テンプレートから継承した個々の AS 番号の設定よりも優先します。詳細については、高度な BGP の設定 を参照してください。


BGP ルータ ID

ピア間で BGP セッションを確立するには、BGP セッションの確立時に、OPEN メッセージで BGP ピアに送信されるルータ ID を BGP に設定する必要があります。BGP ルータ ID は 32 ビット値であり、IPv4 アドレスで表すことがよくあります。ルータ ID はユーザ側で設定できます。ルータ ID はデフォルトで、Cisco NX-OS によってルータのループバック インターフェイスの IPv4 アドレスに設定されます。ルータ上でループバック インターフェイスが設定されていない場合は、ルータ上の物理インターフェイスに設定されている最大の IPv4 アドレスが BGP ルータ ID を表すものとして、ソフトウェアによって選択されます。BGP ルータ ID は、ネットワーク内の BGP ピアごとに一意である必要があります。

BGP にルータ ID が設定されていない場合、BGP ピアとのピアリング セッションを確立できません。

各ルーティング プロセスには、ルータ ID が関連付けられています。ルータ ID は、システムのあらゆるインターフェイスに設定できます。ルータ ID を構成しなかった場合、Cisco NX-OS は次の基準に基づいてルータ識別子を選択します。

  • Cisco NX-OS は、他のあらゆるインターフェイスよりも loopback0 を優先します。loopback0 が存在しなかった場合、Cisco NX-OS は、他のあらゆるインターフェイス タイプよりも、最初のループバック インターフェイスを優先します。

  • ループバック インターフェイスを構成しなかった場合、Cisco NX-OS はルータ識別子として構成ファイルの最初のインターフェイスを使用します。Cisco NX-OS がルータ識別子を選択した後にいずれかのループバック インターフェイスを設定した場合は、ループバック インターフェイスがルータ識別子となります。ループバック インターフェイスが loopback0 ではなく、loopback0 を IP アドレスで設定した場合は、ルータ ID が loopback0 の IP アドレスに変更されます。

  • ルータ ID の元であるインターフェイスが変更されると、新しい IP アドレスがルータ ID となります。他のどのインターフェイスの IP アドレスが変更されても、ルータ ID はまったく変更されません。

BGP パスの選択

BGP は、プレフィックスごとの複数パスの送受信と、このパスのアドバタイジングをサポートします。追加 BGP パスの設定については、高度な BGP の設定 を参照してください。

所定のネットワークでパスが追加または削除されるたびに、ベストパス アルゴリズムが実行されます。ベストパス アルゴリズムは、ユーザが 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 パスにローカル定義の自律システムを指定した連合セグメントが含まれます。


(注)  


VXLAN の導入では、BGP パス選択プロセスが使用されます。このプロセスは、ローカルパスからリモートパスへの通常の選択とは異なります。EVPN アドレスファミリの場合、BGP は MAC モビリティ属性のシーケンス番号を比較し(存在する場合)、より高いシーケンス番号のパスを選択します。比較対象の両方のパスに属性があり、シーケンス番号が同じである場合、BGP はローカルで生成されたパスよりもリモートピアから学習したパスを優先します。詳細については、『Cisco Nexus 9000 Series NX-OS VXLAN Configuration Guide』を参照してください。


BGP パス選択:パスびペアの比較

BGP ベストパス アルゴリズムの最初のステップでは、より適切なパスを判別するために 2 つのパスを比較します。次に、Cisco NX-OS が 2 つのパスを比較して、より適切なパスを判別する基本的なステップについて説明します。

  1. Cisco NX-OS は、比較のために有効なパスを選択します(たとえば、到達不能なネクスト ホップがあるパスは無効です)。

  2. Cisco NX-OS は、重みが最大のパスを選択します。

  3. Cisco NX-OS は、ローカル プリファレンスが最大のパスを選択します。

  4. パスの一方がローカル起点の場合、Cisco NX-OS はそのパスを選択します。

  5. Cisco NX-OS は、AS パスが短い方のパスを選択します。


    (注)  


    AS パス長を計算するときに、Cisco NX-OS は連合セグメントを無視し、AS セットを 1 として数えます。詳細については、「AS 連合」の項を参照してください。


  6. Cisco NX-OS は、起点が低い方のパスを選択します。IGP は EGP よりも低いと見なされます。

  7. Cisco NX-OS は、Multi-Exit 識別子(MED)が小さい方のパスを選択します。

    パスのピア自律システムに関係なく、ベストパス アルゴリズムの MED 比較が必ず実行されるように、Cisco NX-OS を設定することもできます。詳細については、「最適パス アルゴリズムの調整」を参照してください。この設定を行わなかった場合、MED 比較が実行されるかどうかは、次のように比較する 2 つのパスの AS パス属性によって決まります。

    パスのピア自律システムに関係なく、ベストパス アルゴリズムの MED 比較が必ず実行されるように、Cisco NX-OS を設定することもできます。この設定を行わなかった場合、Cisco NX-OS によって MED 比較が実行されるかどうかは、次のように比較する 2 つのパスの AS パス属性によって決まります。

    1. パスに AS パスまたは AS_SET から始まる AS パスがない場合、パスは内部であり、Cisco NX-OS は他の内部パスに対して MED を比較します。

    2. AS パスが AS_SEQUENCE から始まる場合、ピア自律システムがシーケンスで最初の AS 番号になり、Cisco NX-OS は同じピア自律システムを持つ他のパスに対して MED を比較します。

    3. AS-path パス に連合セグメントだけが含まれている場合、または連合セグメントで始まり、AS_SET が続いている場合、パスは内部であり、Cisco NX-OS は他の内部パスに対して MED を比較します。

    4. AS パスが連合セグメントで始まり、AS_SEQUENCE が続いている場合、ピア自律システムが AS_SEQUENCE で最初の AS 番号になり、Cisco NX-OS は同じピア自律システムを持つ他のパスに対して MED を比較します。


      (注)  


      Cisco NX-OS がパスの指定された MED 属性を受信しなかった場合、Cisco NX-OS は欠落 MED が使用可能な最大値になるように、ユーザがベストパス アルゴリズムを設定していない限り、 MED を 0 と見なします。詳細については、「最適パス アルゴリズムの調整」を参照してください。


    5. 非決定性の MED 比較機能がイネーブルの場合、ベスト-パス アルゴリズムでは Cisco IOS スタイルの MED 比較が使用されます。

  8. 一方のパスが内部ピアから、他方のパスが外部ピアからの場合、Cisco NX-OS は外部ピアからのパスを選択します。

  9. ネクスト ホップ アドレスへの IGP メトリックが異なるバスの場合、Cisco NX-OS は IGP メトリックが小さい方のパスを選択します。

  10. Cisco NX-OS は、最後に実行したベストパス アルゴリズムによって選択されたパスを使用します。

    ステップ 1 ~ 9 のすべてのパス パラメータが同じ場合、最適パス アルゴリズムを構成し、「ルータ ID の比較」を構成して、両方のパスが eBGP であるときに、ルータ ID の比較を適用できます。その他のすべての場合、ルータ ID の比較はデフォルトで実行されます。

    詳細については、「最適パス アルゴリズムの調整」を参照してください。パスに発信元属性が含まれている場合、Cisco NX-OS はその属性をルータ ID として使用して比較します。発信もと属性が含まれていない場合、Cisco NX-OS はパスを送信したピアのルータ ID を使用します。パス間でルータ ID が異なる場合、Cisco NX-OS はルータ ID が小さい方のパスを選択します。


    (注)  


    属性の送信元をルータ ID として使用する場合は、2 つのパスに同じルータ ID を設定することができます。また、同じピア ルータとの 2 つの BGP セッションが可能です。したがって、同じルータ ID で 2 つのパスを受信できます。


  11. Cisco NX-OS は、クラスタ長が短いほうのパスを選択します。クラスタ リスト属性の指定されたパスを受け取らなかった場合、クラスタ長は 0 です。

  12. Cisco NX-OS は、IP アドレスが小さい方のピアから受信したパスを選択します。ローカル発生のパス(再配布のパスなど)は、ピア IP アドレスが 0 になります。


    (注)  


    ステップ 9 以降が同じパスは、マルチパスを設定している場合、マルチパスに使用できます。詳細については、「ロード シェアリングとマルチパス」の項を参照してください。


BGPパス選択:比較の順序の決定

BGP ベストパス アルゴリズム実装の 2 番目のステップでは、Cisco NX-OS がパスを比較する順序を決定します。

  1. Cisco NX-OS は、パスをグループに分けます。各グループ内で、Cisco NX-OS はすべてのパス間で MED を比較します。Cisco NX-OSは、「ステップ 1:パス ペアの比較」と同じルールを使用して、2 つのパス間で MED を比較できるかどうかを判断します。この比較では通常、ネイバー自律システムごとに 1 つずつグループが選択されます。bgp bestpath med always コマンドを設定すると、Cisco NX-OS はすべてのパスが含まれた 1 グループだけを選択します。

  2. Cisco NX-OS は、常に最適な方を維持しながら、グループのすべてのパスを反復することによって、各グループのベスト パスを決定します。Cisco NX-OS は、各パスをそれまでの一時的なベスト パスと比較します。それまでのベスト パスよりも適切な場合は、そのパスが新しく一時的なベスト パスになり、Cisco NX-OS はグループの次のパスと比較します。

  3. Cisco NX-OS は、ステップ 2 の各グループで選択されたベスト パスからなる、パス セットを形成します。Cisco NX-OS は、このパス セットでもステップ 2 と同様にそれぞれの比較を繰り返すことによって、全体としてのベスト パスを選択します。

BGP パス選択:最適パス変更抑制の決定

実装の次のパートでは、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 は影響を受けるルートについて、ベスト パス再計算を開始させます。

BGP は IPv6 ユニキャスト RIB と通信し、IPv6 ルートについて、これらの動作を実行します。

BGP プレフィックス独立コンバージェンス

BGP プレフィックス独立コンバージェンス(PIC)エッジ機能は、リンク障害が発生した場合に、BGP バックアップ パスへの BGP IP ルートのコンバージェンスを高速化します。

BGP PIC エッジ機能により、ネットワーク障害後の BGP コンバージェンスが向上します。このコンバージェンスは、IP ネットワークのエッジ障害に適用されます。この機能は、ルーティング情報ベース(RIB)と転送情報ベース(FIB)にバックアップ パスを作成して保存します。これによって、プライマリ パスの障害が発生した場合に、ただちにバックアップ パスが引き継ぐことができ、フォワーディング プレーンの迅速なフェールオーバーが可能になります。BGP PIC エッジは、IPv4 アドレス ファミリのみをサポートします。

BGP PIC エッジが設定されている場合、BGP は、プライマリ ベスト パスに加えて、2 番目のベスト パス(バックアップ パス)も計算します。BGP は、PIC サポートを持つプレフィクスのベスト パスとバックアップ パスの両方を BGP RIB にインストールします。また BGP は、API を介してリモートの次のホップとともにバックアップ パスを URIB にダウンロードし、その後バックアップとしてマークされたネクスト ホップで FIB を更新します。バックアップ パスにより、単一のネットワーク障害に対処する高速再ルーティング機能が提供されます。

この機能は、ローカル インターフェイスとリモート インターフェイス/リンクの両方の障害を検出して、バックアップ パスが使用されるようにします。

BGP PIC エッジは、ユニパスとマルチパスの両方をサポートします。

BGP PIC エッジ ユニパス

次の図に、BGP PIC エッジ ユニパスのトポロジを示します。

図 1. BGP PIC エッジ ユニパス

この図では次のようになっています。

  • S2-S4とS3-S5の間はeBGPセッションです。

  • S2-S3 の間は iBGP セッションです。

  • S1 からのトラフィックは S2 を使用し、また e1 インターフェイスを使用して Z1..Zn プレフィックスに到達します。

  • S2には、Z1…Znに到達するための 2 つのパスがあります。

    • S4 を経由するプライマリ パス

    • S5 を経由するバックアップ パス

この例では、S3 が S2 に対し、到達すべきプレフィクス Z1…Zn をアドバタイズします(それ自身をネクスト ホップとして)。BGP PIC エッジが有効になっている場合、S2 の BGP は、AS6500へのベストパス(S4 経由)とバックアップパス(S3 または S5 を経由)の両方を RIB にインストールします。その後、RIBは両方のルートを FIBにダウンロードします。

S2-S4 のリンクがダウンすると、S2 上の FIB がリンク障害を検出します。その場合、自動的にプライマリパスからバックアップに切り替えられ、新しいネクスト ホップ S3 がポイントされます。トラフィックは、FIB 内のローカルの高速再コンバージェンスにより迅速に再ルーティングされます。リンク障害イベントを学習した後、S2 上の BGP はベストパス(以前のバックアップ パス)を再計算し、RIB からネクスト ホップ S4 を削除し、S3 をプライマリ ネクスト ホップとして RIB に再インストールします。また、新しいバックアップあればそれも計算し、RIB に通知します。BGP PIC エッジ機能のサポートにより、FIB はプライマリ ルートでのリンク障害の検出時に、BGP が新しいベストパスを選択してコンバージェンスするまで待機することなく、使用可能なバックアップ ルートに瞬時に切り替えます。こうして、高速な再ルーティングを実現しています。

マルチパスを持つ BGP PIC エッジ

次の図に、BGP PIC エッジ マルチパス トポロジを示します。

図 2. BGP PIC エッジ マルチパス

上記のトポロジでは、次のように所定のプレフィックスに 6 つのパスがあります。

  • eBGP パス:e1、e2、e3

  • iBGPパス:i1、i2、i3

優先順位は、e1 > e2 > e3 > i1 > i2 > i3 です。

考えられるマルチパスの状況は次のとおりです。

  • 設定されたマルチパスなし:

    • ベストパス = e1

    • マルチパス-セット = []

    • バックアップ パス = e2

    • PIC 挙動:e1 が失敗すると、e2 がアクティブになります。

  • 双方向の eBGP マルチパスが設定されている

    • ベストパス = e1

    • マルチパス-セット = [e1, e2]

    • バックアップ パス = e3

    • PIC 挙動:アクティブなマルチパスが相互にバックアップされます。すべてのマルチパスが失敗すると、e3 がアクティブになります。

  • 3 方向の eBGP マルチパスが設定されている

    • ベストパス = e1

    • マルチパス-セット = [e1, e2, e3]

    • バックアップ パス = i1

    • PIC 挙動:アクティブなマルチパスが相互にバックアップされます。すべてのマルチパスが失敗すると、i1 がアクティブになります。

  • 4 方向の eiBGP マルチパスが設定されている

    • – ベストパス = e1

    • – マルチパスセット = [e1, e2, e3, i1]

    • – バックアップパス = i2

    • – PIC 挙動:アクティブなマルチパスが相互にバックアップされます。すべてのマルチパスが失敗すると、i2 がアクティブになります。

等コスト マルチパス(ECMP)がイネーブルになっている場合、どのマルチパスもバックアップ パスとして選択されません。

バックアップ パスを使用するマルチパスのシナリオでは、すべてのアクティブなマルチパスで同時障害が発生しても、高速コンバージェンスは生じません。

BGP PIC コア

コアの BGP Prefix Independent Convergence(PIC)は、ネットワーク障害後の BGP コンバージェンスを向上させます。たとえば、プロバイダーエッジ(PE)でリンクに障害が発生した場合、ルーティング情報ベース(RIB)は新しいネクスト ホップで転送情報ベース(FIB)を更新します。FIB は、失敗したネクスト ホップを指しているすべての BGP プレフィックス、新しいネクスト ホップを指すように更新する必要があります。これは、時間とリソースを消費する可能性があります。BGP PIC コアを有効にすると、FIB 内でプレフィックスが階層的にプログラムされます。すべてのプレフィックスは、再帰ネクスト ホップではなく、ECMP グループを指します。同じ障害が発生した場合、FIB は、プレフィックスを更新せず、新しいネクスト ホップを指すよう ECMP グループを更新するだけで済みます。これにより、BGP は IGP コンバージェンスを即座に活用できます。

BGP PIC の機能サポート マトリクス

表 2. BGP PIC の機能サポート マトリクス

BGP PIC

IPv4 ユニキャスト

IPv6 ユニキャスト

エッジ ユニパス

はい

非対応

マルチパスを持つエッジ(複数のアクティブ ECMP、バックアップ 1 つのみ)

はい

非対応

コア

はい

対応

BGP の仮想化

BGP は、仮想ルーティングおよび転送(VRF)インスタンスをサポートします。

BGP の前提条件

BGP を使用するには、次の前提条件を満たしている必要があります。

  • BGP を有効にする必要があります(「BGP の有効化」の項を参照)。

  • システムに有効なルータ ID を設定しておく必要があります。

  • Regional Internet Registry(RIR)によって割り当てられたか、またはローカル管理の AS 番号を取得しておく必要があります。

  • 再帰ネクストホップ解決に対応できる IGP を 1 つ以上設定する必要があります。

  • BGP セッションを確立するネイバー環境で、アドレス ファミリを設定する必要があります。

基本 BGP に関する注意事項と制約事項

BGP 設定時の注意事項および制約事項は、次のとおりです。

  • 十分な規模(ピアあたり数百のピアや数千のルートなど)では、デフォルトの 5分 間の古いパス タイマーでは、BGP コンバージェンスが完了しないためにタイマーが期限切れになる可能性があるため、グレースフル リスタート メカニズムが失敗する可能性があります。次のコマンドを使用して、コンバージェンス プロセスにかかる実際の時間を確認します。

    switch# show bgp vrf all all neighbors | in First|RIB
      Last End-of-RIB received 0.022810 after session start
      Last End-of-RIB sent 00:08:36 after session start
      First convergence 00:08:36 after session start with 398002 routes sent
    
  • Cisco NX-OS 9.3(5) 以降では、vPC ピアへの TTL 値が 1 のパケットがハードウェア転送されます。

  • レコード オプション(-Cr)を指定して SNMP バルクウォークを使用する場合、大規模なルーティング テーブル(250 K以上)では、SNMP パフォーマンスの低下を避けるために 10 個を超えるレコードを使用しないでください。

  • プレフィックス リスト内の名前は、大文字と小文字が区別されません。一意の名前を使用することを推奨します。大文字と小文字を変更して同じ名前を使用しないでください。たとえば、CTCPrimaryNetworks と CtcPrimaryNetworks は 2 つの異なるエントリではありません。

  • サポートされるプラットフォームに関する詳細は、サポートされるプラットフォーム を参照してください。

  • ダイナミック AS 番号プレフィックス ピア設定は、BGP テンプレートから継承した個々の AS 番号の設定よりも優先します。

  • AS 連合でプレフィックス ピアにダイナミック AS 番号を設定した場合、BGP はローカル連合の AS 番号のみでセッションを確立します。

  • ダイナミック AS 番号プレフィックス ピアで作成された BGP セッションは、設定済みの eBGP マルチホップ存続可能時間(TTL)値や直接接続ピアに対するディセーブル済みのチェックを無視します。

  • ルータ ID の自動変更およびセッション フラップを避けるために、BGP 用のルータ ID を設定します。

  • ピアごとに最大プレフィックス設定オプションを使用し、受信するルート数および使用するシステム リソース数を制限してください。

  • update-source を設定し、BGP/eBGP マルチホップ セッションでセッションを確立します。

  • 再配布を設定する場合は、BGP ポリシーを指定します。

  • VRF 内で BGP ルータ ID を定義します。

  • IPv6ネイバーの場合は、VRFごとにルータIDを設定することを推奨します。VRFにIPv4インターフェイスがない場合、IPv6 BGPネイバーはルータIDがIPv4アドレスである必要があるため、アップしません。数値が最小のループバックIPv4アドレスがルータIDとして選択されます。ループバックアドレスが存在しない場合は、VRFインターフェイスから最も小さいIPアドレスが選択されます。これが存在しない場合、BGPネイバー関係は確立されません。

  • キープアライブおよびホールド タイマーの値を小さくすると、BGP セッション フラップが発生する可能性があります。

  • advertisement-interval コマンドを使用すると、BGP ルーティング アップデートを送信する最小ルート アドバタイズメント インターバル(MRAI)を設定できます。

  • show ip bgp コマンドは BGP 設定の確認に使用できますが、代わりに show bgp コマンドを使用することを推奨します。

  • ルート マップ削除機能は、BGP に関連付けられたルート マップ全体の削除をブロックするメカニズムを追加します。ルート マップの削除がブロックされても、ルート マップ ステートメントへの変更は引き続き許可されます。

  • ルート マップに複数のシーケンスがある場合、少なくとも 1 つのシーケンスが使用可能になるまで、ユーザーはルート マップ シーケンスを削除できます。

  • ユーザーは、クライアントからのルート マップの前方参照ケースを持つことができます。ただし、ルート マップが作成されて関連付けられると、ルート マップの削除はブロックされます。

  • ブロック削除機能は、ノブを使用して動的に構成できます。

  • ルート マップへの BGP アソシエーションを削除すること、および単一のトランザクション ペイロードでルート マップ自体を削除することは許可されています。

  • ルート マップに BGP アソシエーションを追加することが許可されており、ルート マップの削除に対してエラーをスローする必要があります。

  • 以下は、デュアル ステージに関連する動作のリストです。

    • ノブと削除が同時に発生した場合、デュアル ステージは検証し、コミットせずにエラーをスローする必要があります。

    • ノブはすでに存在し、ルートマップ削除がデュアル ステージで発生する場合、エラーをスローする必要があります。

    • ルート マップと CLI ノブが異なる順序のシングル コミットである場合、エラーをスローする必要があります。

    • ノブが有効になっておらず、ルート マップの削除がデュアル ステージで発生した場合は、正常に実行する必要があります。

    • 1回のベリファイで、「cliノブが無効かつルートマップの削除」が実行された場合、ルートマップの削除が許可されます。

  • BGP テンプレートで使用されるルート マップがいずれの BGP ネイバーにも継承されない場合、ルート マップ全体の削除は引き続きブロックされます。

  • Cloudscale IPv6 リンクローカル BGP のサポートには、512 を超える ing-sup TCAM リージョンを切り分ける必要があります (これを有効にするには、リロードが必要です)。

  • Cisco NX-OS リリース 10.3(1)F 以降、BGP は Cisco Nexus 9808 プラットフォーム スイッチでサポートされます。

デフォルト設定

表 3. デフォルトの BGP パラメータ

パラメータ

デフォルト

BGP 機能

ディセーブル

キープアライブインターバル

60 秒

ホールド タイマー

180 秒

BGP PIC エッジ

ディセーブル

Auto-summary

常に無効

同期

常に無効

CLI コンフィギュレーション モード

以下の項では、BGP に対応する各 CLI コンフィギュレーション モードの開始方法について説明します。現行のモードで ? コマンドを入力すると、そのモードで使用可能なコマンドを表示できます。

グローバル コンフィギュレーション モード

グローバル コンフィギュレーション モードは、BGP プロセスを作成したり、AS 連合、ルート ダンプニングなどの拡張機能を設定したりする場合に使用します。詳細については、高度な BGP の設定を参照してください。

次に、ルータ コンフィギュレーション モードを開始する例を示します。

switch# configuration 
switch(config)# router bgp 64496
switch(config-router)# 

BGP は VRF をサポートしています。ネットワークで VRF を使用する場合は、適切な VRF 内で BGP を設定できます。設定の詳細については、「仮想化の設定」の項を参照してください。

次に、VRF コンフィギュレーション モードを開始する例を示します。

switch(config)# router bgp 64497
switch(config-router)# vrf vrf_A
switch(config-router-vrf)#

アドレス ファミリ設定モード

任意で、BGP がサポートするアドレス ファミリを設定できます。アドレス ファミリ用の機能を設定する場合は、ルータ 設定モードで address-family コマンドを使用します。ネイバーに対応する特定のアドレス ファミリを設定する場合は、ネイバー設定モードで address-family コマンドを使用します。

ルート再配布、アドレス集約、ロード バランシングなどの拡張機能を使用する場合は、アドレス ファミリを設定する必要があります。

次に、ルータ設定モードからアドレス ファミリ設定モードを開始する例を示します。

switch(config)# router bgp 64496
switch(config-router)# address-family ipv6 unicast
switch(config-router-af)#

次に、VRF を使用している場合に、VRF アドレス ファミリ設定モードを開始する例を示します。


switch(config)# router bgp 64497
switch(config-router)# vrf vrf_A
switch(config-router-vrf)# address-family ipv6 unicast
switch(config-router-vrf-af)#

ネイバー コンフィギュレーション モード

Cisco NX-OS には、BGP ピアを設定するためのネイバー コンフィギュレーション モードがあります。ネイバー コンフィギュレーション モードを使用して、ピアのあらゆるパラメータを設定できます。

次に、ネイバー コンフィギュレーション モードを開始する例を示します。

switch(config)# router bgp 64496
switch(config-router)# neighbor 192.0.2.1
switch(config-router-neighbor)# 

次に、VRF ネイバー コンフィギュレーション モードを開始する例を示します。

switch(config)# router bgp 64497
switch(config-router)# vrf vrf_A
switch(config-router-vrf)# neighbor 192.0.2.1
switch(config-router-vrf-neighbor)# 

ネイバー アドレス ファミリ コンフィギュレーション モード

アドレス ファミリ固有のネイバー設定を入力し、ネイバーのアドレス ファミリをイネーブルにするには、ネイバー コンフィギュレーション サブモード内のアドレス ファミリ コンフィギュレーション サブモードを使用できます。このモードは、所定のネイバーに認められるプレフィックス数の制限、eBGP のプライベート AS 番号の削除といった拡張機能に使用します。

RFC 5549 が導入されているため、IPv6 アドレスを持つネイバーに IPv4 アドレス ファミリを設定できます。

この例は、IPv4 アドレスでネイバーのための IPv4 ネイバー アドレス ファミリ設定モードを入力する方法を示します。

switch(config)# router bgp 64496
switch(config-router# neighbor 192.0.2.1
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor-af)#

この例は、IPv6 アドレスでネイバーのための IPv4 ネイバー アドレス ファミリ設定モードを入力する方法を示します。

switch(config)# router bgp 64496
switch(config-router# neighbor 2001:db8::/64 eui64
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor-af)#

この例は、IPv4 アドレスでネイバーのための VRF IPv4 ネイバー アドレス ファミリ設定モードを入力する方法を示します。

switch(config)# router bgp 64497
switch(config-router)# vrf vrf_A
switch(config-router-vrf)# neighbor 209.165.201.1
switch(config-router-vrf-neighbor)# address-family ipv4 unicast
switch(config-router-vrf-neighbor-af)#

この例は、IPv6 アドレスでネイバーのための VRF IPv4 ネイバー アドレス ファミリ設定モードを入力する方法を示します。

switch(config)# router bgp 64497
switch(config-router)# vrf vrf_A
switch(config-router-vrf)# neighbor 2001:db8::/64 eui64
switch(config-router-vrf-neighbor)# address-family ipv4 unicast
switch(config-router-vrf-neighbor-af)#

基本的 BGP の設定

ベーシック BGP を設定するには、BGP を有効にして、BGP ピアを設定する必要があります。ベーシック BGP ネットワークの設定は、いくつかの必須作業と多数の任意の作業からなります。BGP ルーティング プロセスおよび BGP ピアの設定は必須です。


(注)  


Cisco IOS の CLI に慣れている場合、この機能の Cisco NX-OS コマンドは従来の Cisco IOS コマンドと異なる点があるため注意が必要です。


BGPの有効化

BGP を設定するには、その前に BGP を有効にする必要があります。

手順の概要

  1. configure terminal
  2. [no] feature bgp
  3. (任意) show feature
  4. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

設定モードに入ります。

ステップ 2

[no] feature bgp

例:

switch(config)# feature bgp

BGP を有効にします。

この機能を無効化するには、このコマンドの no 形式を使用します。

ステップ 3

(任意) show feature

例:

switch(config)# show feature 
(任意)

有効および無効にされた機能を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config
startup-config
(任意)

この設定変更を保存します。

BGP インスタンスの作成

BGP インスタンスを作成し、BGP インスタンスにルータ ID を割り当てることができます。詳細については、「BGP ルータ ID」の項を参照してください。

始める前に

  • BGP をイネーブルにする必要があります(「BGP のイネーブル化」の項を参照)。

  • BGP はルータ ID(設定済みループバック アドレスなど)を取得できなければなりません。

手順の概要

  1. configure terminal
  2. [no] router bgp {autonomous-system-number | auto}
  3. router-id {ip-address | auto}
  4. (任意) address-family {ipv4|ipv6} {unicast|multicast}
  5. (任意) network {ip-address/length | ip-address mask mask} [route-map map-name]
  6. (任意) show bgp all
  7. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

[no] router bgp {autonomous-system-number | auto}

例:

switch(config)# router bgp 64496
switch(config-router)#

BGP を有効にして、ローカル BGP スピーカに AS 番号を割り当てます。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

auto オプションは、システム MAC アドレスに基づいて 4 バイトのプライベート自律システム番号を自動的に生成します。

BGP プロセスおよび関連する設定を削除するには、このコマンドで no オプションを使用します。

ステップ 3

router-id {ip-address | auto}

例:

switch(config-router)# router-id 192.0.2.255

(任意)BGP ルータ ID を設定します。この IP アドレスによって、この BGP スピーカを特定します。

「auto」オプションは、システム MAC アドレスに基づく BGP ルータ ID を有効にします。

ステップ 4

(任意) address-family {ipv4|ipv6} {unicast|multicast}

例:

switch(config-router)# address-family
ipv4 unicast
switch(config-router-af)#
(任意)

IPv4 または IPv6 アドレス ファミリに対してグローバル アドレス ファミリ コンフィギュレーション モードを開始します。

ステップ 5

(任意) network {ip-address/length | ip-address mask mask} [route-map map-name]

例:

switch(config-router-af)# network 10.10.10.0/24

例:

switch(config-router-af)# network 10.10.10.0 mask 255.255.255.0
(任意)

ネットワークを、この自律システムに対してローカルに設定し、BGP ルーティング テーブルに追加します。

エクステリア プロトコルの場合、network コマンドでアドバタイズするネットワークを制御します。内部プロトコルは network コマンドを使用して、アップデートの送信先を決定します。

ステップ 6

(任意) show bgp all

例:

switch(config-router-af)# show bgp all
(任意)

すべての BGP アドレス ファミリに関する情報を表示します。

ステップ 7

(任意) copy running-config startup-config

例:

switch(config-router-af)# copy running-config
startup-config
(任意)

この設定変更を保存します。

次に、IPv4 ユニキャスト アドレス ファミリを指定して BGP をイネーブルに設定し、アドバタイズするネットワークを 1 つ追加する例を示します。

switch# configure terminal
switch(config)# router bgp 64496
switch(config-router)# address-family ipv4 unicast
switch(config-router-af)# network 192.0.2.0
switch(config-router-af)# copy running-config startup-config

BGP インスタンスの再起動

BGP インスタンスを再起動し、そのインスタンスのすべてのピア セッションをクリアできます。

BGP インスタンスを再起動し、関連付けられたすべてのピアを削除するには、次のコマンドを使用します。

手順の概要

  1. restart bgpinstance-tag

手順の詳細

コマンドまたはアクション 目的

restart bgpinstance-tag

例:

switch(config)# restart bgp 201

BGP インスタンスを再起動し、すべてのピアリング セッションをリセットまたは再確立します。

BGP のシャットダウン

設定を維持しながら、BGP プロトコルをシャット ダウンして BGP を正常に無効にできます。

BGP をシャットダウンするには、ルータ コンフィギュレーション モードで次のコマンドを使用します。

手順の概要

  1. shutdown

手順の詳細

コマンドまたはアクション 目的

shutdown

例:

switch(config-router)# shutdown

BGP インスタンスを再起動し、すべてのピアリング セッションをリセットまたは再確立します。

BGP ピア設定

BGP プロセス内で BGP ピアを設定できます。BGP ピアごとに、関連付けられたキープアライブ タイマーとホールド タイマーがあります。これらのタイマーは、グローバルに設定することも、BGP ピアごとに設定することもできます。ピア設定はグローバル設定を上書きします。


(注)  


ピアごとに、ネイバー コンフィギュレーション モードでアドレス ファミリを設定する必要があります。


始める前に

  • BGP を有効にする必要があります(「BGP の有効化」の項を参照)。

手順の概要

  1. configure terminal
  2. router bgp autonomous-system-number
  3. neighbor {ip-address | ipv6-address} remote-as {as-number | external | internal }
  4. remote-as {as-number | external | internal}
  5. (任意) description text
  6. (任意) timerskeepalive-time hold-time
  7. (任意) shutdown
  8. address-family{ipv4|ipv6} {unicast|multicast}
  9. (任意) weight value
  10. (任意) show bgp {ipv4|ipv6} {unicast|multicast} neighbors
  11. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

router bgp autonomous-system-number

例:

switch(config)# router bgp 64496
switch(config-router)# 

BGP を有効にして、ローカル BGP スピーカに AS 番号を割り当てます。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

ステップ 3

neighbor {ip-address | ipv6-address} remote-as {as-number | external | internal }

例:

switch(config-router)# neighbor
209.165.201.1 remote-as 64497
switch(config-router)# neighbor

リモート BGP ピアの IPv4 アドレスまたは IPv6 アドレスおよび AS 番号を設定します。The ip-address 形式は x.x.x.x です。ipv6-address の形式は A:B::C:D です。

remote-as 値を手動で指定することなく、external および internal オプションを使用すると、eBGP および iBGP セッションを確立できます。

ステップ 4

remote-as {as-number | external | internal}

例:

switch(config-router-neighbor)# remote-as 64497

リモート外部 BGP ピアの AS 番号を構成します。

remote-as 値を手動で指定することなく、external および internal オプションを使用すると、eBGP および iBGP セッションを確立できます。

ステップ 5

(任意) description text

例:

switch(config-router-neighbor)#
description Peer Router B
switch(config-router-neighbor)# 
(任意)

ネイバーの説明を追加します。最大 80 文字の英数字ストリングを使用できます。

ステップ 6

(任意) timerskeepalive-time hold-time

例:

switch(config-router-neighbor)# timers
30 90
(任意)

ネイバーのキープアライブおよびホールド タイムを表す BGP タイマー値を追加します。指定できる範囲は 0 ~ 3600 秒です。デフォルト値は、キープアライブ タイムで 60 秒、ホールド タイムで 180 秒です。

(注)  

 

ホールドタイマーが 10 秒以下の BGP セッションは、BGP セッションが 60 秒以上稼働するまで有効になりません。セッションが 60 秒間稼働すると、ホールドタイマーは構成どおりに動作します。

ステップ 7

(任意) shutdown

例:

switch(config-router-neighbor)# shutdown
(任意)

この BGP ネイバーを管理目的でシャットダウンします。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。

ステップ 8

address-family{ipv4|ipv6} {unicast|multicast}

例:

switch(config-router-neighbor)#
address-family ipv4 unicast
switch(config-router-neighbor-af)#

ユニキャスト IPv4 または IPv6 アドレス ファミリに対応するネイバー アドレス ファミリ コンフィギュレーション モードを開始します。

ステップ 9

(任意) weight value

例:

switch(config-router-neighbor-af)#
weight 100
(任意)

このネイバーからのルートのデフォルトの重みを設定します。範囲は 0 ~ 65535 です。

このネイバーから学習したすべてのルートに、まず重みが割り当てられます。特定のネットワークへのルートが複数ある場合、最大の重みを持つルートが優先ルートとして選ばれます。set weight route-map コマンドで割り当てられた重みは、このコマンドで割り当てられた重みを上書きします。

BGP ピア ポリシー テンプレートを指定した場合、テンプレートのメンバーすべてが、このコマンドで設定された特性を継承します。

ステップ 10

(任意) show bgp {ipv4|ipv6} {unicast|multicast} neighbors

例:

switch(config-router-neighbor-af)# show
bgp ipv4 unicast neighbors
(任意)

BGP ピアに関する情報を表示します。

ステップ 11

(任意) copy running-config startup-config

例:

switch(config-router-neighbor-af)# copy
running-config startup-config
(任意)

この設定変更を保存します。

次に、BGP ピアの設定例を示します。

switch# configure terminal
switch(config)# router bgp 64496
switch(config-router)# neighbor 192.0.2.1 remote-as 64497
switch(config-router-neighbor)# description Peer Router B
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor)# weight 100
switch(config-router-neighbor-af)# copy running-config startup-config

プレフィックス ピアのダイナミック AS 番号の設定

BGP プロセス内で複数の BGP ピアを設定できます。BGP セッションの確立をルート マップの単一の AS 番号または複数の AS 番号に制限できます。

プレフィックス ピアのダイナミック AS 番号を介して設定された BGP セッションは、 ebgp-multihop を無視します コマンドと disable-connected-check コマンドを使用する必要があります。

ルート マップの AS 番号のリストは変更できますが、ルート マップ名を変更するには no neighbor コマンドを使用する必要があります。設定されたルート マップの AS 番号に変更を加えた場合、新しいセッションのみに影響します。

始める前に

  • BGP を有効にする必要があります(「BGP の有効化」の項を参照)。

手順の概要

  1. configure terminal
  2. router bgp autonomous-system-number
  3. neighbor prefix remote-as route-map map-name
  4. neighbor-as as-number
  5. (任意) show bgp {ipv4 | ipv6} {unicast | multicast} neighbors
  6. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

router bgp autonomous-system-number

例:

switch(config)# router bgp 64496
switch(config-router)#

BGP を有効にして、ローカル BGP スピーカに AS 番号を割り当てます。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

ステップ 3

neighbor prefix remote-as route-map map-name

例:

switch(config-router)# neighbor
192.0.2.0/8 remote-as routemap BGPPeers
switch(config-router-neighbor)#

IPv4 プレフィックスまたは IPv6 プレフィックス、およびリモート BGP ピアの受け付けられた AS 番号のリストのルート マップを設定します。IPv4 の prefix 形式は、x.x.x.x/長さ長さの範囲は 1 ~ 32 です。IPv6 の場合、prefix の形式は「A:B::C:D/長さ」です。長さの範囲は 1 ~ 128 です。

マップ-名 には最大 63 文字の英数字を使用できます。大文字と小文字は区別されます。

ステップ 4

neighbor-as as-number

例:

switch(config-router-neighbor)# remote-as 64497

リモート BGP ピアの AS 番号を設定します。

ステップ 5

(任意) show bgp {ipv4 | ipv6} {unicast | multicast} neighbors

例:

switch(config-router-neighbor-af)# show
bgp ipv4 unicast neighbors
(任意)

BGP ピアに関する情報を表示します。

ステップ 6

(任意) copy running-config startup-config

例:

switch(config-router-neighbor-af)# copy
running-config startup-config
(任意)

この設定変更を保存します。

次に、プレフィックス ピアのダイナミック AS 番号を設定する例を示します。

switch# configure terminal
switch(config)# route-map BGPPeers
switch(config-route-map)# match as-number 64496, 64501-64510
switch(config-route-map)# match as-number as-path-list List1, List2
switch(config-route-map)# exit
switch(config)# router bgp 64496
switch(config-router)# neighbor 192.0.2.0/8 remote-as route-map BGPPeers
switch(config-router-neighbor)# description Peer Router B
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-af)# end
switch# copy running-config startup-config

ルート マップについては、Route Policy Manager の設定を参照してください。

BGP PIC エッジの設定

BGP PIC エッジを設定するには、次の手順に従います。


(注)  


BGP PIC エッジ機能は、IPv4 アドレス ファミリのみをサポートします。


始める前に

BGP をイネーブルにする必要があります(「BGP のイネーブル化」の項を参照)。

手順の概要

  1. configure terminal
  2. router bgp autonomous-system-number
  3. address-family ipv4 unicast
  4. [no] additional-paths install backup
  5. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

router bgp autonomous-system-number

例:


switch(config)# router bgp 64496
switch(config-router)#

BGP を有効にして、ローカル BGP スピーカに AS 番号を割り当てます。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

ステップ 3

address-family ipv4 unicast

例:

switch(config-router)# address-family ipv4 unicast
switch(config-router-af)#

IPv4 アドレス ファミリに対応するアドレス ファミリ構成モードを開始します。

ステップ 4

[no] additional-paths install backup

例:

switch(config-router-af)#
    [no] additional-paths install backup

ルーティング テーブルにバックアップ パスをインストールする BGP をイネーブルにします。

ステップ 5

(任意) copy running-config startup-config

例:


switch(config-router-af)# end
switch# copy running-config startup-config

(任意)

この設定変更を保存します。

次の例は、IPv4 ネットワークで BGP PIC エッジをサポートするように、デバイスを設定する方法を示しています。


interface Ethernet2/2 
 ip address 1.1.1.5/24 
 no shutdown

interface Ethernet2/3 
 ip address 2.2.2.5/24 
 no shutdown

router bgp 100
 address-family ipv4 unicast 
  additional-paths install backup
 neighbor 2.2.2.6
   remote-as 100
   address-family ipv4 unicast

BGP が 2 つのネイバー(1.1.1.6 と 2.2.2.6)から同じプレフィックス(99.0.0.0/24 など)を受信した場合、両方のパスが URIB にインストールされます。一方はプライマリ パスになり、もう一方はバックアップ パスになります。

BGP 出力:


switch(config)# show ip bgp 99.0.0.0/24
BGP routing table information for VRF default, address family IPv4 Unicast BGP routing table entry 
for 99.0.0.0/24, version 4
Paths: (2 available, best #2)
Flags: (0x00001a) on xmit-list, is in urib, is best urib route

Path type: internal, path is valid, not best reason: Internal path, backup path AS-Path: 200 , path 
sourced external to AS
2.2.2.6 (metric 0) from 2.2.2.6 (2.2.2.6)
Origin IGP, MED not set, localpref 100, weight 0

Advertised path-id 1
Path type: external, path is valid, is best path AS-Path: 200 , path sourced external to AS
1.1.1.6 (metric 0) from 1.1.1.6 (99.0.0.1)
Origin IGP, MED not set, localpref 100, weight 0

Path-id 1 advertised to peers: 2.2.2.6

URIB 出力:


switch(config)# show ip route 99.0.0.0/24
IP Route Table for VRF "default" '*' denotes best ucast next-hop '**' denotes best mcast next-hop 
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
99.0.0.0/24, ubest/mbest: 1/0
*via 1.1.1.6, [20/0], 14:34:51, bgp-100, external, tag 200
via 2.2.2.6, [200/0], 14:34:51, bgp-100, internal, tag 200 (backup)

UFIB 出力:


switch# show forwarding route 123.1.1.0 detail module 8
Prefix 123.1.1.0/24, No of paths: 1, Update time: Wed Jul 11 19:00:12 2018
Vobj id: 141   orig_as: 65002   peer_as: 65100  rnh: 10.3.0.2
10.4.0.2           Ethernet8/4         DMAC: 0018.bad8.4dfd
packets: 2  bytes: 3484   Repair path  10.3.0.2   Ethernet8/3 DMAC: 0018.bad8.4dfd packets: 0  
bytes: 1

BGP PIC コアの設定

BGP PIC Core を設定するには、次のステップに従います。

手順の概要

  1. configure terminal
  2. [no] system pic-core
  3. copy running-config startup-config
  4. reload

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

[no] system pic-core

例:

switch(config)# system pic-core

PIC の有効化を管理します。

ステップ 3

copy running-config startup-config

例:

switch(config)# copy running-config startup-config

この設定変更を保存します。

ステップ 4

reload

例:

switch(config)# reload

デバイス全体をリブートします。

BGP 情報の消去

BGP 情報を消去するには、次のコマンドを使用します。

コマンド 目的

clear bgp all {neighbor | * | as-number | peer-template name | prefix} [vrf vrf-name]

すべてのアドレス ファミリから 1 つ以上のネイバーをクリアします。* を指定すると、すべてのアドレス ファミリのすべてのネイバーが消去されます。引数は次のとおりです。

  • neighbor :ネイバーの IPv4 または IPv6 アドレス。

  • as-number :自律システム番号。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

  • name :ピア テンプレート名。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

  • prefix :IPv4 または IPv6 プレフィックス。そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

clear bgp all dampening [ vrf vrf-name]

すべてのアドレス ファミリのルート フラップ ダンプニング ネットワークをクリアします。vrf-name には最大 64 文字の英数字文字列を指定します。大文字と-小文字は区別されます。

clear bgp all flap-statistics [vrf vrf-name]

すべてのアドレス ファミリのルート フラップ統計情報をクリアします。vrf-name には最大 64 文字の英数字文字列を指定します。大文字と-小文字は区別されます。

clear bgp {ipv4 | ipv6} {unicast | multicast} dampening [vrf vrf-name]

選択したアドレス ファミリのルート フラップ ダンプニング ネットワークをクリアします。vrf-name には最大 64 文字の英数字文字列を指定します。大文字と小文字は区別されます。

clear bgp {ipv4 | ipv6} {unicast | multicast} flap-statistics [vrf vrf-name]

選択したアドレス ファミリのルート フラップ統計情報をクリアします。vrf-name には最大 64 文字の英数字文字列を指定します。大文字と-小文字は区別されます。

clear bgp {ipv4 | ipv6 } {neighbor |* | as-number | peer-template name | prefix} [vrf vrf-name]

選択したアドレス ファミリから 1 つ以上のネイバーをクリアします。* を指定すると、そのアドレス ファミリのすべてのネイバーが消去されます。引数は次のとおりです。

  • neighbor :ネイバーの IPv4 または IPv6 アドレス。

  • as-number :自律システム番号。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

  • name :ピア テンプレート名。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

  • prefix :IPv4 または IPv6 プレフィックス。そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

clear bgp {ip {unicast | multicast}} {neighbor |* |as-number | peer-template name | prefix} [vrf vrf-name]

1 つ以上のネイバーをクリアします。* を指定すると、そのアドレス ファミリのすべてのネイバーが消去されます。引数は次のとおりです。

  • neighbor :ネイバーの IPv4 または IPv6 アドレス。

  • as-number :自律システム番号。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

  • name :ピア テンプレート名。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

  • prefix :IPv4 または IPv6 プレフィックス。そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

clear bgp dampening [ip-neighbor | ip-prefix] [vrf vrf-name]

1 つ以上のネットワークのルート フラップ ダンプニングをクリアします。引数は次のとおりです。

  • ip-neighbor :ネイバーの IPv4 アドレス。

  • ip-prefix : IPv4 そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

clear bgp flap-statistics [ip-neighbor | ip-prefix] [vrf vrf-name]

1 つ以上のネットワークのルート フラップ統計情報をクリアします。引数は次のとおりです。

  • ip-neighbor :ネイバーの IPv4 アドレス。

  • ip-prefix : IPv4 そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

clear ip mbgp {ip {unicast | multicast}} {neighbor | * | as-number | peer-template name | prefix} [vrf vrf-name]

1 つ以上のネイバーをクリアします。* を指定すると、そのアドレス ファミリのすべてのネイバーが消去されます。引数は次のとおりです。

  • neighbor :ネイバーの IPv4 または IPv6 アドレス。

  • as-number :自律システム番号。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。

  • name :ピア テンプレート名。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

  • prefix :IPv4 または IPv6 プレフィックス。そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

clear ip mbgp dampening [ip-neighbor | ip-prefix] [vrf vrf-name]

1 つ以上のネットワークのルート フラップ ダンプニングをクリアします。引数は次のとおりです。

  • ip-neighbor :ネイバーの IPv4 アドレス。

  • ip-prefix : IPv4 そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

clear ip mbgp flap-statistics [ip-neighbor | ip-prefix] [vrf vrf-name]

1 つ以上のネットワークのルート フラップ統計情報をクリアします。引数は次のとおりです。

  • ip-neighbor :ネイバーの IPv4 アドレス。

  • ip-prefix : IPv4 そのプレフィックス内のすべてのネイバーがクリアされます。

  • vrf-name :VRF 名。その VRF 内のすべてのネイバーがクリアされます。名称は 64 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

ベーシック BGP の設定の確認

BGP の設定を表示するには、次のいずれかの作業を行います。

コマンド 目的

show bgp all [summary] [vrf vrf-name]

すべてのアドレス ファミリについて、BGP 情報を表示します。

show bgp convergence [vrf vrf-name]

すべてのアドレス ファミリについて、BGP 情報を表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix community [regexp expression | [community] [no-advertise] [no-export] [no-export-subconfed]} [vrf vrf-name]

BGP コミュニティと一致する BGP ルートを表示します。

show bgp [vrf vrf-name] {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] community-list list-name [vrf vrf-name]

BGP コミュニティ リストと一致する BGP ルートを表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix extcommunity [regexp expression | [generic [non-transitive | transitive] aa4:nn [exact-match]} [vrf vrf-name]

BGP 拡張コミュニティと一致する BGP ルートを表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix extcommunity-list list-name [exact-match]} [vrf vrf-name]

BGP 拡張コミュニティ リストと一致する BGP ルートを表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix {dampening dampened-paths [regexp expression]} [vrf vrf-name]

BGP ルート ダンプニングの情報を表示します。ルート フラップ ダンプニング情報を消去するには、clear bgp dampening コマンドを使用します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix history-paths [regexp expression] [vrf vrf-name]

BGP ルート ヒストリ パスを表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix filter-list list-name [vrf vrf-name]

BGP フィルタ リストの情報を表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] neighbors [ip-address | ipv6-prefix] [vrf vrf-name]

BGP ピアの情報を表示します。これらのネイバーを消去するには、clear bgp neighbors コマンドを使用します。

show bgp {ipv4 | ipv6} unicast neighbors [ip-address | ipv6-prefix] { [advertised-routes |received-routes] } [ detail] [vrf vrf-name]

show bgp {ipv4 | ipv6} unicast neighbors [ip-address | ipv6-prefix] [routes] { [advertised |received] } [ detail] [vrf vrf-name]

すべてのルートの詳細情報を表示します。

  • インバウンド ルート マップを評価する前にピアから受信しました 。

  • アウトバウンド ルート マップによって属性を更新する前に、ピアにアドバタイズされます。

show bgp {ipv4 | ipv6} unicast neighbors [ip-address | ipv6-prefix] [routes] [ detail] [vrf vrf-name]

インバウンド ルート マップの評価後に、このピアから受信したすべてのルートの詳細情報を表示します。

show bgp {ipv4 | ipv6} unicast neighbors [ip-address | ipv6-prefix] [advertised-routes processed] [vrf vrf-name]

処理されたオプションを使用してアウトバウンド ルート マップによってパス属性を更新した後、ピアにアドバタイズされたすべてのルートの要約情報を表示します。

show bgp {ipv4 | ipv6} unicastneighbors [ip-address | ipv6-prefix] [advertised-routes processed] [ detail] [vrf vrf-name]

処理されたオプションを使用してアウトバウンド ルート マップによってパス属性を更新した後、ピアにアドバタイズされたすべてのルートの詳細情報を表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] neighbors [ip-address | ipv6-prefix] {nexthop | nexthop-database} [vrf vrf-name]

BGP ルート ネクスト ホップの情報を表示します。

show bgp paths

BGP パス情報を表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] policy name [vrf vrf-name]

BGP ポリシー情報を表示します。ポリシー情報を消去するには、clear bgp polic コマンドを使用します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] prefix-list list-name [vrf vrf-name]

プレフィックス リストと一致する BGP ルートを表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] received-paths [vrf vrf-name]

ソフト再構成用に保管されている BGP パスを表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] regexp expression [vrf vrf-name]

AS_path 正規表現と一致する BGP ルートを表示します。

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] route-map map-name [vrf vrf-name]

ルート マップと一致する BGP ルートを表示します。

show bgp peer-policy name [vrf vrf-name]

BGP ピア ポリシー情報を表示します。

show bgp peer-session name [vrf vrf-name]

show bgp peer-session

BGP ピア セッション情報を表示します。

show bgp peer-template name [vrf vrf-name]

BGP ピア テンプレート情報を表示します。ピア テンプレートのすべてのネイバーを消去するには、clear bgp peer-template コマンドを使用します。

show bgp process

BGP プロセス情報を表示します。

show {ipv | ipv6} bgp [options]

BGP のステータスと構成情報を表示します。

show {ipv | ipv6} mbgp [options]

BGP のステータスと構成情報を表示します。

show running-configuration bgp

現在実行中の BGP コンフィギュレーションを表示します。

BGP 統計情報のモニタリング

BGP の統計情報を表示するには、次のコマンドを使用します。

コマンド

目的

show bgp {ipv4 | ipv6} {unicast | multicast} [ip-address | ipv6-prefix] flap-statistics [vrf vrf-name]

BGP ルート フラップの統計情報を表示します。これらの統計情報をクリアするには、clear bgp flap-statistics command を使用します。

show bgp sessions [vrf vrf-name]

すべてのピアの BGP セッションを表示します。これらの統計情報をクリアするには、clear bgp sessions コマンドを使用します。

show bgp statistics

BGP 統計情報を表示します。

ベーシック BGP の設定例

次に、ベーシック BGP 設定の例を示します。

switch(config)# feature bgp
switch(config)# router bgp 64496
switch(config-router)# neighbor 2001:ODB8:0:1::55 remote-as 64496
switch(config-router)# address-family ipv6 unicast
switch(config-router-af)# next-hop-self

次の作業

次の機能の詳細については、高度な BGP の設定を参照してください。

  • ピア テンプレート

  • ルートの再配布

  • ルート マップ