OSPF グレースフルシャットダウン

グレースフルシャットダウンとは

OSPFのグレースフルシャットダウンは、ルーターがOSPFプロセスを停止する際に、ネットワークに最小限の影響を与えるようにする機能です。この機能を使うことで、OSPFルーターが意図的にシャットダウンされる際、近隣のルーターや全体のネットワークトポロジに混乱をもたらすことなく、スムーズにルーティングプロセスを停止できます。

グレースフルシャットダウンの動作:

  1. OSPFネイバーに通知:
    ルーターがOSPFプロセスをグレースフルにシャットダウンすると、まず近隣のOSPFネイバーにその旨を通知します。これにより、他のルーターはそのルーターとのOSPF隣接関係をタイムアウト前に即座にクリアします。
  2. ルートの撤回:
    ルーターは、自身が広告していたすべてのルート(LSA: Link-State Advertisement)を取り下げ、ルーティングテーブルから削除します。他のルーターは、この情報を受け取り、ルーティングテーブルを再計算して更新します。
  3. シャットダウン:
    上記のプロセスが完了した後に、ルーターはOSPFプロセスを安全に停止できます。

グレースフルシャットダウンのコマンド

グレースフルシャットダウンは、グローバル設定として以下のコマンドを用いて有効化できます。

Router(config)# router ospf <プロセスID>
Router(config-router)# shutdown

動作確認

R1でグレースフルシャットダウンを実行します。すぐにネイバーがダウンとなります。

グレースフルシャットダウン時の送信パケット

OSPFのグレースフルシャットダウンを実行すると、OSPFプロセスがシャットダウンする際に、特定のパケットが近隣のルーターに送信されます。具体的には、以下のようなパケットが送信されます。

1. LSA (Link-State Advertisement) パケットの取り消し

  • LSA Type 1 (Router LSA):
    グレースフルシャットダウンを開始すると、ルーターは自分のRouter LSAをLSA Ageフィールドを最大値 (3600秒) に設定した状態で再送信します。これにより、近隣ルーターはそのルーターの情報をトポロジーデータベースから削除します。

2. Hello パケット

  • OSPF Hello パケット:
    Backup Designated Routerを0.0.0.0に設定し、近隣ルーターに対して「このルーターはすぐにシャットダウンする」というメッセージを送ります。このパケットを受信したネイバーは、そのルーターとの隣接関係を即座に解消します。

以下は通常時のHelloパケットです。BDR(Backup Designated Router)に自身の情報を格納しています。