VRRP技術概要
単一ゲートウェイの問題
局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果默认网关设备发生故障,那么所有用户终端访问外部网络的流量将会中断。可以通过部署多个网关的方式来解决单点故障,但是需要解决多个网关之间的冲突问题。
VRRPの概要
VRRP(Virtual Router Redundancy Protocol、仮想ルータ冗長プロトコル)は、ゲートウェイのバックアップを実現し、複数のゲートウェイ間の競合問題を解決することで、ネットワークの信頼性を向上させます。
VRRPの基本概念
- VRRPルータ:VRRPプロトコルを実行するルータ。
- VRID:VRRPグループを識別するための識別子。
- 仮想ルータ:VRRPによって抽象化された論理的なルータ。
- 仮想IPアドレスとMACアドレス:仮想ルータが持つIPアドレスとMACアドレス。
- Masterルータ:VRRPグループ内でパケット転送を担当するルータ。
- Backupルータ:Masterルータに代わってパケット転送を行う準備をしているルータ。
- Priority:MasterルータとBackupルータを選出するための優先度値。
VRRP報文フォーマット
VRRPにはAdvertisement報文のみがあり、この報文はマルチキャスト方式で送信されます。目的マルチキャストアドレスは224.0.0.18です。
VRRPタイマー
- ADVER_INTERVALタイマー:MasterがVRRP通告報文を送信する周期(デフォルトは1秒)。
- MASTER_DOWNタイマー:BackupがMasterになるまでの待機時間。
VRRP技術原理
VRRP状態遷移
VRRPプロトコルの状態遷移には初期状態(Initialize)、活動状態(Master)、バックアップ状態(Backup)があります。
VRRPプロトコル状態
Master状態:
- 定期的にVRRP報文を送信する。
- 仮想IPアドレスに対するARPリクエストに応答する。
- 仮想MACアドレスを宛先とするIPパケットを転送する。
- 仮想IPアドレスへのpingを許可する。
- 優先度が同じ場合、IPアドレスの大きさで比較する。
Backup状態:
- MasterからのVRRP報文を受信し、Masterの状態を確認する。
- 仮想IPアドレスに対するARPリクエストには応答しない。
- 仮想MACアドレスを宛先とするIPパケットを破棄する。
- 仮想IPアドレスを宛先とするIPパケットを破棄する。
- 優先度が同じか大きい報文を受け取った場合、MASTER_DOWNタイマーをリセットする。
VRRP主従選出
優先度が異なる場合の選出過程:
- R1のVRRP優先度が200、R2の優先度が100。
- R1とR2は初期化後にBackup状態に切り替わる。
- R1がより早くMaster状態に切り替わり、R1がMasterに選出される。
- R1がMasterに選出された後、無料ARP報文を送信して仮想MACアドレスを通知する。
優先度が同じ場合の選出過程:
- R1とR2のGE0/0/0インターフェースのVRRP優先度が両方200。
- 両方のインターフェースが同時にMaster状態に切り替わる。
- インターフェースのIPアドレスを比較し、大きい方がMasterに選出される。
- R2がMasterに選出された後、無料ARP報文を送信して仮想MACアドレスを通知する。
VRRP主従切り替え
正常な状況では、Masterがユーザーのパケットを転送します。Masterが障害発生した場合、Backupが新たなMasterになります。Masterが復旧すると、再度Masterに切り替わります。
VRRPの典型的なアプリケーション
負荷分散
複数の仮想ルータを作成し、それぞれの物理ルータが異なる役割を持つことで、負荷分散を実現できます。
上行ポート監視
VRRPとBFDを連携させることで、上行ポートの状態を監視し、自動的に主従切り替えを行うことができます。
VRRP基本設定
一般的な設定コマンド
- VRRPバックアップグループの作成と仮想IPアドレスの設定
[interface-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254 - バックアップグループ内の優先度の設定
[interface-GigabitEthernet0/0/0] vrrp vrid 1 priority 120 - バックアップグループ内のプレエンプション遅延時間の設定
[interface-GigabitEthernet0/0/0] vrrp vrid 1 preempt-mode timer delay 10 - バックアップグループ内の非プレエンプションモードの設定
[interface-GigabitEthernet0/0/0] vrrp vrid 1 preempt-mode disable - インターフェースの監視設定
[interface-GigabitEthernet0/0/0] vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30 - BFDセッションとの連携設定
[interface-GigabitEthernet0/0/0] vrrp vrid 1 track bfd-session 1 increased 20
基本設定例
設定要求:
- R1とR2がVRRPバックアップグループを形成し、R1がMaster、R2がBackup。
- Masterが復旧したときにプレエンプションを使用し、プレエンプション遅延時間を10秒にする。
- Masterが上行インターフェースの状態を監視し、VRRPの主従切り替えを行う。
R1の設定:
[R1] interface GigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0] ip address 192.168.1.253 24 [R1-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254 [R1-GigabitEthernet0/0/0] vrrp vrid 1 priority 120 [R1-GigabitEthernet0/0/0] vrrp vrid 1 preempt-mode timer delay 10 [R1-GigabitEthernet0/0/0] vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30
R2の設定:
[R2] interface GigabitEthernet0/0/0 [R2-GigabitEthernet0/0/0] ip address 192.168.1.252 24 [R2-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254 [R2-GigabitEthernet0/0/0] vrrp vrid 1 priority 110
基本設定の検証
[R1]display vrrp GigabitEthernet0/0/0 | Virtual Router 1 State : Master Virtual IP : 192.168.1.254 Master IP : 192.168.1.253 PriorityRun : 120 PriorityConfig : 120 MasterPriority : 120 Preempt : YES Delay Time : 10 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Track IF : GigabitEthernet0/0/1 Priority reduced : 30 IF state : UP
[R2]display vrrp GigabitEthernet0/0/0 | Virtual Router 1 State : Backup Virtual IP : 192.168.1.254 Master IP : 192.168.1.253 PriorityRun : 110 PriorityConfig : 110 MasterPriority : 120 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp