VRRP协议
一、VRRP(虚拟路由冗余协议)简介
1.1 VRRP(虚拟路由冗余协议)使用场景
虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
1.2 VRRP(虚拟路由冗余协议)实现目的
冗余备份
VRRP可以将多台路由设备配置为缺省网关路由器。
负载分担
多台设备设置多个vrrp-group来实现网关的负载
1.2 VRRP(虚拟路由冗余协议)术语
虚拟路由器:由VRRP抽象生成出的逻辑路由器,此路由器上有虚拟IP和虚拟MAC地址
虚拟MAC:VRRP虚拟路由器的MAC地址,格式为 00-00-5E-00-01-{VRID}
二、VRRP(虚拟路由冗余协议)结构
2.1 VRRP报文格式
VRRP报文封装在IP报文中,在IP报文头中,源地址为发送报文接口的主IP地址(不是虚拟IP地址),目的地址是224.0.0.18,TTL是255
2.1.1VRRP v2 格式
报文字段 含义 Version VRRP协议版本号,取值为2。 Type VRRPv2报文的类型,取值为1,表示Advertisement。 Virtual Rtr ID 虚拟路由器ID。一个VRID唯一标识了一个虚拟路由器,取值范围为[1,255]。(所以一台路由器的接口最多可以运行255个VRRP组) Priority Master设备在备份组中的优先级。 Count IPv4 Addrs 备份组中虚拟IPv4地址的个数。 Auth Type VRRPv2报文的认证类型。
协议中指定了3种类型:0:Non Authentication,表示无认证。
1:Simple Text Password,表示简单字符认证方式。
2:IP Authentication Header,表示HMAC-MD5认证方式。Adver Int VRRPv2报文的发送时间间隔,单位是秒。 Checksum 16位校验和,用于检测VRRPv2报文中的数据完整性。 IPv4 Address VRRP备份组的虚拟IPv4地址,所包含的地址数定义在Count IPv4 Addrs字段。 Authentication Data VRRPv2报文的认证字。目前只有简单字符认证和HMAC-MD5认证才用到该部分,对于其他认证方式,一律填0。
二、VRRP(虚拟路由冗余协议)原理
3.1 VRRP(虚拟路由冗余协议)优先级
Priority 0:当退出vrrp master,主动请求切换,保留,不能手工配置
Priority 255:当虚拟IP等于物理网关地址,此交换机是Owner(所有者),默认优先级为255,不能修改
Priority 100: 缺省优先级
3.2 VRRP(虚拟路由冗余协议)状态机行为
3.2.1 INITIALIZE 初始化
当收到shutdown消息后进入的状态
检查自己是否是owner?如果是Owner(所有者)直接变为MASTER,否则进入BACKUP状态
3.2.2 BACKUP的行为
- 不发送免费Arp
- 不响应针对虚拟网关的的Arp request请求
- 不转发针对dmac为vmac的流量
- 侦听Master发送vrrp通告,启动MDI计时器,一旦计时器超时切master
3.2.3 MASTER 行为
- 发送免费ARP,Smac是虚拟Mac,Dmac是广播
- 响应针对vip(网关ip)的arp-request,回复arp-reply,包含vmac
- 转发针对dmac为vmac的流量
- 周期发送vrrp announcement(vrrp宣告)默认1s
3.3 Master_Down_Interval定时器
Master_Down_Interval定时器是Backup设备在该定时器超时后仍未收到通告,则会转换为Master状态。计算公式如下
$$
\text{Master_Down_Interval} = (3 \times \text{Advertisement_Interval}) + \text{Skew_time} \quad \text{(偏移时间)}
$$Advertisement_Interval 默认1S
$$
\text{Skew_Time} = \frac{256 - \text{Backup Priority}}{256} \quad (\text{单位:秒})
$$
3.4 VRRP(虚拟路由冗余协议)选举流程
初始化时,优先级越高的设备越容易成为Master,Master_Down_Interval定时器的时间优先级越大越短。
当待Master_Down定时器超时后再切换至Master状态。先切换至Master状态的VRRP设备向其他设备(Backup设备)发送VRRP通告报文。
3.4.1 抢占问题
如果VRRP通告报文中Master设备的优先级高于或等于Backup设备的优先级,则Backup设备保持Backup状态;
如果VRRP通告报文中Master设备的优先级低于Backup设备的优先级,采用抢占方式的Backup设备将切换至Master状态,采用非抢占方式的Backup设备仍保持Backup状态。
3.5 VRRP(虚拟路由冗余协议)工作行为
触发条件 Master设备动作 Backup设备动作 收到优先级 > 本地优先级 立即切换为 Backup状态 保持Backup状态,重置MDI计时器 收到优先级 < 本地优先级 忽略,保持Master状态 判断抢占配置:
▸ 抢占关闭 → 保持Backup
▸ 抢占开启 → 根据延时切换Master收到优先级 = 本地优先级 比较接口IP地址:
▸ IP大 → 切Backup
▸ IP小 → 保持Master保持Backup状态,重置MDI计时器 收到优先级 = 0 不适用(此时设备已释放Master) 等待Skew_Time后切换为Master 本机主动关闭VRRP(接口shutdown) 发送 Priority=0,强制释放Master 立即检测到Priority=0,触发快速切换(无需等待MDI超时)
四、VRRP(虚拟路由冗余协议)典型配置
# LSW1 # interface Vlanif10 ip address 192.168.1.254 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.1.254 # interface Vlanif20 ip address 192.168.2.100 255.255.255.0 vrrp vrid 2 virtual-ip 192.168.2.254 # lSW2 # interface Vlanif20 ip address 192.168.2.254 255.255.255.0 vrrp vrid 2 virtual-ip 192.168.2.254 # interface Vlanif10 ip address 192.168.1.100 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.1.254





浙公网安备 33010602011771号