グレースフルシャットダウンとは
OSPFのグレースフルシャットダウンは、ルーターがOSPFプロセスを停止する際に、ネットワークに最小限の影響を与えるようにする機能です。この機能を使うことで、OSPFルーターが意図的にシャットダウンされる際、近隣のルーターや全体のネットワークトポロジに混乱をもたらすことなく、スムーズにルーティングプロセスを停止できます。
グレースフルシャットダウンの動作:
- OSPFネイバーに通知:
ルーターがOSPFプロセスをグレースフルにシャットダウンすると、まず近隣のOSPFネイバーにその旨を通知します。これにより、他のルーターはそのルーターとのOSPF隣接関係をタイムアウト前に即座にクリアします。 - ルートの撤回:
ルーターは、自身が広告していたすべてのルート(LSA: Link-State Advertisement)を取り下げ、ルーティングテーブルから削除します。他のルーターは、この情報を受け取り、ルーティングテーブルを再計算して更新します。 - シャットダウン:
上記のプロセスが完了した後に、ルーターはOSPFプロセスを安全に停止できます。
グレースフルシャットダウンのコマンド
グレースフルシャットダウンは、グローバル設定として以下のコマンドを用いて有効化できます。
Router(config)# router ospf <プロセスID>
Router(config-router)# shutdown
動作確認

R1でグレースフルシャットダウンを実行します。すぐにネイバーがダウンとなります。
R1(config)#router ospf 1
R1(config-router)#shutdown
グレースフルシャットダウン時の送信パケット
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)に自身の情報を格納しています。
