Virtual Router Redundancy Protocol

Virtual Router Redundancy Protocol（仮想ルータ冗長プロトコル・以下VRRPと略す）はインターネット上でのルーターの冗長化をサポートするプロトコル。

概要
VRRPを使えば、「マスター・ルーター」と呼ばれる実際に稼働しているルーターに障害が発生した場合、直ちに「バックアップ・ルーター」と呼ばれる常時スタンバイさせている予備のルーターへ自動的に切り替えられて処理を引き継げるようになる。

VRRPは、同じLANにつながる数台のルーターを仮想的に1台のルーターとして扱えるようにする。仮想ルータとして扱えるようにするために、仮想ルーター用のIPアドレスを用意する。

VRRPは1998年4月に RFC 2338 で定義された、同一内のデフォルトゲートウェイサービスホストの可用性を高めるため開発された非プロプライエタリな冗長プロトコルである。最新のプロトコルは2010年3月の RFC 5798 である。

IPアドレス
仮想ルーターには共通で使える1つのIPアドレスを持ち、マスター・ルーターと同じにするか、別のIPアドレスにするかは選択できる。しかし、仮想ルーターのIPアドレスをマスター・ルーターと同じにすると、マスター・ルーターの異常時にはtelnet等での接続が出来なくなるので、別にしたほうが利便性は増す。別にした場合は、IPアドレスが物理ルーターの2台分＋仮想ルーター1台分の3つが使われる。

適用環境
VRRPはイーサネット、FDDI、トークンリング上で用いることが可能である。RFC 5798でIPv6用のVRRP規格が決まった。VRRPはノーテル・ネットワークス、シスコシステムズ、ジュニパーネットワークス、華為技術、ファウンドリーネットワークス、エクストリームネットワークス、3comなど多くのベンダのルータに採用されており、またLinuxやBSDでも使用可能である。

VRRPはルーティングプロトコルではないので、IPルートをアドバタイズしたり、他のルータのルーティングテーブルに影響を与えることはない。

VRRPの実装
仮想ルータは“00-00-5E-00-01-XX”というMACアドレスを使用する。最後の“XX”部分はVirtual Router IDentifier（VRID） といい、ネットワーク内にある仮想ルータごとで違う。このとき仮想ルータの中でこのアドレスを使っている物理ルータは、マスタールータ1つのみである。仮想ルータとして稼働している物理ルータ同士は、マルチキャストアドレス（224.0.0.18）とIPプロトコル番号112番を使用して通信しなければならない。

各物理ルーターには「プライオリティ値」（Priority値）がつけられている。仮想IPアドレスを自身の実IPアドレスとして持つルーターは255、バックアップ・ルーターは1から254の間、障害などによりマスター・ルーターからバックアップ・ルーターにステータス変更となったルーターには強制的にプライオリティ値「0」が割り当てられる。これはバックアップ・ルーターからマスター・ルーターへのステータス変更を迅速に行い、また一度障害を起こしたルーターをプライオリティ値の高い（マスターに近い）状態に置かないためである。

マスター・ルーターの選定
マスター・ルーターとなっている物理ルーターが落ちた場合、以下の手順で代替のマスタールータが選定される。予め定められた期間（アドバタイズメントタイマ、advertisement timer）の3倍の期間、マスター・ルーターからのアドバタイズのマルチキャストパケットが受けられなかった場合、マスター・ルーターが落ちていると判断してバックアップ・ルーターが起動し、仮想ルーターはバックアップ・ルーターの中から新たなマスター・ルーターを選定するプロセスに入る。このプロセスでもマルチキャストパケットを使用する。

この選定プロセスのときに、バックアップ・ルーターがマルチキャストパケットを送信することに注意する必要がある。それ以外にバックアップ・ルーターがマルチキャストパケットを送信するのは、仮想ルータ内の物理ルータに現状のマスター・ルーターから置き換わるような設定を行ったときのみである。バックアップ・ルーターの中で最も高いプライオリティ値を持ったものが、マスター・ルーターとなると同時にプライオリティ値は「255」に繰り上げられる。仮想ルーターのIPアドレスを引き継いだマスター・ルーターは直ちに自身のMACアドレスと引き継いだIPアドレスをARPパケット (Gratuitous ARP) にしてブロードキャスト送信する。これによりMACアドレスとIPアドレスの新たな対応が同一セグメント内に伝達される。バックアップ・ルーターにおいてプライオリティ値が全て同一である場合、IPアドレスの数値が高いものがマスター・ルーターになる。切り替えは数秒程度で完了する。

1つの仮想ルーターとして働く物理ルーターは全て1ホップの範囲内に収まっていなくてはならない。仮想ルータ内ではマスター・ルーターからバックアップ・ルーターへと定期的にアドバタイズメントパケットが流れているのは先ほど述べたが、この流れる間隔はアドバタイズメント・インターバルタイマーで調整できる。この間隔を短くすればするほど、ネットワークのダウンタイムを少なくすることができるが、マルチキャストのトラフィックが増える。

歴史
VRRP、CARPは、米Cisco社のHSRP技術を特許に触れないように作られた類似機能。機能は似てはいるがそれぞれに互換性はない。

脚注

関連項目
 Hot Standby Router Protocol (HSRP) - シスコシステムズ社製のルータ冗長ソリューション
 Gateway Load Balancing Protocol (GLBP) - シスコシステムズ社製のルータ冗長兼ロードバランシングソリューション
 冗長化 - フォールトトレラントシステム - ホットスタンバイ
 Common Address Redundancy Protocol (CARP) 
  (RSMT) - ノテル・ネットワークス社製のルータ冗長ソリューション
  - データリンク層でスイッチングハブ間の複数の物理回線を束ねて1本の論理回線として扱う
  - ロードバランサ（負荷分散装置）などを用いて、インターネットなどのWide Area Network (WAN) 回線を冗長化すること

外部リンク
 VRRPについて定めたRFC

各種ソフトウェア
VRRPd；GPLのソフトウエア、Linux・各BSD・その他Unix系オペレーティングシステム (OS) で使える。
keepalived；GPLのソフトウエア、Linuxで使える。
Shadow VRRPd；BSDライセンスのソフトウェア、Linux・各BSD・Solarisで使える。

ルーティングプロトコル
通信プロトコル
2338
長大な項目名