この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、ボーダーゲートウェイプロトコル(BGP)に関するよくある質問(FAQ)について説明します。
BGP と BGP の機能を設定する方法についての詳細は、次のドキュメントを参照してください。
BGP の設定
ループバック インターフェイスを使用すると、ネイバーはアップ状態が保たれ、誤動作を起こしたハードウェアの影響を受けなくなります。
デフォルトでは、BGP は BGP ピアリング セッションを確立する際、発信元アドレスとして BGP ピアに直接接続された物理インターフェイス上で設定された IP アドレスを使用します。この動作を変更し、ルータとやり取りする BGP を設定して、発信元アドレスとしてループバック アドレスを使用してピアリングを確立するには、neighbor <ip address> update-source <interface> コマンドを発行します。
詳細は、『iBGP および eBGP のコンフィギュレーション例:ループバック アドレスを使用する場合と使用しない場合』を参照してください。
優先順位は、属性が受信アップデートに適用されるか、送信アップデートに適用されるかにより異なります。
受信アップデートの場合、優先順位は次のようになります。
ルート マップ
フィルタ リスト
プレフィクス リスト、配布リスト
送信アップデートの場合、優先順位は次のようになります。
フィルタ リスト
ルート マップ | unsuppress-map
advertise-map(条件付きアドバタイズメント)
prefix-list|distribute-list
ORF prefix-list(ネイバーから送信されるプレフィックス リスト)
注:プレフィクス リストおよび配布リストは相互に排他的な属性であり、特定のネイバーの受信方向または送信方向には、1 つのコマンド(neighbor prefix-list または neighbor distribute-list)しか適用できません。
BGP テーブル内のネットワークでネクストホップ アドレスが 0.0.0.0 の場合、そのネットワークが、Interior Gateway Protocol(IGP; 内部ゲートウェイ プロトコル)の BGP への再配布か、BGP 設定内での network コマンドまたは aggregate コマンドにより、ローカルで作成されていることを意味しています。
コミュニティ属性は推移的なオプションの属性で、特定のコミュニティ内の宛先をグループ化し、特定のポリシー(許容、優先、または再配布など)を適用するために作成されています。 次の表に、既知のBGPコミュニティを示します。
コミュニティ | 説明 |
---|---|
Local-AS | パケットがローカルの自律システム(AS)外部へ送信されないようにするために、コンフェデレーション シナリオで使用。 |
no-export | 外部 BGP(eBGP)ピアへアドバタイズしない。このルートは AS 内に保持されます。 |
no-advertise | このルートはどのようなピア(内部や外部)へもアドバタイズしない。 |
none | ルートに関連付けられたコミュニティをクリアするときに、コミュニティ アトリビュートなしを適用。 |
インターネット | このルートをインターネット コミュニティと、そのコミュニティに属するあらゆるルータにアドバタイズする。 |
コミュニティ設定の詳細については、「BGP の設定」の「BGP コミュニティ フィルタリングの設定」セクションを参照してください。
Cisco IOS®ソフトウェアリリース12.0以降では、10進数、16進数、およびAA:NNという3種類の形式でコミュニティを設定できます。デフォルトでは、Cisco IOSは古い10進形式を使用します。AA:NNで設定および表示するには(最初の部分はAS番号、2番目の部分は2バイトの番号)、ip bgp-community new-formatグローバル設定コマンドを発行します。
注:BGP コミュニティ アトリビュートは、特定のプレフィックスに割り当てて、他のネイバーにアドバタイズできる数値(任意)です。コミュニティ アトリビュートは 10 進数、16 進数、または AA:NN で表すことができますが、32 ビットの数字のままです。たとえば、次の 3 つの設定コマンドはいずれもコミュニティ 30:20(AS 30、番号 20)を指定します。
- set community 30:20
- set community 0x1E0014
-set community 1966100
どのコマンドを使用しても、ルータ設定ファイルと BGP テーブルに表示されるコミュニティは 30:20 です。
詳細は、『BGP ケース スタディ』の「コミュニティ アトリビュート」セクション、および『BGP コミュニティ値を使用した、アップストリーム プロバイダー ネットワークでのルーティング ポリシーの制御』を参照してください。
オート サマリーの動作は、Cisco IOS ソフトウェア リリース間で変更されています。オート サマリーは当初はデフォルトで有効になっていました。しかし、Cisco Bug ID CSCdu81680(登録ユーザ専用)では、この動作は変更されています。最新版の Cisco IOS では、オート サマリーがデフォルトで無効になっています。オート サマリーが有効な場合、ローカルで作られた BGP ネットワークがクラスフルな境界にまとめられます。自動サマリーがデフォルトで有効になっているのは、古いバージョンだけです。オート サマリーが無効な場合、BGP テーブルにローカルで挿入されたルートはクラスフルな境界にまとめられません。サブネットがルーティング テーブル内に存在し、次の 3 つの条件が満たされると、ローカル ルーティング テーブル内にあるそのクラスフル ネットワークのあらゆるサブネットが BGP に対して、クラスフル ネットワークを BGP テーブルにインストールするよう促します。
ルーティング テーブル内のネットワークのクラスフル ネットワーク文
そのネットワーク文のクラスフル マスク
オート サマリーが有効
たとえばルーティング テーブル内のサブネットが 75.75.75.0 マスク 255.255.255.0 で、network 75.0.0.0 を router bgp コマンドで設定して、オート サマリーが有効な場合、BGP はクラスフル ネットワーク 75.0.0.0 マスク 255.0.0.0 を BGP テーブルに挿入します。
これら 3 つの条件がすべて満たされない場合、BGP がエントリを BGP テーブルにインストールするのは、ローカルのルーティング テーブル内に完全な一致がある場合だけです。
注:BGP を実行する AS に、完全にクラスフルなネットワークがない場合は、no auto-summary コマンドを router bgp で発行してオート サマリーを無効にすることを推奨いたします。
IP ブロックが、直接接続された ISP にアナウンスされているかを確認するには、次のコマンドを使用します。
show ip bgp neighbors [address] advertised-routesコマンドを使用すると、送信されたメッセージが表示されます。
show ip bgp neighbors [address] routesコマンドは、どのメッセージが受信されたかを表示します。
注:show ip bgp neighbors [address] advertise-routesコマンドでは、適用した発信ポリシーは考慮されません。将来の Cisco IOS ソフトウェア リリースでは、コマンド出力結果は送信ポリシーを反映するように変更されます。宛先への代替パスが 2 つある場合、BGP は常に最適なルートを使用してアドバタイズします。
IP ブロックが直接接続された ISP を経由してグローバル BGP メッシュに伝播されているようすを検証するには、インターネットの route server にログインして、プレフィクスの BGP エントリをルート サーバ内で探します。
BGP セッションの受信/送信ポリシーを変更する場合に、BGP セッションをクリアします。BGP セッションをクリアして送信ポリシーの変更を反映するには、clear ip bgp x.x.x.x soft out コマンドを発行します。BGP セッションをクリアして受信ポリシーの変更を反映するには、clear ip bgp x.x.x.x コマンドを発行します。ネイバーにソフト再設定機能がある場合は、clear ip bgp x.x.x.x soft in コマンドを発行できます。最適化エッジルーティング(OER)を設定すると、BGPセッションを自動的にクリアできます。OER は、着信方向と発信方向の両方の BGP セッションを自動的にクリアします。OER についての詳細は、『OER ネットワーク コンポーネントの設定』を参照してください。
注:Cisco IOS ソフトウェア リリース 12.0 以降では、新しい BGP ソフト リセット拡張機能が導入されています。
はい、詳細な設定については、「ASA/PIX:ASA 経由の BGP の設定例」を参照してください。
AS 番号は世界中で唯一の番号で、AS の識別に使用されます。この番号により AS では外部ルーティング情報をネイバー AS 間で交換できるようになります。AS は IP ネットワークの接続グループで、1 つの明確に定義されたルーティング ポリシーに準拠しています。
使用できる AS 番号の数には制限があります。そのため、固有の AS 番号を必要とするサイトと、必要としないサイトを判断することが重要です。一意のAS番号を必要としないサイトは、プライベート用に予約されている1つ以上のAS番号を使用します。これらの番号の範囲は64512 ~ 65535です。AS番号を取得するには、AS Number Registration ServicesのWebサイトにアクセスしてくださ い。
BGP パスの選択基準は、『BGP の最適パス選択アルゴリズム』に記載されています。
この 2 つのコマンドの違いについての詳細な説明は、「bgp deterministic-med コマンドと bgp always-compare-med コマンドの相違点」に記載されています。
A.iBGP セッションは eBGP ピアからラーニングしたネクストホップのアトリビュートを保存します。これがネクストホップへの内部ルートが重要となる理由です。これ以外の方法では、BGP ルートは到達不可能になります。eBGP ネクストホップへ到達できるようにするには、ネクスト ホップが所属するネットワークを IGP 内に含めるか neighbor next-hop-self コマンドを発行して強制的にルータが外部ピアではなく自身を、ネクスト ホップとしてアドバタイズするようにします。詳細は、『BGP ケース スタディ』の「BGP ネクストホップ アトリビュート」セクションを参照してください。
いいえ、コンフェデレーション サブ AS 間の eBGP セッションでは、ネクストホップのアトリビュートは修正されません。すべての iBGP ルールは、AS 全体が 1 つのエンティティとして振舞うよう適用されます。メトリックおよびローカル プリファレンスの値も、コンフェデレーション eBGP ピアの中で変更されないままになります。コンフェデレーションについての詳細は、『BGP ケース スタディ』の「BGP コンフェデレーション」セクションを参照してください。
eBGP ピアでは、ネクストホップは、ルートをアナウンスしたネイバーの IP アドレスです。しかしルートがマルチアクセス メディア(イーサネットやフレームリレーなど)でアドバタイズされている場合、通常ネクスト ホップは、そのルートを基点としたメディアに接続された、ルータ インターフェイスの IP アドレスになります。詳細は、『BGP ケース スタディ』の「BGP ネクストホップ アトリビュート」を参照してください。
デフォルトでは、プレフィックスがルート リフレクタによって反映された際に、ネクストホップの属性は変更されません。しかし、neighbor next-hop-self コマンドを発行すると、eBGP ピアから反映されたプレフィクスのネクストホップのアトリビュートはあらゆるルート リフレクタ クライアントへ変更できます。
BGP は、デフォルトで BGP テーブルから外部ピアへルートをアドバタイズします。BGP 条件付きアドバタイズメント機能を使用すると、BGP テーブルの中に別のプレフィクスが存在しているかどうかに応じて、ルート アドバタイズメントの新たな制御が可能になります。通常、ルートは別のパスの有無に関わらず伝播されます。BGP 条件付きアドバタイズメント機能は、non-exist-map および advertise-map 設定コマンドを使用して、ルート プレフィクスによりルートを追跡します。ルート プレフィクスが non-exist-map コマンドの中に存在しない場合、advertise-map コマンドによって指定されたルートがアナウンスされます。詳細は、『BGP の設定』の「BGP 設定条件付きアドバタイズメントの設定」セクションを参照してください。
BGP ルートの保存に必要なメモリ量は、ルータ、使用可能な代替パスの数、ルート ダンプニング、コミュニティ、設定された最大パスの数、BGP アトリビュート、および VPN の構成など多数の要素によって決まります。これらのパラメータの情報がない場合は、特定の数の BGP ルートを保存する場合に必要なメモリ量を計算するのは困難です。一般に、1 つの BGP ピアからグローバル BGP ルーティング テーブルを完全に保存する場合は、ルータに少なくとも 512 MB の RAM を推奨いたします。しかし、メモリ使用量を減らし、インターネット ルーティング テーブルをそっくり受信することなく最適なルーティングを実現する方法を理解することが重要です。詳細は、「最適なルーティングの実現と BGP メモリ消費の低減」を参照してください。
BGP ピア グループを指定することの大きなメリットは、アップデート生成の際に使用されるシステム リソース(CPU およびメモリ)の量が少なくなるということです。また、ルーティング テーブルの確認が一度だけになり、アップデートが他のすべての同期ピア グループ メンバーに複製できるようになるため、BGP 設定も簡単になります。ピア グループ メンバの数、テーブル内のプレフィクスの数、およびアドバタイズされたプレフィクスの数によっては、これにより負荷の量は大きく削減されます。Cisco では、同一の発信アナウンスメント ポリシーのピアをグループ化することを推奨いたします。詳細は、『BGP ピア グループ』を参照してください。
ASが別のASから第3のASにトラフィックを渡す場合、AS内のすべてのルータがIGP経由でルートを学習する前に、BGPはルートをアドバタイズしません。BGP は、IGP がルートを AS 内で伝搬するまで待機した後、そのルートを外部ピアへアドバタイズします。同期化を有効にした BGP ルータは、iBGP で学習されたルートを自身の IGP で検証できない場合、これらのルートをルーティング テーブルにインストールしません。router bgp で no synchronization コマンドを発行して、同期化を無効にします。これにより、BGP は iBGP ルートを IGP で検査しなくなります。「BGP ケース スタディ:同期」を参照してください。
set metric-type internal route-map 設定コマンドを発行すると、BGP は、ルートのネクストホップに関連付けられた IGP メトリックに対応する MED をアドバタイズします。このコマンドは、Cisco IOS ソフトウェア リリース 10.3 以降で使用できます。
A.デフォルトの BGP ConnectRetry タイマーは 120 秒です。この時間が経過すると、受動的な TCP セッションが確立されたかどうかが BGP プロセスでチェックされます。受動的な TCP セッションが確立されていなければ、アクティブな新しい TCP が開始され、リモート BGP スピーカへの接続が試行されます。ConnectRetry タイマーがアイドルになっているこの 120 秒の間に、リモート BGP ピアはそれ対して BGP セッションを確立することができます。現時点では、Cisco IOS ConnectRetry タイマーをデフォルトの 120 秒から変更することはできません。
R1> show ip bgp BGP table version is 5, local router ID is 200.200.200.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path r> 6.6.6.0/24 10.10.13.3 0 130 0 30 i *> 7.7.7.0/24 10.10.13.3 0 125 0 30 i
BGPがルーティング情報ベース(RIB)(IPルーティングテーブルなど)にbestpathプレフィックスをインストールしようとすると、RIBは次のいずれかの理由でBGPルートを拒否します。
より適切なアドミニストレーティブ ディスタンスのルートが、すでに IGP に存在する。たとえば、IP ルーティング テーブルにすでにスタティック ルートが存在する。
メモリ障害。
VPN ルーティング/転送(VRF)におけるルートの数が、VRF インスタンスで設定された制限を超えている。
このような場合、これらの理由で拒否されたプレフィックスは、show ip bgpコマンド出力のr RIB Failureによって識別され、ピアにアドバタイズされます。この機能は、Cisco IOS ソフトウェア リリース 12.2(08.05)T で使用できるようになっています。
Enhanced Interior Gateway Routing Protocol/Open Shortest Path First/Intermediate System-to-Intermediate System(EIGRP/OSPF/IS-IS)などの Interior Gateway Protocol(IGP; 内部ゲートウェイ プロトコル)に iBGP ルートを再配布すると、自律システム内でルーティング ループが発生する可能性があるため、推奨されません。デフォルトでは、IGP への iBGP の再配布は無効になっています。IGP への iBGP ルートの再配布を有効にするには、bgp redistribute-internal コマンドを発行します。ルート マップを使用して特定のルートを IGP に再配布する場合は、十分に注意してください。次の出力に、iBGP によって学習されたデフォルト ルート 0.0.0.0/0 を EIGRP に再配布するための設定例を示します。OSPF/IS-IS の場合も、同様の設定を行います。
router bgp 65345 [...] bgp redistribute-internal ! router eigrp 10 [...] redistribute bgp 65345 route-map check-def ! ip prefix-list def-route seq 5 permit 0.0.0.0/0 ! route-map check-def permit 10 match ip address prefix-list def-route
注:bgp redistribute internal コマンドの設定後は、必ず clear ip bgp コマンドを入力して、ローカル ルーティング テーブルのすべてのルートをクリアしてください。
同じ BGP ネイバーに同時に、着信フィルタ リスト、配布リスト、プレフィックス リスト、およびルート マップを使用すると、特定のルートをフィルタリングできます。処理の順序を次に示します。
フィルタ リスト
ルート マップ
配布リスト(または)プレフィクス リスト
エラーメッセージprotocol not in this imageが表示される理由は、ルータで稼働しているCisco IOSバージョンではBGP機能がサポートされていないためです。このエラーを解決するには、Cisco IOSをBGPをサポートする新しいCisco IOSバージョンにアップグレードします。
このメッセージは、ルータで BGP デバッグがオンになっている場合にのみ表示されます。これは単なる情報提供のメッセージで、エラー メッセージではありません。この情報提供のメッセージは BGP の内部タイマーに関連するものです。このメッセージは、undebug all コマンドを発行することによって無視できます。
はい、拡張オブジェクト トラッキングで、インターフェイスの状態変更とルートの可用性を追跡できます。
IP RIB 属性では、プレフィックスを割り当て、属性をチャンクで保持します。チャンクのすべての要素が解放されるまで、チャンク全体を解放することはできません。より多くのルートが認識されると、チャンク内で解放されている要素が使用されます。
IPv6 BGPネイバーを表示するには、show bgp ipv6 unicast summaryコマンドを使用します
例:
network 10.150.0.0 mask 255.255.0.0 no auto-summary ip route 10.150.0.0 255.255.0.0 Null0
ルータは、このルートの参照を停止しますが、他の特定のルートを引き続き送信します。
これは通常の動作です。bfd hellos は非常にわずかな時間で送信されており、それについてのデバッグを実行しても、ルータが処理できないためです。したがって、bfd メッセージは、フラップが発生した場合にのみ、デバッグで表示されます。次に、debug bfd コマンドの目的を示します。
debug bfd events
このコマンドは、現在設定されているすべての BFD セッションの BFD イベントのロギングを有効にします。また、セッション状態の変更や、ローカル CLI またはリモート エンドによってトリガーされたセッション設定の変更などの BFD イベントをキャプチャします。
debug bfd packets
このコマンドは、現在設定されているすべての BFD セッションの BFD パケットのロギングを有効にします。セッション状態の変更など、bfd 設定変更時に交換される BFD hello パケットだけをキャプチャします。通常の BFD パケットは、このコマンドではキャプチャされません。
プレフィックスの新しい最大数が現在の最大数より大きい場合は、BGP セッションのソフト/ハード クリアは不要で、リロードも必要ありません。
AS パスの先頭への付加が設定されている場合は、付加される AS 番号が AS パスに追加されます。また、アップデートが AS から eBGP へと送信されると、ローカル AS 番号が、AS パス全体の先頭に追加されます。
ただし、次のオプションのいずれかを使用して、AS パスの付加が実行されたかどうかを簡単に確認できます。
ピア デバイスで BGP AS PATH アトリビュートを確認します。これは、ルータが AS PATH 付加を実行するかどうかを判断する最も簡単な方法の 1 つです。
BGP アップデートにデバッグを実行し(発信方向に)、追加を確認します。BGP アップデートをデバッグする間にアクセス リストを使用します。
Example: Debug ip bgp update 1 out BGP: TX IPv4 Unicast Mem global 3 1 1.1.1.2 Refresh has to wait for net prepend. BGP: TX IPv4 Unicast Top global Start net prepend. BGP: TX IPv4 Unicast Top global Done net prepend (1 attrs). The router has prepended the prefix. BGP: TX IPv4 Unicast Grp global 3 Starting refresh after prepend completion.
別のオプションとして、出口インターフェイスでパケットキャプチャを行い、どのアップデートが回線上で送信されるかを確認します。
neighbor soft-reconfiguration inbound コマンドを実行すると、ルータがすべての受信(着信)ルーティング ポリシー アップデートを修正なしで保存します。たとえば、重複するテーブルが各ピアのメモリに保存されます。この方法は、メモリを集中的に使用するため、どうしても必要な場合以外は推奨されません。追加メモリを使用せずにソフト リセットを行うには、「ソフト リセットの機能拡張」を参照してください。
このメッセージは、すでに設定されている別の BGP セッションがある場合に発生します。停止メッセージを受信したルータが、別の IP の同じピアに BGP OPEN メッセージを送信しようとしました。この問題は外観上のものであり、設定が誤っているために発生します。
このエラー メッセージは、ネイバーから学習した BGP プレフィックスを格納するためのメモリが不足していることを示します。
はい。Cisco IOS-XRを搭載したGSRは、VPLS-BGP自動検出のルートリフレクタ機能をサポートしています。
debug bgp keepalive [vrf [vrf-name | all]] vpnv4 unicastコマンドを使用して、Cisco IOS-XR環境の特定のvrfのルートをデバッグします。次に、出力例を示します。
*Mar 1 00:16:06.735: BGP: ses TWO 2.2.2.3 (0x69A1C8F4:1) Keep alive timerfired. *Mar 1 00:16:06.735: BGP: 2.2.2.3 KEEPALIVE requested (bgp_keepalive_timer_expired) *Mar 1 00:16:06.743: BGP: ses TWO 2.2.2.3 (0x69A1C8F4:1) service keepalive IO request. *Mar 1 00:16:06.747: BGP: 2.2.2.3 KEEPALIVE write request serviced in BGP_IO *Mar 1 00:16:07.759: BGP: ses ONE 1.1.1.1 (0x6900D344:1) Keep alive timer fired. *Mar 1 00:16:07.759: BGP: 1.1.1.1 KEEPALIVE requested (bgp_keepalive_timer_expired) *Mar 1 00:16:07.759: BGP: ses ONE 1.1.1.1 (0x6900D344:1) service keepalive IO request. *Mar 1 00:16:07.763: BGP: 1.1.1.1 KEEPALIVE write request serviced in BGP_IO
BGP への IGP の再配布を使用してルートをアドバタイズする場合は、すべてのサブネット個別にネットワーク文を指定する必要はありません。また、ルートが再配布によって BGP テーブルへの他のルーティング プロトコルからも取得されている場合、起点(Origin)属性は Incomplete (?) であり、network コマンドを指定した場合は、この属性が Internal/IGP (i) です。 ルート選択時には、最小の起点コードが優先されます(IGP < EGP < Incomplete)。
レイヤ 4 転送情報のサマリーを表示するには、show mls cef summary コマンドを使用します。以下に、いくつかの例を示します。
Router# show mls cef summary Total routes: 532462 IPv4 unicast routes: 502841 IPv4 Multicast routes: 6 MPLS routes: 19794 IPv6 unicast routes: 9821 IPv6 multicast routes: 3 EoM routes: 0 Router# show mls cef maximum-routes FIB TCAM maximum routes : ======================= Current :- ------- IPv4 + MPLS - 512k (default) IPv6 + IP Multicast - 256k
改定 | 発行日 | コメント |
---|---|---|
3.0 |
21-Jul-2022 |
初版リリース |
1.0 |
23-Oct-2001 |
初版 |