虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)
新岁启祥,万象更新。转眼进入2025年,恭祝大家:元旦快乐,阖家幸福!
一、VRRP简介
VRRP是一种冗余容错协议,通过物理设备和逻辑设备的分离,实现在多个出口网关之间选路。在设备上成功配置VRRP后,将物理网络中的主、备设备虚拟为一台设备,这台虚拟设备拥有虚拟的IP地址和虚拟的MAC地址,主机只感知到这个虚拟设备的存在,实际的主、备设备对于用户并不感知,主机直接通过虚拟设备与非本网段的其他设备进行通信
二、VRRP基本概念
1、表项
Vlanif10 | Virtual Router 10
State : 设备等级 (承载转发报文任务的VRRP设备)
Virtual IP : 虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
Master IP : 物理网关地址
PriorityRun : VRRP的优先级
PriorityConfig : 100
MasterPriority : 100
Preempt : (是否开启抢占) Delay Time : (抢占是否配置延时功能)
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 缺省状态下会默认生成一个mac地址
Check TTL : YES
Config type : normal-vrrp
Create time : 2025-01-01 09:55:38 UTC-08:00
Last change time : 2025-01-01 09:55:41 UTC-08:00
2、缺省默认配置
参数 | 缺省值 |
优先级 | 100 |
抢占方式 | 立即抢占 |
默认报文发送间隔 | 1秒 |
ARP报文发送间隔 | 120秒 |
3、报文解析
VRRP功能在IPV4版本涉及两种报文(VRRPv2 、VRRPv3)该报文模式支持手动切换,IPV4场景下默认为VRRPv2报文,该文以V2为例。
根据IP层的报文可得知
1、VRRP信息封装在IP报文内部
2、源地址为master节点的物理ip地址,非虚拟IP地址
3、目的地址为VRRP组的组地址(224.0.0.18)
4、TTL值为255、VRRP的协议号是112
5、该报文的作用主要是将主节点的相关状态同步到备节点
根据VRRP报文内部字段可得知
1、VRRP版本协议号为2
2、Vritual ID 路由器的虚拟ID为10
3、Proority:该设备在VRRP备份组内的等级
(优先级为255时 为组内的owner(最优),当优先级为0时退出选举主动切换无法手动配置)
4、addr count:在备份组内的IPV4地址数量
5、auth type:是否配置VRRP认证(0未配置、1字符认证、2MD5认证)
6、checksum:16位的检验和,保证数据的完整性
7、adv IN:报文的发送间隔(缺省为1秒)
8、IP add:虚拟IPV4地址
4、V2和V3报文的差别
认证功能不同。VRRPv3不支持认证功能,而VRRPv2支持认证功能。
发送通告报文的时间间隔的单位不同。VRRPv3支持的是厘秒级,而VRRPv2支持的是秒级。
三、VRRP工作原理
1、状态
1)初始状态(Initialize)
2)活动状态(Master)
3)备份状态(Backup)
只有master设备才会做到虚拟IP的报文转发,backup设备不做转发,只做备份设备
2、工作过程及选举过程
1)init状态(初始化)
根据收到报文携带的优先级字段查看是否为255
是 直接成为owner
不是 成为backup设备进行下一步比较
或直接发生错误,建立失败
2)backup状态(备份状态)
该状态时不发送免费arp报文
不转发针对于vip(虚拟IPV4地址)的相关报文数据流量
不转发针对于dmac的vmac数据流量
侦听master节点的VRRP通告报文,启动MDI计时器 一旦超时直接升级为master节点
(Master_Down=(3* Adver_Interval)+ Skew_Time(偏移时间),
其中,Skew_Time=(256–Priority)/256。)
收到mater的vrrp报文 比较过程
优先级大于我,我保持backup状态不改变,重置MDI计时器
优先级小于我
当抢占功能被关闭时,backup状态不改变,并重置MDI计时器
抢占功能开启时,查看是否配置抢占延时,重置MDI计数器,等延时结束,
成为master角色
抢占功能开启,且未配置抢占延时时,直接成为master角色,发送arp及vrrp通告
优先级等于我时,不比较IP地址大小,重置MDI计数器,保持环境的稳定避免震荡
优先级等于0时 等待一个Skew_Time=(256–Priority)/256 时间切换为master节点
3)master状态(活动状态)
发送免费arp报文,smac为虚mac dmac为广播,可加快广播域内交换机的收敛速度
回复来自于vip(虚地址)的arp请求,并回复reply报文
转发dmac为vmac的数据流量
周期发送 vrrp announcement通告报文,告知备份组内的所有设备
当收到优先级字段大于我本身优先级时,立即切换为backup状态
当收到优先级小于我的时,master状态不改变
当收到优先级等于我时,比较接口IP地址,大于我成为master节点,小于我状态不变
当清除vrrp配置时,优先级为0 加速vrrp切换
下图取自CE16808产品文档,用以对上述文字的内容补充
四、VRRP场景描述
VRRP存在多种使用场景。例如主备备份增加可靠性,多网关冗余备份,单网关冗余备份
现网大多做双网关的冗余备份,以下就以现网使用较多场景做一个实战案例
底层以OSPF连通,用户侧双网关互为主备,进行流量负载转发
以下拓扑仅供参考
配置:
AR1
#
interface GigabitEthernet0/0/0
ip address 10.1.1.1 255.255.255.0
vrrp vrid 10 virtual-ip 10.1.1.100
vrrp vrid 10 priority 120
vrrp vrid 20 virtual-ip 10.1.1.200
#
interface GigabitEthernet0/0/1
ip address 192.168.1.1 255.255.255.0
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 192.168.1.0 0.0.0.255
#
AR2
#
interface GigabitEthernet0/0/0
ip address 192.168.2.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.1.1.2 255.255.255.0
vrrp vrid 10 virtual-ip 10.1.1.100
vrrp vrid 20 virtual-ip 10.1.1.200
vrrp vrid 20 priority 120
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#
AR3
#
interface GigabitEthernet0/0/0
ip address 192.168.2.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.1.2 255.255.255.0
#
interface LoopBack1
ip address 10.1.3.3 255.255.255.0
#
ospf 1
area 0.0.0.0
network 10.1.3.0 0.0.0.255
network 192.168.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#
SW1
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
配置结果验证
可以看到R1分别作为备份组10的Master设备和备份组20的Backup设备,
R2分别作为备份组10的Backup设备和备份组20的Master设备。