VRRP

VRRP(Virtual Router Redundancy Protocol)は、経路の冗長化を目的とする機能です。

TCP/IPのネットワークでは、目的の宛先にデータが到達するまでに、いくつものルータを中継します。各ルータは、ダイナミックルーティング(RIPやOSPFなど)を利用して、宛先までの最適経路を計算しています。このダイナミックルーティングでは、宛先への経路に障害が起きた場合に、別の迂回経路に自動で切り替える機能を持っています。

TCP/IPネットワーク上の、すべての端末が、ダイナミックルーティングをサポートしているわけではありません(特に通信のエンドポイントにある端末)。これにはいろいろな理由が考えられます。管理の面倒さ/処理の重さ。。。等々。ダイナミックルーティングをサポートせずに、宛先へデータを中継させる代替方法として、経路を設定により行うスタティックルーティングがあります。エンドポイントの端末では、スタティックルーティングの中でも、デフォルトルートのみを指定するケースが大半を占めています。

ダイナミックルーティングでは、経路の障害に対して、自動で迂回経路に切り替える機能があるのに対し、スタティックルーティングでは、自動で迂回経路に切り替える機能がありません。例えば、エンドポイントの端末にデフォルトルートとして登録されているルータが故障した場合は、その設定を変更しない限り、データを送ることができなくなってしまいます。

VRRPは、このようなケースにおいて通信を継続するための機能です。VRRPを使用するネットワーク形態は、以下のようになります。



図のように、経路上に複数のルータを配備し、そのルータ間で、VRRPのやり取りを行い、データを中継します。データを中継するルータが故障した場合などには、別のルータが中継を担当します。このようにして、スタティックルーティング(デフォルトルート)のみをサポートしている端末がある場合でも、経路の障害時に自動で迂回することができます。


VRRPのしくみ

VRRP グループはどのように形成され、仮想IP アドレス/代表ルータはどのように形成されるのかを説明します。

VRRPのしくみ

VRRP パケットフォーマットについて説明します。
VRRP をサポートするルータは、VRRP パケット(ADVERTISEMENT )を使用し、自分がVRRP 機
能を使用するルータであることを、ネットワークに対して広告します。ただし、一度代表ル
ータが決定した後は、代表ルータのみがVRRP パケットを、定期的に送信します。
VRRP は、プロトコル番号112 のIP パケットです。VRRP パケットを送信する際、送信元アド
レスは実際に送信するインタフェースのIP アドレス/宛先アドレスは224.0.0.18 となりま
す。IP ヘッダのTTL 値は、"255"でなくてはいけません。

VRRP パケットフォーマットは、以下のとおりです。
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Version Type Vertual Rtr ID Priority Count IP Addrs
Auth Type Adver Int Checksum
IP Address (1)
IP Address (n)
Authentication Data (1)
Authentication Data (2)

Version VRRPバージョンです。FITELnet F2000では、"2"になります。
Type VRRPタイプです。ADVERTISEMENTでは、"1"になります。
Virtual Rtr ID VRID値です。
同じVRRPグループに属するルータは、この値が同じである必要があります。
Priority 優先度です。
この値が大きいほうが、優先度が高くなります。優先度の高いルータが、代表ルータになります。
Count IP Addrs このVRRPパケットで広告するIPアドレスの個数です。
Auth Type 認証タイプです。
認証を使用しない場合は"0"、テキストパスワードによる認証を行う際は"1"、IP認証ヘッダを使用する場合は"2"となります。
FITELnet F2000では、IP認証ヘッダによる認証はサポートしていません。
Adver Int ADVERTISEMENTパケットの送信間隔です。
Checksum このパケットのチェックサムです。
IP Address
(1)〜(N)
仮想IPアドレスで使用可能なIPアドレスです。
FITELnet F2000では、通知できるIPアドレスは、1 つです。
Authentication Data 認証データです。
Auth Typeが"1"(テキストパスワード)の場合に、パスワード文字列が入ります。

代表ルータの決定ルール

代表ルータは、以下のルールに従い決定されます。

【代表ルータが決定していないとき】
・優先度が高い
 VRRPグループ内で、最も優先度が高いルータが代表ルータになります。優先度が同じであった場合は、ADVERTISEMENTパケット内のIPアドレス(1)で、最も大きい値を通知したルータが代表ルータになります。

【代表ルータが異常のとき】
 代表ルータが定期的に送信するADVERTISEMENTパケットを一定時間受信しなかった場合は、次に優先度の高いルータが代表ルータになります。
 ここで、一定時間とは、ADVERTISEMENTメッセージ中の「Adver Int」値(ADVERTISEMENTパケットの送信間隔)の3 倍+((256-優先度値)/256 )秒 で計算されます。例えば、【Adver Int = 1/優先度255 の代表ルータ】の場合、(3*1)+((256-255)/256)=3.00390625 秒(≒3.00 秒)間、ADVERTISEMENTメッセージを受け取らなかった場合に、代表ルータ異常と判断します。

