HSRP 基礎編:(5) HSRP のパケット・フォーマット

HSRP パケットの中身を見ていきます。
a

hsrp-a5-1.png

hsrp-a5-2.png

Ethernet 

宛先MAC アドレスは、宛先IPアドレスの224.0.0.2 に対応するマルチキャスト・アドレス(01-00-5E-00-00-02)です。
送信元MAC アドレスは、アクティブ・ルーターの場合はバーチャルMAC アドレスを使用します。
スタンバイ・ルーターは、送信するインターフェイスのリアルMAC アドレスを使います。


IP

HSRP はサブネット内でのみ有効なプロトコルです。HSRP のパケットはルーティングされる必要がないので、IP ヘッダのTTL(Time To Live) は必ず1が入ります。
HSRP は上位プロトコルにUDP を使用します。Protocol フィールドにはUDPを意味する17(10進数)が入ります。

宛先IP アドレスは、サブネット内のすべてのルータを意味するマルチキャスト・アドレス224.0.0.2 が入ります。
送信元IP アドレスは、HSRP のパケットを送信するインターフェイスのReal IP アドレスです。アクティブ・ルーターも同じです。


UDP

UDP のポート番号は、宛先・送信元のどちらも、HSRP を意味する1985(10進数)が入ります。


HSRP

Version:

HSRP のVersion は0です。


Opcode:

HSRP メッセージの種類を意味します。
HSRP のOpcode (オプコード)には、Hello、Coup、Resign、Advertisement の四種類があります。

※ Advertisement は、IOS version 12.1(3)T からサポート

各Opcode の詳細は後述します。


State:

スタンバイ・グループに所属しているルーターの状態(ステート)を意味します。
HSRP のステートには、Init、Learn、Listen、Speak、Standby、Active の六種類があります。
各ステートの詳細に後述します。


Hello Time:

ルーターがHello メッセージを送信する間隔を秒数で指定します。デフォルトは3秒です(1~254秒の間で設定可能)。


Hold Time:

他のルーターから受信したHello メッセージの内容を保持する時間を秒数で指定します。デフォルトは10秒です("Hello Time + 1秒" ~ 255秒の間で設定可能)。
アクティブ・ルーターからの最後のHello メッセージを受信した後、Hold Time の秒数が経過すると、アクティブ・ルーターが存在しなくなったと判断して、スタンバイ・ルーターは自分がアクティブ・ルーターになろうとします。

Hello Time とHold Time は、アクティブ・ルーターに設定された値が、スタンバイ・グループ内のすべてのルーターに共有されます。
アクティブ・ルーターが切り替わると、新しいアクティブ・ルーターに設定されている値に変わります。

※ 値が変わるのは、明示的な値が新しいアクティブ・ルーターに設定されている場合だけです。明示的に設定されていない場合、つまりデフォルト値を使用している場合は、以前のアクティブ・ルーターの値が使われ続けます。

同様に、スタンバイ・ルーターからの最後のHello メッセージ受信後、Hold Time が経過すると、Listen State にあったその他大勢のルーターは、スタンバイ・ルーターが存在しなくなったと判断して、自分がスタンバイ・ルーターになろうとします。スタンバイ・ルーターが故障したり、アクティブ・ルーターが故障してそれまでのスタンバイ・ルーターがアクティブ・ルーターに昇格すると発生します。


Priority:

ルータに設定されたプライオリティ(優先度)が入ります。
プライオリティが一番高く設定されたルーターがアクティブ・ルーターに、二番目に高いルータがスタンバイ・ルーターがとなります。
プライオリティが同じ場合は、各ルーターのインターフェイスに設定されたリアルIP アドレスが比較の対象となります。
プライオリティのデフォルト値は100です(0~255の間で設定可能)。


Standby Group:

ルーターに設定されたスタンバイ・グループ番号が入ります。
スタンバイ・グループ番号のデフォルト値は0です。
スタンバイ・グループ番号を設定しない場合は、0が自動的に設定されます。show running-config では表示されませんが、show standby を実行すると、グループ番号が0になっているのが確認できます。


Reserved:
 
未使用フィールドです。このフィールドには0が格納されます。


Authentication Data:

スタンバイ・グループに参加するルーター認証用の文字列(クリアーテキスト)が入ります。
文字列を設定することで、スタンバイ・グループに参加するルーターの簡易認証を行うことができます。デフォルト値は0x63 0x69 0x73 0x63 0x6f 0x00 0x00 0x00(Cisco)です。


Virtual IP Address:

ルーターに設定されたバーチャルIP アドレスが格納されます。