BGP に関する情報
ボーダー ゲートウェイ プロトコル(BGP)は、Exterior Gateway Protocol です。自律システム間で、ループの発生しないルーティング情報交換を保証するドメイン間ルーティング システムを設定するために使用されます。自律システムは、同じ管理下で動作して RIP や OSPF などの Interior Gateway Protocol(IGP)を境界内で実行し、Exterior Gateway Protocol(EGP)を使用して相互接続されるルータで構成されます。BGP バージョン 4 は、インターネット内でドメイン間ルーティングを行うための標準 EGP です。このプロトコルは、RFC 1163、1267、および 1771 で定義されています。
(注) |
この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。 |
BGP ネットワーク トポロジ
同じ自律システム(AS)に属し、BGP アップデートを交換するルータは内部BGP(IBGP)を実行し、異なる自律システムに属し、BGP アップデートを交換するルータは外部 BGP(EBGP)を実行します。大部分のコンフィギュレーション コマンドは、EBGP と IBGP で同じですが、ルーティング アップデートが自律システム間で交換されるか(EBGP)、または AS 内で交換されるか(IBGP)という点で異なります。下の図に、EBGP と IBGP の両方を実行しているネットワークを示します。
外部 AS と情報を交換する前に、BGP は AS 内のルータ間で内部 BGP ピアリングを定義し、IGRP や OSPF など AS 内で稼働する IGP に BGP ルーティング情報を再配布して、AS 内のネットワークに到達することを確認します。
BGP ルーティング プロセスを実行するルータは、通常 BGP スピーカーと呼ばれます。BGP はトランスポート プロトコルとして伝送制御プロトコル(TCP)を使用します(特にポート 179)。ルーティング情報を交換するため相互に TCP 接続された 2 つの BGP スピーカーを、ピアまたはネイバーと呼びます。上の図では、ルータ A と B が BGP ピアで、ルータ B と C、ルータ C と D も同様です。ルーティング情報は、宛先ネットワークへの完全パスを示す一連の AS 番号です。BGP はこの情報を使用し、ループのない自律システム マップを作成します。
このネットワークの特徴は次のとおりです。
-
ルータ A および B では EBGP が、ルータ B および C では IBGP が稼働しています。EBGP ピアは直接接続されていますが、IBGP ピアは直接接続されていないことに注意してください。IGP が稼働し、2 つのネイバーが相互に到達するかぎり、IBGP ピアを直接接続する必要はありません。
-
AS 内のすべての BGP スピーカーは、相互にピア関係を確立する必要があります。つまり、AS 内の BGP スピーカーは、論理的な完全メッシュ型に接続する必要があります。BGP4 は、論理的な完全メッシュに関する要求を軽減する 2 つの技術(連合およびルート リフレクタ)を提供します。
-
AS 200 は AS 100 および AS 300 の中継 AS です。つまり、AS 200 は AS 100 と AS 300 間でパケットを転送するために使用されます。
BGP ピアは完全な BGP ルーティング テーブルを最初に交換し、差分更新だけを送信します。BGP ピアはキープアライブ メッセージ(接続が有効であることを確認)、および通知メッセージ(エラーまたは特殊条件に応答)を交換することもできます。
BGP の場合、各ルートはネットワーク番号、情報が通過した自律システムのリスト(自律システム パス)、および他のパス属性リストで構成されます。BGP システムの主な機能は、AS パスのリストに関する情報など、ネットワークの到達可能性情報を他の BGP システムと交換することです。この情報は、AS が接続されているかどうかを判別したり、ルーティング ループをプルーニングしたり、AS レベル ポリシー判断を行うために使用できます。
Cisco IOS が稼働しているルータやデバイスが IBGP ルートを選択または使用するのは、ネクストホップルータで使用可能なルートがあり、IGP から同期信号を受信している(IGP 同期が無効の場合は除く)場合です。複数のルートが使用可能な場合、BGP は属性値に基づいてパスを選択します。BGP 属性については、「BGP 判断属性の設定」の項を参照してください。
BGP バージョン 4 ではクラスレス ドメイン間ルーティング(CIDR)がサポートされているため、集約ルートを作成してスーパーネットを構築し、ルーティング テーブルのサイズを削減できます。CIDR は、BGP 内部のネットワーク クラスの概念をエミュレートし、IP プレフィックスのアドバタイズをサポートします。
NSF 認識
BGP NSF 認識機能は、Network Advantage ライセンスで IPv4 に対してサポートされます。。BGP ルーティングでこの機能を有効にするには、グレースフル リスタートを有効にする必要があります。隣接ルータが NSF 対応で、この機能が有効になっている場合、レイヤ 3 デバイスは、ルータに障害が発生してプライマリルートプロセッサ(RP)がバックアップ RP によって引き継がれる間、または無停止ソフトウェアアップグレードを行うためにプライマリ RP を手動でリロードしている間、隣接ルータからパケットを転送し続けます。
BGP ルーティングに関する情報
BGP ルーティングを有効にするには、BGP ルーティング プロセスを確立し、ローカル ネットワークを定義します。BGP はネイバーとの関係を完全に認識する必要があるため、BGP ネイバーも指定する必要があります。
BGP は、内部および外部の 2 種類のネイバーをサポートします。内部ネイバーは同じ AS 内に、外部ネイバーは異なる AS 内にあります。通常の場合、外部ネイバーは相互に隣接し、1 つのサブネットを共有しますが、内部ネイバーは同じ AS 内の任意の場所に存在します。
スイッチではプライベート AS 番号を使用できます。プライベート AS 番号は通常サービス プロバイダーによって割り当てられ、ルートが外部ネイバーにアドバタイズされないシステムに設定されます。プライベート AS 番号の範囲は 64512 ~ 65535 です。AS パスからプライベート AS 番号を削除するように外部ネイバーを設定するには、neighbor remove-private-as ルータ コンフィギュレーション コマンドを使用します。この結果、外部ネイバーにアップデートを渡すとき、AS パス内にプライベート AS 番号が含まれている場合は、これらの番号が削除されます。
AS が別の AS からさらに別の AS にトラフィックを渡す場合は、アドバタイズ対象のルートに矛盾が存在しないことが重要です。BGP がルートをアドバタイズしてから、ネットワーク内のすべてのルータが IGP を通してルートを学習した場合、AS は一部のルータがルーティングできなかったトラフィックを受信することがあります。このような事態を避けるため、BGP は IGP が AS に情報を伝播し、BGP が IGP と同期化されるまで、待機する必要があります。同期化は、デフォルトで有効に設定されています。AS が特定の AS から別の AS にトラフィックを渡さない場合、または自律システム内のすべてのルータで BGP が稼働している場合は、同期化を無効にし、IGP 内で伝送されるルート数を少なくして、BGP がより短時間で収束するようにします。
ルーティング ポリシーの変更
ピアのルーティング ポリシーには、インバウンドまたはアウトバウンド ルーティング テーブル アップデートに影響する可能性があるすべての設定が含まれます。BGP ネイバーとして定義された 2 台のルータは、BGP 接続を形成し、ルーティング情報を交換します。このあとで BGP フィルタ、重み、距離、バージョン、またはタイマーを変更する場合、または同様の設定変更を行う場合は、BGP セッションをリセットし、設定の変更を有効にする必要があります。
リセットには、ハード リセットとソフト リセットの 2 種類があります。Cisco IOS Release 12.1 以降では、事前に設定を行わなくても、ソフト リセットを使用できます。事前設定なしにソフト リセットを使用するには、両方の BGP ピアでソフト ルート リフレッシュ機能がサポートされていなければなりません。この機能は、ピアによって TCP セッションが確立されたときに送信される OPEN メッセージに格納されてアドバタイズされます。ソフト リセットを使用すると、BGP ルータ間でルート リフレッシュ要求およびルーティング情報を動的に交換したり、それぞれのアウトバウンド ルーティング テーブルをあとで再アドバタイズできます。
-
ソフト リセットによってネイバーからインバウンド アップデートが生成された場合、このリセットはダイナミック インバウンド ソフト リセットといいます。
-
ソフト リセットによってネイバーに一連のアップデートが送信された場合、このリセットはアウトバウンド ソフト リセットといいます。
ソフト インバウンド リセットが発生すると、新規インバウンド ポリシーが有効になります。ソフト アウトバウンド リセットが発生すると、BGP セッションがリセットされずに、新規ローカル アウトバウンド ポリシーが有効になります。アウトバウンド ポリシーのリセット中に新しい一連のアップデートが送信されると、新規インバウンド ポリシーも有効になる場合があります。
下の表に、ハード リセットとソフト リセットの利点および欠点を示します。
リセット タイプ |
利点 |
欠点 |
---|---|---|
ハード リセット |
メモリ オーバーヘッドが発生しません。 |
ネイバーから提供された BGP、IP、および FIB テーブルのプレフィックスが失われます。非推奨 |
発信ソフト リセット |
ルーティング テーブル アップデートが設定、保管されません。 |
インバウンド ルーティング テーブル アップデートがリセットされない。 |
ダイナミック インバウンド ソフト リセット |
BGP セッションおよびキャッシュがクリアされません。 ルーティング テーブル アップデートを保管する必要がなく、メモリ オーバーヘッドが発生しません。 |
両方の BGP ルータでルート リフレッシュ機能をサポートする必要があります(Cisco IOS Release 12.1 以降)。 |
BGP 判断属性
BGP スピーカーが複数の自律システムから受信したアップデートが、同じ宛先に対して異なるパスを示している場合、BGP スピーカーはその宛先に到達する最適パスを 1 つ選択する必要があります。選択されたパスは BGP ルーティング テーブルに格納され、ネイバーに伝播されます。この判断は、アップデートに格納されている属性値、および BGP で設定可能な他の要因に基づいて行われます。
BGP ピアはネイバー AS からプレフィックスに対する 2 つの EBGP パスを学習するとき、最適パスを選択して IP ルーティング テーブルに挿入します。BGP マルチパス サポートが有効で、同じネイバー自律システムから複数の EBGP パスを学習する場合、単一の最適パスの代わりに、複数のパスが IP ルーティング テーブルに格納されます。そのあと、パケット スイッチング中に、複数のパス間でパケット単位または宛先単位のロード バランシングが実行されます。maximum-paths ルータ コンフィギュレーション コマンドは、許可されるパス数を制御します。
これらの要因により、BGP が最適パスを選択するために属性を評価する順序が決まります。
-
パスで指定されているネクスト ホップが到達不能な場合、このアップデートは削除されます。BGP ネクスト ホップ属性(ソフトウェアによって自動判別される)は、宛先に到達するために使用されるネクスト ホップの IP アドレスです。EBGP の場合、通常このアドレスは neighbor remote-as router ルータ コンフィギュレーション コマンドで指定されたネイバーの IP アドレスです。ネクストホップの処理を無効にするには、ルートマップまたは neighbor next-hop-self ルータ コンフィギュレーション コマンドを使用します。
-
最大の重みのパスを推奨します(シスコ独自のパラメータ)。ウェイト属性はルータにローカルであるため、ルーティング アップデートで伝播されません。デフォルトでは、ルータ送信元のパスに関するウェイト属性は 32768 で、それ以外のパスのウェイト属性は 0 です。最大の重みのルートを推奨します。重みを設定するには、アクセスリスト、ルートマップ、または neighbor weight ルータ コンフィギュレーション コマンドを使用します。
-
ローカル プリファレンス値が最大のルートを推奨します。ローカル プリファレンスはルーティング アップデートに含まれ、同じ AS 内のルータ間で交換されます。ローカル初期設定属性のデフォルト値は 100 です。ローカルプリファレンスを設定するには、bgp default local-preference ルータ コンフィギュレーション コマンドまたはルートマップを使用します。
-
ローカル ルータ上で稼働する BGP から送信されたルートを推奨します。
-
AS パスが最短のルートを推奨します。
-
送信元タイプが最小のルートを推奨します。内部ルートまたは IGP は、EGP によって学習されたルートよりも小さく、EGP で学習されたルートは、未知の送信元のルートまたは別の方法で学習されたルートよりも小さくなります。
-
想定されるすべてのルートについてネイバー AS が同じである場合は、MED メトリック属性が最小のルートを推奨します。MED を設定するには、ルートマップまたは default-metric ルータ コンフィギュレーション コマンドを使用します。IBGP ピアに送信されるアップデートには、MED が含まれます。
-
内部(IBGP)パスより、外部(EBGP)パスを推奨します。
-
最も近い IGP ネイバー(最小の IGP メトリック)を通って到達できるルートを推奨します。ルータは、AS 内の最短の内部パス(BGP のネクストホップへの最短パス)を使用し、宛先に到達するためです。
-
次の条件にすべて該当する場合は、このパスのルートを IP ルーティング テーブルに挿入してください。
-
最適ルートと目的のルートがともに外部ルートである
-
最適ルートと目的のルートの両方が、同じネイバー自律システムからのルートである
-
maximum-paths が有効である
-
-
マルチパスが有効でない場合は、BGP ルータ ID の IP アドレスが最小であるルートを推奨します。通常、ルータ ID はルータ上の最大の IP アドレスまたはループバック(仮想)アドレスですが、実装に依存することがあります。
ルート マップ
BGP 内でルート マップを使用すると、ルーティング情報を制御、変更したり、ルーティング ドメイン間でルートを再配布する条件を定義できます。各ルート マップには、ルート マップを識別する名前(マップ タグ )およびオプションのシーケンス番号が付いています。
BGP フィルタリング
BGP アドバタイズメントをフィルタリングするには、as-path access-list グローバル コンフィギュレーション コマンドや neighbor filter-list ルータ コンフィギュレーション コマンドなどの AS パスフィルタを使用します。neighbor distribute-list ルータ コンフィギュレーション コマンドとアクセスリストを併用することもできます。distribute-list フィルタはネットワーク番号に適用されます。distribute-list コマンドの詳細については、「ルーティングアップデートのアドバタイズおよび処理の制御」の項を参照してください。
ネイバー単位でルート マップを使用すると、アップデートをフィルタリングしたり、さまざまな属性を変更したりできます。ルート マップは、インバウンド アップデートまたはアウトバウンド アップデートのいずれかに適用できます。ルート マップを渡すルートだけが、アップデート内で送信または許可されます。着信および発信の両方のアップデートで、AS パス、コミュニティ、およびネットワーク番号に基づくマッチングがサポートされています。AS パスのマッチングには match as-path access-list ルートマップコマンド、コミュニティに基づくマッチングには match community-list ルートマップコマンド、ネットワークに基づくマッチングには ip access-list グローバル コンフィギュレーション コマンドが必要です。
BGP フィルタリングのプレフィックス リスト
neighbor distribute-list ルータ コンフィギュレーション コマンドを含む多数の BGP ルート フィルタリング コマンドでは、アクセスリストの代わりにプレフィックスリストを使用できます。プレフィックス リストを使用すると、大規模リストのロードおよび検索パフォーマンスが改善し、差分更新がサポートされ、コマンドライン インターフェイス(CLI)設定が簡素化され、柔軟性が増すなどの利点が生じます。
プレフィックス リストによるフィルタリングでは、アクセス リストの照合の場合と同様に、プレフィックス リストに記載されたプレフィックスとルートのプレフィックスが照合されます。一致すると、一致したルートが使用されます。プレフィックスが許可されるか、または拒否されるかは、次に示すルールに基づいて決定されます。
-
空のプレフィックス リストはすべてのプレフィックスを許可します。
-
特定のプレフィックスがプレフィックス リストのどのエントリとも一致しなかった場合、実質的に拒否されたものと見なされます。
-
指定されたプレフィックスと一致するエントリがプレフィックス リスト内に複数存在する場合は、シーケンス番号が最小であるプレフィックス リスト エントリが識別されます。
デフォルトでは、シーケンス番号は自動生成され、5 ずつ増分します。シーケンス番号の自動生成を無効にした場合は、エントリごとにシーケンス番号を指定する必要があります。シーケンス番号を指定する場合の増分値に制限はありません。増分値が 1 の場合は、このリストに追加エントリを挿入できません。増分値が大きい場合は、値がなくなることがあります。
BGP コミュニティ フィルタリング
BGP コミュニティ フィルタリングは、COMMUNITIES 属性の値に基づいてルーティング情報の配信を制御する BGP の方法の 1 つです。この属性によって、宛先はコミュニティにグループ化され、コミュニティに基づいてルーティング判断が適用されます。この方法を使用すると、ルーティング情報の配信制御を目的とする BGP スピーカーの設定が簡単になります。
コミュニティは、共通するいくつかの属性を共有する宛先のグループです。各宛先は複数のコミュニティに属します。AS 管理者は、宛先が属するコミュニティを定義できます。デフォルトでは、すべての宛先が一般的なインターネット コミュニティに属します。コミュニティは、過渡的でグローバルなオプションの属性である、COMMUNITIES 属性(1 ~ 4294967200 の数値)によって識別されます。事前に定義された既知のコミュニティの一部を、次に示します。
-
internet :このルートをインターネット コミュニティにアドバタイズします。すべてのルータが所属します。
-
no-export :EBGP ピアにこのルートをアドバタイズしません。
-
no-advertise :どのピア(内部または外部)にもこのルートをアドバタイズしません。
-
local-as :ローカルな AS 外部のピアにこのルートをアドバタイズしません。
コミュニティに基づき、他のネイバーに許可、送信、配信するルーティング情報を制御できます。BGP スピーカーは、ルートを学習、アドバタイズ、または再配布するときに、ルートのコミュニティを設定、追加、または変更します。ルートを集約すると、作成された集約内の COMMUNITIES 属性に、すべての初期ルートの全コミュニティが含まれます。
コミュニティ リストを使用すると、ルート マップの match 句で使用されるコミュニティ グループを作成できます。さらに、アクセス リストの場合と同様、一連のコミュニティ リストを作成することもできます。ステートメントは一致が見つかるまでチェックされ、1 つのステートメントが満たされると、テストは終了します。
BGP ネイバーおよびピア グループ
通常、BGP ネイバーの多くは同じアップデート ポリシー(同じアウトバウンド ルート マップ、配信リスト、フィルタ リスト、アップデート送信元など)を使用して設定されます。アップデート ポリシーが同じネイバーをピア グループにまとめると設定が簡単になり、アップデートの効率が高まります。多数のピアを設定した場合は、この方法を推奨します。
BGP ピア グループを設定するには、ピア グループを作成し、そこにオプションを割り当てて、ピア グループ メンバーとしてネイバーを追加します。ピアグループを設定するには、neighbor ルータ コンフィギュレーション コマンドを使用します。デフォルトでは、ピア グループ メンバーは remote-as(設定されている場合)、version、update-source、out-route-map、out-filter-list、out-dist-list、minimum-advertisement-interval、next-hop-self など、ピア グループの設定オプションをすべて継承します。すべてのピア グループ メンバーは、ピア グループに対する変更を継承します。また、アウトバウンド アップデートに影響しないオプションを無効にするように、メンバーを設定することもできます。
集約ルート
クラスレス ドメイン間ルーティング(CIDR)を使用すると、集約ルート(またはスーパーネット)を作成して、ルーティング テーブルのサイズを最小化できます。BGP 内に集約ルートを設定するには、集約ルートを BGP に再配布するか、または BGP ルーティング テーブル内に集約エントリを作成します。BGP テーブル内に特定のエントリがさらに 1 つまたは複数存在する場合は、BGP テーブルに集約アドレスが追加されます。
ルーティング ドメイン コンフェデレーション
IBGP メッシュを削減する方法の 1 つは、自律システムを複数のサブ自律システムに分割して、単一の自律システムとして認識される単一の連合にグループ化することです。各自律システムは内部で完全にメッシュ化されていて、同じコンフェデレーション内の他の自律システムとの間には数本の接続があります。異なる自律システム内にあるピアでは EBGP セッションが使用されますが、ルーティング情報は IBGP ピアと同様な方法で交換されます。具体的には、ネクスト ホップ、MED、およびローカル プリファレンス情報は維持されます。すべての自律システムで単一の IGP を使用できます。
BGP ルート リフレクタ
BGP では、すべての IBGP スピーカーを完全メッシュ構造にする必要があります。外部ネイバーからルートを受信したルータは、そのルートをすべての内部ネイバーにアドバタイズする必要があります。ルーティング情報のループを防ぐには、すべての IBGP スピーカーを接続する必要があります。内部ネイバーは、内部ネイバーから学習されたルートを他の内部ネイバーに送信しません。
ルート リフレクタを使用すると、学習されたルートをネイバーに渡す場合に他の方法が使用されるため、すべての IBGP スピーカーを完全メッシュ構造にする必要はありません。IBGP ピアをルート リフレクタに設定すると、その IBGP ピアは IBGP によって学習されたルートを一連の IBGP ネイバーに送信するようになります。ルート リフレクタの内部ピアには、クライアント ピアと非クライアント ピア(AS 内の他のすべてのルータ)の 2 つのグループがあります。ルート リフレクタは、これらの 2 つのグループ間でルートを反映させます。ルート リフレクタおよびクライアント ピアは、クラスタを形成します。非クライアント ピアは相互に完全メッシュ構造にする必要がありますが、クライアント ピアはその必要はありません。クラスタ内のクライアントは、そのクラスタ外の IBGP スピーカーと通信しません。
アドバタイズされたルートを受信したルート リフレクタは、ネイバーに応じて、次のいずれかのアクションを実行します。
-
外部 BGP スピーカーからのルートをすべてのクライアントおよび非クライアント ピアにアドバタイズします。
-
非クライアント ピアからのルートをすべてのクライアントにアドバタイズします。
-
クライアントからのルートをすべてのクライアントおよび非クライアント ピアにアドバタイズします。したがって、クライアントを完全メッシュ構造にする必要はありません。
通常、クライアントのクラスタにはルート リフレクタが 1 つあり、クラスタはルート リフレクタのルータ ID で識別されます。冗長性を高めて、シングル ポイントでの障害を回避するには、クラスタに複数のルート リフレクタを設定する必要があります。このように設定した場合は、ルート リフレクタが同じクラスタ内のルート リフレクタからのアップデートを認識できるように、クラスタ内のすべてのルート リフレクタに同じクラスタ ID(4 バイト)を設定する必要があります。クラスタを処理するすべてのルート リフレクタは完全メッシュ構造にし、一連の同一なクライアント ピアおよび非クライアント ピアを設定する必要があります。
ルート ダンプニング
ルート フラップ ダンプニングは、インターネットワーク内でフラッピング ルートの伝播を最小化するための BGP 機能です。ルートの状態が使用可能、使用不可能、使用可能、使用不可能という具合に、繰り返し変化する場合、ルートはフラッピングと見なされます。ルート ダンプニングが有効の場合は、フラッピングしているルートにペナルティ値が割り当てられます。ルートの累積ペナルティが、設定された制限値に到達すると、ルートが稼働している場合であっても、BGP はルートのアドバタイズメントを抑制します。再使用限度は、ペナルティと比較される設定可能な値です。ペナルティが再使用限度より小さくなると、起動中の抑制されたルートのアドバタイズメントが再開されます。
IBGP によって取得されたルートには、ダンプニングが適用されません。このポリシーにより、IBGP ピアのペナルティが AS 外部のルートよりも大きくなることはありません。
条件付き BGP ルートの注入
BGP を通じてアドバタイズされるルートは、通常、使用されるルートの数が最小化され、グローバル ルーティング テーブルのサイズが小さくなるように集約されます。しかし、共通のルート集約では、より具体的なルーティング情報(より正確であるが、パケットを宛先に転送するために必要なわけではない)がわかりにくくなってしまいます。ルーティングの精度は、共通のルート集約により低下します。これは、トポロジ的に大きな領域に広がる複数のアドレスやホストを表すプレフィックスを 1 つのルートに正確に反映させることはできないからです。シスコ ソフトウェアには、プレフィックスを BGP 由来とする方法がいくつか用意されています。BGP 条件付きルート注入機能の導入以前は、既存の方法として、再配布や network または aggregate-address コマンドが使用されていました。ただし、これらの方法は、より具体的なルーティング情報(開始されるルートと一致するもの)がルーティング テーブルまたは BGP テーブルのいずれかに存在することを前提にしています。
BGP の条件付きルートの注入により、一致するものがなくても、プレフィックスを BGP ルーティング テーブルにすることができます。この機能を使って、管理ポリシーやトラフィック エンジニアリング情報に基づいて、より具体的なルートを生成することができます。これにより、設定された条件が満たされた場合にだけ BGP ルーティング テーブルに注入される、より具体的なルートへのパケットの転送をさらに厳密に制御できるようになります。この機能を有効にすると、条件に応じて、あまり具体的ではないプレフィックスにより具体的なプレフィックスを注入または置き換えることにより、共通のルート集約の精度を高めることができるようになります。元のプレフィックスと同じ、またはより具体的なプレフィックスだけが注入されます。BGP 条件付きルート注入を有効にするには、bgp inject-map exist-map コマンドを使用します。また、BGP 条件付きルート注入では、2 つのルート マップ(注入マップと存在マップ)を使用して、1 つ(または複数)のより具体的なプレフィックスが BGP ルーティング テーブルに注入されます。存在マップは、BGP スピーカーが追跡するプレフィックスを指定します。注入マップは、ローカル BGP テーブルで作成され、このテーブルにインストールされるプレフィックスを定義します。
(注) |
注入マップおよび存在マップで一致となるプレフィックスはルート マップ句ごとに 1 つだけです。さらにプレフィックスを注入するには、ルート マップ句を追加で設定する必要があります。複数のプレフィックスが使用されている場合は、一致する最初のプレフィックスが使用されます。 |
BGP Peer テンプレート
構成管理など、ピア グループの制約の一部に対応するため、BGP アップデート グループ コンフィギュレーションをサポートする BGP ピア テンプレートが導入されました。
ピア テンプレートは、ポリシーを共有するネイバーに適用可能なコンフィギュレーション パターンです。ピア テンプレートは再利用が可能で、継承がサポートされているため、ネットワーク オペレータはピア テンプレートを使用して、ポリシーを共有している BGP ネイバーに対して異なるネイバー コンフィギュレーションをグループ化し適用できます。また、ネットワーク オペレータは、別のピア テンプレートからコンフィギュレーションを継承できるというピア テンプレートの機能を使用して、非常に複雑なコンフィギュレーション パターンを定義できるようになります。
ピア テンプレートには 2 種類あります。
-
ピア セッション テンプレート。アドレス ファミリ モードおよび NLRI コンフィギュレーション モードすべてに共通する一般的なセッション コマンドのコンフィギュレーションをグループ化し、適用するために使用されます。
-
ピア ポリシー テンプレート。特定のアドレス ファミリおよび NLRI コンフィギュレーション モードで適用されるコマンドのコンフィギュレーションをグループ化し、適用するために使用されます。
ピア テンプレートにより、柔軟性が高まり、ネイバー コンフィギュレーションの機能が強化されます。また、ピア テンプレートはピア グループ コンフィギュレーションに代わるものを提供し、ピア グループの制約の一部を解決します。ピアテンプレートを使用した BGP ピアデバイスも、自動アップデート グループ コンフィギュレーションの恩恵を受けています。BGP ピア テンプレートが設定され、BGP ダイナミック アップデート ピア グループがサポートされたことにより、ネットワーク オペレータは BGP でピア グループを設定する必要がなくなります。また、ネットワークはコンフィギュレーションの柔軟性が高まり、コンバージェンスが高速化されたことによる恩恵を受けます。
(注) |
BGP ネイバーを、ピア グループとピア テンプレートの両方と連動するようには設定できません。BGP ネイバーは、1 つのピア グループだけに属するように設定するか、またはピア テンプレートからポリシーを継承するように設定します。 |
ピア ポリシー テンプレートには、次の制約事項が適用されます。
-
ピア ポリシー テンプレートは、直接的、または間接的に、最高 8 個のピア ポリシー テンプレートを継承できます。
-
BGP ネイバーを、ピア グループとピア テンプレートの両方と連動するようには設定できません。BGP ネイバーは、1 つのピア グループだけに属するように設定するか、またはピア テンプレートだけからポリシーを継承するように設定できます。
ピア テンプレートでの継承
継承機能は、ピア テンプレート操作の重要なコンポーネントです。ピア テンプレートでの継承は、たとえば、ファイルとディレクトリ ツリーなど、一般的なコンピューティングで見られるノードとツリーの構造に似ています。ピア テンプレートは、別のピア テンプレートから直接、または間接的にコンフィギュレーションを継承することができます。直接継承されたピア テンプレートは、構造体のツリーを表します。間接継承されたピア テンプレートはツリーのノードを表します。個々のノードもまた継承をサポートしているため、ブランチを作成して、そこから直接継承されたピアテンプレートすなわちツリーの起点へ連なる全ての間接継承されたピアテンプレートの設定を適用することができます。
この構造により、ネイバーのグループに通常、再適用されるコンフィギュレーション文を繰り返す必要がなくなります。これは、共通のコンフィギュレーション文を一度適用しておくと、その後は共通のコンフィギュレーションを持つネイバー グループに適用されるピア グループにより間接継承されるからです。ノードとツリー内部の別々の箇所で重複するコンフィギュレーション文は、ツリーの起点で直接継承したテンプレートによりフィルタ処理されます。直接継承されたテンプレートは、重複する間接継承された文を直接継承された文で上書きします。
継承によりネイバー コンフィギュレーションのスケーラビリティと柔軟性がさらに広がり、複数のピア テンプレート コンフィギュレーションを連ねることで、共通のコンフィギュレーション文を継承する単純なコンフィギュレーションを作成したり、共通に継承されるコンフィギュレーションとともに非常に限定的なコンフィギュレーション文を適用する複雑なコンフィギュレーションを作成したりできるようになります。ピア セッション テンプレートおよびピア ポリシー テンプレートでの継承の設定についての詳細は、これ以降のセクションで説明します。
BGP ネイバーが継承したピア テンプレートを使用する場合、特定のテンプレートに関連付けられているポリシーを判断するのが難しいことがあります。show ip bgptemplate peer-policy コマンドに、特定のテンプレートに関連付けられているローカルポリシーおよび継承されたポリシーの詳しいコンフィギュレーションを表示するためのキーワード detail が追加されました。
ピア セッション テンプレート
ピア セッション テンプレートは、一般的なセッション コマンドのコンフィギュレーションをグループ化し、セッション コンフィギュレーション要素を共有するネイバーのグループに適用するために使用されます。異なるアドレス ファミリで設定されているネイバーに共通する一般的なセッション コマンドは、同じピア セッション テンプレートに設定できます。ピア セッション テンプレートの作成と設定は、ピア セッション コンフィギュレーション モードで行います。ピア セッション テンプレートで設定できるのは、一般的なセッション コマンドだけです。次の一般的なセッション コマンドは、ピア セッション テンプレートでサポートされています。
-
description
-
disable-connected-check
-
ebgp-multihop
-
exit peer-session
-
inherit peer-session
-
local-as
-
password
-
remote-as
-
shutdown
-
timers
-
translate-update
-
update-source
-
version
一般的なセッション コマンドをピア セッションで一度設定しておくと、ピア セッション テンプレートの直接適用、またはピア セッション テンプレートの間接継承によって、多数のネイバーに適用できます。ピア セッション テンプレートのコンフィギュレーションにより、自律システム内のすべてのネイバーに共通に適用される一般的なセッション コマンドのコンフィギュレーションが簡素化されます。
ピア セッション テンプレートは、直接継承と間接継承をサポートします。一度にピアの設定に使用できるピア セッション テンプレートは 1 つだけです。また、このピア セッション テンプレートは、間接継承されたピア セッション テンプレートを 1 つだけ含むことができます。
(注) |
1 つのピア セッション テンプレートを使って、複数の継承文を設定しようとすると、エラー メッセージが表示されます。 |
この動作により、BGP ネイバーは 1 つのセッション テンプレートだけを直接継承し、最高 7 個のピア セッション テンプレートを間接継承できます。したがって、1 つのネイバーに最高 8 個のピア セッション コンフィギュレーション(直接継承されたピア セッション テンプレートのコンフィギュレーションと最高 7 個の間接継承されたピア セッション テンプレートのコンフィギュレーション)を適用できます。継承されたピア セッション コンフィギュレーションは、ブランチの最後のノードが最初に評価されて適用され、ツリーの起点で直接適用されたピア セッション テンプレートが最後に適用されます。直接適用されたピア セッション テンプレートは、継承されたピア セッション テンプレート コンフィギュレーションよりも優先されます。継承されたピア セッション テンプレートで重複するコンフィギュレーション文はすべて、直接適用されたピア セッション テンプレートにより上書きされます。したがって、基本セッション コマンドが異なる値で再び適用される場合は、後の値が優先され、間接継承されたテンプレートに設定されていた前の値は上書きされます。次に、この機能を使用した例を示します。
次の例では、一般セッション コマンド remote-as 1 がピア セッション テンプレート SESSION-TEMPLATE-ONE に適用されます。
template peer-session SESSION-TEMPLATE-ONE
remote-as 1
exit peer-session
ピア セッション テンプレートは、一般的なセッション コマンドだけをサポートします。特定のアドレス ファミリ、または NLRI コンフィギュレーション モードだけのために設定される BGP ポリシー コンフィギュレーション コマンドは、ピア ポリシー テンプレートで設定されます。
ピア ポリシー テンプレート
ピア ポリシー テンプレートは、特定のアドレス ファミリおよび NLRI コンフィギュレーション モードで適用されるコマンドのコンフィギュレーションをグループ化し、適用するために使用されます。ピア ポリシー テンプレートの作成と設定は、ピア ポリシー コンフィギュレーション モードで行います。特定のアドレス ファミリ専用に設定される BGP ポリシー コマンドは、ピア ポリシー テンプレートで設定されます。ピア ポリシー テンプレートでは、次の BGP ポリシー コマンドがサポートされています。
-
advertisement-interval
-
allowas-in
-
as-override
-
capability
-
default-originate
-
distribute-list
-
dmzlink-bw
-
exit-peer-policy
-
filter-list
-
inherit peer-policy
-
maximum-prefix
-
next-hop-self
-
next-hop-unchanged
-
prefix-list
-
remove-private-as
-
route-map
-
route-reflector-client
-
send-community
-
send-label
-
soft-reconfiguration
-
unsuppress-map
-
weight
ピア ポリシー テンプレートは、特定のアドレス ファミリに属するネイバーに設定される BGP ポリシー コマンドの設定に使用されます。ピア セッション テンプレートと同様、ピア ポリシー テンプレートを一度設定しておくと、直接適用、または継承を通じて、多数のネイバーにピア ポリシー テンプレートを適用することができます。ピア ポリシー テンプレートの設定により、自律システム内のすべてのネイバーに適用される BGP ポリシー コマンドの設定が簡略化されます。
ピア セッション テンプレートと同様、ピア ポリシー テンプレートは継承をサポートしています。しかし、多少の違いはあります。直接適用されたピア ポリシー テンプレートは、最大 7 つのピア ポリシー テンプレートから設定を直接的または間接継承できます。したがって、合計 8 つのピア ポリシー テンプレートをネイバーまたはネイバー グループに適用できます。ルート マップと同じように、継承されたピア ポリシー テンプレートにはシーケンス番号が設定されます。また、ルート マップと同じように、継承されたピア ポリシー テンプレートは、最も低いシーケンス番号を持つ inherit peer-policy 文が最初に評価され、最も高いシーケンス番号のものが最後に評価されます。ただし、ピア ポリシー テンプレートはルート マップのように折りたたむことはできません。シーケンスはすべて評価されます。異なる値を使って、BGP ポリシー コマンドが再適用された場合は、シーケンス番号の小さいものから順に、前の値がすべて上書きされます。
直接適用されたピア ポリシー テンプレートと、シーケンス番号が最も大きい inherit peer-policy 文のプライオリティは常に最も高く、最後に適用されます。これ以降のピア テンプレートに再適用されるコマンドは、必ず、前の値を上書きします。この動作は、個々のポリシー コンフィギュレーション コマンドを繰り返さずとも、共通のポリシー コンフィギュレーションは大規模なネイバー グループに適用し、特定のポリシー コンフィギュレーションは特定のネイバーやネイバー グループだけに適用できるように設計されています。
ピア ポリシー テンプレートは、ポリシー コンフィギュレーション コマンドだけをサポートします。特定のアドレス ファミリ用に設定される BGP ポリシー コンフィギュレーション コマンドは、ピア ポリシー テンプレートで設定されます。
ピア ポリシー テンプレートの設定により、BGP 設定が簡略化され、柔軟性が向上します。特定のポリシーを 1 回設定すれば、何回も参照できます。ピア ポリシーは最大 8 レベルの継承をサポートするため、非常に具体的で複雑な BGP ポリシーも作成できます。
BGP ルート マップ ネクスト ホップ セルフ
BGP ルート マップ ネクスト ホップ セルフ機能は、bgp next-hop unchanged と bgp next-hop unchanged allpaths の設定を選択的にオーバーライドする方法を提供します。これらの設定はアドレス ファミリに対してグローバルに適用されます。ルートによっては、これは適切でない場合があります。たとえば、スタティック ルートは、自身をネクスト ホップとして再配布する必要がある一方で、接続ルート、および内部ボーダー ゲートウェイ プロトコル(IBGP)または外部ボーダー ゲートウェイ プロトコル(EBGP)を介して学習されたルートは、引き続きネクスト ホップを変更せずに再配布する場合があります。
BGP ルート マップ ネクスト ホップ セルフ機能は、bgp next-hop unchanged 設定と bgp next-hop unchanged allpaths 設定をオーバーライドする新しい ip next-hop self 設定を構成できるように、既存のルート マップ インフラストラクチャを変更します。
ip next-hop self 設定は、VPNv4 および VPNv6 アドレス ファミリにのみ適用されます。BGP 以外のプロトコルによって配布されるルートは影響を受けません。
新しい bgp route-map priority 設定を使用すると、bgp next-hop unchanged と bgp next-hop unchanged allpaths の設定よりもルート マップが優先されることを BGP に通知できます。bgp route-map priority 設定は、BGP にのみ影響します。bgp next-hop unchanged または bgp next-hop unchanged allpaths 設定を構成していない場合、bgp route-map priority 設定は効果がありません。