VRRPの概要
VRRPは、ルータの冗長化を実現するためのプロトコルです。ネットワークでは、PCやサーバなどの端末がデフォルトゲートウェイとして特定のルータに通信を依存します。しかし、そのルータが故障すると、外部ネットワークへの通信が途絶してしまいます。これを防ぐ仕組みがVRRPです。

マスタールータの決定
VRRPでは、仮想ルータを構成する複数のルータの中から、どのルータがマスタールータとして稼働するかを決定します。マスタールータの選出には「優先度(Priority)」が利用され、数値が大きいほど優先的にマスターになります。

ルータはお互いにVRRP広告(アドバタイズメント) を定期的に送信し合い、自分の存在と優先度を通知します。その結果、もっとも優先度の高いルータだけがマスタールータとして広告を継続して送信し、他のルータは広告を送信せず「バックアップ」として待機します。
たとえば図の例では、ルータAの優先度が200、ルータBの優先度が100に設定されています。この場合、ルータAがマスタールータ、ルータBがバックアップルータとして動作します。
この仕組みにより、障害が発生しても利用者側のデフォルトゲートウェイ設定を変更することなく、通信を継続することが可能になります。
VRIDと仮想MACアドレス
VRRPでは、複数のルータで1つの仮想ルータを構成しますが、その識別子として VRID(Virtual Router Identifier) が使われます。
- 各仮想ルータには1〜255の範囲のVRIDが割り当てられる
- 同一セグメントに複数のVRRPグループを作る場合でも、VRIDが異なれば識別できる
さらに、VRRPでは仮想ルータを表す仮想MACアドレスが定義されています。
- フォーマットは
00-00-5E-00-01-XX - 最後の1バイト(XX)はVRID
たとえば、VRIDが10の場合、仮想MACアドレスは00-00-5E-00-01-0A
となります。
この仕組みにより、PCやスイッチは仮想ルータをMACアドレスで識別し、正しく通信を行うことができます。
フェールオーバー
VRRPでは、マスタールータが定期的に VRRP広告(アドバタイズメント) を送信し、自身が稼働中であることを通知しています。広告の送信間隔は デフォルトで1秒 に設定されています。
バックアップルータはこの広告を受信し続けることで「マスターが正常に動作している」と判断します。もし、広告を3回連続で受信できない(=約3秒間広告が途絶える) と、マスタールータに障害が発生したとみなし、フェールオーバーが発動します。

フェールオーバー時には、バックアップルータの中から優先度が最も高いルータが新しいマスターに昇格し、仮想IPアドレスを引き継ぎます。その際、GARP(Gratuitous ARP) を送信して、同一セグメント内のスイッチに対してARPテーブルを更新させ、通信を途切れさせないようにします。
この仕組みにより、障害発生から数秒で自動的に通信経路が切り替わり、利用者は意識することなくネットワークを使い続けることができます。


