HSRPのパケットキャプチャ&デバッグ(障害時・復旧時①)

HSRPのパケットキャプチャ&デバッグ(障害時・復旧時①)

HSRPの障害時・復旧時の動作について、パケットキャプチャとデバッグを実施し検証します。

【前回】HSRPのパケットキャプチャ&デバッグ(起動時)
【次回】HSRPのパケットキャプチャ&デバッグ(障害時・復旧時②) ※Activeルータがリンクダウンする場合

目次

ネットワーク構成と各機器の設定

CMLで下記のネットワークを構築します。

ネットワーク構成

各機器の設定

障害ポイントとキャプチャポイント

Switch3のGi0/0をshutdownし、Router1が直接リンクダウンしないリンク障害を発生させます。キャプチャポイントは、Switch2とSwitch3の間としています。

障害ポイントとキャプチャポイント

HSRPのデバッグコマンド

HSRPのデバッグコマンドは、下記の種類があります。

Router#debug standby ?
  errors   HSRP errors
  events   HSRP events
  packets  HSRP packets
  terse    Display limited range of HSRP errors, events and packets
  <cr>     <cr>

“debug standby terse”を実行すると、必要最低限のHSRPデバッグが有効になります。

Router#debug standby terse 
HSRP:
  HSRP Errors debugging is on
  HSRP Events debugging is on
    (protocol, neighbor, redundancy, track, arp, interface)
  HSRP Packets debugging is on
    (Coup, Resign)

Router#show debug
HSRP:
  HSRP Errors debugging is on
  HSRP Events debugging is on
    (protocol, neighbor, redundancy, track, arp, interface)
  HSRP Packets debugging is on
    (Coup, Resign)

障害時の動作

Serverから連続PingをHSRP-IP宛に実施し、HSRPの切り替わりによる通信断時間を測定します。
下記のコマンドを実施すると、タイムスタンプが付与されます。

Server
ping 192.168.1.254 | xargs -I_ date +'%c _'

Switch3のGi0/0を”shutdown”します。

Switch3
interface Gi0/0
 shut

Switch3のGi0/0がリンクダウンしたことを確認します。

Switch3
20:47:08.116: %LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to administratively down
20:47:09.118: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to down

Router2が、Router1からHelloメッセージを受け取れなくなったため、ホールドタイムが切れた後に”Active”ステータスになります。

Router2
20:47:15.711: HSRP: Gi0/0 Grp 254 Standby: c/Active timer expired (192.168.1.253)
20:47:15.711: HSRP: Gi0/0 Grp 254 Active router is local, was 192.168.1.253
20:47:15.711: HSRP: Gi0/0 Grp 254 Standby router is unknown, was local
20:47:15.711: HSRP: Gi0/0 Grp 254 Standby -> Active

Router1も、Router2からHelloメッセージを受け取れなくなったため、Standbyルーターをunknownに変更します。

Router1
20:47:16.164: HSRP: Gi0/0 Grp 254 Standby router is unknown, was 192.168.1.252

Router2はActiveになると、GratuitousARP(GARP)を送信し、周辺機器のMACアドレステーブルを更新します。
※HSRPの仮想MACアドレス(0000.0c07.acfe)を自身が保持していることを知らせます。

Router2からのGratuitousARP(GARP)のパケットキャプチャ

ServerのPingの状況を確認すると、12秒程度の通信断が発生した後に、Pingが復旧していることが分かります。

Server
cisco@Server:~$ ping 192.168.1.254 | xargs -I_ date +'%c _'
20:47:00 64 bytes from 192.168.1.254: seq=1 ttl=255 time=47.439 ms
20:47:01 64 bytes from 192.168.1.254: seq=2 ttl=255 time=29.279 ms
20:47:02 64 bytes from 192.168.1.254: seq=3 ttl=255 time=24.984 ms
20:47:03 64 bytes from 192.168.1.254: seq=4 ttl=255 time=21.449 ms
20:47:04 64 bytes from 192.168.1.254: seq=5 ttl=255 time=20.293 ms
〜〜〜〜〜〜〜〜〜〜〜   ここで12秒程度の通信断   〜〜〜〜〜〜〜〜〜〜〜
20:47:16 64 bytes from 192.168.1.254: seq=17 ttl=255 time=21.106 ms
20:47:17 64 bytes from 192.168.1.254: seq=18 ttl=255 time=22.603 ms
20:47:18 64 bytes from 192.168.1.254: seq=19 ttl=255 time=22.032 ms
20:47:19 64 bytes from 192.168.1.254: seq=20 ttl=255 time=19.868 ms
20:47:20 64 bytes from 192.168.1.254: seq=21 ttl=255 time=21.765 ms

Router1/Router2のHSRPのステータスは下記となります。

Router1
Router1#show standby brief 
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri    P State   Active          Standby          Virtual IP
Gi0/0       254  110    P Active  local           unknown          192.168.1.254
Router2
Router2#show standby brief 
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri    P State   Active          Standby          Virtual IP
Gi0/0       254  105    P Active  local           unknown          192.168.1.254

