ネットワークスペシャリスト - SE娘の剣 -

左門至峰によるネットワークスペシャリストの試験対策サイトです。勉強方法、合格体験談、合格のコツ、過去問解説、基礎知識などの紹介します。

VRRP(Virtual Router Redundancy Protocol)

1.VRRP概要

・Redundancyとは「余分、冗長」という意味で、VRRP(Virtual Router Redundancy Protocol)は、ルータの冗長化の仕組みで、複数のルータを論理的に1台に見せる技術です。
・ネットワークスペシャリスト試験の過去問では「同一のLANに接続された複数のルータを、仮想的に1台のルータとして見えるようにして冗長構成を実現するプロトコル」とある。(H21NW午前 問16)
・仮想IPアドレスと仮想MACアドレスを持つ(仮想IPアドレスを実IPアドレスを同じにすることが多い)。
・CiscoでいうHSRP。HSRPとの違いは、仮想IPと実IPを共通化できるかどうか。HSRPは必ず別のIPアドレスにする必要がある。

2.VRRPの設計と設定

(1)設定内容
項目 ルータA ルータB
IPアドレス 192.168.1.1 192.168.1.2
仮想IPアドレス 192.168.1.1 192.168.1.1
グループ(VRID) 10 10
優先度(プライオリティ値) 100 90

※グループ番号はルータAとルータBで同一にする。この番号はVRIDであり、R4NW午後Ⅱ問2で穴埋めで問われた。また、VRIDの値は1-255で設定可能。
※優先度(プライオリティ値)が高い方がActiveになる。※R3NW午後Ⅱ問1では、「プライオリティ値」という言葉が正解のキーワードとして使われた。
※VRRPのグループを複数作成することができる。セグメントが多数ある場合は、セグメントごとにマスタルータを変えることでロードバランスが行える。

(2)構成図


(3)Ciscoでの設定例

上記の設計をもとにした設定例です。

ルータA ルータB
RouterA(config)#interface FastEthernet0
RouterA(config-if)# ip address 192.168.1.1 255.255.255.0
RouterA(config-if)# vrrp 10 ip 192.168.1.1
RouterA(config-if)# vrrp 10 priority 100
RouterA(config)#interface FastEthernet0
RouterA(config-if)# ip address 192.168.1.2 255.255.255.0
RouterA(config-if)# vrrp 10 ip 192.168.1.1
RouterA(config-if)# vrrp 10 priority 90

3.VRRPの動作

(1)動作概要

・ルータAとルータBは、自動で仮想MACアドレスを作成する。
・PCは実IPアドレスではなく、仮想IP、仮想MACと通信する。(PCのARPテーブルには仮想MACが表示されるので、確認してみましょう)
・L2レベルのフレームはActiveとStandbyの両方に届く。このとき、Active側は受け取り、Standby側は破棄する。
・Activeがダウンした場合、Standby側が昇格してActiveになる必要がある。Activeがダウンしたかを知るために、VRRP広告(Helloパケット)を使う。ActiveからStandbyに定期的(基本は3秒)にHelloパケットをマルチキャストで送り、VRRP広告を受信できなかった場合、マスタルータがダウンしたと判断してStandby側が自動でActiveに昇格する。
・余談ではあるが、障害が復旧したら、優先度は元に戻る。その結果、マスタールータも切り替わる(というかもとに戻る)。これは、preemptという設定によるが、VRRPの場合、デフォルトでpreemptが有効になっている。

(2)VRRPに関する動作のQ&A

女性直立



VRRPの動作に関して、何点か書きます!

▼Q1.PCは、どうやって2つのルータを振り分けるのですか?






A1.端末は、仮想IPアドレスと仮想MACアドレスに対して通信をするため、マスタルータかバックアップルータかを意識せずに通信をします。

▼Q2.VRRPを使うに際し、PC側で特別な設定は必要ですか?






A2.PCのデフォルトゲートウェイをVRRPの仮想IPアドレスに設定します。それ以外は特別な設定は不要です。

▼Q3.仮想MACアドレスを持つのは、マスタルータだけですか?






A3.単なる「言葉」の問題かもしれません。マスタルータだけ持つとも考えられますし、バックアップルータ含めた両方が持つとも考えられます。
 仮想MACアドレス宛てのフレームが届いた場合、マスタルータは処理しますが、バックアップルータは無視します。なので、バックアップルータは、仮想MACアドレスを持っていないという見方もできますし、持っているが、無視するという見方もできます。

▼Q4.仮想MACアドレス宛てのフレームは、マスタルータとバックアップルータの両方に届きますか?






A4.構成としては、2(2)に記載したように、PCとVRRPのルータ間にスイッチが入ります。スイッチではなくバカHUBであれば、VRRPのフレームは両方のVRRPルータに届くことになります。しかし、バカHUBではなくスイッチですから、SWのスイッチング機能により、マスタルータにのみフレームを転送します。このとき、SW(スイッチ)のMACアドレステーブルは以下です。

MACアドレス ポート
00-00-5E-00-01-XX(仮想MAC) 1

※1番ポートがマスタルータがつながっているポート
※VRRPの仮想MACアドレスは、00-00-5E-00-01-XX(XXには仮想ルータのIDが入る)と定められている。

