HSRPのパケットキャプチャ&デバッグ(起動時)

HSRPのパケットキャプチャ&デバッグ(起動時)

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

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

目次

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

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

ネットワーク構成

各機器の設定

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)

デバッグの出力確認

Router1とRouter2にHSRPを設定した後の動作を確認します。

デバッグの表示は下記の通りです。

Router1
07:31:24.182: HSRP: Gi0/0 Added 192.168.1.254 to hash table
07:31:24.182: HSRP: Gi0/0 Grp 254 Disabled: a/HSRP enabled
07:31:24.183: HSRP: Gi0/0 Grp 254 Disabled -> Listen
07:31:24.236: HSRP: Gi0/0 Grp 254 Priority 100 -> 110
07:31:34.254: HSRP: Gi0/0 Grp 254 Listen: d/Standby timer expired (unknown)
07:31:34.254: HSRP: Gi0/0 Grp 254 Listen -> Speak
07:31:46.072: HSRP: Gi0/0 Grp 254 Speak: d/Standby timer expired (unknown)
07:31:46.073: HSRP: Gi0/0 Grp 254 Standby router is local
07:31:46.073: HSRP: Gi0/0 Grp 254 Speak -> Standby
07:31:47.032: HSRP: Gi0/0 Grp 254 Standby: c/Active timer expired (unknown)
07:31:47.032: HSRP: Gi0/0 Grp 254 Active router is local
07:31:47.032: HSRP: Gi0/0 Grp 254 Standby router is unknown, was local
07:31:47.032: HSRP: Gi0/0 Grp 254 Standby -> Active
07:31:47.034: HSRP: Gi0/0 Grp 254 Added 192.168.1.254 to ARP (0000.0c07.acfe)
07:32:08.431: HSRP: Gi0/0 Grp 254 Standby router is 192.168.1.252
07:32:08.431: HSRP: Gi0/0 Nbr 192.168.1.252 is no longer passive
07:32:08.432: HSRP: Gi0/0 Nbr 192.168.1.252 standby for group 254
Router2
07:31:30.150: HSRP: Gi0/0 Added 192.168.1.254 to hash table
07:31:30.152: HSRP: Gi0/0 Grp 254 Disabled -> Init
07:31:30.188: HSRP: Gi0/0 Grp 254 Priority 100 -> 105
07:31:31.224: HSRP: Gi0/0 Grp 254 Init: a/HSRP enabled
07:31:31.225: HSRP: Gi0/0 Grp 254 Init -> Listen
07:31:42.324: HSRP: Gi0/0 Grp 254 Listen: c/Active timer expired (unknown)
07:31:42.324: HSRP: Gi0/0 Grp 254 Listen -> Speak
07:31:43.939: HSRP: Gi0/0 Grp 254 Speak: f/Hello rcvd from higher pri Speak router (110/192.168.1.253)
07:31:43.940: HSRP: Gi0/0 Grp 254 Speak -> Listen
07:31:47.807: HSRP: Gi0/0 Grp 254 Standby router is 192.168.1.253
07:31:47.808: HSRP: Gi0/0 Nbr 192.168.1.253 created
07:31:47.809: HSRP: Gi0/0 Nbr 192.168.1.253 standby for group 254
07:31:48.713: HSRP: Gi0/0 Grp 254 Active router is 192.168.1.253
07:31:48.714: HSRP: Gi0/0 Nbr 192.168.1.253 active for group 254
07:31:48.716: HSRP: Gi0/0 Grp 254 Standby router is unknown, was 192.168.1.253
07:31:48.718: HSRP: Gi0/0 Nbr 192.168.1.253 no longer standby for group 254 (Listen)
07:31:59.587: HSRP: Gi0/0 Grp 254 Listen: d/Standby timer expired (unknown)
07:31:59.587: HSRP: Gi0/0 Grp 254 Listen -> Speak
07:32:09.846: HSRP: Gi0/0 Grp 254 Speak: d/Standby timer expired (unknown)
07:32:09.846: HSRP: Gi0/0 Grp 254 Standby router is local
07:32:09.846: HSRP: Gi0/0 Grp 254 Speak -> Standby

