VRRPの機能説明
VRRPは、端末のデフォルトゲートウェイを冗長化するためのプロトコルです。同一セグメント上の複数のルーターにより、仮想的な1つのデフォルトゲートウェイを構成します。VRRPには、VRRPv2とVRRPv3の2つのバージョンがあります。VRRPv3はIPv6をサポートしています。
VRRPを構成する各ルーターは、同一の仮想ルーターID(以後、VRID)によってグループ化されます。通常は、同一グループの中で最も優先度の高いルーターがマスターになり、それ以外のルーターがバックアップになります。通常時は、マスターが仮想アドレス宛てのパケット中継処理を行います。マスターに障害が発生し、マスターが存在しなくなったことをバックアップで検知すると、バックアップがマスターに遷移して仮想アドレス宛てのパケット中継処理を引き継ぎます。
マスターとバックアップは優先度で決定され、高い優先度を設定した装置がマスターになります。優先度のデフォルト設定は100です。変更するには、VRRPv2の場合はvrrp priorityコマンド、VRRPv3の場合はpriorityコマンドを使用します。
優先度によるマスターとバックアップの決定例

同一VRRPグループに所属する各ルーターの優先度は、それぞれ異なる優先度になるように設定してください。
また、VRRPを構成する装置の実IPアドレスを仮想ルーターのIPアドレスに設定すると、その装置はIP Address Ownerになります。IP Address Ownerの装置の優先度は自動的に「255」に変更され、他の装置の優先度にかかわらず必ずマスターになります。
IP Address Ownerとバックアップの決定例

マスターは定期的にアドバタイズメントを送信し、正常に動作していることをバックアップに知らせます。アドバタイズメントの送信間隔のデフォルト設定は1秒です。変更するには、VRRPv2の場合はvrrp timers advertiseコマンド、VRRPv3の場合はtimers advertiseコマンドを使用します。
アドバタイズメントの送信例

マスターに障害が発生してアドバタイズメントが送信されなくなり、設定した送信間隔が過ぎてもアドバタイズメントを検知できなくなった場合、バックアップがマスターに切り替わります。これによって通信処理がバックアップに引き継がれるため、通信停止時間を低減できます。
OSPFv2またはOSPFv3機能で多量の経路を扱う環境では、経路更新のタイミングでVRRPのバックアップが一時的にマスターに切り替わることがあります。VRRPのアドバタイズメントの送信間隔を長く設定することで、この事象の発生を抑制できます。
マスターが存在しないと判断するまでの時間は、以下の計算式で求められます。
- (アドバタイズメントの送信間隔×3)+(256-優先度)÷256
マスター障害発生時の切り替わり例

旧マスターが障害から復旧した場合、デフォルト設定では復旧した旧マスターがマスターに切り戻ります(プリエンプトモード)。
仮想ルーターのIPアドレスの設定
仮想ルーターのIPアドレスは、同一VRRPグループに所属するすべてのルーターで同じIPアドレスに設定する必要があります。
VRRPv2の場合、vrrp ipコマンドで仮想ルーターのVRIDとIPアドレスを設定します。
VRRPv2の仮想ルーターのVRIDとIPアドレスの設定例

VRRPv3の場合、vrrp VRID address-familyコマンドで仮想ルーターのVRIDを設定し、addressコマンドで仮想ルーターのIPアドレスを設定します。
VRRPv3の仮想ルーターのIPアドレスの設定例

仮想ルーターのIPアドレスは、プライマリーIPアドレスと同じサブネットに設定する必要があります。セカンダリーIPアドレスで指定したサブネットでは設定できません。
NP7000およびNP5000では、設定可能なVRRPグループ数は、VRRPv2とVRRPv3の合計で最大256グループです。
NP3000の1.11.01より前のバージョンでは、設定可能なVRRPグループ数は、VRRPv2とVRRPv3の合計で最大64グループです。NP3000の1.11.01以降では、制限付きで最大128グループまで拡張されています。制限などの詳細については、『コマンドリファレンス』を参照してください。
仮想ルーターIDと仮想MACアドレス
仮想ルーターには、規格で定められた仮想MACアドレスが割り当てられます。仮想MACアドレスは、APRリクエストやNDリクエストへの応答に使用されます。マスターは、仮想MACアドレス宛てのイーサネットフレームを受信し、ルーティングテーブルに従ってIPパケットをフォワーディングします。マスターに障害が発生した場合、バックアップが仮想MACアドレス宛てのフレームを受信し、マスターに代わってフォワーディングします。このように、仮想MACアドレス宛てに端末がフレームを送信することで、マスターに障害が発生した場合でも、通信が継続します。
仮想MACアドレスの形式を以下に示します。以下の仮想MACアドレス末尾の「XX」は、VRIDです。
- VRRPv2、およびVRRPv3(IPv4指定時)
00:00:5E:00:01:XX(例:VRID=10の場合は00:00:5E:00:01:0A)
- VRRPv3(IPv6指定時)
00:00:5E:00:02:XX(例:VRID=20の場合は00:00:5E:00:02:14)
プリエンプトモードの設定
プリエンプトモードでは、より優先度の高い装置が常にマスターとして稼働します。たとえば、装置A(マスター)に障害が発生し、装置B(バックアップ)がマスターとして稼働している場合、プリエンプトモードが有効になっていると、装置Aの復旧時に自動的に装置Aがマスターに切り戻ります。
プリエンプトモードはデフォルト設定では有効です。変更するには、VRRPv2の場合はvrrp preemptコマンド、VRRPv3の場合はpreemptコマンドを使用します。
プリエンプトモード有効時のマスターの切り戻り例

