HSRP(二重化 その2)
デフォルトゲートウェイを冗長化するには、以下の方法があります。
- HSRPを使う方法
- VRRPを使う方法
ここでは、「HSRPを使う方法」について解説していきます。
HSRPとVRRPは、どちらもデフォルトルートを冗長化するプロトコルで、ほぼ同じような機能を持っていますが、冗長化を実現するための仕組みや設定、細かな動作は異なります。
HSRPは、Ciscoが独自に開発したプロトコルで、ベンダー独自の規格であるため、他社との互換性がありません。複数の他ベンダーが、このHSRPと同等なことを可能するために開発したがVRRPです。

HSRPは、同じグループ内のルータで、1つの「仮想IPアドレス」と「仮想MACアドレス」を共有することで、1つのルータに見せかけます。グループ内で、1台がActiveルータになり、その他のルータがStandbyルータになります。
ルーティング処理やARP応答は、Activeルータが担当します。デフォルトでルータ同士が、3秒ごとにHelloパケットを交換して、互いにHSRP情報をやり取りしています。このパケットは、UDPのポート番号1985、宛先IPアドレスとして、「224.0.0.2」のマルチキャストを使用しています。
Helloパケットを受信してから、10秒間、相手からHelloパケットが届かない場合、相手ルータが故障していると判断します。この相手が故障していると判断する時間のことをHold Timeと言います。
相手が故障と判断するとStandbyルータがActiveルータへと切り替わります。

Activeだったルータは、「Init(イニシャルステート)」へと状態が遷移します。
HSRPでは、以下の状態を遷移してActiveルータ、Standbyルータになります。ダウンした側は、イニシャルステートへの遷移します。
| 状態 | 説明 |
| イニシャルステート | 初期状態。HSRPのやり取りを全くしていない状態。 |
| ラーニングステート | Helloパケットを受信していない状態。 仮想IPアドレスを認識していない。 |
| リスニングステート | Helloパケットを受信する状態。 仮想IPアドレスを取得する。 |
| スピークステート | 定期的にHelloパケットを送信する状態。 |
| アクティブステート or スタンバイステート | Helloパケットを定期的に交換する。 Activeルータは、仮想IPアドレス宛の通信を処理し、Standbyルータは、待機する。 |
ActiveルータとStandbyルータの選出について
Activeルータは以下のように選出されます。
- プライオリティ値の高い方がActiveルータに選出される。
- プライオリティ値が同じ場合、大きいIPアドレスを持つルータがActiveルータに選出される。
プライオリティ値のデフォルトは、「100」です。つまり、プライオリティ値を設定しない場合は、大きいIPアドレスを持つルータがActiveルータに選出されます。
続きは、次の「HSRP(二重化 その3)」でHSRPを設定していきます。
