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アドレスで指定したサブネットでは設定できません。
設定可能なVRRPのグループ数は、VRRPv2とVRRPv3の合計で、NP7000およびNP5000では最大256グループ、NP3000では最大64グループです。
仮想ルーター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コマンドを使用します。
プリエンプトモード有効時のマスターの切り戻り例
仮想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コマンドを使用します。