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テーブルを更新させ、通信を途切れさせないようにします。

この仕組みにより、障害発生から数秒で自動的に通信経路が切り替わり、利用者は意識することなくネットワークを使い続けることができます。