ノート:Virtual Router Redundancy Protocol
修正案です。
VRRPはイーサネット、MPLS、トークンリング上で用いることが可能である。IPv6用のVRRPは規格化作業が進んでおり、現状ドラフト(最新はdraft-ietf-vrrp-ipv6-spec-07.txt)であるが一部のメーカが実装している。VRRPはノーテル・ネットワークス、シスコシステムズ、ジュニパーネットワークス、華為技術、ファウンドリーネットワークス、3comやアラクサラネットワークスなど多くのベンダのルータに採用されており、またLinuxやBSDでも使用可能である。
VRRPの実装
[編集]仮想ルータは”00-00-5E-00-01-XX”というMACアドレスを使用する。最後の”XX”部分はVirtual Router IDentifier(VRID) といい、ネットワーク内にある仮想ルータごとで違う。このとき仮想ルータの中でこのアドレスを使っている物理ルータはマスタールータ1つのみである。仮想ルータとして稼動している物理ルータ同士は、マルチキャストアドレス(224.0.0.18)IPの112番ポート宛てにマスタールータが定期的に送信するAdvertisementパケットを受信することにより、マスタールータが正常に動作していることを認識する。
各物理ルータにはプライオリティがつけられており、IPアドレス所有者でないマスタールータとバックアップルータは1から254を使用する。255はIPアドレス所有者であるマスタールータのみが使用する。障害などにより動作できなくなったマスタールータやバックアップルータは、プライオリティを0に変更しイニシャル状態となる。マスタールータがイニシャル状態となる場合は、プライオリティが0のAdvertisementパケットを送出する。これはマスタールータが動作できなくなったことをバックアップルータへ通知することによりステータス変更を迅速に行うためである。
マスタールータの選定
[編集]マスタールータとなっている物理ルータが落ちた場合、以下の手順で代替のマスタールータが選定される。予め定められた期間(アドバタイズメントタイマ advertisement timer)の3倍の期間、マスタールータからのAdvertisementパケットが受けられなかった場合、もしくはプライオリティが0のAdvertisementパケットを受信した場合、マスタールータが落ちていると判断して、仮想ルータはバックアップルータの中から新たなマスタールータを選定するプロセスに入る。このプロセスでもマルチキャストパケットを使用する。
この選定プロセスのときに、バックアップルータがマルチキャストパケットを送信することに注意する必要がある。それ以外にバックアップルータがマルチキャストパケットを送信するのは、仮想ルータ内の物理ルータに現状のマスタールータから置き換わるような設定を行ったときのみである。最も高いプライオリティ値を持ったバックアップルータがマスタールータとなり、Gratuitous ARPパケットにより仮想MACアドレスと仮想IPアドレスを伝達する。バックアップルータにおいてプライオリティが全て同一である場合、IPアドレスの数値が高いものがマスタールータになる。
1つの仮想ルータとして働く物理ルータは全て1ホップの範囲内に収まっていなくてはならない。仮想ルータ内ではマスタールータが定期的にAdvertisementパケットを送信しているのは先ほど述べたが、間隔はアドバタイズメントインターバルタイマーで調整できる(デフォルトは1秒)。この間隔を短くすればするほど、ネットワークのダウンタイムを少なくすることができるが、マルチキャストのトラフィックが増える。