在局域网终端访问外部网络的链路里,终端设备上配置的默认网关地址往往只有一个。这个网关一旦失效,整片网段里的所有主机都会在瞬间失去通往外部网络的出口,业务随之中断。这一现象在工程上被称为网关单点故障,它是园区网与数据中心网络设计中必须正面回应的可靠性问题。
VRRP 的全称是 Virtual Router Redundancy Protocol,中文译作虚拟路由冗余协议,由互联网工程任务组在 RFC 3768 中正式标准化,其前身规范可追溯至 RFC 2338,后经 RFC 5798 修订。协议的核心思想并不复杂:把多台物理路由器组织成一个逻辑上的备份组,这个备份组对外呈现为一个虚拟路由器,拥有一个虚拟 IP 地址和一个虚拟 MAC 地址。网络内的主机并不感知背后有几台真实设备,它们仍然把网关地址指向这个虚拟 IP。备份组内部,多台路由器按照优先级高低选举出一台作为主设备承担报文转发,其余路由器作为备份设备保持就绪。一旦主设备发生故障,备份设备能够在数秒内接管虚拟 IP,继续提供转发服务,从而实现网关的自动冗余切换。
这里需要厘清一个关键概念,即"第一跳冗余协议"这一家族。VRRP 与 HSRP、GLBP 同属第一跳冗余协议家族,三者的共同目标都是解决终端设备默认网关的单点故障问题,但实现路线各异。HSRP 是思科提出的私有实现,GLBP 则在冗余之外进一步提供了网关负载分担能力。软考命题语境下,这个家族概念常被用来考查考生对协议归类的把握,把 VRRP 与动态路由协议、生成树协议等混排设问。只有先明确 VRRP 在整个网络协议体系中的坐标——它位于主机与路由器之间的第一跳,服务于终端设备的默认网关可用性——后续的机制理解才不会跑偏。
需要特别澄清的是,VRRP 本身并不是一种路由协议。它不交换路由信息,不计算路径,也不参与路由表的生成。它的职责范围被严格限定在"第一跳冗余"这一层:即确保终端设备所依赖的默认网关始终可用。因此,在软考命题语境下,VRRP 常与"网关冗余""第一跳冗余协议"这类表述绑定出现,与 OSPF、BGP 这类真正意义上的路由协议有着本质区别。理解这一点,是避免后续若干易错点失分的前提。
从部署位置看,VRRP 通常运行在网关设备上,也就是园区网的核心层或汇聚层设备、数据中心的边界设备。这些设备向上连接出口链路,向下连接终端的默认网关。VRRP 的备份组成员之间通过直连的二层链路或交换网络互通,以便通告报文能够顺利送达。备份组对主机的透明性是协议设计的核心目标之一,主机端无需任何额外配置,甚至无需感知 VRRP 的存在,这是它相对静态网关配置最优雅的地方。
VRRP 的正常运转依赖三个关键要素:虚拟 IP、虚拟 MAC 地址以及备份组内部的状态机。虚拟 IP 是主机配置网关时使用的地址,它由管理员在备份组内统一指定,既可以借用某台真实路由器的接口地址,也可以是一个独立的、不属于任何物理接口的地址。虚拟 MAC 地址则遵循一条固定格式,前三个字节为 00-00-5E,第四个字节为 00,最后两个字节为备份组的组号,整体呈现为 00-00-5E-00-01-XX 的样式,其中 XX 即虚拟路由器的标识。主设备在响应主机的地址解析请求时,返回的是这个虚拟 MAC 而不是自身接口的物理 MAC,主机据此把数据帧发往虚拟路由器,再由当前主设备实际完成转发。
这条 MAC 构造规则有着精确的来源。00-00-5E 这一前缀由 IEEE 分配,专门保留给 VRRP 使用,中间的两个字节 00-01 标识该地址属于 VRRP 协议族,最后两个字节则直接对应虚拟路由器标识,也就是备份组号。这一设计的好处在于,任意一台主机发出的数据帧,无论当前是哪台物理设备在做主设备,其目标 MAC 都保持不变,切换过程对主机完全透明。与之对照,HSRP 使用 00-00-0C-07-AC-XX 作为虚拟 MAC 前缀,两台协议的 MAC 格式差异是软考选择题中的经典辨析点。
备份组内每台路由器都配置有一个优先级,取值范围是 0 到 255,默认值为 100。数值越大,被选为主设备的概率越高。当虚拟 IP 恰好是某台路由器的真实接口地址时,这台路由器被称为 IP 地址拥有者,其优先级被强制置为 255,以保证它无条件成为主设备。选举发生时,优先级最高的路由器胜出;若优先级相同,则进一步比较接口 IP 地址,地址大者胜出。初始状态下,所有设备都以备份角色启动,若在超时时间内没有收到来自主设备的通告报文,便认为自己有资格升为主设备。
优先级为 0 的情况具有特殊语义。当主设备主动放弃主角色时,会发送优先级为 0 的通告报文,通知备份设备尽快接管。因此,0 这个值在 VRRP 中被赋予"让位"的含义,而非单纯的低优先级。考生需要区分两种场景:一是设备从未参与过选举、优先级本身很低,二是设备主动发送优先级 0 的通告触发的快速切换。这一细节虽然细微,却是命题人偶尔用来拉开分数差距的考点。
VRRP 的报文仅有一种类型,即通告报文。主设备以固定的时间间隔向组播地址 224.0.0.18 发送通告报文,该报文携带本机的优先级与状态信息,其作用有三:一是向备份设备宣示自己的存活,二是携带优先级供备份设备做比较,三是维护备份组状态机。备份设备收到通告后刷新自己的主设备失效定时器,一旦在连续若干个通告周期内没有收到任何通告,便认定主设备已经失效,随即发起新一轮选举。协议的报文交互极为轻量,默认通告间隔仅一秒,因此切换时延通常控制在数秒量级,远快于依赖人工干预的恢复方式。
协议的状态机由三个状态构成。初始状态是 Initialize,设备在此状态完成初始化准备,等待启动事件。随后进入 Backup 状态,设备作为备份设备监听主设备的通告,维护主设备失效定时器。当备份设备在超时时间内未收到通告,或发现自己的优先级更高,便转入 Master 状态,承担起转发职责。Master 状态下的设备周期发送通告、响应主机的地址解析请求并转发数据。状态之间的迁移由通告定时器和优先级比较共同驱动,理解这个三态转换,是读懂"主备切换"这一高频表述的技术基础。
VRRP 的切换时延并非固定值,而是由多个定时器共同决定。主设备每隔一个通告间隔发送一次通告报文,默认值为一秒。备份设备维护一个主设备失效定时器,其值通常为通告间隔的三倍。若备份设备在三个通告周期内都未收到通告,便判定主设备失效并开始接管。此外还有一个偏斜时间的概念,用于让不同备份设备在发起选举时错开,避免多台设备同时抢主造成冲突。这些定时器的组合决定了协议的整体收敛速度,也是软考偶尔涉及"切换时间估算"类题目的底层依据。
抢占机制是 VRRP 最容易被考生忽略的分支考点。所谓抢占,是指当备份设备发现自己的优先级高于当前主设备时,是否主动发起选举并取代对方。默认情况下 VRRP 采用抢占模式,即优先级更高的设备一旦恢复或加入备份组,就会立即抢回主设备角色。之所以设计抢占,是为了让性能更强、链路更优的设备在恢复后重新承担转发,避免流量长期由次优设备承载。与之相对的是非抢占模式,该模式下即使出现更高优先级的设备,也不会主动夺权,除非当前主设备彻底失效。软考题目常通过"高优先级设备加入后是否立即切换"这类场景来考查对抢占与非抢占的区分,判断的关键在于设备是否主动发起取代,而非被动等待。
抢占模式还常常与链路联动配合使用。实际部署中,一台设备成为主设备不仅取决于自身优先级,还取决于它上行链路的状态。若某台设备的出口链路已经中断,即使它优先级最高,继续做网关也没有意义。为此,工程上常把 VRRP 与接口跟踪机制联动,一旦被跟踪的上行接口失效,便自动降低该设备的优先级,从而触发主备切换。这种"优先级 + 链路状态"的组合设计,是理解现代网络中高可用网关工作机制的重要一环,也是软考综合题中可能出现的进阶考点。
单个备份组只能让一台设备做主、其余设备闲置,链路利用率不高。为解决这一问题,工程上常在同一组接口上配置多个备份组,让不同备份组的主设备落在不同的物理路由器上。例如两台路由器之间建立两个备份组,第一组以设备甲为主、设备乙为备,第二组反之。这样一部分网段的主机把网关指向第一组的虚拟 IP,另一部分指向第二组,两台设备互为备份又同时承载流量,既实现了冗余又实现了负载分担。这一机制正是软考真题中"VRRP 网络冗余方案中主备链路可以实现多链路流量负载分担"这一选项的命题来源。
多备份组方案的另一个价值在于故障时的快速收敛。当设备甲失效时,原本指向第一组虚拟 IP 的主机流量会由设备乙接管,而第二组的流量本就由设备乙承载,因此切换只影响一半流量,且切换过程仅涉及第一组的状态迁移。这种按虚拟 IP 分流的思路,让网络的冗余能力与资源利用率得到了兼顾。考生在理解负载分担时,务必抓住"多个备份组、多个虚拟 IP"这一关键,否则很容易把单备份组的一主一备误认为已经实现了负载分担。
VRRP 还有一个同源的兄弟协议 HSRP,由思科提出,二者思想相通但实现有差异。VRRP 是开放标准,支持抢占,默认抢占开关开
本篇完!