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

### 代表ルータの決定ルール

> 代表ルータは、以下のルールに従い決定されます。
> 【代表ルータが決定していないとき】
> ・優先度が高い
> VRRPグループ内で、最も優先度が高いルータが代表ルータになります。優先度が同じであった場合は、ADVERTISEMENTパケット内のIPアドレス(1)で、最も大きい値を通知したルータが代表ルータになります。
> 【代表ルータが異常のとき】
> 代表ルータが定期的に送信するADVERTISEMENTパケットを一定時間受信しなかった場合は、次に優先度の高いルータが代表ルータになります。
> ここで、一定時間とは、ADVERTISEMENTメッセージ中の「Adver Int」値（ADVERTISEMENTパケットの送信間隔）の３倍＋（(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-F120などのCPEから、FITELnet-F1000に対してIPsecの通信を行う場合、VRRPで指定した仮想IP アドレス宛にネゴシエーションを行うことが可能です。ただし、VRRPの代表ルータに障害が発生した場合、バックアップ側のルータがIPsec通信の継続を試みますが、暗号化されたデータを復号化するための情報がないため、通信を継続することができません。
> FITELnet-F1000でVRRPを使用し、IPsecの通信を行う場合、CPE側でSAの監視を行う必要があります。FITELnet-F120では、DPD（Dead Peer Detection ）などの、SA監視機能がサポートされていますので、必ず設定するようにしてください。このSA監視機能により、SAが切れたことを認識でき、再度ネゴシエーションを行うことができます。
> また、FITELnet-F1000のPreempt（先制）モードがON になっていると、VRRPの優先度が高いルータが起動することにより、代表ルータの切り替えが発生するため、IPsecのSAが一時切断されます。Preemptの設定の際は注意が必要です。

## FITELnet-F120での注意事項

> FITELnet-F120では、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

トップページへ