本文就VRRP協議進行了簡單介紹,並使用eNSP虛擬實驗環境進行了VRRP路由故障轉移測試和負載均衡的實驗
文章目錄
背景知識
VRRP,Virtual Router Redundancy Protocol,是由IETF提出的解決局域網中配置靜態網關出現單點失效現象的路由協議,1998年已推出正式的RFC2338協議標準。
基本概念
- VRRP Router:VRRP路由器是指運行VRRP協議的路由器。
- Virtual Router:虛擬路由器的邏輯概念,一個VRRP虛擬路由器包含一個Master路由器和一系列的Backup路由器。
- Virtual MAC:虛擬MAC地址,定義爲
00-00-5E-00-01-{VRID}
。 - Virtual IP:虛擬IP地址,該地址要求未被任何主機綁定。
- VRID:虛擬路由器ID,VRRP路由器通過VRID區分所屬的虛擬路由器組。
- ADVERTISEMENT報文:Master路由器通過定時組播該報文通告自己的狀態,Backup通過週期性接收該報文判斷Master的狀態。
工作過程:
參數
Advertisement_Interval:組播ADVERTISEMENT報文的週期,單位秒,默認值爲1秒。
Skew_Time:滯後時間,該值是爲了應對網絡擁塞導致報文滯後的情況,值爲(256 - Priority) / 256
。
Master_Down_Interval:表示如果Backup路由器在這段時間內沒有接收到ADVERTISEMENT報文,則認爲Master出現故障,值爲:(3 * Advertisement_Interval) + Skew_time
VRRP路由器啓動
當路由器的Priority=255時:
1、組播ADVERTISEMENT報文;
2、廣播免費ARP報文(源IP地址:虛擬IP地址;源Mac地址:虛擬Mac地址;目的Ip地址:虛擬Ip地址);
3、啓動ADVERTISEMENT定時任務;
4、切換路由器的狀態爲Master;
Master路由器
- 接收到ADVERTISEMENT報文
1、ADVERTISEMENT報文中Priority=0時:a)立即發送ADVERTISEMENT報文;b)重置ADVERTISEMENT定時任務,週期爲Advertisement_Interval;
2、如果ADVERTISEMENT報文中的Priority大於本機的Priority:a)取消ADVERTISEMENT定時任務;b) 設置Master ADVERTISEMENT超時定時器,週期爲Master_Down_Interval;c)切換狀態爲Backup;
3、如果ADVERTISEMENT報文中的Priority和本機的Priority相等,但是報文中的Ip地址大於本機Ip地址:行爲與情形2一致;
4、其他情況,丟棄報文;
Backup路由器
-
如果Master ADVERTISEMENT超時定時器超時
1、組播ADVERTISEMENT報文;
2、廣播免費ARP報文;
3、取消Master ADVERTISEMENT超時定時器,啓動ADVERTISEMENT定時任務,週期爲Advertisement_Interval;
4、切換路由器的狀態爲Master; -
如果收到來自Master的ADVERTISEMENT報文
1、如果ADVERTISEMENT報文中Priority=0時:設置Master ADVERTISEMENT超時定時器,週期爲Skew_Time(滯後時間);
2、如果當前模式不是搶佔模式,重置Master ADVERTISEMENT超時定時器,週期爲Master_Down_Interval;
3、如果當前模式是搶佔模式,而且ADVERTISEMENT超時定時器報文中爲Priority大於或者等於本機Priority,行爲與情形2一致;
4、其他情況,丟棄報文
總結
-
當Master路由器出現故障時,接收ADVERTISEMENT超時的Backup路由器會切換狀態爲Master,這時候可能會同時有多個路由器同時切換至Master,通過ADVERTISEMENT報文交換會最終迭代至最大Priority、最大IP地址的路由器。
-
當一臺路由器升級至Master時,會接管虛擬MAC地址和虛擬IP地址,如果包的目的MAC地址和目的P地址如果符合虛擬MAC地址和虛擬IP地址,都可以被Master接收
實驗
實驗環境
操作系統:Windows10
虛擬實驗環境:eNSP 1.2.5100
虛擬路由器:AR3260
虛擬交換機:S3700
Note:eNSP百度網盤鏈接見於文末
拓撲結構
Note:拓撲文件百度網盤鏈接見於文末
各PC配置
IP地址 | 子網掩碼 | 網關地址 | |
---|---|---|---|
PC-1 | 192.168.1.1 | 255.255.255.0 | 192.168.1.250 |
PC-2 | 192.168.1.2 | 255.255.255.0 | 192.168.1.249 |
PC-3 | 2.2.1.1 | 255.255.255.0 | 2.2.1.254 |
實驗一:測試VRRP故障轉移
AR1配置命令
return
system-view
sysname AR1
interface GigabitEthernet 0/0/1
undo shutdown
ip address 192.168.1.253 24
vrrp vrid 1 virtual-ip 192.168.1.250
vrrp vrid 1 priority 150
return
terminal monitor
terminal debugging
debugging ip icmp
system-view
info-center console channel monitor
AR2配置命令
return
system-view
sysname AR2
interface GigabitEthernet 0/0/1
undo shutdown
ip address 192.168.1.254 24
vrrp vrid 1 virtual-ip 192.168.1.250
vrrp vrid 1 priority 50
return
terminal monitor
terminal debugging
debugging ip icmp
system-view
info-center console channel monitor
查看接口配置:
return
system-view
display interface GigabitEthernet 0/0/1
AR1接口配置信息
AR2接口配置信息
Note:注意查看Ip是否綁定成功,以及接口狀態是否爲UP
查看VRRP配置:
return
system-view
interface GigabitEthernet 0/0/1
display vrrp
AR1 VRRP配置信息
AR2 VRRP配置信息
從VRRP的配置信息中可以看出,高優先級的AR1目前處於Master狀態,低優先級的AR2處於Backup狀態。使用PC1 ping 192.168.1.250
:
處於Master的AR1可以接收到包,而Backup狀態的AR2未有日誌輸出。如果在實驗過程中,ping有REPLY,但是路由器沒有debug日誌輸出,在路由器命令行重新複製執行下面命令:
return
terminal monitor
terminal debugging
debugging ip icmp
system-view
info-center console channel monitor
故障轉移模擬
關閉Master路由器的GigabitEthernet 0/0/1接口,模擬設備故障:
return
system-view
interface GigabitEthernet 0/0/1
shutdown
shutdown後的接口狀態:
查看AR2的日誌輸出
顯然,AR2因爲Master超時定時器超時而自動切換至Master,查看VRRP配置:
return
system-view
interface GigabitEthernet 0/0/1
display vrrp
使用PC1 ping 192.168.1.250
:
實驗二:配置路由負載均衡
配置AR1
return
system-view
sysname AR1
interface GigabitEthernet 0/0/0
ip address 1.1.1.2 24
interface GigabitEthernet 0/0/1
undo shutdown
vrrp vrid 2 virtual-ip 192.168.1.249
vrrp vrid 2 priority 50
return
terminal monitor
terminal debugging
debugging ip icmp
system-view
info-center console channel monitor
interface GigabitEthernet 0/0/1
return
system-view
ip route-static 2.2.1.0 24 1.1.1.1
配置AR2
return
system-view
sysname AR2
interface GigabitEthernet 0/0/0
ip address 1.1.2.2 24
interface GigabitEthernet 0/0/1
undo shutdown
vrrp vrid 2 virtual-ip 192.168.1.249
vrrp vrid 2 priority 150
return
terminal monitor
terminal debugging
debugging ip icmp
system-view
info-center console channel monitor
interface GigabitEthernet 0/0/1
return
system-view
ip route-static 2.2.1.0 24 1.1.2.1
配置AR3:
return
system-view
sysname AR3
interface GigabitEthernet 0/0/0
ip address 1.1.2.1 24
undo shutdown
interface GigabitEthernet 0/0/1
ip address 1.1.1.1 24
undo shutdown
interface GigabitEthernet 0/0/2
ip address 2.2.1.254 24
undo shutdown
return
system-view
ip route-static 192.168.1.0 24 1.1.2.2
ip route-static 192.168.1.0 24 1.1.1.2
查看VRRP配置信息
return
system-view
interface GigabitEthernet 0/0/1
display vrrp
AR1 VRRP配置信息
AR2 VRRP配置信息
查看路由表
display ip routing-table
AR1的路由表:
AR2的路由表:
AR3的路由表:
測試路由路徑
使用PC-3命令行執行下面命令:
Tracert 192.168.1.1
Tracert 192.168.1.2
總結:通過不同主機配置不同網關地址已實現負載均衡
資源下載
eNSP百度網盤下載:
鏈接:https://pan.baidu.com/s/1jzvPu3yaBUmCY6hs2l-5wg
提取碼:990r
網絡拓撲文件下載
鏈接:https://pan.baidu.com/s/1w_oGVPAVaTEJ8T51d6IICQ
提取碼:luq6
拓展學習
- KeepAlived–通過VRRP實現高可用負載均衡
參考文章
https://forum.huawei.com/enterprise/zh/thread-290587-1-1.html
https://blog.51cto.com/13445059/2062255