【VRRPについて】


このHPはVRRPについてまとめた ものです。


1-1 VRRPとは

VRRPとは、ルータを冗長化するプロトコル。2台以上の異なるルータが相互に動作して、仮想的 な1台のルータとして機能する。VRRPを使うことで、複数のルータを1台の仮想ルータに仕立てる。

HSRPではアクティブとスタンバイという言葉を使ってどちらがパケット転送処理を行っている のかを識別したが、VRRPではマスターとバックアップという言葉を使う。 VRRPグループの中で、実際にIPパケットの転送処理を行い、クライアントからのARPのリクエストに対する応答を行うのがマスタールータ。

マスタールータとなるのは、VRRPグループにおいて、最大の優先度を持つルータ。 またVRRPではマスタールータ以外のルータは、 すべてバックアップルータとして動作する。

仮想ルータをデフォルトゲートウェイとして設定することで、マスターがダウンしてもバックアップ経由で通信を続けることができる。



1-2  VRRPグループ

VRRPにより、1つの仮想ルータを構成しているルータを総称してVRRPグループと呼ぶ。 VRRPグループの各ルータには、共有のIPアドレスとMACアドレスによって構成された仮想ルータの設定を行う。

VRRPは、仮想ルータのアドレスをレイヤ3デバイスのインターフェイスに設定されたIPアドレ スと重複させることができるという特徴がある。仮想ルータと同じIPアドレスをもつデバイスがある場合はそのデバイスがマスタール ータとなり、実際のトラフィックの転送処理を担当する。また、バックアップルータにはそれぞれ個別の実IPアドレスが必要となる。

またVRRPでは、VRRPルータのグループをVRIDにより識別する。VRIDが同一である VRRPルータは同一 グループに属し、その中の一台だけがマスターとしてパケットの配送を行う。その他のルータはバックアップルータとして待機する。

★VRRPの有効化

VRRPを有効にするには、VRRPを有効にするインターフェイスにて、下記のコマンドを設定する。

(config-if)# vrrp【グループID】ip【仮想IPアドレス】






1-3 仮想ルータのMACアドレス

VRRPでは仮想ルータは、自身の物理的なMACアドレスとは別に仮想ルータ用のMACアドレスを持ち、仮想ルータのMACアドレス宛てのパケットを受信 した場合には、マスタールータがそのパケットのフォワーディング処理を行う。
仮想ルータが使用するMACアドレスは以下のフォーマ ットに規定されている。





障害等でバックアップルータがマスタールータへ切り替わった際は、この仮想ルータのIPアドレス・MACアドレスを引き継ぐ。切り替わったあ とマスタールータとなったルータは、同様に仮想ルータ宛てのパケットフォワ ーディング処理を行う。







1-4 VRRPのしくみ

VRRPでは、マスタールータが定期 的に送信するVRRPパケット(アドバタイズメント)をバックアップルータが受信してマスタールータが正常に動作していることを確認する 。一度マスタールータが決定した後は、 マスタールータのみがVRRP パケットを、定期的に送信する。

VRRPパケット(アドバタイズメント)は、 IPプロトコ112番を使って、マルチキャスト用のあて先アドレス224.0.0.18に1秒間隔で送信される。

一度マスタールータが決定した後は、 マスタールータのみがVRRPパケットを定期的に送信する。このアドバタイズメントの目的は、 他のVRRPルータに、自らがマスター状態であることを伝え、 他のルータをバックアップへと遷移させることにある。

もしマスタールータが、 VRRPグループ内の別のルータからのVRRPパケットを受信した場合は、そのパケットの優先度の値を確認し、自らの優先度の値より大きい場 合は、 バックアップ状態へと遷移する。また、バックアップ状態になったVRRPルータは、 マスタールータからのVRRPパケットを一定時間受信しなかった 場合に、マスタールータの状態に遷移する。
この間隔をMaster_Down_Intervalと呼ぶ。







★VRRPパケットフォーマット

VRRPパケットのフォーマットは 以下のとおり





●バージョン
VRRPのバージョンを記述する。

●Type
VRRPパケットのタイプを記述する。アドバタイズメントでは「1」になる。

●VRID
VRID値。設定可能な値は1-255の整数。同じVRRPグループに属するルータは、この値が同じである必要がある。

●Priority
この値が大きいほうが、優先度が高くなる。設定可能な値は、1-255の整数。

●Count IP Addrs
このVRRPパケットに含まれるIPアドレスの数を記述する。

●Authenication Type
VRRPパケットの、 認証方法を識別するための認証タイプ を記述する。認証タイプは、仮想ルータごとに使用する認証 方法の種類。
認証タイプの値としては、以下の3つが定義されている。

0:認証なし

1:テキストパスワードによる認証

2:IP認証ヘッダによる認証


●Adver int
VRRPパケット(アドバタイズメント)の送信間隔を秒単位で記述する。デフォルトは1秒 。

●チェックサム
VRRPパケットのデータの誤りを検出するために使用されるチェックサムの値が記述され る。

●IP address
仮想ルータを構成するルータのIPアドレスを記述。Count IP Addrsフィールドには、こ こで記述した複数のIPアドレスの数を記述する。

●Authenication Data
認証データを指定するフィールド。単純なテキスト認証で利用する文字列が記述される 。



1-5 マスタールータの選出

VRRPでは、VRRPルータの 中からマスタ状態になるルータを選出するために,優先度を使用する。優先度が高いほど、 優先されてマスタールータとして稼動する。 数値は1から255までで、デフォルトは100。

ただし、優先度の値が255 である場合は特別な意味があり、インタフェースに付与されているIPアドレスと仮想ルータのIPアドレスが等しい場合, 最も優先度が高い255に自動的に設定される。

また、優先度の値が0の 場合も特別な意味を持っている。これは、 現在のマスタールータがVRRPを停止する際に利用される。

これによりマスタールータは、 タイムアウトを待たずに、すばやくバックアップルータをマスタールータへ遷移させることに利用される。

VRRPの優先度の設定は以下のコマンドを使用する。

(config-if)# vrrp 【グループID】 priority 【数値(1- 255)】

※インターフェイスにこのVRRPプライオリティ値の設定をしない場合、 より大きなIPアドレスを設定しているインターフェイスがマスターとなる。



1-6 VRRPのPreemptモード

マスタールータよりも、 優先度が高いルータがある場合、どの様に動作させるかを設定するのがPreempt。デフォルトでは、VRRPはPreemptが有効に なっている。

Preemptモードが有効の場合は、 優先度の高いVRRPルータが加わると必ずそちらにマスタールータが切り替わる。Preemptを無効にすると、 あとから優先度の高いVRRPルータが参加してもマスタールータの切り替わりは発生せず、従来からのマスタールータがマスター として動作し続ける。

ただし、 優先度が255である場合は、Preemptモードが無効であっても、そのルータが必ずマスタールータとして動作する。

VRRPのPreemptモードは以下のコマンドで設定する。


【Preemptモードを有効にする場合】

(config-if)vrrp【グループID】 preempt {delay minimum 秒数}

※delay minimum オプションでは、HSRP同様 ローカルルータがマスタールータになるまでの時間を指定した秒数だけ延期する。例えば [ vrrp 1 preempt delay minimum 10 ] とすれば マスタールータへの切り替りが10秒後となる。

【Preemptモードを無効にする場合】

(config-if)no vrrp【グループID】 preempt {delay minimum 秒数}