在使用 VRRP 时,路由器使用什么标准来感知 WAN 中断?

网络工程 思科 虚拟现实
2022-02-27 12:12:03

有谁知道在为 VRRP 配置时,各种路由器使用什么内部标准来感知其 WAN 连接何时断开,然后决定从主路由器切换到备用路由器?我有一些第三方报告称,Fortigate 设备只是使用到特定外部子网或主机(例如 4.2.2.1)的内部路由的存在或不存在。这对我来说似乎是错误的 - 因为路由可能仍然存在于主服务器上,但实际连接不存在,这意味着主服务器不会故障转移到备份。

好奇是否有人知道各种路由器(例如 FG、Cisco)的内部实现细节。

如果这已经得到回答,或者我的问题不太合理,请原谅我。我有点像网络n00b。

2个回答

第一跳冗余协议配置指南,Cisco IOS XE 版本 3S

VRRP 对象跟踪

对象跟踪是一个独立的过程,它管理创建、监视和删除被跟踪对象,例如接口的线路协议的状态。热备用路由器协议 (HSRP)、网关负载平衡协议 (GLBP) 和 VRRP 等客户端向特定的跟踪对象注册它们的兴趣,并在对象状态发生变化时采取行动。

每个被跟踪对象由跟踪 CLI 上指定的唯一编号标识。VRRP 等客户端进程使用此编号来跟踪特定对象。

跟踪过程会定期轮询被跟踪的对象并记录任何值的变化。被跟踪对象中的更改立即或在指定延迟后传达给感兴趣的客户端进程。对象值报告为向上或向下。

VRRP 对象跟踪使 VRRP 可以访问通过跟踪过程可用的所有对象。跟踪过程允许您跟踪单个对象,例如接口线路协议的状态、IP 路由的状态或路由的可达性。

VRRP 为跟踪过程提供了一个接口。每个 VRRP 组可以跟踪多个可能影响 VRRP 设备优先级的对象。您指定要跟踪的对象编号,VRRP 会收到有关对象的任何更改的通知。VRRP 根据被跟踪对象的状态增加(或减少)虚拟设备的优先级

VRRP 对象跟踪如何影响设备的优先级

如果设备已配置为对象跟踪并且被跟踪的对象出现故障,则设备的优先级可以动态更改。跟踪过程会定期轮询被跟踪的对象并记录任何值的变化。被跟踪对象的变化会立即或在指定延迟后传达给 VRRP。对象值报告为向上或向下。可以跟踪的对象的示例是接口的线路协议状态或 IP 路由的可达性。如果指定的对象出现故障,则 VRRP 优先级降低。如果配置了 vrrp preempt 命令,则具有较高优先级的 VRRP 设备现在可以成为虚拟设备主设备。有关对象跟踪的更多信息,请参阅“VRRP 对象跟踪”部分。

VRRP 广告

虚拟路由器主控向同一组中的其他 VRRP 路由器发送 VRRP 通告。通告传达虚拟路由器主机的优先级和状态。VRRP 通告封装在 IP 数据包中并发送到分配给 VRRP 组的 IP 版本 4 组播地址。默认情况下每秒发送一次广告间隔是可配置的。

尽管根据 RFC 3768 的 VRRP 协议不支持毫秒计时器,但 Cisco 路由器允许您配置毫秒计时器您需要在主路由器和备用路由器上手动配置毫秒计时器值。备份路由器上 show vrrp 命令输出中显示的主通告值始终为 1 秒,因为备份路由器上的数据包不接受毫秒值。

您必须在绝对必要的情况下使用毫秒计时器,并仔细考虑和测试。毫秒值仅在有利的情况下有效,您必须注意,使用毫秒计时器值会将 VRRP 操作限制为仅适用于 Cisco 设备。

您说得对,在 FortiOS 中,该vrdst选项不会主动 ping 目标地址,而是决定是否存在到该目的地的活动路由。在第二阶段,您在例如 WAN 接口上配置“健康监视器”,它可以使用 ICMP、UDP 或 TCP ping 来确定外部目标主机的可访问性。如果此监视器发生故障,将删除到 ping 目标的路由,并且 VRRP 将进行故障转移。

如果您考虑一下,删除特定路由的原因更多 - 手动删除、动态路由协议、物理链路故障等。两阶段设置提供状态监控,而无需依赖“ping”访问(可能被阻止)出于安全原因)。