init-delayの設定
init-delayは、VRRPの状態が初期状態(Init)からバックアップに遷移した際の、バックアップ状態のタイムアウト時間に遅延時間(init-delay)を追加する機能です。
init-delayは、NP7000の1.11.01以降、NP5000の1.10.02以降、NP3000の1.10.01以降でサポートしています。
本機能が動作する条件は、装置起動時や対象IPインターフェースがダウン/アップした場合など、VRRPの状態が初期状態(Init)からバックアップに遷移した場合のみです。VRRPの状態が初期状態(Init)からバックアップに遷移した装置は、設定したinit-delay時間が経過するまではマスターに遷移しません。init-delay時間経過後は、通常のタイムアウト時間内に自身より高い優先度を持つVRRP Advertisementを受信しない場合にマスターに遷移する通常の動作になります。
マスター(IP Address Owner)の場合は、init-delayは動作しません。
init-delayを設定するには、VRRPv2の場合はvrrp init-delayコマンド、VRRPv3の場合はinit-delayコマンドを使用します。
VRRP Tracking機能
VRRP Tracking機能は、指定した監視対象インターフェースがダウンした場合に、動作中の仮想ルーターの優先度から指定した値を自動的に減算する機能です。これにより、VRRPの状態を切り替えることができます。監視対象インターフェースがアップした場合は優先度の減算が解除され、動作中の仮想ルーターの優先度は元に戻ります。
VRRP Tracking機能は、NP7000の1.11.01以降、NP5000の1.10.02以降、NP3000の1.11.01以降でサポートしています。
1つのVRRPグループに設定できる監視対象インターフェースは1つです。監視対象インターフェースは、物理ポート(1ポートのみ指定可)/ポートチャネル(1個のみ指定可)/VLANインターフェース(1個のみ指定可)のうち、いずれか1つを指定できます。
VRRP Tracking機能を使用する場合は、対象のVRRPグループでプリエンプトモードを有効にする必要があります。
VRRP Tracking機能はIP Address Ownerでは使用できません。
VRRP Tracking機能を使用する場合は、動作中の優先度を減算した結果が0より小さくならないように設計することを推奨します。
VRRP Tracking機能を設定するには、VRRPv2の場合はvrrp track-failoverコマンド、VRRPv3の場合はtrack-failoverコマンドを使用します。
仮想IPアドレスへのping応答の有効化
IP Address Ownerの装置は仮想IPアドレスと実IPアドレスが同一のため、仮想IPアドレス宛てのpingに応答できますが、IP Address Ownerではない装置がマスターになった場合は、デフォルト設定では仮想IPアドレス宛てのpingに応答できません。pingに応答するように変更するには、VRRPv2の場合はvrrp non-owner-pingコマンド、VRRPv3の場合はnon-owner-pingコマンドを使用します。
クリティカルIPアドレスのトラッキング
クリティカルIPアドレスを設定すると、指定したIPアドレスのARPエントリー/IPv6ネイバーエントリーを監視します。監視対象のエントリーがARPテーブル/IPv6ネイバーテーブルから削除された場合は、仮想ルーターを非アクティブ化します。クリティカルIPアドレスを設定するには、VRRPv2の場合はvrrp track critical-ipコマンド、VRRPv3の場合はtrack critical-ipコマンドを使用します。
VRRP認証(VRRPv2のみ)
VRRPv2では、IPv4インターフェースごとにパスワードによるVRRP認証を設定できます。パスワードが一致する装置同士でのみ、アドバタイズメントをやり取りできるようになります。VRRP認証はデフォルト設定では無効です。変更するにはvrrp authenticationコマンドを使用します。
VRRPの有効/無効
VRRPの状態を手動コマンドで無効にできます。マスターで手動コマンドを使用して無効にした場合は、タイムアウトを待たずにバックアップがマスターに遷移することを促すために、無効になる際に優先度0のアドバタイズメントを送信します。
VRRPの有効/無効はデフォルト設定では有効です。変更するには、VRRPv2の場合はvrrp shutdownコマンド、VRRPv3の場合はshutdownコマンドを使用します。