本文就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