VRRP 協定深度解析

Virtual Router Redundancy Protocol | 打造永不斷線的網路入口

講師:ExtremeXOS 網路架構大師 (20年資歷)

各位學員好,歡迎來到進階網路架構課程。今天我們要談的是讓網路「高可用性 (High Availability)」的基石——VRRP。如果你希望老闆在路由器當機時不會衝進機房對你咆哮,這堂課請務必聽仔細。

1 一、核心概念 (Concept)

一句話定義

VRRP 是一種容錯協定,它將多台實體路由器虛擬化為「一台」邏輯路由器,確保當主設備故障時,備援設備能無縫接手,終端用戶完全無感。

生活化比喻:餐廳的值班經理

想像一間餐廳(區域網路),必須隨時有一位「值班經理」(Default Gateway)來處理客訴(封包轉發)。

  • Virtual Router (VIP):「值班經理」這個職位頭銜。客人只認職位,不認人。
  • Master Router:今天實際穿著經理制服上班的人(主要轉發者)。
  • Backup Router:坐在休息室待命的副理。他會每秒確認經理是否還在呼吸(接收 Advertisement),一旦經理昏倒,他立刻穿上制服接手,客人完全不知道換人了。

2 二、運作原理 (Mechanism)

技術細節與封包流向

  • Hello 封包 (Advertisement): Master Router 會週期性(預設 1 秒)發送 VRRP Advertisement 通告自己的存活。這些封包透過 Multicast 位址 224.0.0.18 傳送。
  • 虛擬 MAC (Virtual MAC): 這是 VRRP 最精妙的設計。VIP 對應的 MAC 永遠是 00-00-5E-00-01-{VRID}。當 Master 切換時,新的 Master 會發送 Gratuitous ARP,告訴交換機「現在這個 MAC 在我這個 Port」,以此更新 FDB (Forwarding Database) 或 MAC Address Table。
  • 選舉機制 (Election): Priority (優先權)。數值大者為王 (0-255)。若優先權相同,則比介面 IP 位址,大者獲勝。

ExtremeXOS 關鍵參數

參數 說明 預設值
Priority 決定誰是 Master。設定為 255 代表擁有該 IP 的實體介面。 100
Preempt Mode 搶佔模式。若更高優先權的設備上線,是否立即搶回 Master 地位。 Enabled (開啟)
vrid Virtual Router ID,區分同一個廣播域內不同的 VRRP 群組。 需手動指定 (1-255)

3 三、架構視覺化 (Visuals)

VRRP 拓撲架構圖

flowchart TD %% 1. Internet Layer (Top) Internet((Internet)) %% 2. Switch Layer (Middle - Horizontal) subgraph Switching_Layer [Core Switching Layer] direction LR Core_A[("Extreme Switch A
(Master)
Priority: 200")] Core_B[("Extreme Switch B
(Backup)
Priority: 100")] %% Horizontal link Core_A -.->|VRRP Hello| Core_B end %% 3. Virtual Layer (Bottom) VIP(("Virtual Router (VIP)
192.168.1.1
VMAC: ...01:0A")) %% 4. User Layer (Bottom) PC1["User PC
GW: 192.168.1.1"] %% Vertical Connections Internet ==> Core_A Internet -.-> Core_B Core_A --- VIP Core_B --- VIP VIP === PC1 %% Style Definitions classDef master fill:#d1fae5,stroke:#059669,stroke-width:2px; classDef backup fill:#fee2e2,stroke:#dc2626,stroke-width:2px; classDef virtual fill:#e0f2fe,stroke:#0288d1,stroke-width:2px,stroke-dasharray: 5 5; classDef internet fill:#f3f4f6,stroke:#374151,stroke-width:2px; class Core_A master; class Core_B backup; class VIP virtual; class Internet internet;

實線代表實際流量,虛線代表待命路徑或控制訊號

Failover 切換流程 (Sequence Diagram)

sequenceDiagram participant PC as User PC participant MA as Master (Switch A) participant BK as Backup (Switch B) Note over MA, BK: 正常狀態 MA->>BK: VRRP Advertisement (Every 1s) PC->>MA: Traffic to Gateway (192.168.1.1) Note over MA: ❌ 發生故障 (Power failure / Cable cut) Note over BK: 3秒沒收到 Hello (Dead Interval) Note over BK: 狀態切換: Backup -> Master BK->>BK: Send Gratuitous ARP (Update FDB/MAC Table) Note over PC, BK: 故障轉移完成 PC->>BK: Traffic to Gateway (192.168.1.1)

4 四、實務應用場景 (Use Case)

案例:企業財務部網路隔離與備援

某金控公司的財務部門 VLAN 100,要求「零停機」存取銀行核心系統。我們在兩台 Extreme 核心交換機上配置 VRRP。

# ExtremeXOS Configuration Snippet
# Switch A (Master)
create vrrp vlan Finance_Vlan vrid 10
configure vrrp vlan Finance_Vlan vrid 10 priority 200
configure vrrp vlan Finance_Vlan vrid 10 add 10.10.10.254
enable vrrp vlan Finance_Vlan vrid 10

# Switch B (Backup)
create vrrp vlan Finance_Vlan vrid 10
configure vrrp vlan Finance_Vlan vrid 10 priority 100
configure vrrp vlan Finance_Vlan vrid 10 add 10.10.10.254
enable vrrp vlan Finance_Vlan vrid 10

優點 (Pros)

  • 透明性:客戶端完全不需要更改網關設定。
  • 標準協定:Extreme 可以跟 Cisco、Juniper 混搭做備援。

缺點 (Cons)

  • 頻寬浪費:標準 VRRP 是 Active/Standby,備援機平常閒置,頻寬減半。
  • 解決方案:可啟用 VRRP Load Sharing 或使用 MLAG (M-LAG) 架構來改善。

5 五、隨堂測驗 (Quiz)

身為架構師,細節決定成敗。試試看你能答對幾題?(點擊題目查看答案)

1. VRRP 的 Virtual MAC 前綴固定為何?
答案:00-00-5E-00-01-XX
解析:這是 IANA 分配給 VRRP 的專用 OUI,最後兩碼 (XX) 為十六進制的 VRID。
2. 預設情況下,VRRP 的 Priority 值是多少?
答案:100
解析:如果不特別設定,Priority 預設為 100。
3. 如果兩台路由器的 Priority 設定相同,誰會當選 Master?
答案:IP 位址較大者
解析:這是 Tie-breaker 機制。例如 192.168.1.3 會贏過 192.168.1.2。
4. 當 Master 恢復上線後,預設會發生什麼事?(Preempt)
答案:搶回 Master 角色
解析:因為 Preempt Mode 預設為開啟 (Enabled)。Master 恢復後,因為優先權較高,會重新接管 VIP。
5. 在 ExtremeXOS 中,若要在 VLAN "Data" 建立 VRID 10,指令為何?
答案:create vrrp vlan Data vrid 10
解析:需使用 vrid 參數。完整順序為 create -> configure -> enable。