13、IS-IS Auto FRR

IS-IS Auto FRR

随着网络的不断发展,VoIP和在线视频等业务对实时性的要求越来越高,而IS-IS故障恢复需要经历“故障感知、LSP更新、LSP泛洪、路由计算和下发FIB”这几个过程才能让流量切换到新的链路上,因此故障恢复的时间远远超过了50ms(即用户感知流量中断的时间),不能满足此类网络业务的实时性要求。

IS-IS Auto FRR(Fast reroute)遵循RFC 5286(Basic Specification for IP Fast Reroute Loop-Free Alternates)协议,可为流量提供链路和节点的保护。IS-IS Auto FRR能够保证转发系统快速地响应这种故障事件并采取措施,尽快让业务流恢复正常。

通常情况下,通过将BFD会话与IS-IS Auto FRR进行绑定,可以使故障恢复时间降低到50ms以内。当BFD检测到接口链路故障后,BFD会话状态会变为Down并触发接口进行快速重路由,将流量从故障链路切换到备份链路上,从而达到流量保护的目的。

工作原理

IS-IS Auto FRR利用LFA(Loop-Free Alternates)算法预先计算好备份链路,并与主链路一起加入转发表。当网络出现故障时,IS-IS Auto FRR可以在控制平面路由收敛前将流量快速切换到备份链路上,保证流量不中断,从而达到保护流量的目的,因此极大的提高了IS-IS网络的可靠性。

LFA计算备份链路的基本思路是:以可提供备份链路的邻居为根节点,利用SPF算法计算出到目的节点的最短距离。然后,按照RFC5286规定计算出无环的备份链路。

IS-IS Auto FRR支持对需要加入IP路由表的备份路由进行过滤,通过过滤策略的备份路由才会加入到IP路由表,因此,用户可以更灵活的控制加入IP路由表的IS-IS备份路由。

组网应用

IS-IS Auto FRR支持TE(Traffic Engineering)链路,分为如下两种类型:

  • 支持IP保护TE

    图1所示,RouterS到RouterD的IS-IS cost最小的路径为TE-Tunnel,因此RouterS优选TE-Tunnel作为到RouterD的主路径。路径RouterS->RouterN->RouterD的cost值次小,根据LFA计算公式,RouterS选择RouterS->RouterN->RouterD作为备份路径,备份出接口为RouterS上到RouterN的出接口。

    如果备份出接口是TE-Tunnel的实际出接口时,保护失效。

    图1 IP保护TE

  • 支持TE保护IP

    图2所示,物理路径RouterS->RouterN->RouterD是RouterS到RouterD的所有路径中IS-IS cost值最小,因此RouterS将优选RouterS->RouterN->RouterD作为RouterS到RouterD的主路径。TE-Tunnel的IS-IS cost为12,TE-Tunnel的显式路径为RouterS到RouterD的直连链路。RouterS到RouterD的直连链路的IS-IS cost为13,大于TE-Tunnel的IS-IS Cost,因此IS-IS在计算备份路径时,选择TE-Tunnel为备份路径。这样就实现了TE保护IP。

    图2 TE保护IP

IS-IS Auto FRR流量保护分为链路保护和节点链路双保护。

图3 IS-IS Auto FRR链路保护

图4 IS-IS Auto FRR节点链路双保护

表1 IS-IS Auto FRR流量保护的两种类型

流量保护类型

保护对象

满足条件

应用举例

链路保护

为经过特定链路的流量提供保护。

链路开销必须满足不等式:

Distance_opt(N,D) < Distance_opt(N,S) + Distance_opt(S,D)

图3所示,流量从RouterS到RouterD进行转发,网络开销值满足链路保护公式,可保证当主链路故障后,RouterS将流量切换到备份链路RouterS到RouterN后可以继续向下游转发,确保流量中断小于50ms。

节点链路双保护

为本节点到下一跳节点间的链路出现故障或下一跳节点出现故障提供保护。在这种方式中,对节点保护的优先级高于对链路保护。

节点链路双保护需同时满足如下两个条件:
  • 链路开销必须满足:

    Distance_opt(N,D) < Distance_opt(N,S) + Distance_opt(S,D)

  • 路由器的接口开销必须满足:

    Distance_opt(N,D) < Distance_opt(N,E) + Distance_opt(E,D)

图4所示,流量从RouterS经RouterE到RouterD进行转发,网络开销值满足链路保护公式,可保证当RouterS与RouterE之间的链路或者RouterE发生故障后,RouterS将流量切换到备份链路RouterS到RouterN后可以继续向下游转发,确保流量中断小于50ms。


表1中不等式Distance_opt(X,Y)是指节点X到Y之间的最优路径的开销值。其中,S是转发流量的源节点,E是发生故障的节点,N是备份链路的节点,D是流量转发的目的节点。

多节点发布相同路由场景中的IS-IS FRR

IS-IS LFA FRR是通过提供备份链路的邻居为根节点,利用SPF算法计算到达目的节点的最短距离,计算的结果是基于节点的备份下一跳,适合于路由源单一的场景。随着网络的多元化,某些网络中存在多节点发布相同路由场景,即多个节点发布相同的路由,在这种多节点发布相同路由场景中,由于无法满足路由源单一的场景的LFA的条件,因此无法计算出备份下一跳。为了解决上述问题,产生了多节点发布相同路由场景中的IS-IS FRR,它可以使用其中一个路由源来保护主的路由源,从而增强网络的可靠性。

图5 多节点发布相同路由场景下的IS-IS FRR组网图

图5(a)所示,SwitchA->SwitchB的链路开销值为5,SwitchA->SwitchC的链路开销值为10,SwitchB和SwitchC同时发布路由源10.1.1.0/24。在SwitchA上使能IS-IS FRR,SwitchA由于不满足路由源单一的场景的LFA条件,因此无法计算出路由10.1.1.0/24的备份下一跳。为了解决上述问题,可以使用多节点发布相同路由场景中的IS-IS FRR功能。

图5 多节点发布相同路由场景下的IS-IS FRR组网图(b)所示,在SwitchB和SwitchC之间构造一个虚拟节点Virtual Node,Virtual Node与SwitchB和SwitchC分别形成链路,SwitchB和SwitchC指向Virtual Node的链路开销值均为0,Virtual Node指向SwitchB和SwitchC的链路开销值都是最大值Max-cost,Virtual Node上发布一条前缀10.1.1.0/24,将多节点发布的相同路由转换为路由源单一的路由,然后按LFA算法计算虚拟节点的备份下一跳,多节点发布的相同路由10.1.1.0/24从其创建的虚拟节点继承备份下一跳。在该图中,SwitchA计算出到Virtual Node的主链路是SwitchA->SwitchB,备份链路为SwitchA->SwitchC。

posted @ 2024-04-15 16:30  博雅塔之客  阅读(10)  评论(0编辑  收藏  举报