快速重新路由概述
快速重新路由为 LSP 路径提供冗余。启用快速重新路由时,将沿 LSP 预先计算和预先确定绕行。如果当前 LSP 路径上发生网络故障,流量会快速路由到其中一个绕行路径。 图 1 显示了从路由器 A 到路由器 F 的 LSP,显示了已确定的绕行路线。每个绕行都由上游节点建立,以避免与紧邻下游节点和紧邻下游节点本身的链路。每次绕行都可能穿越图中未显示的一个或多个标签交换路由器(或交换机)。
快速重新路由可保护流量免受入口和出口路由器(或交换机)之间任何单点故障的影响。如果 LSP 上出现多个故障,则快速重新路由本身可能会失败。此外,快速重新路由并不能防止入口或出口路由器故障。

如果节点检测到下游链路发生故障(使用特定于链路层的活跃性检测机制)或下游节点发生故障(例如,使用 RSVP 邻居你好协议),则该节点会快速将流量切换到绕行位置,同时向入口路由器发出链路或节点故障信号。 图 2 显示了当路由器 B 和路由器 C 之间的链路出现故障时所绕行的情况。

如果网络拓扑不够丰富(没有足够的路由器与其他路由器具有足够的链路),一些弯路可能不会成功。例如, 图 1 中从路由器 A 绕行到路由器 C 的路线无法穿越链路 A-B 和路由器 B。如果无法实现这样的路径,则不会绕道而行。
请注意,节点将流量切换到绕行路线后,可能会在不久后再次将流量切换到新计算的绕行路线。这是因为最初的绕行路线可能不是最佳路线。为了尽可能快地重新路由,节点会在不事先验证绕行是否有效的情况下,将流量切换到初始绕行路线上。完成切换后,节点将重新计算绕行路线。如果节点确定初始绕行仍然有效,则流量将继续流经此绕行。如果节点确定初始绕行不再有效,则会再次将流量切换到新计算的绕行。
如果在节点将流量切换到初始绕行路线后发出 show
命令,则该节点可能指示流量仍在流经原始 LSP。这种情况是暂时的,应该迅速纠正。
快速绕行路线生效所需的时间取决于两个独立的时间间隔:
检测链路或节点故障的时间长度 — 此时间间隔很大程度上取决于正在使用的链路层和故障的性质。例如,SONET/SDH 链路上的故障检测通常比千兆以太网链路上的故障检测快得多,而且两者都比路由器故障检测快得多。
将流量拼接到绕行路线所需的时间量 — 此操作由数据包转发引擎执行,只需很少的时间即可将流量拼接到绕行路线上。所需的时间可能会有所不同,具体取决于切换到绕行的 LSP 的数量。
快速重新路由是一种用于减少数据包丢失的短期修补程序。由于绕行计算可能无法预留足够的带宽,因此绕行可能会在备用链路上造成拥塞。入口路由器是唯一完全了解 LSP 策略约束的路由器,因此也是唯一能够提供足够的长期备用路径的路由器。
迂回是通过使用 RSVP 产生的,并且与所有 RSVP 会话一样,它们需要在网络中产生额外的状态和开销。因此,每个节点最多为每个启用了快速重新路由的 LSP 绕行一条。为每个 LSP 创建多个绕行会增加开销,但没有实际用途。
为了进一步降低网络开销,每次绕行都会尝试在节点或链路发生故障后尽快合并回 LSP 中。如果您可以考虑通过 n 路由器节点传输的 LSP,则可以创建 n – 1 个弯路。例如, 在图 3 中,绕行尝试合并回路由器 D 的 LSP 中,而不是在路由器 E 或路由器 F 处。合并回 LSP 会使得绕行可扩展性问题更易于管理。如果拓扑限制使绕行无法快速合并回 LSP 中,则绕行会自动与其他绕行合并。
