17.VRRP技术
VRRP技术
课程目标
掌握VRRP基本概念和工作原理
掌握VRRP报文和状态机
掌握VRRP的配置
一 VRRP的概念及应用场景
VRRP (Virtual Router Redundancy Protocol)虚拟路由冗余协议,是由IETF提出的解决局域网中配置静态网关出现单点失效现象的协议。
- VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及即使在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性
VRRP是将可以将多个路由器加入到备份组中,形成一台虚拟路由器,承担网关功能
RFC 3768定义的VRRP是一种容错协议,在提高可靠性的同时,简化了主机的配置
可以增加网关设备,配置VRRP协议,为默认网关提供设备备份,提高网关的可靠性
VRRP(虚拟路由冗余协议 Virtual Router Redundancy Protocol)解决局域网网关的冗余备份问题
VRRP将一组路由器(或三层交换机)组成一个备份组,使用一个虚拟IP地址为主机提供默认网关服务
二 VRRP的作用
1 VRRP主备备份
- 通常同一网段内的所有主机都会配置相同的网关,以访问外部网络
- 当唯一的网关设备发生故障时,所有主机都无法与外部网络通信
VRRP将可以将多个路由器加入到备份组中,形成一台虚拟路由器,承担网关功能
只要备份组中仍有一台路由正常工作,虚拟路由器就仍然正常工作
2 VRRP负载分担
- VRRP将多台路由器同时承担业务,形成多台虚拟路由器,分担内网与外网之间的流量
三 VRRP的工作原理
1 VRRP的相关概念
2 VRRP优先级
VRRP优先级:8位,默认为100,最高优先级255
优先级高的选举为主路由器,优先级相同时接口IP大的为主路由器
同一VRRP组中只允许存在一个主路由器,一个备份路由器
特殊的Priority值-255
- 优先级含义
- 在 VRRP 中,Priority(优先级)用于确定备份组中路由器的角色,取值范围是 0 - 255
- 优先级越高,成为 Master 路由器(承担数据转发任务的路由器)的可能性越大
- Priority 值 255
- 该值为特殊值,表示这台路由器是 IP 地址拥有者
- 当一台路由器的接口 IP 地址与虚拟 IP 地址相同时,它的优先级会自动被设置为 255,且这个路由器会无条件成为 Master 路由器,并且不能被抢占
- 在正常运行过程中,拥有 Priority 255 的路由器会一直充当 Master,直到它出现故障或退出 VRRP 备份组
3 VRRP协议报文格式
VRRP协议报文是Master路由器以组播的方式,定时发送的VRRP报文
VRRP协议报文使用固定的组播地址224.0.0.1进行发送
虚拟路由器由LAN上唯一的Virtual Router ID标识。并具有虚拟MAC地址:00-00-5E-00-01-{vrid}
- Version(版本)
- 标识 VRRP 协议的版本号,目前主要使用的是版本 2。
- Type(类型)
- 指定 VRRP 报文的类型,常见的有通告报文(Advertisement)等
- Virtual Rtr ID(虚拟路由器 ID)
- 用于标识一个 VRRP 备份组,在一个备份组内该 ID 是唯一的
- Priority(优先级)
- 用于在 VRRP 备份组中选举主路由器(Master)和备份路由器(Backup),优先级数值越大,越容易成为主路由器
- Count IP Addrs(维护 IP 地址数量)
- 表示在 VRRP 备份组中虚拟路由器所维护的 IP 地址的数量
- Auth Type(认证类型)
- 用于指定 VRRP 报文的认证方式,如不认证、简单字符认证、MD5 认证等
- Adver Int(通告间隔)
- 主路由器发送 VRRP 通告报文的时间间隔,单位为秒,默认1s
- Checksum(校验和)
- 用于对 VRRP 报文进行校验,以确保报文在传输过程中没有被篡改或损坏
- IP address 1…n(IP 地址)
- 列出了虚拟路由器所拥有的 IP 地址
- Authentication data1/2(认证数据)
- 根据不同的认证类型,包含相应的认证信息,用于验证报文的合法性
4 VRRP工作过程
VRRP组播报文通告:
优先级高的选举为主路由器,优先级相同时接口IP大的为主路由器
主路由器激活虚拟IP地址,转发数据报文,并定期向广播域内发送
- VRRP组播报文通告自己的状态,定期通告时间(Advertisement Interval)默认为1秒
备份路由器不发送但接收VRRP报文,在MASTER_DOWN_TIMER(一般为3个通告周期)内没有收到主路由器的VRRP报文,则备份路由器将成为主路由器
5 VRRP状态机
- VRRP路由器在备份组内除Master和Backup状态外,还可能处于Initialize(初始)状态
状态解析
Initialize(初始化状态)
当 VRRP 路由器启动时,首先进入 Initialize 状态
在该状态下,路由器尚未参与 VRRP 备份组的选举过程
Master(主路由器状态)
主路由器负责转发虚拟 IP 地址的数据包
当路由器的优先级为 255(IP 地址拥有者)时,直接进入 Master 状态
主路由器会定期发送 VRRP 通告报文,通知备份组内的其他路由器自己的状态
Backup(备份路由器状态)
备份路由器监听主路由器发送的 VRRP 通告报文,等待主路由器出现故障时接替其工作
当备份路由器收到优先级更高的 VRRP 报文,或者主路由器故障时,会进入 Master 状态
状态转换条件
从 Initialize 到 Master
- 当路由器的优先级为 255(IP 地址拥有者)时,直接进入 Master 状态。
从 Initialize 到 Backup
- 当路由器的优先级小于 255(非 IP 地址拥有者)时,进入 Backup 状态
从 Master 到 Backup
- 当主路由器的接口关闭(Shutdown)时,会回到 Initialize 状态,然后进入 Backup 状态
从 Backup 到 Master
当备份路由器收到的 VRRP 报文优先级小于本地优先级,并且抢占模式为 True 时,会进入 Master 状态
当主路由器故障(Master down)时,备份路由器会进入 Master 状态
从 Master/Backup 到 Initialize
- 接口shutdown
6 VRRP选举后续
VRRP虚IP地址的ARP响应机制
主路由器激活虚IP地址,同时也激活该IP对应的虚MAC地址,主机发送虚IP地址的ARP请求时,主路由器使用虚MAC进行ARP响应
备份路由器不激活虚拟IP地址,也不激活虚拟MAC地址,更不进行虚IP的ARP响应,也不接收目的MAC是虚MAC的报文
ARP 响应机制的必要性
- 保证流量正确转发
- 主机通过 ARP 获取虚 IP 对应的虚 MAC,主路由器响应 ARP 使流量准确发往主路由器,确保数据传输畅通
- 明确主备分工
- 备份路由器不参与 ARP 响应,避免干扰主路由器,防止网络混乱
- 提升网络可用性
- 主备切换时,主机 ARP 缓存有效,减少网络中断时间,保障网络持续运行
- 简化网络管理
- 主机使用统一虚 IP,便于网络配置和维护,提升管理效率
ARP 响应机制的流程
选举确定主备路由器
- 在 VRRP 备份组中,路由器依据优先级(Priority)进行选举,优先级高的路由器成为主路由器,优先级较低的则为备份路由器
- 若优先级相同,IP 地址大的路由器成为主路由器
主路由器的 ARP 响应流程
激活虚 IP 和虚 MAC
- 主路由器成功选举后,会激活虚拟 IP 地址,同时也激活与该虚拟 IP 地址对应的虚拟 MAC 地址
- 虚拟 MAC 地址一般有特定格式,如
00-00-5E-00-01-[VRID]
(VRID 为虚拟路由器 ID)接收 ARP 请求
- 当网络中的主机需要与外部网络通信,会发送针对虚拟 IP 地址的 ARP 请求报文,以获取网关的 MAC 地址
- 该 ARP 请求报文会在网络中广播
进行 ARP 响应
- 主路由器接收到主机发送的针对虚拟 IP 地址的 ARP 请求后,会使用虚拟 MAC 地址进行 ARP 响应
- 主路由器向发送请求的主机回复 ARP 响应报文,报文中源 MAC 地址为虚拟 MAC 地址,源 IP 地址为虚拟 IP 地址
- 主机接收到响应后,将虚拟 IP 和虚拟 MAC 的映射关系存入 ARP 缓存表,后续发往网关的数据帧,目的 MAC 地址就会填写虚拟 MAC 地址,从而保证数据帧能发送到主路由器进行处理
备份路由器的状态
不激活相关地址
- 备份路由器在 VRRP 选举后,不激活虚拟 IP 地址,也不激活虚拟 MAC 地址
不参与 ARP 响应
- 当备份路由器接收到主机发送的针对虚拟 IP 地址的 ARP 请求时,不会进行响应
- 同时,备份路由器也不会接收目的 MAC 地址是虚拟 MAC 地址的报文,专注监听主路由器发送的 VRRP 通告报文,以监控主路由器状态
主备切换后的 ARP 处理
备份路由器接管
- 如果主路由器出现故障,无法发送 VRRP 通告报文,备份路由器在等待一定时间(通常是多个通告间隔)后,确认主路由器故障, 会切换为主路由器状态
新的 ARP 响应
- 此时备份路由器激活虚拟 IP 地址和虚拟 MAC 地址,并开始对主机发送的虚拟 IP 地址的 ARP 请求进行响应,接替原主路由器的工作,保证网络通信不中断
- 主机后续会更新 ARP 缓存表,将数据帧发送到新的主路由器
7 VRRP跟踪接口功能
- 当Master路由器连接上行链路的接口处于Down状态时,路由器主动降低自己的优先级,使得备份组内重新选择Master,承担转发任务
跟踪接口功能的必要性
保障网络可用性
- 主路由器上行链路故障时,跟踪接口功能触发主备切换,避免网络中断,保障流量正常转发
合理利用资源
- 防止主路由器链路故障后仍占用资源,实现资源合理分配
满足业务连续性
- 确保业务数据在链路故障时正常传输,符合高业务连续性场景需求
适应网络拓扑变化
- 快速感知并响应链路变化,维持网络稳定运行
VRRP 跟踪接口功能工作流程
- 配置阶段
- 管理员在主路由器上设置跟踪特定接口(常为上行链路接口),并设定接口故障时主路由器优先级降低的值,如降低 30。
- 正常运行
- 主路由器监测被跟踪接口状态,处于 Up 状态时,以较高优先级担任主路由器角色转发流量;备份路由器以较低优先级监听主路由器 VRRP 通告报文
- 接口故障
- 被跟踪接口变为 Down,主路由器按配置降低优先级,备份路由器发现主路由器优先级降低或收不到通告报文,重新选举后,优先级高的备份路由器成为新主路由器,承担流量转发
- 接口恢复
- 被跟踪接口恢复为 Up,主路由器恢复初始优先级,备份组再次选举,若主路由器优先级高于现主路由器, 则重新夺回主路由器角色
8 VRRP抢占
- 当路由器使能VRRP功能后,会根据优先级确定自己在备份组中的角色
- 当优先级变化后,根据VRRP模式确认VRRP状态
VRRP 抢占模式
- 非抢占模式
- 当主路由器(Master)的优先级降低后,备份路由器(Backup)不会立即接替主路由器的工作,除非主路由器出现故障
- 抢占模式
- 当主路由器的优先级降低后,备份路由器会立即接替主路由器的工作,成为新的主路由器
VRRP 抢占机制的必要性
快速恢复主路由器功能
- 在抢占模式下,当主路由器优先级降低(如因链路故障),备份路由器能迅速接替成为主路由器,减少网络中断时间,保障网络服务连续性
优化资源利用
- 确保高优先级路由器(如恢复正常的原主路由器)能及时夺回主路由器角色,合理分配网络资源,提升网络整体性能和效率
适应网络动态变化
- 网络拓扑和链路状态是动态变化的,抢占机制使 VRRP 备份组能灵活应对这些变化,及时调整主备角色,维持网络稳定运行
VRRP 抢占机制的工作流程
初始状态
- 主路由器以较高优先级运行,备份路由器以较低优先级处于监听状态
主路由器优先级降低
- 当主路由器上行链路接口 Down 等情况发生时,其优先级按配置降低
非抢占模式
- 备份路由器发现主路由器优先级降低,但由于是非抢占模式,不会主动接替主路由器工作,仅在主路由器故障时才可能成为新主路由器
抢占模式
- 备份路由器检测到主路由器优先级降低且低于自身优先级后,立即接替主路由器角色,成为新的主路由器,开始承担流量转发任务
主路由器优先级恢复
- 若主路由器链路恢复,优先级恢复,在抢占模式下,它会重新夺回主路由器角色,原新主路由器变回备份路由器
9 刷新MAC地址表
VRRP协议报文
无故ARP
当设备成为VRRP主路由器时,立即发送应答型的无ARP,用于刷新交换机MAC表
该功能是否默认开启,因厂家、设备、版本不同而不同
当版本采用接口MAC作为源MAC发送VRRP报文时,如果未开启无故ARP,将出现二层网络连通性问题
刷新MAC地址表的必要性
确保流量正确转发
- 当主路由器发生切换时,新的主路由器发送免费 ARP,能让交换机及时更新 MAC 表,使后续发往虚拟网关的数据帧能准确转发到新主路由器,保证网络通信正常
避免二层网络故障
- 若不刷新 MAC 表,交换机可能仍将流量转发到原主路由器,导致通信中断。免费 ARP 可有效防止这种情况,保障二层网络连通性
适应网络动态变化
- 网络中主路由器可能因故障或优先级变化而切换,刷新 MAC 表机制能让网络快速适应这种变化,维持稳定运行
四 VRRP+MSTP配置
VRRP一般配合MSTP使用
- 创建 VRRP 备份组并指定虚拟 IP
//创建一个VRRP备份组(Vrid),并指定该组的虚拟IP地址(通常作为网关) vrrp vrid [组号] virtual-ip [虚拟ip(网关)]
- 配置优先级
//设置当前设备在VRRP备份组中的优先级(默认值为100,范围0-255)vrrp vrid [组号] priority [优先级]
- 配置抢占模式
//允许或禁止高优先级设备主动抢占 Master 角色vrrp vrid [组号] preempt-mode [enable/disable]
- 配置抢占延迟
//设置抢占延迟时间(避免频繁切换)vrrp vrid [组号] timer preempt [延迟时间]
- 跟踪接口并降低优先级
//当指定接口状态 Down 时,自动降低优先级vrrp vrid [组号] track interface [接口名] reduced [降低值]
配置示例
- 假设需要在路由器上配置 VRRP 备份组 1,虚拟 IP 为 192.168.1.1,优先级为 120,并跟踪上行接口
//进入接口视图 interface GigabitEthernet0/0/1 //配置物理IPip address 192.168.1.2 255.255.255.0 //创建VRRP组并指定虚拟IPvrrp vrid 1 virtual-ip 192.168.1.1 //设置优先级vrrp vrid 1 priority 120 //开启抢占模式vrrp vrid 1 preempt-mode enable //设置抢占延迟5秒vrrp vrid 1 timer preempt 5 // 跟踪上行接口,故障时优先级降低30vrrp vrid 1 track interface GigabitEthernet0/0/2 reduced 30
注意事项
- 组号(VRID)
- 同一网段内不同 VRRP 组的 VRID 需唯一,范围通常为 1-255
- 虚拟 IP
- 必须与接口 IP 在同一网段,且不能与物理 IP 冲突
- 优先级
- 值越大越优先,255 为特殊值(IP 地址拥有者自动成为 Master)
- VRRP协议状态检查
show vrrp brief