このドキュメントでは、set-overload-bit intermediate system-to-intermediate system(IS-IS)コンフィギュレーション コマンドを紹介し、このコマンドで wait-for-bgp および suppress キーワードを使用する手順と使用する状況について説明します。このドキュメントでは、中継システム(IS)とルータという用語は同じ意味で使用されています。
このドキュメントを読むには、次の基本知識が必要です。
Border Gateway Protocol(BGP)と IS-IS ルーティング プロトコル。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco IOS® Software リリース 12.1(9)
Cisco 2500、3600 シリーズ ルータ
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
ルータのシステム リソース(CPU、メモリ)がなくなると、リンクステート データベースの保存や最短パス優先(SPF)の実行ができなくなります。 この状態では、ルータはリンクステートパケット(LSP)の専用のビットを設定して、エリア内の他のルータに警告しなければなりません。 他のルータがこの専用ビットが設定されていることを検出すると、問題のルータは中継トラフィックには使用されません。ただし、問題のルータに直接接続されているネットワークと IP プレフィックスを宛先とするパケットの送信には使用されます。
IS-IS では、ルータは Complete Sequence Number PDU(CSNP)パケットを送出する前であっても LSP を即時にフラッディングします。このようにオーバーロード ビットは新たにリロードしたルータを経由して中継トラフィックをルーティングしないよう、ネットワーク上の他のデバイスに通知するために使用されます。
各LSPについて、ISO/IEC 10589:1992はLSPデータベース過負荷ビットと呼ばれる特別なビットを定 義しています。ドラフトには、オーバーロードの条件が示されています(セクション 7.3.19)「ネットワークの設定ミスや、またはある種の一時的な状態の結果として、受信したリンク ステート PDU の保存に使用できるメモリ リソースが不足することがあります。これが発生し、過負荷になっている IS の LSP データベースが他の IS と矛盾するようになった場合、他の IS が過負荷になっている IS の転送パスに依存しないように、IS が特定の手順を実行する必要があります。」
IS がこの状態にあるときは、非疑似ノード LSP のフラグメント 0 を生成してこのビットを設定します。
ドラフトのセクション 7.2.8.1 にも、IS は過負荷になっているルータを伝送ルータとして使用してはならないが、直接に接続されているエンドシステム(ES)には到達できると記載されています。この間でも、直接接続されているインターフェイスと IP プレフィックスには到達可能です。Cisco IOSはこの機能にオーバーロードビットを使用しませんが、オーバーロードビットを永続的に設定する機能はCisco Bug ID CSCdj18100でIOSに導入されました。Ciscoの実装では、オーバーロードビットが設定されると、直接接続されたインターフェイス/IPプレフィックスにににできます。
IS-IS のオーバーロード ビットに関する手法は Cisco Bug ID CSCdp01872(登録ユーザ専用)により拡張されました。 リロード後の一定時間、オーバーロード ビットを使い、LSP によるアドバタイズができるようルータを設定できます。タイマーの時間が経過すると、オーバーロード ビットが削除され、LSP は再度フラッディングされます。
この新しい機能は、いくつかの「ブラックホール」シナリオを回避するために Border Gateway Protocol(BGP)と IS-IS の両方を使用しているインターネット サービス プロバイダー(ISP)にとって役立ちます。リロード後一定時間オーバーロード ビットをセットすることで、ルーティングプロトコルが収束するまで中継トラフィックを受信しないようにできます。
リロード後、一定時間このビットをセットする手法は以下のコマンドを用いて実装されます。このコマンドでは、リロード後オーバーロードビットをセットに維持する時間を 5~86400 秒の範囲で指定できます。
router isis set-overload-bit [on-startup [| wait-for-bgp] ]
以下に、いくつかの例を示します。
Router(config-router)#set-overload-bit on-startup 3500 wait-for-bgp !--- Set the overload bit for 5 minutes (default is 10 minutes).
この機能では、BGP が収束したときに自動的にオーバーロードビットを無効にする設定も可能です。BGPの待機の詳細については、RFC3277 Intermediate System to Intermediate System (IS-IS) Transient Blackhole Avoidanceを参照してください 。
BGP の仕様によれば、BGP ルータはアップデートを送信している限り、キープアライブを送信する必要はありません。したがって、キープアライブはすべてのアップデート送信が済んでからのみ送信されます。すべての BGP ネイバーからキープアライブを受信したとき、BGP 収束が完了したと見なされます。
wait-for-bgp が設定されており、BGP のキープアライブがすべての BGP ネイバーから届かない場合は、IS-IS は 10 分後にオーバーロードビットを無効にします。
set-overload-bit が設定されている場合、ISP は一部の IP プレフィックスがルータ自身の LSP でアドバタイズされないようにすることができます。たとえば、場合によってはレベル 1 やレベル 2 の IP プレフィックスの伝達を許可することは好ましくありません。ルータが IP トラフィックの中継ノードとなってしまうためです。
Cisco Bug ID CSCdr98046(登録ユーザ専用)により、オーバーロードビットの拡張機能を使用しているときの動作をさらに細かく制御できます。この拡張機能により、IP ルートをレベル 1 からレベル 2 へ、またはレベル 2 からレベル 1 へ再配布している IS-IS レベル 1 - レベル 2(L1L2)ルータに、オーバーロード ビットが設定されている間、再配布したルートを自身の LSP で引き続きアドバタイズできます。
suppress キーワードにより、set-overload-bit が設定されていても IP ルートをレベル 1 からレベル 2 へ、またはその逆に再配布し、アドバタイズするよう L1L2 ルータを設定できます。コマンド構文は次のとおりです。
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
suppress interlevel キーワードは、オーバーロード ビットが設定されている場合に、別の IS-IS レベルから学習した IP プレフィックスをアドバタイズしないようにルータに指示します。suppress external キーワードは、オーバーロード ビットが設定されると、他のプロトコルから学習した IP プレフィックスをアドバタイズしないようルータに指示します。デフォルトでは、Cisco Bug ID CSCdp01872(登録ユーザ専用)の動作を抑制せず、維持するようになっています。
suppress オプションは、ご使用のルータのオーバーロード ビットが設定されている場合のみ有効です。オーバーロード ビットを受信したとき、または設定したときに有効となるものではありません(たとえば、set-overload-bit on-startup が設定してあり、ビットは設定されていない場合)。
router isis set-overload-bit on-startup 40 suppress interlevel
上記の場合、実際にはオーバーロード ビットはルータがリロードするまでセットされません。そのため、IP プレフィックスはレベル間で漏出し続けます。リロードし、実際にビットが設定されると、レベル間のアドバタイズは抑制されます。
次のネットワーク構成図で set-overload-bit コマンドと wait-for-bgp および suppress オプションについて説明します。
以下は、wait-for-bgp オプションを使用したルータ 2 の設定です。
ルータ 2 設定 |
---|
! interface Loopback0 ip address 2.2.2.2 255.255.255.255 !--- Creates loopback interface and assigns !--- IP address to interface Loopback0. ! interface Ethernet0/0 ip address 135.8.1.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet0/0 !--- and enables IS-IS for IP on the interface. ! ! interface Ethernet1/0 ip address 135.8.2.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet1/0 !--- and enables IS-IS for IP on the interface. ! ! router isis passive-interface Loopback0 net 12.0020.0200.2002.00 set-overload-bit on-startup wait-for-bgp ! !--- Enables the IS-IS process on the router. !--- Makes loopback interface passive !--- (does not send IS-IS packets on interface). !--- Assigns area and system ID to router. !--- Sets the overload bit on startup to wait for BGP !--- using the default timeout of 10 minutes. |
ルータは新たにリロードされ、eBGP が収束する前に、IS-IS レベル 1 データベース内のルータ 2 の LSP でオーバーロード ビットが設定されていることが確認できます。
IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 0x00000017 0x2372 284 0/0/1
次に、debug isis update の出力により、ルータ 2 で BGP が収束していることが確認できます。
*Mar 1 00:00:51.015 UTC: BGP(0): Revise route installing 1.1.1.1/32 -> 135.8.1.1 to main IP table
BGP が収束し、オーバーロード ビットがクリアされたため、ルータ 2 はレベル 1 LSP を再構築します。このため、以下の debug isis update の出力には、「Important fields changed(重要フィールドが変更されました)」と表示されています。
*Mar 1 00:00:51.087 UTC: ISIS-Upd: Building L1 LSP *Mar 1 00:00:51.087 UTC: ISIS-Upd: Important fields changed *Mar 1 00:00:51.087 UTC: ISIS-Upd: Full SPF required
今度は、ルータ 2 がネイバーとの BGP 更新セッションを完了したことが確認できます。
*Mar 1 00:00:52.127 UTC: BGP: 135.8.1.1 initial update completed
ルータ 2 のレベル 1 LSP に戻ると、ルータ 2 がオーバーロード ビットをクリアし(BGP が収束したため)、LSP の Seq Num フィールドに 1 が加算された(新しい LSP が作成されたため)ことが確認できます。
IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 0x00000018 0xAD87 287 0/0/0
L1L2 のルート漏出が設定されており、オーバーロード ビットがクリアされているルータ 2 の設定を次に示します。
ルータ 2 設定 |
---|
! interface Loopback0 ip address 2.2.2.2 255.255.255.255 !--- Creates loopback interface and assigns !--- IP address to interface Loopback0. ! interface Ethernet0/0 ip address 135.8.1.1 255.255.255.0 ip router isis !--- Assigns IP address to interface Ethernet0/0 !--- and enables IS-IS for IP on the interface. ! ! ! interface Ethernet1/0 ip address 135.8.2.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet1/0 !--- and enables IS-IS for IP on the interface. ! ! router isis redistribute static ip metric 11 level-1 redistribute isis ip level-2 into level-1 distribute-list 100 passive-interface Loopback0 net 12.0020.0200.2002.00 ! !--- Enables the IS-IS process on the router. !--- Configured L2 to L1 route leaking !--- Makes loopback interface passive !--- (does not send IS-IS packets on interface). !--- Assigns area and system ID to router. ! ip route 200.200.200.200 255.255.255.255 loopback0 !--- Static route to 200.200.200.200 via loopback0. access-list 100 permit ip any any !--- Access list 100 is used to control which route !--- gets leaked from Level 2 to Level 1. |
ルータ 2 のレベル 1 データベースが、ルータ 2 の L1 LSP のオーバーロード ビットがクリアされたことを示していることに注目します。
IS-IS Level-1 LSP r2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 * 0x0000005D 0xC252 180 0/0/0 Area Address: 12 NLPID: 0xCC Hostname: r2 IP Address: 2.2.2.2 Metric: 10 IP 135.8.2.0 255.255.255.0 Metric: 10 IP 135.8.1.0 255.255.255.0 Metric: 0 IP 2.2.2.2 255.255.255.255 Metric: 10 IS r2.02 Metric: 10 IS r3.01 Metric: 11 IP-External 200.200.200.200 255.255.255.255 Metric:138 IP-Interarea 1.1.1.1 255.255.255.255
ルータ 3 が学習している IP ルートを見ると、ルータ 3 はルータ 1 のループバック アドレス 1.1.1.1 を L2L1 ルート漏出から学習したことが確認できます。ルータ 3 が、再配布されたスタティック ルート 200.200.200.0/32 を受信していることにも注目します。
r3#show ip route isis 200.200.200.0/32 is subnetted, 1 subnets i L1 200.200.200.200 [115/21] via 135.8.2.2, Ethernet0/0 1.0.0.0/32 is subnetted, 1 subnets i ia 1.1.1.1 [115/148] via 135.8.2.2, Ethernet0/0 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/10] via 135.8.2.2, Ethernet0/0 135.8.0.0/24 is subnetted, 2 subnets i L1 135.8.1.0 [115/20] via 135.8.2.2, Ethernet0/0
次に、suppress オプション付きでルータ 2 に set-overload-bit を設定します。これで、内部、外部両方のルートを抑制します。コマンドの構文は、次のとおりです。
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
suppress interlevelはレベル 2 から学習したプレフィックスのアドバタイズを防止します。 suppress external は再配布を防止します。
r2(config-router)#set-overload-bit suppress interlevel external
ルータ 2 のレベル 1 データベースを調べると、ルータ 2 のレベル 1 LSP でオーバーロード ビットが設定されていることが確認できます。200.200.200.200/32、1.1.1.1/32 の両方が抑制されています。これらはレベル 1 のデータベースには挿入されていません。
IS-IS Level-1 LSP r2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 * 0x0000005F 0x23C6 266 0/0/1 Area Address: 12 NLPID: 0xCC Hostname: r2 IP Address: 2.2.2.2 Metric: 10 IP 135.8.2.0 255.255.255.0 Metric: 10 IP 135.8.1.0 255.255.255.0 Metric: 0 IP 2.2.2.2 255.255.255.255 Metric: 10 IS r2.02 Metric: 10 IS r3.01
ルータ 2 で debug isis update-packets を有効にすると、レベル 1 とレベル 2 の LSP が構築できたときの出力で「Important fields changed(重要フィールドが変更されました)」の表示が確認できます。これは LSP の内容が変更されたことを示します。つまり、オーバーロード ビットが設定されている LSP を受信しています。新しい LSP は、完全な SPF の実行を必要とします。
*Mar 1 03:16:08.987 UTC: ISIS-Upd: Building L1 LSP *Mar 1 03:16:08.987 UTC: ISIS-Upd: Important fields changed *Mar 1 03:16:08.987 UTC: ISIS-Upd: Full SPF required *Mar 1 03:16:08.987 UTC: ISIS-Upd: Building L2 LSP *Mar 1 03:16:08.987 UTC: ISIS-Upd: Important fields changed *Mar 1 03:16:08.987 UTC: ISIS-Upd: Full SPF required *Mar 1 03:16:09.035 UTC: ISIS-Upd: Sending L1 LSP 0020.0200.2002.00-00, seq 61, ht 299 on Ethernet0/0 *Mar 1 03:16:09.095 UTC: ISIS-Upd: Sending L2 LSP 0020.0200.2002.00-00, seq 65, ht 299 on Ethernet1/0
ルータ 3 の更新されたルーティングテーブルには、IP ネットワーク 200.200.200.200、1.1.1.1 は含まれていません。
r3#show ip route isis 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/10] via 135.8.2.2, Ethernet0/0 135.8.0.0/24 is subnetted, 2 subnets i L1 135.8.1.0 [115/20] via 135.8.2.2, Ethernet0/0
Cisco Bug IDCSCdj18100(登録ユーザ専用)- オーバーロード ビットを手動で設定する機能を導入しました。
Cisco Bug IDCSCdp01872(登録ユーザ専用)- スタートアップ時にオーバーロード ビットを設定する機能を導入しました。BGP の収束報告まで待機するか、オーバーロード ビットをクリアするためのタイマーを設定します。
Cisco Bug IDCSCdr98046(登録ユーザ専用)- IP ルートをレベル 1 からレベル 2 へ、またはレベル 2 からレベル 1 へ再配布している IS-IS レベル 1 - レベル 2(L1L2)ルータが、オーバーロードビットが設定されているときに、再配布したルートを LSP で引き続きアドバタイズできるようにします。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
25-Oct-2005 |
初版 |