VRRP
複数のルータを1台の仮想ルータに見せかけ、端末のデフォルトゲートウェイを冗長化するプロトコル。普段はマスターのルータが仮想IPアドレスで通信を中継し、マスターが故障するとバックアップのルータが引き継ぐ。
イマシルちゃんの解説
パソコンは、ネットワークの外に出るとき、いつも決まった「出口のルータ」を使うんだ。
でも、その出口が1台しかなかったら、壊れたとたんに外に出られなくなっちゃうよね。
VRRPは、ルータを2台用意して、2台で1つの「仮想の出口」を作る仕組みなんだ。
パソコンはいつも同じ住所の出口を使うだけ。
片方が壊れても、もう片方がこっそり同じ住所を引き継ぐから、パソコンの設定は何も変えなくていいんだよ!
より深い解説
定義
VRRP(Virtual Router Redundancy Protocol)は、RFC 5798(VRRPv3)で定められた、ルータの冗長化のためのプロトコルである。同じネットワークにある複数のルータで「VRRPグループ」を作り、グループで共有する仮想IPアドレスと仮想MACアドレスを持つ1台の仮想ルータとしてふるまう。端末には、この仮想IPアドレスをデフォルトゲートウェイとして設定する。
動作
| 状態 | 内容 |
|---|---|
| マスター | 仮想IPアドレスへの通信を実際に中継する。定期的に(標準1秒ごと)VRRPの広告(アドバタイズメント)をマルチキャスト(224.0.0.18)で送る |
| バックアップ | マスターの広告を受け取って待機する。一定時間、広告が届かなければ、マスターが故障したと判断して、自分がマスターになる |
新しくマスターになったルータは、仮想MACアドレスでGARP(自分のアドレスを知らせるARP)を送り、スイッチのMACアドレステーブルを更新させる。仮想MACアドレスは変わらないため、端末のARPテーブルを書き換える必要はない。
プライオリティとプリエンプト
| 設定 | 内容 |
|---|---|
| プライオリティ | 1~254の値。大きいルータがマスターになる(仮想IPアドレスを実際のインタフェースに持つルータは255) |
| プリエンプト | プライオリティの高いルータが復旧したとき、マスターの役割を取り戻す(横取りする)設定 |
| プリエンプトディレイ | 復旧したルータが、マスターに戻るまでに一定の時間を待つ設定 |
プリエンプトディレイが必要な理由:プライオリティの高いルータの電源を入れた直後や再起動した直後は、まだOSPFなどのルーティングプロトコルが隣接ルータと経路を交換しきっておらず、経路表が完成していない。その状態ですぐにマスターになると、端末からの通信を受け取っても転送先がわからず、通信が途切れてしまう。そこで、経路情報が収束するまで一定時間待ってから、マスターに切り替わるようにする。
インタフェーストラッキング
マスターのルータのWAN側の回線が切れても、LAN側が生きていれば、VRRPの広告は送られ続け、マスターのままになってしまう。そこで、指定した回線やインタフェースの状態を監視し、ダウンしたら自分のプライオリティを下げて、バックアップにマスターを譲る機能(トラッキング)を組み合わせる。
似たプロトコル
| プロトコル | 特徴 |
|---|---|
| VRRP | 標準化されたプロトコル(RFC) |
| HSRP | シスコ社の独自プロトコル。考え方はVRRPとほぼ同じ(アクティブ/スタンバイ) |
| GLBP | シスコ社の独自プロトコル。複数のルータで負荷分散もできる |
午後での問われ方
午後の問題では、VRRPは冗長化の設計や、機器の交換・保守の手順とセットで問われることが多い。
- プライオリティの値から、どのルータが普段のマスターかを読み取る
- プリエンプトディレイを設定する理由を、ルーティングプロトコルの収束と結び付けて説明する
- マスターのルータを止める前に、プライオリティを下げてバックアップに役割を移しておく(通信を止めずに切り替える)