【新しいルータがVRRPグループに属した場合】
 新しいルータがVRRPグループに属した(異常になった元代表ルータが復旧したケースも含みます)場合は、以下のルールに従い、代表ルータが決定されます。
・Preempt モード(先制モード)でない場合は、優先度に関係なく、現在の代表ルータが、そのまま代表ルータを継続することを承認します。
・Preempt モード(先制モード)の場合は、優先度に従い、代表ルータを決定しなおします。


仮想IPアドレスの決定ルール

【代表ルータが決定していないとき】
代表ルータのADVERTISEMENTに含まれていたIPアドレス(1)〜(N)が、仮想IPアドレスとなります。

【代表ルータが変更になったとき】
今まで使用されていた仮想IP アドレスが、そのまま継承されます。


VRRPグループ

VRRPをサポートするルータにより形成されているグループを、VRRPグループといいます。
VRRPは、仮想的に1台のルータとして動作することになります。したがって、VRRPグループを、仮想ルータという場合もあります。

仮想IPアドレス

仮想ルータとしてネットワークに接続する際のIPアドレスです。VRRPグループを形成する各ルータが使用するインタフェースのIPアドレスのうちの1つでもかまいませんし、VRRPグループ内のルータが使用しないアドレスでもかまいません。ただし、VRRPを動作させるインタフェースのサブネットで使用するアドレスである必要があります。また、VRRPグループの各ルータに設定される仮想IPアドレスの設定は、すべて同じアドレスである必要があります。

仮想MACアドレス

仮想ルータのMACアドレスです。VRRPグループの代表ルータは、仮想IPアドレスに対するARPリクエストに対して、この仮想MACアドレスを返信(Response)します。仮想MACアドレスは、00:00:5e:00:01:<VRID>となります。例えばVRIDが"10"の場合の仮想MACアドレスは、00:00:5e:00:01:0a となります(MACアドレスでは16進数になります)。

VRID

VRRPグループの番号です。VRRPを形成するルータには、同じ値を設定する必要があります。

代表ルータ

VRRPグループのルータの中で、実際にデータ中継を行うルータを代表ルータあるいはマスタールータといいます。代表ルータは、データを中継するだけでなく、ARPのリクエストに対する応答も行います。

バックアップルータ

代表ルータが故障等で使用できなくなった場合に、代表ルータとして動作するルータです。
VRRPグループのルータでは、1台の代表ルータ以外は、すべてバックアップルータとなります。

Preempt(先制)モード

後から起動した優先度の高いVRRPルータが、先に起動していた優先度の低い代表ルータに替わり代表ルータとすることを許可するかどうかのモードです。Preemptモードの場合は、代表ルータの交替を許可し、Preemptモードでない場合は許可しません。


VRRPとIPsec

EWAN側でVRRPを動作させ、IPsecを動作させる場合は、以下の注意が必要です。
FITELnet-F100などのCPEから、FITELnet F2000に対してIPsecの通信を行う場合、VRRPで指定した仮想IP アドレス宛にネゴシエーションを行うことが可能です。ただし、VRRPの代表ルータに障害が発生した場合、バックアップ側のルータがIPsec通信の継続を試みますが、暗号化されたデータを復号化するための情報がないため、通信を継続することができません。
FITELnet F2000でVRRPを使用し、IPsecの通信を行う場合、CPE側でSAの監視を行う必要があります。FITELnet-F100では、DPD(Dead Peer Detection )などの、SA監視機能がサポートされていますので、必ず設定するようにしてください。このSA監視機能により、SAが切れたことを認識でき、再度ネゴシエーションを行うことができます。
また、FITELnet F2000のPreempt(先制)モードがON になっていると、VRRPの優先度が高いルータが起動することにより、代表ルータの切り替えが発生するため、IPsecのSAが一時切断されます。Preemptの設定の際は注意が必要です。

FITELnet F2000での注意事項

FITELnet F2000では、VRRPを作動することができるインタフェースが3つ(LAN/EWAN#1/EWAN#2)あります。このうち、代表ルータとして動作しているインタフェースがDOWN(ケーブル抜け等)した場合、他のVRRPインタフェースでの代表ルータ権限を放棄します(具体的には、Priority=0のVRRPパケットを送信する)。例えば、LANとEWAN#1でVRRP を動作させ、両方を代表ルータとしている状態で、EWAN#1回線のケーブルが抜けた場合、LANインタフェースの代表ルータ権限を放棄します。


関連コマンド

ip vrrp enable

ルータ自身をVRRPルータとして動作させる場合は、ip vrrp enableコマンドを利用して設定します。
Router(config)#ip vrrp enable



トップページへ