Cisco ルータ・スイッチで冗長化 (HSRP) -詳細-




○基本動作
  まず始めに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の状態推移についてはこちら