7.1. HSRP
7.1.1. ファーストホップルータの冗長化
PCが異なるネットワークの端末と通信を行う場合必ずデフォルトゲートウェイを通過する。
デフォルトゲートウェイは最初に通過するルータであることからファーストホップルータとみなされる。
そのためデフォルトゲートウェイの冗長を行うことで耐障害性が見込める。 デフォルトゲートウェイを冗長化してデフォルトゲートウェイに設定したルータに障害が起きた際に予備のデフォルトゲートウェイにしたルータに変更するのは手間となる。 そのため冗長化のために用意したファーストホップルータを活用するためのプロトコルにCISCO社独自のHSRP、GLBP、標準化されたVRRPがある。こうしたDGWを冗長化するプロトコルはFHRPと総称される。
これらを利用するとデフォルトゲートウェイの設定を変更せずとも切り替えができる。
7.1.2. HSRPの概要
CISCO社が開発したプロトコルでルータの冗長化を行うためのもの。 複数存在しているルータを1つに見せかけることができる。
複数のファーストホップルータを含む共通グループはHSRPスタンバイグループと呼ばれる。 このHSRPスタンバイグループは0~255の番号で管理が行われる。
またHSRPスタンバイグループには仮想IPアドレスが割り当てられる。この仮想IPアドレスは仮想ルータのIPアドレスであり、クライアント側でこのIPアドレスをデフォルトゲートウェイとして設定する。 また仮想IPアドレスだけではなく仮想MACアドレスも用意されている。なお仮想MACアドレスの前半5オクテットは0000.0C07.ACと決まっている。
HSRPスタンバイグループの中でプライオリティが最も大きいルータがアクティブルータに選出され転送処理などを行う。 また2番目に大きいルータがスタンバイルータとなりアクティブルータのバックアップとなる。
7.1.3. HSRPの動作
HSRPの動作ステップ
HSRPの動作は以下ステップで行われる。
- Helloパケットを224.0.0.2にマルチキャストで送信しHSRP情報の交換をルータ間で行う(Helloパケット送信間隔は3秒)
- アクティブルータ/スタンバイルータをプライオリティ値から選出する
- ルータの役割決定後はHelloパケットによる生存確認。アクティブルータ/スタンバイルータのみが送信、他ルータはListen状態で受け取り待ち状態となる。なおスタンバイルータは10秒間Helloパケットをアクティブルータから受け取らない場合に自身をアクティブルータにする。

HSRPの状態遷移
HSRPが動作してルータの役割が決まるまでいくつかの状態を遷移する。
| 状態 | 定義 | 
|---|---|
| Initial | 最初の状態(HSRP設定直後) | 
| Learn | ルータがアクティブルータからHelloパケットを受け取っていない(仮想IPアドレスを認識していない) | 
| Listen | ルータの役割が決まらなかったルータの状態(Helloパケットを受信している、仮想IPアドレス決定済) | 
| Speak | Helloパケットを送信してルータの役割選出を行っている状態(HSRP状態を通知) | 
| Standby | スタンバイルータの状態(Helloパケットを送信する) | 
| Active | アクティブルータの状態(Helloパケットを送信する) | 
7.1.4. HSRPの機能
HSRPの基本動作の機能の他にプリエンプト、インターフェイストラッキングと呼ばれる機能がある。
プリエンプト
プリエンプトはプライオリティが大きいルータを常にアクティブルータにする機能のこと。 これはデフォルトのアクティブルータのほうが性能の良い場合にスタンバイルータがデフォルトゲートウェイとして使われてしまうのを回避するためのものです。
インターフェイストラッキング
インターフェイストラッキングはHSRPを動作させているインターフェイス以外を追跡し、そのUP/DOWNの状態によりプライオリティを変更する機能となっている。 これは他のネットワーク側のHSRPを実現したルータ群のポートに障害が発生した際に、LAN側ではHelloパケットの送受信ができてしまうため障害検知せず、異なるネットワーク側に通信が遅れなくなりデフォルトゲートウェイの機能を果たせなくなる問題を回避するためのもの。
HSRPの認証機能
HSRPの認証機能にはパスワードを暗号化しないプレーンテキスト認証と暗号化するMD5認証の2種類がある。
HSRPのバージョン
HSRPは2つのバージョンがある。
| 項目 | HSRP version1 | HSRP version2 | 
|---|---|---|
| Helloパケットの宛先 | 224.0.0.2 | 224.0.0.102 | 
| グループ範囲 | 0~255 | 0~4095 | 
| 仮想MACアドレス | 0000.0C07.AC○○* | 0000.0C9F.F○○○* | 
| IPv6のサポート | なし | あり | 
7.1.5. HSRPの負荷分散
HSRPではスタンバイグループに複数ルータを用意してもデータ転送を行うのは1つのアクティブルータのみとなる。 アクティブルータとスタンバイルータの2つが稼働し他のルータは待ち状態となる問題がある。
MHSRPは待ち状態となっているルータ以外も活用できるための仕組みで各ルータを複数のスタンバイグループに参加させ、アクティブになるルータをそれぞれのグループで変えることで負荷の分散を行うというものである。
7.1.6. GLBPとVRRPの特徴
GLBP
GLBPはルータを冗長化するためのCISCO社独自定義のプロトコル。 HSRPが負荷分散を行う際に複数のグループが必要なのに対し、1つのグループで負荷分散が可能な特徴がある。
GLBPグループは1023まで作成可能で、GLBPは仮想MACアドレスが最大4つ使用することができる。 仮想MACアドレスは0007.B40X.XXYYで表記でき、X部にGLBPグループを16進数に変換した値が、Y部に01~04までの値が入る。
GLBPではグループ内ルータからAVG(Acitive Virtual Gateway)、最大4つのAVF(Active Virtual Forwarder)を選出する。 またプライオリティに1~255の値を設定でき、AVFは最大4つまで選出される。
VRRP
VRRPはルータの冗長化のためのプロトコルでHSRPと異なり様々なベンダー機器で使用することができる。 HSRPと似た動作だが、以下動作に違いがある。
- アクティブルータの名称がマスタールータ
- マスタールータではない残りのルータはすべてバックアップルータ(マスタールータの予備)
- 仮想IPアドレスに実際に割り当てられているIPアドレスを設定可能
- 仮想MACアドレスが0000.5E00.01
7.1.7. HSRP/GLBP/VRRPの違い
| 項目 | HSRP | GLBP | VRRP | 
|---|---|---|---|
| 規格 | Cisco独自規格 | Cisco独自規格 | 標準化 | 
| ルータの役割 | アクティブルータ、スタンバイルータ | AVG, AVF | マスタールータ, バックアップルータ | 
| グループ番号 | 255まで | 1024まで | 255まで | 
| 負荷分散 | サブネット単位で可能 | ホスト単位で可能 | サブネット単位で可能 | 
| 仮想MACアドレス | 0000.0C07.ACXX | 0007.B40X.XXYY | 0000.5E00.01XX | 
| Helloパケットの宛先 | 224.0.0.2 | 224.0.0.102 | 224.0.0.18 |