RSVP消息处理
收到“本地隧道修复”通知后,通知头端,流量是通过可能次优的保护路径转发。然后,头端尝试重新路由LSP。如果找不到替代路径,会怎样?例如,将LSP配置为故障链路的显式路径,则会发生这种情况。是拆除LSP还是让其保留在保护路径上,由头端的本地策略实施。假设策略允许继续使用保护路径,下一个问题是:LSP可以永远保持在保护路径上吗?原则上可以,但实际上一定要注意更多细节。RSVP需要用Path和Resv消息定期刷新其状态。除非继续正确生成和处理这些消息,否则LSP将超时。因此,链路失败后,需要通过备份隧道转发这些消息。
一旦检测到受保护的链路故障,流量就会从主LSP切到备。如果转发状态已提前安装,则可在转发引擎中完成,无需控制平面干预,实现快速恢复流量。但事实并非如此,故障发生后,控制平面上需要采取很多措施。
抑制LSP拆除
即使受保护LSP头端或尾端收到链路故障的IGP通知,也一定要抑制任何错误生成,防止本地保护可用时导致LSP断开,破坏本地保护的目的。
LSP头端通知
备份的目的是LSP头端查找LSP备用路径时保护流量,从而避免链路故障。为此,PLR会通过使用“ Notify”错误代码和“ Tunnel Local Repaired”子代码的RSVP Path Error消息通知头端。
此外,记录路由对象还会用一个新的标记,指示该路径是本地修复的。但是,当头端将通过IGP找出故障时,为啥还需要这些?因为依赖于其它协议进行故障通知并不总是有效。例如,当跨越多个IGP区域或AS时,IGP通知不能到达头端。
新路径计算和信令
当头端收到关于切换备用路径的信息,将重新计算LSP,避免出现故障的链路,并以先通后断的方式进行。这意味需要本地保护的LSP总以“显式共享”的形式发出,从而允许新路径与旧路径共享资源。新路径也可能会在保护期间使用相同的链路建立,比如用明确指定路径而非动态的方式。如果经过故障链路或节点,则CSPF无法执行,本地修复会一直存在,旁路LSP也只会被视为一跳。