OSPFルータを停止する際、OSPFプロセスを手動でシャットダウンすることで、ネイバーにOSPFプロセス停止を伝えることができます。これによりネイバーは、Helloタイマーに依存することなく、OSPFプロセス停止を認識するため、ネットワークの収束(コンバージェンス)が改善されます。
事前確認
R1のOSPFプロセスをシャットダウンするとします。現在の隣接状態を事前に確認します。
R1# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/DR 00:00:38 192.168.12.2 FastEthernet0/0.12 R2# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 FULL/BDR 00:00:36 192.168.12.1 FastEthernet0/0.12
R1のOSPFプロセスで、shutdownコマンドを実行します。
R1(config)# router ospf 1
R1(config-router)# shutdown
R1(config-router)#
*Jul 19 03:05:58.827: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0.12
from FULL to DOWN, Neighbor Down: Interface down or detached
R1ではすぐにR2とのネイバー状態がダウンします。これ以降は、R1からHelloパケットが送信されません。 ここで、R2の隣接状態を確認します。
R2# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 0 INIT/DROTHER 00:00:14 192.168.12.1 FastEthernet0/0.12
R1からシャットダウンの通知を受けたことで、状態がINITとなっています。Deadタイマー(デフォルト40秒)経過後、INIT状態からDOWN状態へ推移します。
R2# *Jul 19 03:06:38.987: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on FastEthernet0/0.12 from INIT to DOWN, Neighbor Down: Dead timer expired
シャットダウン時の動作
R1でをshutdownコマンドを実行した直後、R1からR2へ2つのOSPFパケットが送信されます。
LSUpdate
LS Age フィールドを最大値である3600秒に設定して、LSUpdateをネイバー(R2)に送信します。これにより、R2はR1から受信したLSAをフラッシュします。
Helloパケット
DR / BDRが0.0.0.0に設定され、Neighborフィールド無しのHelloパケットをネイバー(R2)に送信します。
このHelloパケットを受信することで、ネイバー(R2)は隣接状態をFULLからINITへ変更します。
シャットダウンからの復旧
R1のOSPFプロセスをno shutdownコマンドを実行します。すると、隣接関係はすぐに復旧します。
R1(config)# router ospf 1
R1(config-router)# no shutdown
R1(config-router)#
*Jul 19 03:34:22.191: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0.12 from
LOADING to FULL, Loading Done
コメント