VRRP
虚拟路由冗余协议,一种局域网网关高可用协议,作用是消除默认网关的单点故障
虚拟路由器:每个 VRRP 组中抽象出的一台虚拟 "路由器"
虚拟 IP 地址及虚拟 MAC 地址:VRRP 组中抽象出虚拟 "路由器" 的 IP 地址及 MAC 地址
主要设备
Master 路由器:在 VRRP 组中承担转发任务,只有 Master 设备才会响应针对虚拟 IP 地址的 ARP,Request
Backup 路由器:备份路由器,实时侦听 Master 路由器发送出的 VRRP 报文,随时准备接替 Master 路由器工作
Priority:优先级,选举 Master 和 Backup 的依据,越大越优先,如果优先级一样,比较 IP 地址,大者优先
VRRP 定时器
ADVER_INTERVAL定时器:Master 发送 VRRP 通告报文时间周期,缺省值为 1 秒
MASTER_DOWN定时器:Backup 设备监听该定时器超时后,会变为 Master 状态
计算公式:MASTER_DOWN = (3 * ADVER_INTERVAL) + Skew_time (偏移时间)
Skew_time = (256 - priority) / 256
VRRP 的三种状态
initialize(初始状态)
Master(活动状态):定期发送 VRRP 报文
Backup(备份状态):接收 Master 设备发送的 VRRP 报文判断 Master 设备的状态

VRRP 主备选举
当 VRRP 组中的路由器优先级不相同时,优先级高的设备成为 Master 设备,次之成为 Backup 设备
当 VRRP 组中的路由器优先级相同时,则比较 IP 地址,IP 地址大的优先,成为 Master,次之成为 Backup
VRRP 主备切换
当 Master 出现故障后,Backup 会收到 Master 设备的 VRRP 报文,此时 Backup 设备会成为 Master,接替原来的工作
当 Master 从故障中恢复之后,会发送 VRRP 报文,当没有比自己更优的设备之后,因为抢占机制会成为 Master 设备
VRRP 监视上行端口
VRRP 可以监视上行端口的状态,当设备感知到上行端口或者链路出现故障时,可主动降低 VRRP 优先级,从而保证上行链路正常的 Backup 设备能够通过选举切换为 Master 状态,指导报文转发
VRRP 负载分担
通过创建多个虚拟路由器,每个物理路由器在不同的 VRRP 组中扮演不同的角色,不同虚拟路由器的 IP 作为不同的内网网关地址可以实现流量转发负载分担

VRRP 可以与 BFD 联动,以此来减少故障中断的时间
VRRP 可以与 MSTP 结合使用,MSTP 可以防止环路,VRRP 主备切换,从而提高网络可靠性,实现负载分担的同时保证网络冗余备份

VRRP 配置命令
- 创建 VRRP 备份组并给备份组配置虚拟 IP 地址
interface-GigabitEthernet0/0/0\] vrrp vrid virtual-router-id virtual-ip virtual-address
各备份组之间的虚拟 IP 地址不能重复,同属于一个备份组的设备接口使用相同的 VRID
- 配置路由在备份组中的优先级
interface-GigabitEthernet0/0/0\] vrrp vrid virtual-router-id priority priority-value
Master 设备的优先级应高于 Backup 设备
- 配置备份组中设备的抢占延迟时间
interface-GigabitEthernet0/0/0\] vrrp vrid virtual-router-id preempt-mode timer delay delay-value
- 配置 VRRP 备份组中设备采用非抢占模式
interface-GigabitEthernet0/0/0\] vrrp vrid virtual-router-id preempt-mode disable
缺省情况下为抢占模式
- 配置 VRRP 备份组监听接口
interface-GigabitEthernet0/0/0\] vrrp vrid virtual-router-id track interface interface-type interface-number \[ increased value-increased \| reduced value-decreased
- 配置 VRRP 备份组联动普通 BFD 会话
interface-GigabitEthernet0/0/0\] vrrp vrid virtual-router-id track bfd-session { bfd-session-id \| session-name bfd-configure-name } \[ increased value-increased \| reduced value-reduced
如果选择参数session-name bfd-configure-name,可以绑定静态BFD会话或者标识符自协商的静态BFD会话
如果选择参数bfd-session-id,只能绑定静态BFD会话
实例

dis vrrp 查看配置详情