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

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

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

【前回】HSRPのパケットキャプチャ&デバッグ(障害時・復旧時①) ※Activeルータがリンクダウンしない場合

目次

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

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

ネットワーク構成

各機器の設定

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

Router1の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 _'

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

Router1
interface Gi0/0
 shut

Router1が、インターフェースのshutdown直前に、自身がActiveルーターでは無くなるという意味の”Resign”メッセージを送信します。

Router1
20:23:41.118 HSRP: Gi0/0 Interface going DOWN
20:23:41.119 HSRP: Gi0/0 Grp 254 Resign out 192.168.1.253 Active  pri 110 vIP 192.168.1.254
Router1からのResignメッセージのキャプチャ

その後、インターフェースがダウンし、”Init”ステータスになります。

Router1
20:23:41.140 HSRP: Gi0/0 Interface DOWN
20:23:41.140 HSRP: Gi0/0 Grp 254 Active router is unknown, was local
20:23:41.140 HSRP: Gi0/0 Grp 254 Active -> Init

Router2が、Router1からResignメッセージを受け取り、”Active”ステータスになります。

Router2
20:23:41.684: HSRP: Gi0/0 Grp 254 Resign in  192.168.1.253 Active  pri 110 vIP 192.168.1.254
20:23:41.685: HSRP: Gi0/0 Grp 254 Active router is local, was 192.168.1.253
20:23:41.687: HSRP: Gi0/0 Grp 254 Standby router is unknown, was local
20:23:41.687: HSRP: Gi0/0 Grp 254 Standby -> Active

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

Router2からのGratuitousARP(GARP)のキャプチャ

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

Server
cisco@Server:~$ ping 192.168.1.254 | xargs -I_ date +'%c _'
20:23:37 2021 64 bytes from 192.168.1.254: seq=0 ttl=255 time=17.033 ms
20:23:38 2021 64 bytes from 192.168.1.254: seq=1 ttl=255 time=35.577 ms
20:23:39 2021 64 bytes from 192.168.1.254: seq=2 ttl=255 time=21.936 ms
20:23:40 2021 64 bytes from 192.168.1.254: seq=3 ttl=255 time=30.306 ms
20:23:41 2021 64 bytes from 192.168.1.254: seq=4 ttl=255 time=28.449 ms
20:23:42 2021 64 bytes from 192.168.1.254: seq=5 ttl=255 time=17.756 ms
20:23:43 2021 64 bytes from 192.168.1.254: seq=6 ttl=255 time=123.694 ms
20:23:45 2021 64 bytes from 192.168.1.254: seq=7 ttl=255 time=357.507 ms
20:23:45 2021 64 bytes from 192.168.1.254: seq=8 ttl=255 time=82.340 ms
20:23:46 2021 64 bytes from 192.168.1.254: seq=9 ttl=255 time=25.668 ms
20:23:47 2021 64 bytes from 192.168.1.254: seq=10 ttl=255 time=25.824 ms
20:23:48 2021 64 bytes from 192.168.1.254: seq=11 ttl=255 time=25.762 ms
20:23:49 2021 64 bytes from 192.168.1.254: seq=12 ttl=255 time=27.005 ms
20:23:50 2021 64 bytes from 192.168.1.254: seq=13 ttl=255 time=24.511 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 Init    unknown         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

復旧時の動作

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

Router1
interface Gi0/0
 no shut

Router1が、インターフェースのリンクアップ後、1秒間の待機時間の後に”Listen”ステータスになります。

Router1
20:38:46.122: HSRP: Gi0/0 Interface UP 
20:38:46.122: HSRP: Gi0/0 Starting minimum intf delay (1 secs) - uptime 10912
20:38:47.120: HSRP: Gi0/0 Intf min delay expired - uptime 10913
20:38:47.120: HSRP: Gi0/0 Grp 254 Init: a/HSRP enabled
20:38:47.120: HSRP: Gi0/0 Grp 254 Init -> Listen

Router1が、Router2から「自身より低いプライオリティのアクティブルーターである」というHelloメッセージを受け取り、delayタイマーをスタートさせます。

Router1
20:38:47.128: HSRP: Gi0/0 Grp 254 Listen: h/Hello rcvd from lower pri Active router (105/192.168.1.252)
20:38:47.128: HSRP: Gi0/0 Grp 254 Starting minimum preempt delay (60 secs) - uptime 10913

Router1が、10秒のホールドタイム(Hold Time)が経過した後、”Speak”ステータスになり、Helloメッセージの送出を始めます。

Router1
20:38:57.302: HSRP: Gi0/0 Grp 254 Listen: d/Standby timer expired (unknown)
20:38:57.304: HSRP: Gi0/0 Grp 254 Listen -> Speak

