VRRP协议的原理与配置
前言
VRRP就是Virtual redundant routing protocol
,即虚拟冗余路由协议,常被称为热备份网关协议;是为了解决网络中的网关发生故障后,用户终端的网络访问将被中断的情况
VRRP技术带来的好处
- 实现网关的备份
- 解决多个网关之间互相冲突
- 配合链路的监控实现主备架构
基本概述
- VRRP在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器
- 版本:VRRPv2(常用 仅适用于IPv4网络)、VRRPv3(适用于IPv4、IPv6两种网络)
- 报文:Advertisement报文 基于组播224.0.0.18更新;协议号为112
简单说一点VRRP的基础知识,接下来就看实验吧
一、实验搭建
拓扑图如下
关于拓扑的解释:
- R4、R5模拟终端设备,配置两条缺省,分别指向R2、R3的虚拟IP
- R2、R3作为汇聚层设备与R1之间配置OSPF,即打通汇聚层之间的路由
- 汇聚层连接接入层的接口上做VRRP,做两个,实现负载均衡
- 网段分配:接入层使用192.168.1.0/24;汇聚层使用10.0.123.0/24;R1有一个回环1.1.1.1/32
1.1 OSPF的部署
R1、R2、R3间部署OSPF,R2、R3宣告两个接口,注意要把接入层的接口声明为静默接口,因为其不需要接收OSPF的数据包,其下连接的是终端设备
检查OSPF的邻接关系
[R1]dis ospf p b
OSPF Process 1 with Router ID 10.0.123.1
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 10.0.123.2 Full
0.0.0.0 GigabitEthernet0/0/0 10.0.123.3 Full
----------------------------------------------------------------------------
静默接口在协议试图下进行声明即可

[R2-ospf-1]di th
[V200R003C00]
#
ospf 1
silent-interface GigabitEthernet0/0/1
area 0.0.0.0
network 10.0.123.0 0.0.0.255
network 192.168.1.0 0.0.0.255
#
return
[R3-ospf-1]di th
[V200R003C00]
#
ospf 1
silent-interface GigabitEthernet0/0/1
area 0.0.0.0
network 10.0.123.0 0.0.0.255
network 192.168.1.0 0.0.0.255
#
return
验证检查路由学习情况,可见R1通过OSPF学习到了192.168.1.0/24网段的路由(忽略红色框下面的两条路由,这是VRRP的虚拟IP,下文会详细阐述)
R2学习到了R1的环回
注意R4、R5上配置两条缺省路由;为实现分流,所以分别指向不同的网关(关于下一跳,下文做出详细的阐述)
[R4]ip route-static 0.0.0.0 0.0.0.0 192.168.1.1
[R5]ip route-static 0.0.0.0 0.0.0.0 192.168.1.254
1.2 VRRP的配置
R2作为192.168.1.1的主网关,192.168.1.254的备网关;
R3作为192.168.1.254的主网关,192.168.1.1的备网关;二者互为备份
[R2-GigabitEthernet0/0/1]di th
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 192.168.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.1 #虚拟出来的网关,R4上配置的下一跳就是这个地址
vrrp vrid 1 priority 120 #修改权限,默认是100,大者成为Master;这里R2要作为192.168.1.1这个网关的主,所以优先级设置的大些
vrrp vrid 1 preempt-mode timer delay 10 #修改抢占时间,当网络中拓扑发生变化时,比如此实验中的OSPF的收敛时速度比较慢,可以修改抢占的延时来减少数据包的丢失率
vrrp vrid 1 track interface GigabitEthernet0/0/0 reduced 30 #上行链路监控,即当R2的上行链路出现故障后,将优先级减小30,减小到90,此时主备切换
vrrp vrid 2 virtual-ip 192.168.1.254
vrrp vrid 2 priority 110 #这里R2作为192.168.1.254的备,所以将优先级设置的小些
#
return
R3上的配置同理
[R3-GigabitEthernet0/0/1]di th
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 192.168.1.3 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.1
vrrp vrid 1 priority 110
vrrp vrid 2 virtual-ip 192.168.1.254
vrrp vrid 2 priority 120
vrrp vrid 2 track interface GigabitEthernet0/0/0 reduced 30
#
return
查看VRRP状态
1.3 验证查看
R4、R5去1.1.1.1的路径与预期相符
主备切换验证
- down掉R2的上行链路
[R2-GigabitEthernet0/0/0]shutdown
查看VRRP状态,可见,由于上行链路down掉,优先级减少30,变为90,小于R3上的110,主切换到R3
流量测试:可见R4去1.1.1.1走的是备链路
恢复后VRRP状态正常
- down掉R3的上行链路
[R3-GigabitEthernet0/0/0]shutdown
流量测试:可见R5去1.1.1.1走的是备链路
恢复后VRRP状态正常
二、分析
-
为什么运行VRRP协议的设备当上行链路出现故障后不能实现切换?
答:在二层冗余结构下,热备份网关不是线路级的切换,而是设备级别的切换,即只有主设备死机或连接主设备的链路全都出现问题后才会切换;可以在VRRP中追踪上行链路来实现主备的切换
-
为什么需要修改VRRP的抢占时间?
答:当运行VRRP协议的设备上运行了动态路由协议,比如OSPF时,若OSPF的拓扑发生变化时,而OSPF的收敛比较慢,VRRP的抢占切换时间很短,此时就会造成大量的数据包丢失,所以修改VRRP的抢占延时,来减小网络抖动的可能
-
什么情况下新加入VRRP组的设备需要增大追踪链路的优先级?
割接