復旧時の動作

Switch3のGi0/0を”no shutdown”します。

Switch3
interface Gi0/0
 no shut

Switch3のGi0/0がリンクアップしたことを確認します。

Switch3
21:05:35.115: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
21:05:36.115: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up

Router2は、Router1から「自身より高いプライオリティでActiveルーターである」というHelloメッセージを受け取り、”Speak”ステータスになります。

Router2
21:05:34.376: HSRP: Gi0/0 Grp 254 Hello  in  192.168.1.253 Active  pri 110 vIP 192.168.1.254
21:05:34.378: HSRP: Gi0/0 Grp 254 Active: g/Hello rcvd from higher pri Active router (110/192.168.1.253)
21:05:34.379: HSRP: Gi0/0 Grp 254 Active -> Speak

Router2は、自身がActiveルーターでは無くなるという意味の”Resign”メッセージを送信します。

Router2からのResignメッセージのパケットキャプチャ

Router1が、自身がActiveルーターになるという意味の”Coup”メッセージを送信します。

Router1
21:05:33.981: HSRP: Gi0/0 Grp 254 Resign in  192.168.1.252 Speak   pri 105 vIP 192.168.1.254
21:05:33.981: HSRP: Gi0/0 Grp 254 Coup   out 192.168.1.253 Active  pri 110 vIP 192.168.1.254
Router1からのCoupメッセージのパケットキャプチャ

Router1はActiveになると、GratuitousARP(GARP)を送信し、周辺機器のMACアドレステーブルを更新します。
※HSRPの仮想MACアドレス(0000.0c07.acfe)を自身が保持していることを知らせます。

Router1からのGratuitousARP(GARP)のパケットキャプチャ

Router2が、ホールドタイムが切れ、”Standby”ステータスになります。

Router2
21:05:46.167: HSRP: Gi0/0 Grp 254 Speak: d/Standby timer expired (unknown)
21:05:46.168: HSRP: Gi0/0 Grp 254 Speak -> Standby

ServerのPingの状況を確認すると、通信断は発生していないことが分かります。

Server
cisco@Server:~$ ping 192.168.1.254 | xargs -I_ date +'%c _'
21:05:30 64 bytes from 192.168.1.254: seq=6 ttl=255 time=20.622 ms
21:05:31 64 bytes from 192.168.1.254: seq=7 ttl=255 time=36.876 ms
21:05:32 64 bytes from 192.168.1.254: seq=8 ttl=255 time=46.996 ms
21:05:33 64 bytes from 192.168.1.254: seq=9 ttl=255 time=24.216 ms
21:05:34 64 bytes from 192.168.1.254: seq=10 ttl=255 time=20.414 ms
21:05:35 64 bytes from 192.168.1.254: seq=11 ttl=255 time=27.021 ms
21:05:36 64 bytes from 192.168.1.254: seq=12 ttl=255 time=17.165 ms
21:05:37 64 bytes from 192.168.1.254: seq=13 ttl=255 time=19.152 ms
21:05:38 64 bytes from 192.168.1.254: seq=14 ttl=255 time=23.316 ms
21:05:39 64 bytes from 192.168.1.254: seq=15 ttl=255 time=22.311 ms
21:05:40 64 bytes from 192.168.1.254: seq=16 ttl=255 time=19.345 ms
21:05:41 64 bytes from 192.168.1.254: seq=17 ttl=255 time=12.674 ms
21:05:42 64 bytes from 192.168.1.254: seq=18 ttl=255 time=17.168 ms
21:05:43 64 bytes from 192.168.1.254: seq=19 ttl=255 time=74.909 ms
21:05:44 64 bytes from 192.168.1.254: seq=20 ttl=255 time=13.560 ms
21:05:45 64 bytes from 192.168.1.254: seq=21 ttl=255 time=15.548 ms
21:05:46 64 bytes from 192.168.1.254: seq=22 ttl=255 time=14.045 ms
〜〜〜〜〜〜〜〜〜〜〜   通信断発生なし   〜〜〜〜〜〜〜〜〜〜〜

Router1/Router2のHSRPのステータスは下記となります。

Router1
Router1#show standby brief 
                     P indicates configured to preempt.
                     |
Interface   Grp   Pri    P State   Active        Standby                Virtual IP
Gi0/0        254  110    P Active  local         192.168.1.252          192.168.1.254
Router2
Router2#show standby brief 
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri   P State    Active                Standby         Virtual IP
Gi0/0       254  105   P Standby  192.168.1.253         local           192.168.1.254

これで、HSRPのパケットキャプチャ&デバッグ(障害時・復旧時①)の説明は完了です!

【前回】HSRPのパケットキャプチャ&デバッグ(起動時)
【次回】HSRPのパケットキャプチャ&デバッグ(障害時・復旧時②) ※Activeルータがリンクダウンする場合

  • URLをコピーしました!
  • URLをコピーしました!
目次