Router1が、さらに10秒のホールドタイム(Hold Time)が経過した後、”Standby”ステータスになります。

Router1
20:39:08.911: HSRP: Gi0/0 Grp 254 Speak: d/Standby timer expired (unknown)
20:39:08.911: HSRP: Gi0/0 Grp 254 Standby router is local
20:39:08.912: HSRP: Gi0/0 Grp 254 Speak -> Standby

Router2は、Router1がStandbyルーターになったことを認識します。

Router2
20:39:08.444: HSRP: Gi0/0 Grp 254 Standby router is 192.168.1.253

Router1が、60秒のdelayタイマーが経過した後、自身がActiveルーターになるという意味の”Coup”メッセージを送信し、”Active”ステータスになります。

Router1
20:39:48.110: HSRP: Gi0/0 Grp 254 Minimum preempt delay expired - uptime 10974
20:39:48.110: HSRP: Gi0/0 Grp 254 Active router is local, was 192.168.1.252
20:39:48.113: HSRP: Gi0/0 Grp 254 Standby router is unknown, was local
20:39:48.115: HSRP: Gi0/0 Grp 254 Coup   out 192.168.1.253 Standby pri 110 vIP 192.168.1.254
20:39:48.116: HSRP: Gi0/0 Grp 254 Standby -> Active
Router1からのCoupメッセージのキャプチャ

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

Router1からのGratuitousARP(GARP)のキャプチャ

Router2が、Router1からCoupメッセージを受け取り、”Speak”ステータスになります。

Router2
20:39:47.422: HSRP: Gi0/0 Grp 254 Coup   in  192.168.1.253 Standby pri 110 vIP 192.168.1.254
20:39:47.423: HSRP: Gi0/0 Grp 254 Active: j/Coup rcvd from higher pri router (110/192.168.1.253)
20:39:47.423: HSRP: Gi0/0 Grp 254 Active router is 192.168.1.253, was local
20:39:47.423: HSRP: Gi0/0 Grp 254 Standby router is unknown, was 192.168.1.253
20:39:47.423: HSRP: Gi0/0 Grp 254 Active -> Speak

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

Router2
20:39:58.763: HSRP: Gi0/0 Grp 254 Speak: d/Standby timer expired (unknown)
20:39:58.763: HSRP: Gi0/0 Grp 254 Standby router is local
20:39:58.763: HSRP: Gi0/0 Grp 254 Speak -> Standby

Router1は、Router2がStandbyルーターになったことを認識します。

Router1
20:39:59.351: HSRP: Gi0/0 Grp 254 Standby router is 192.168.1.252

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

Server
cisco@Server:~$ ping 192.168.1.254 | xargs -I_ date +'%c _'
20:38:40 2021 64 bytes from 192.168.1.254: seq=0 ttl=255 time=14.943 ms
20:38:41 2021 64 bytes from 192.168.1.254: seq=1 ttl=255 time=29.294 ms
20:38:42 2021 64 bytes from 192.168.1.254: seq=2 ttl=255 time=22.645 ms
20:38:43 2021 64 bytes from 192.168.1.254: seq=3 ttl=255 time=25.632 ms
20:38:44 2021 64 bytes from 192.168.1.254: seq=4 ttl=255 time=29.068 ms
〜・〜・〜・〜・〜・〜・〜・〜・〜・〜・〜 中略 〜・〜・〜・〜・〜・〜・〜・〜・〜・〜・〜
※この辺りで、Activeルーターの切り替わり
20:39:46 2021 64 bytes from 192.168.1.254: seq=66 ttl=255 time=22.378 ms
20:39:47 2021 64 bytes from 192.168.1.254: seq=67 ttl=255 time=17.976 ms
20:39:48 2021 64 bytes from 192.168.1.254: seq=68 ttl=255 time=38.025 ms
20:39:49 2021 64 bytes from 192.168.1.254: seq=69 ttl=255 time=16.176 ms
20:39:50 2021 64 bytes from 192.168.1.254: seq=70 ttl=255 time=21.265 ms
20:39:51 2021 64 bytes from 192.168.1.254: seq=71 ttl=255 time=19.479 ms
20:39:52 2021 64 bytes from 192.168.1.254: seq=72 ttl=255 time=48.578 ms
20:39:53 2021 64 bytes from 192.168.1.254: seq=73 ttl=255 time=17.137 ms
20:39:54 2021 64 bytes from 192.168.1.254: seq=74 ttl=255 time=24.195 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のパケットキャプチャ&デバッグ(障害時・復旧時①) ※Activeルータがリンクダウンしない場合

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