○基本動作
まず始めにHSRPを組んでいるルータ郡の中からアクティブルータを選出し、
それ以外がスタンバイルータとなる。
その後はHSRPのバーチャルIPアドレスへの通信は全てアクティブルータが処理する。
アクティブルータの障害時は、
スタンバイルータ郡から新たなアクティブルータを選出する。
各ルータはある一定の間隔でHelloパケットをマルチキャストで送信し
各ルータが稼働中であることを他のルータへ伝える。
スタンバイルータはHelloパケットをある一定期間受け取らないと、
アクティブルータの障害と判断して新たなアクティブルータの選出を開始する。
HSRPはルータ毎の設定ではなく、インターフェース毎の設定である。
1つのルータでインターフェース毎に複数のHSRPを設定することが可能。
○HSRPグループ
HSRPは、standbyグループという概念によってどのルータとHSRPを組むかを決定する。
そのstandbyグループはグループ番号で識別する。
HSRPを組みたいルータ同士は同じグループ番号で宣言する必要があり、
同じグループ番号で宣言すると、
同じグループに属することになりHSRPのやり取りを始める。
○バーチャルIPアドレス
バーチャルIPアドレスはstandbyグループ内で1つ宣言され、統一されていなければならない。
<書式>
# standby <グループ番号> ip <IPアドレス>
<例>
# standby 45 ip 1.1.1.3
○仮想MAC
バーチャルIPアドレスの動作は仮想MACによって実現している。
グループ番号が45の場合にHSRPが使用する仮想MAC
0000.0c07.ac2d
内訳は次のようになっている
0000.0c:ciscoのベンダーコード
07.ac:HSRPの仮想MACアドレス
2d:HSRPグループ番号(45)
ルータの設定によって「2d」が変わるだけで、他の部分は全てのHSRPで共通となる。
○プライオリティ(priority)
HSRPでは、priorityの高い方がアクティブルータになる。
デフォルトは100。
priorityが同じ場合、IPアドレスの大きい方がアクティブになる。
<書式>
# standby <グループ番号> priority <プライオリティ値>
<例>
# standby 45 priority 150
○プリエンプト(preempt)
preemptが設定されていないHSRPグループでは、
一度アクティブルータが決まるとアクティブルータの障害時以外に
アクティブとスタンバイが入れ替わることはない。
したがって、グループ内で最初に起動したルータがアクティブルータとなる。
<書式>
# standby <グループ番号> preempt
<例>
# standby 45 preempt
○Hello間隔とホールドタイマー
各ルータはHello間隔でHelloパケットを送信し、
ホールドタイマーの間Helloパケットを受信できないと、
送り元のルータの障害と判断する。
デフォルトは、
Hello間隔が3秒
ホールドタイマーが10秒
となっている。
それぞれの値は任意に変更可能だが、
ホールドタイマーはHello間隔の3倍以上を設定することが強く勧められている。
<書式>
# standby <グループ番号> timers <Hello間隔> <ホールドタイマー>
<例>
# standby 45 timers 5 15
HSRPの設定例についてはこちら
HSRPの状態推移についてはこちら