▼Q5.ということは、バックアップルータがマスタルータになるときに、MACアドレステーブルを書き換えるために、Gratuitous ARPを送るのですね?






A5.Gratuitous ARPは、ARPテーブルを書き換えるためのものです。ARPテーブル上のIPアドレスとMACアドレスの対応は、仮想IPを使っているので変更ありません。
【SWのARPテーブル】

IPアドレス MACアドレス
192.168.1.1(VRRPの仮想IP) 00-00-5E-00-01-XX(仮想MAC)

一方、SWのMACアドレステーブルを書き換える必要があります。
【MACアドレステーブル】

MACアドレス ポート
00-00-5E-00-01-XX(仮想MAC) 2

※切り替わったマスタルータがつながっている2番ポートに書き換える
書き換えるために特殊な処理は不要です。なんらかの通信をすると、スイッチが再学習をします。それがGratuitous ARPのフレームであっても、MACアドレステーブルは書き変わります。
ただ、実際にはGARPを投げています。実際のパケットは以下に記載しました。
https://nw.seeeko.com/archives/arp#3GARP

4.VRRPに関する用語

(1)VRRPアドバタイズメント(VRRP広告)

H30秋NW午後1問2では、「VRRPで規定されているメッセージ名を15字以内で答えよ。」として、「VRRPアドバタイズメント」が問われました。
これを問われるのはきついですね。

少しさかのぼりますが、ネットワークスペシャリスト試験の過去(H16秋NW午後Ⅰ問3)でも、以下の穴埋め問題も出題されました。

試験の過去(H16秋NW午後Ⅰ問3)
「ルータの経路制御情報には,あて先のネットワークアドレスにDMZが指定されたパケットの転送先として,仮想FWのIPアドレスであるZを設定しておきます。予備機は,VRRPにおける死活監視情報(ハートビート)である[ d ]によって,現用機が稼働していることを認識します。」






このときの解答は、「VRRP Advertisement 又は VRRP広告」です。

過去問(H23NW午後2問2)を見てみよう。

過去問(H23NW午後2問2)
VRRPでは,VRRPメッセージ(VRRP advertisement)がマスタルータから[ イ ]ルータヘ送信され,マスタルータの稼働状態が報告される。VRRPメッセージは,宛先IPアドレスが224.0.0.18の[ ウ ]キャスト通信である。Priority値は,大小関係で優先順位が決まり,PreemptモードではL3SWの起動タイミングに関係なく,最も[ エ ]値をもつルータが,マスタルータになる。






[正解]
イ:バックアップ
ウ:マルチ
エ:大きい


▼超参考情報
H23NW午後Ⅱ問2設問2(5)にて、「VRRPメッセージに含まれる情報」が問われた。
解答は、
 ・VRRPグループID
 ・Priority値
 ・仮想IPアドレス
 ※実際は、これ以外にもある。。

参考ではあるが、この仮想IPアドレスは使っているのであろうか?
なぜこういう質問をするかというと、仮想IPアドレスは、VRRPを設定するルータに固定で設定するからだ。だから、わざわざVRRPメッセージで送る必要がない。
女性ハテナ 

例えば、マスタルータとバックアップルータで仮想IPアドレスを変えたらどうなりますか?
固定で設定した仮想IPアドレスを利用するのか、VRRPメッセージで受け取った仮想IPアドレスを使うのか、どちらでしょう。
実験してみました。※ちょろっと検証しただけなので、間違っていたらごめんなさい。
①YAMAHAルータ、Vyatta
固定で設定した仮想IPアドレスを引き継ぐ。VRRPメッセージの仮想IPアドレスを使わない。
②Cisco、Allied
VRRPグループ内で、仮想IPアドレスが違うと、VRRPが有効に機能しない。

(2)トラッキング

R4NW午後2問1には、以下の記載があります。

L3SW31 において,⑮図5中の a 又は b での障害をトラッキングするように VRRP の設定を行う。これによって, a又は b のインタフェースでリンク障害が発生した場合でも,業務サーバから PC へのトラフィックの分散が損なわれないと考えた。

トラッキング(tracking)とは、「追跡」という意味です。aやbでの障害を追跡(というか、検知)して、VRRPのマスタルータを切り替えます。
VRRPの切り替わりは、VRRPアドバタイズメントが届かなくなったタイミングです。なので、1ポートがダウンしただけでは切り替わりが行われません。
この過去問の場合、トラフィックを負荷分散させるために、トラッキングを行います。

設定例は以下です。※もちろん覚える必要はありません。イメージを掴むためです。

track 1 interface portA line-protocol ←L2SW34との接続をトラッキング
track 2 interface portB line-protocol ←L2SW35との接続をトラッキング
interface Vlan 30
 ip address 172.17.0.252 255.255.255.0 ←実IPアドレスの設定
vrrp 1 ip 172.17.0.254 ←仮想IPアドレスの設定
 vrrp 1 priority 100  ←優先度の設定
 vrrp 1 track 1 decrement 20 ←トラッキングの設定1(L2SW34とのリンクがダウンしたら,優先度を20下げる。結果として、優先度90であるスレーブのL3SW32がマスターになる。)
 vrrp 1 track 2 decrement 20

実際の設計および設定の様子は以下
https://nw.seeeko.com/archives/handson