各位學員好,歡迎來到進階網路架構課程。今天我們要談的是讓網路「高可用性 (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;
(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。
解析:這是 IANA 分配給 VRRP 的專用 OUI,最後兩碼 (XX) 為十六進制的 VRID。
2. 預設情況下,VRRP 的 Priority 值是多少?
答案:100
解析:如果不特別設定,Priority 預設為 100。
解析:如果不特別設定,Priority 預設為 100。
3. 如果兩台路由器的 Priority 設定相同,誰會當選 Master?
答案:IP 位址較大者
解析:這是 Tie-breaker 機制。例如 192.168.1.3 會贏過 192.168.1.2。
解析:這是 Tie-breaker 機制。例如 192.168.1.3 會贏過 192.168.1.2。
4. 當 Master 恢復上線後,預設會發生什麼事?(Preempt)
答案:搶回 Master 角色
解析:因為 Preempt Mode 預設為開啟 (Enabled)。Master 恢復後,因為優先權較高,會重新接管 VIP。
解析:因為 Preempt Mode 預設為開啟 (Enabled)。Master 恢復後,因為優先權較高,會重新接管 VIP。
5. 在 ExtremeXOS 中,若要在 VLAN "Data" 建立 VRID 10,指令為何?
答案:create vrrp vlan Data vrid 10
解析:需使用 vrid 參數。完整順序為 create -> configure -> enable。
解析:需使用 vrid 參數。完整順序為 create -> configure -> enable。