运行MPLS流量工程的另一个优势 是快速重路由(FRR)的可能性。FRR使您可以重新标记已变得不可用的链接或路由器周围的流量。流量重新路由的发生时间不到50毫秒,即使对于今天的标准来说,这也是快速的。
通常在链路容量高的核心网络中启用TE。如果链接或路由器发生故障,则会围绕该故障重新路由流量。对于IP和MPLS流量,此重新路由发生得相对较快。但是,即使重新路由仅花费了几秒钟,也可能意味着由于链接的高容量,很多流量被丢弃到了故障点。
FRR具有两个选项,可以防止数据包失败和重新路由流量。这两个选项是:
- 链接保护
- 节点保护
两种方案有一个共同点:修复要尽可能地接近故障点。两种方法均提供本地维修。因此,它们非常快,可以在数十毫秒内将LSP从受保护的链路重新路由到备份隧道。您可能会听到很多的数字是50毫秒。这是因为在谈论SONET链接的切换时间时,也经常引用此数字。MPLS TE的链路和节点保护称为FRR。
FRR链路保护
通过链路保护,可以保护用于TE的一条特定链路。这意味着所有通过此链路的TE隧道均由一个备用隧道保护。此技术也称为设施备份,因为备份了完整的链接及其所有TE LSP。
下图显示了一个简单的网络,其中链路R1-R2由备用隧道R1-R3-R2保护。该备用隧道仅在从R1到R2的方向上保护TE隧道。因此,为了保护双向通过链路R1-R2的所有隧道,您需要另一个备用隧道R2-R3-R1。
对于链路保护,备用隧道也称为下一跳(NHOP)旁路隧道,并且始终在本地修复(PLR)点上启动。这里的PLR是路由器R1。用于链路保护的备用隧道始终连接到下一跳路由器。这意味着路由器位于链路的远端。该路由器是合并点(MP),因为这是受保护隧道和备用隧道合并的路由器。备用隧道是RSVP发出信号的显式路径隧道。
用于链路保护的备用隧道始终连接到下一跳路由器。这意味着路由器位于链接的远端。该路由器是合并点(MP),因为这是受保护隧道和备用隧道合并的路由器。
备用隧道是RSVP发出信号的显式路径隧道。在前图中,R2向R3发出信号以使用标签3(隐式NULL标签),并且R3向R1发出信号以使用标签16作为备用隧道。
隧道1的LSP上的数据包以标签30进入路由器R1。当数据包离开路由器R1时,该标签与标签33交换。最后,标签33与从路由器R2传出的标签40交换。
主链路故障时的报文转发
查看下图,以查看当链路R1 R2发生故障时有关数据包转发的情况。一旦链路R1-R2发生故障,PLR(此处为R1)就开始将TE隧道1上的流量发送到R3上的NHOP备用隧道上。
R1上的传入数据包像以前一样交换标签:将标签30与标签33交换。然后将用于NHOP隧道的附加标签(标签16)推到数据包上。数据包的标签在NHOP备份隧道上切换,直到到达路由器R2(MP)(受保护链路的尾端路由器)为止。请注意,数据包以标签33到达R2。当链路R1 R2没有失败时,数据包以相同的标签到达路由器R2。唯一的区别是,现在数据包通过另一个接口到达R2。
FRR链路保护
使用FRR进行节点保护时,您将不会尝试只保护一个链路,而是整个路由器。节点保护通过创建下一跳(NNHOP)备份隧道来起作用。NNHOP备份隧道不是通往PLR下一跳路由器的隧道,而是通往被保护路由器后一跳的路由器的隧道。因此,在节点保护的情况下,NNHOP路由器是MP路由器。
在TE隧道的前端配置命令tunnel mpls traffic-eng fast-reroute node-protect时,它将PATH消息的Session属性中的标志设置为0x10,表示它需要节点保护。看下图,它有一个NNHOP备份隧道来保护路由器柏林。
一个TE隧道从路由器巴黎到悉尼。NNHOP备份隧道2000从路由器布鲁塞尔(PLR)到路由器罗马(NNHOP和MP)。该备份隧道通过在显式路径中将路由器柏林指定为已排除,从而完全避免了路由器柏林。这是通过将路由器berlin的MPLS TE路由器ID指定为显式路径中的排除IP地址来完成的。
有两个问题使节点保护更加复杂。第一个问题是数据包不再到达NHOP LSR,而是到达NNHOP LSR。这意味着PLR必须以某种方式学习正确的标签以用于NNHOP备份隧道,以便数据包以与未使用NNHOP备份隧道时相同的顶部标签到达NNHOP路由器。
为了解决此问题,在从NNHOP路由器到PLR路由器的RESV消息中,在RRO对象的标签子对象中通告标签。当数据包进入重新路由的LSP上的PLR时,PLR必须先将传入标签与该标签交换,然后再推送NNHOP备份隧道的标签。
第二个问题是,备份隧道完全避免了重新路由的LSP上的路由器。即使绕过该路由器,PATH消息中的ERO仍保留受保护路由器的IP地址。PLR必须将PATH消息发送到NNHOP隧道中,以确保一切正常工作。
多个备份隧道
多个备份隧道可以保护相同的链路或节点,并且它们可以终止于不同的后端路由器。这些备用隧道可以是NHOP和NNHOP的混合。在将受保护的TE LSP分配给备份隧道时,PLR比NHOP备份隧道更喜欢NNHOP。发生故障时,受保护链路上的TE LSP可能会切换到多个备用隧道。
此外,一个备份隧道可用于保护多个链接。这样就大大提高了可伸缩性,因为不必为网络中的每个链路都拥有备份隧道。当配置了多个备份隧道时,每个受保护的TE LSP被分配给一个备份隧道。