VRRP的概念及應用場景
VRRP(虛擬路由冗余協議)概念
VRRP(Virtual Router Redundancy Protocol,虛擬路由冗余協議)是一種路由容錯協議,用于在多個路由器之間提供網關冗余,確保當主路由器故障時,備份路由器能無縫接管流量,保障網絡的高可用性。
核心原理
-
虛擬路由器(Virtual Router):
- 多個物理路由器組成一個邏輯上的虛擬路由器(VRRP組),共享一個虛擬IP地址(VIP)和虛擬MAC地址。
- 終端設備將默認網關配置為該VIP,而非具體物理路由器的IP。
-
主備選舉(Master/Backup):
-
通過優先級(Priority,默認100,范圍0-255)選舉主路由器(Master),優先級高的獲勝,優先級相同時接口IP大的為主路由器。管理員只能手動配置1-254,0表示設備停止參與VRRP備份組(比如shutdown了),255保留給ip擁有者(虛擬ip與接口ip一樣)。
-
在同一個VRRP組(VRID)中,同一時刻只能有一個主路由器(Master),但可以存在多個備份路由器(Backup)。
-
vrid虛擬路由器標識,需要手工指定,范圍1-255。
-
Master周期性發送VRRP通告(Advertisement)聲明存活,Backup監聽。
-
- VRRP協議報文格式
- 協議版本VRRPv2(常用,今適用于ipv4網絡)和VRRPv3(ipv4和ipv6都適用)
- VRRP協議報文是Master路由器以組播的方式,定時發送的VRRP報文。
- 只有一種報文:Advertisement報文;目的地址是224.0.0.18(組播)進行發送。目的mac地址是01-00-5e-00-00-12,ip協議號是112。
- 虛擬路由器由LAN上唯一的Virtual Router ID標識。并具有虛MAC地址:00-00-5E-00-01-{vrid}
- 故障切換(Failover):
- (Advertisement Interval)默認為1秒。
- 如果Backup在超時時間(默認3倍Advertisement間隔,通常3秒內未收到通告,則接管Master角色。
- 切換過程對終端透明(ARP表自動更新,backup成為master后發送免費arp報文,刷新交換機的mac地址表)。
- VRRP路由器在備份組內除Master和Backup狀態外,還可能處于Initialize狀態。
VRRP虛IP地址的ARP響應:
- 主路由器激活虛IP地址,同時也激活該IP對應的虛MAC地址,主機發送虛IP地址的ARP請求時,主路由器使用虛MAC進行ARP響應。
- 備份路由器不激活虛擬IP地址,也不激活虛擬MAC地址,更不進行虛IP的ARP響應,也不接收目的MAC是虛MAC的報文。
2.1 正常切換過程
Master故障:Backup檢測到Master宕機(3倍Advertisement超時),升主。
新Master發送GARP:
使用虛擬MAC地址作為源MAC,廣播GARP報文。
交換機收到后更新端口-MAC映射,終端更新ARP緩存。
流量無縫切換:數據包正確流向新Master。
2.2 未啟用GARP的后果
二層網絡問題:
如果新Master不發送GARP,交換機仍保留舊Master的MAC表項,導致流量仍發往故障設備,造成通信中斷。
終端ARP緩存過期依賴:
終端可能需等待ARP緩存超時(通常幾分鐘)才能恢復通信。
VRRP的相關概念
左側為物理鏈路,右側為邏輯鏈路
VRRP跟蹤接口功能
- 當Master路由器連接上行鏈路的接口處于Down狀態時,路由器主動降低自己的優先級,使得備份組內重新選擇Master,承擔轉發任務。
VRRP搶占(Preemption)
VRRP搶占(Preemption)是指當高優先級的路由器恢復在線后,是否立即奪回Master角色的機制。它是VRRP高可用性的關鍵特性之一,合理配置可避免網絡震蕩或業務中斷。
1. 搶占的工作原理
1.1 搶占的觸發條件
- 優先級比較:
當原Master故障后,Backup路由器接管。若原Master恢復且優先級高于當前Master,觸發搶占。 - Preempt模式啟用:
必須顯式配置搶占(默認情況下,部分廠商設備可能禁用搶占)。
1.2 搶占過程
- 原Master恢復后,發送VRRP通告(Advertisement)聲明自己的優先級。
- 當前Master收到通告后,比較優先級:
- 如果新優先級更高,當前Master主動降級為Backup,恢復的路由器成為Master。
- 如果優先級相同或更低,忽略搶占請求。
- 終端設備通過免費ARP(Gratuitous ARP)更新網關MAC地址。
2. 搶占的配置(以華為/思科為例)
2.1 華為設備配置
interface GigabitEthernet0/0/1 vrrp vrid 1 virtual-ip 192.168.1.254 vrrp vrid 1 priority 120 # 設置高優先級(默認100) vrrp vrid 1 preempt-mode # 啟用搶占(默認開啟) vrrp vrid 1 preempt-mode timer delay 5 # 延遲5秒搶占(避免頻繁切換)
preempt-mode
:啟用搶占(默認開啟)。timer delay
:延遲搶占時間(單位:秒),防止因短暫抖動導致角色切換。
2.2 思科設備(HSRP配置)
interface GigabitEthernet0/1 standby 1 ip 192.168.1.254 standby 1 priority 110 standby 1 preempt # 啟用搶占 standby 1 preempt delay minimum 5 # 延遲5秒搶占
preempt
:啟用搶占(HSRP默認關閉,需手動開啟)。delay minimum
:設置搶占延遲。
3. 搶占的應用場景
3.1 需要搶占的場景
- 主設備性能更強:
例如,Master是高性能核心路由器,Backup是備用設備,主設備恢復后應立刻接管流量。 - 業務依賴特定設備:
如防火墻或負載均衡器作為Master,需保證流量始終經過主設備。
3.2 不需要搶占的場景
- 網絡穩定性優先:
如果主備設備性能相當,頻繁切換可能導致業務抖動,可關閉搶占。 - 短暫故障恢復:
如主設備因端口閃斷(Port Flap)短暫下線,延遲搶占可避免不必要的切換。
4. 搶占的注意事項
4.1 避免腦裂(Split-Brain)
- 心跳檢測:確保Master和Backup之間的鏈路可靠(可結合BFD或鏈路檢測)。
- 優先級一致性問題:
不同設備的VRRP優先級配置錯誤可能導致多個Master沖突。
4.2 搶占延遲(Preempt Delay)
- 作用:防止因接口抖動(如端口Up/Down)導致頻繁切換。
- 推薦值:通常設置3~10秒,具體取決于網絡穩定性需求。
4.3 免費ARP(Gratuitous ARP)
- 搶占成功后,新Master會發送免費ARP更新終端設備的ARP緩存,確保流量無縫切換。
5. 常見問題(FAQ)
Q1:搶占默認開啟嗎?
- 華為VRRP:默認開啟搶占(
preempt-mode
)。 - 思科HSRP:默認關閉搶占(需手動
standby 1 preempt
)。
Q2:搶占會導致流量中斷嗎?
- 正常情況下不會:
切換過程會發送免費ARP更新終端ARP表,流量中斷時間極短(毫秒級)。 - 若配置不當可能丟包:
如未啟用搶占延遲,頻繁切換可能導致短暫丟包。
Q3:如何驗證搶占是否生效?
- 查看VRRP狀態:
display vrrp [verbose] # 華為 show standby # 思科
- 模擬測試:
手動關閉Master接口,觀察Backup是否接管,再恢復接口檢查是否搶占。
6. 總結
關鍵點 | 說明 |
---|---|
搶占的作用 | 高優先級設備恢復后重新成為Master,保證流量最優路徑。 |
配置命令 | 華為:preempt-mode + timer delay ;思科:preempt + delay minimum |
推薦延遲時間 | 3~10秒,避免頻繁切換。 |
適用場景 | 主設備性能更強或業務依賴特定設備時建議啟用。 |
不適用場景 | 主備設備性能相當或網絡穩定性要求極高時可關閉搶占。 |
合理配置VRRP搶占,能在保障高可用的同時,避免不必要的網絡震蕩。