順を追ってステータスの遷移を見ていきます。

Step1. HSRP起動

両ルーターともに設定直後に”Listen”ステータスになります。

Router1
07:31:24.183: HSRP: Gi0/0 Grp 254 Disabled -> Listen
Router2
07:31:31.225: HSRP: Gi0/0 Grp 254 Init -> Listen

Step2. 両ルーターがSpeakに遷移

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

Router1
07:31:34.254: HSRP: Gi0/0 Grp 254 Listen: d/Standby timer expired (unknown)
07:31:34.254: HSRP: Gi0/0 Grp 254 Listen -> Speak
Router2
07:31:42.324: HSRP: Gi0/0 Grp 254 Listen: c/Active timer expired (unknown)
07:31:42.324: HSRP: Gi0/0 Grp 254 Listen -> Speak
Router1&2のHelloメッセージのキャプチャ
パケットキャプチャ(Helloパケット)

Step3. Router2がListenに遷移

Router2が、自身よりも高いプライオリティのHelloメッセージを受け取ったため、”Listen”ステータスになります。

Router2
07:31:43.939: HSRP: Gi0/0 Grp 254 Speak: f/Hello rcvd from higher pri Speak router (110/192.168.1.253)
07:31:43.940: HSRP: Gi0/0 Grp 254 Speak -> Listen

Step4. Router1がActiveに遷移

Router1のホールドタイムが切れ、”Stanby”ステータスを経由し、”Active”ステータスになります。

Router1
07:31:46.072: HSRP: Gi0/0 Grp 254 Speak: d/Standby timer expired (unknown)
07:31:46.073: HSRP: Gi0/0 Grp 254 Standby router is local
07:31:46.073: HSRP: Gi0/0 Grp 254 Speak -> Standby
07:31:47.032: HSRP: Gi0/0 Grp 254 Standby: c/Active timer expired (unknown)
07:31:47.032: HSRP: Gi0/0 Grp 254 Active router is local
07:31:47.032: HSRP: Gi0/0 Grp 254 Standby -> Active

Step5. Router1がHelloメッセージを送出

Router1が、自身が”Active”である情報を含むHelloメッセージを送ります。

Router1がActiveになった後のHelloメッセージのキャプチャ

Step6. Router1がGARPを送出

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

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

Step7. Router2がRouter1の状態を認識

Router2が、Router1が”Active”となったことを認識します。

Router2
07:31:48.713: HSRP: Gi0/0 Grp 254 Active router is 192.168.1.253
07:31:48.714: HSRP: Gi0/0 Nbr 192.168.1.253 active for group 254

Step8. Router2がStandbyに遷移

Router2が、10秒毎にホールドタイムが切れ、”Speak”ステータスを経由し、”Standby”ステータスになります。

Router2
07:31:59.587: HSRP: Gi0/0 Grp 254 Listen: d/Standby timer expired (unknown)
07:31:59.587: HSRP: Gi0/0 Grp 254 Listen -> Speak
07:32:09.846: HSRP: Gi0/0 Grp 254 Speak: d/Standby timer expired (unknown)
07:32:09.846: HSRP: Gi0/0 Grp 254 Standby router is local
07:32:09.846: HSRP: Gi0/0 Grp 254 Speak -> Standby

Step9. Router5がHelloメッセージを送出

Router2が、自身が”Standby”である情報を含むHelloメッセージを送ります。

Router2がStandbyになった後のHelloメッセージのキャプチャ

Step10. Router1がRouter2の状態を認識

Router1が、Router2が”Standby”となったことを認識し、HSRPのステータス遷移が収束しました。

Router1
07:32:08.431: HSRP: Gi0/0 Grp 254 Standby router is 192.168.1.252
07:32:08.432: HSRP: Gi0/0 Nbr 192.168.1.252 standby for group 254

これで、HSRPのパケットキャプチャ&デバッグ(起動時)の説明は完了です!

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

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