7.1. HSRP

7.1.1. ファーストホップルータの冗長化

PCが異なるネットワークの端末と通信を行う場合必ずデフォルトゲートウェイを通過する。
デフォルトゲートウェイは最初に通過するルータであることからファーストホップルータとみなされる。

そのためデフォルトゲートウェイの冗長を行うことで耐障害性が見込める。 デフォルトゲートウェイを冗長化してデフォルトゲートウェイに設定したルータに障害が起きた際に予備のデフォルトゲートウェイにしたルータに変更するのは手間となる。 そのため冗長化のために用意したファーストホップルータを活用するためのプロトコルにCISCO社独自のHSRPGLBP、標準化された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の動作は以下ステップで行われる。

  1. Helloパケットを224.0.0.2にマルチキャストで送信しHSRP情報の交換をルータ間で行う(Helloパケット送信間隔は3秒)
  2. アクティブルータ/スタンバイルータをプライオリティ値から選出する
  3. ルータの役割決定後はHelloパケットによる生存確認。アクティブルータ/スタンバイルータのみが送信、他ルータはListen状態で受け取り待ち状態となる。なおスタンバイルータは10秒間Helloパケットをアクティブルータから受け取らない場合に自身をアクティブルータにする。

HSRP

HSRPの状態遷移

HSRPが動作してルータの役割が決まるまでいくつかの状態を遷移する。

状態定義
Initial最初の状態(HSRP設定直後)
LearnルータがアクティブルータからHelloパケットを受け取っていない(仮想IPアドレスを認識していない)
Listenルータの役割が決まらなかったルータの状態(Helloパケットを受信している、仮想IPアドレス決定済)
SpeakHelloパケットを送信してルータの役割選出を行っている状態(HSRP状態を通知)
Standbyスタンバイルータの状態(Helloパケットを送信する)
Activeアクティブルータの状態(Helloパケットを送信する)

7.1.4. HSRPの機能

HSRPの基本動作の機能の他にプリエンプトインターフェイストラッキングと呼ばれる機能がある。

プリエンプト

プリエンプトはプライオリティが大きいルータを常にアクティブルータにする機能のこと。 これはデフォルトのアクティブルータのほうが性能の良い場合にスタンバイルータがデフォルトゲートウェイとして使われてしまうのを回避するためのものです。

インターフェイストラッキング

インターフェイストラッキングはHSRPを動作させているインターフェイス以外を追跡し、そのUP/DOWNの状態によりプライオリティを変更する機能となっている。 これは他のネットワーク側のHSRPを実現したルータ群のポートに障害が発生した際に、LAN側ではHelloパケットの送受信ができてしまうため障害検知せず、異なるネットワーク側に通信が遅れなくなりデフォルトゲートウェイの機能を果たせなくなる問題を回避するためのもの。

HSRPの認証機能

HSRPの認証機能にはパスワードを暗号化しないプレーンテキスト認証と暗号化するMD5認証の2種類がある。

HSRPのバージョン

HSRPは2つのバージョンがある。

項目HSRP version1HSRP version2
Helloパケットの宛先224.0.0.2224.0.0.102
グループ範囲0~2550~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の違い

項目HSRPGLBPVRRP
規格Cisco独自規格Cisco独自規格標準化
ルータの役割アクティブルータ、スタンバイルータAVG, AVFマスタールータ, バックアップルータ
グループ番号255まで1024まで255まで
負荷分散サブネット単位で可能ホスト単位で可能サブネット単位で可能
仮想MACアドレス0000.0C07.ACXX0007.B40X.XXYY0000.5E00.01XX
Helloパケットの宛先224.0.0.2224.0.0.102224.0.0.18