HSRPでActive機に障害が発生した場合に、Standby機はその障害を検知し、Active機に昇格します。 Active機を再起動した場合やLANケーブルを抜線した場合の挙動について確認してみます。
アクティブ機をコマンドで再起動したとき
R2のコンソールから、手動で、再起動してみます。
R2#reload
Proceed with reload? [confirm]
*Jun 2 08:46:29.906: %HSRP-5-STATECHANGE: FastEthernet0/0.23 Grp 1 state Active -> Init
上記のログの通り、reloadした後、すぐに、HSRPの状態がActive -> Init に変更されます。 R2とR3間のパケットをキャプチャすると、再起動のタイミングで、R2(Active)からR3(Standby)にResignメッセージが送信されています。
Resignメッセージは、アクティブなHSRPデバイスがオフラインになるか、何らかの理由でアクティブな役割を放棄するときに、アクティブなHSRPデバイスから送信されます。このメッセージにより、スタンバイルータへすぐにアクティブな役割を引き継ぐように知らせます。
アクティブ機のLAN側インタフェース(192.168.23.2)をコマンドで shutdownした時も、アクティブ機からResignメッセージが送信され、スタンバイ機は即時にアクティブに状態を変更しました。所感ですが、この挙動は、OSなどにより、異なることが想定されます。
アクティブ機のLAN側のケーブルを抜線した時
このような場合、アクティブ機はスタンバイ機に状態の変更を通知することができず、スタンバイ機は、ホールドタイムを経過後も、アクティブ機からのHelloを受信しないことを契機に、自らをアクティブ機へ昇格します。
端末で連続Pingを実行すると、以下のように十数秒程度の通信断が発生します。
84 bytes from 5.5.5.5 icmp_seq=20 ttl=254 time=29.554 ms 84 bytes from 5.5.5.5 icmp_seq=21 ttl=254 time=21.816 ms 84 bytes from 5.5.5.5 icmp_seq=22 ttl=254 time=28.936 ms 84 bytes from 5.5.5.5 icmp_seq=23 ttl=254 time=30.966 ms 84 bytes from 5.5.5.5 icmp_seq=24 ttl=254 time=28.974 ms 84 bytes from 5.5.5.5 icmp_seq=25 ttl=254 time=24.053 ms 84 bytes from 5.5.5.5 icmp_seq=26 ttl=254 time=30.113 ms 84 bytes from 5.5.5.5 icmp_seq=27 ttl=254 time=23.963 ms 5.5.5.5 icmp_seq=28 timeout 5.5.5.5 icmp_seq=29 timeout 5.5.5.5 icmp_seq=30 timeout 5.5.5.5 icmp_seq=31 timeout 5.5.5.5 icmp_seq=32 timeout 5.5.5.5 icmp_seq=33 timeout 84 bytes from 5.5.5.5 icmp_seq=34 ttl=254 time=46.706 ms
アクティブ機の電源ケーブルを抜くなど、ルータが急に停止するような場合は、この動作になります
より断時間を短くするには、Hello/Holdタイムをデフォルト値より短くする必要があります。
コメント