TI-LFA FRR
TI-LFA FRR (Topology-Independent Loop-free Alternate FRR)能为Segment Routing隧道提供链路及节点的保护。当某处链路或节点故障时,流量会快速切换到备份路径,继续转发。从而最大程度上避免流量的丢失。
相关概念
概念 |
解释 |
---|---|
P空间 |
以保护链路源端为根节点建立SPF树,所有从根节点不经过保护链路可达的节点集合称为P空间。 |
扩展P空间 |
以保护链路源端的所有邻居为根节点分别建立SPF树,所有从根节点不经过保护链路可达的节点集合称为扩展P空间。 |
Q空间 |
以保护链路末端为根节点建立反向SPF树,所有从根节点不经过保护链路可达的节点集合称为Q空间。 |
PQ节点 |
PQ节点是指既在扩展P空间又在Q空间的节点,PQ节点会作为保护隧道的目的端。 |
LFA |
LFA(Loop-Free Alternate)算法计算备份链路的基本思路是:以可提供备份链路的邻居为根节点,利用SPF算法计算到达目的节点的最短距离,然后计算出一组开销最小且无环的备份链路。关于LFA的介绍,可以参考IS-IS Auto FRR。 |
RLFA |
RLFA(Remote LFA)算法根据保护路径计算PQ节点,并在源节点与PQ节点之间建立隧道形成备份下一跳保护。当保护链路发生故障时,流量自动切换到隧道备份路径,继续转发,从而提高网络可靠性。关于RLFA的介绍,可以参考IS-IS Auto FRR。 |
TI-LFA |
LFA FRR和Remote LFA对于某些场景中,P空间和Q空间既没有交集,也没有直连的邻居,无法计算出备份路径,不能满足可靠性要求。在这种情况下,实现了TI-LFA。TI-LFA算法根据保护路径计算P空间,Q空间,Post-convergence最短路径树,以及根据不同场景计算Repair List,并在源节点与PQ节点之间建立SR隧道形成备份下一跳保护。当保护链路发生故障时,流量自动切换到隧道备份路径,继续转发,从而提高网络可靠性。 |
产生原因
传统的LFA技术需要满足至少有一个邻居下一跳到目的节点是无环下一跳。RLFA技术需要满足网络中至少存在一个节点从源节点到该节点,从该节点到目的节点都不经过故障节点。而TI-LFA技术可以用显式路径表达备份路径,对拓扑无约束,提供了更高可靠性的FRR技术。
使用价值
- 满足IP FRR快速收敛的基本要求。
- 原理上支持100%场景保护。
- 算法复杂度适中。
- 选择收敛后的路径作为备份路由转发路径,相比其他FRR技术转发不会有正在收敛的中间态。
TI-LFA FRR原理
如图2-73所示,PE1为源节点,P1节点为故障点,PE3为目的节点,链路中间的数字表示cost值。
TI-LFA流量保护分为链路保护和节点保护。
链路保护:当需要保护的对象是经过特定链路的流量时,流量保护类型为链路保护。
节点保护:当需要保护的对象是经过特定设备的流量时,流量保护类型为节点保护。节点保护优先级高于链路保护。
下面以节点保护为例介绍TI-LFA的实现过程。如图2-73所示,假设流量路径为:PE1→P1→P5→PE3,为避免P1节点故障导致流量丢失,TI-LFA会计算出P空间,Q空间,P1故障收敛后(Post-convergence)最短路径树,以及备份出接口和Repair List,最终生成备份转发表项。
计算P空间:至少存在一个邻居节点到P节点的路径不经过故障链路的集合。
计算Q空间:Q节点到目的节点不经过故障链路的集合。
计算收敛后最短路径树:计算主下一跳故障收敛后的最短路径树,排除主下一跳计算最短路径树。
- 计算备份出接口和Repair List。
备份出接口:在某些场景下,P空间和Q空间即没有交集,也没有直连的邻居。这种情况下备份出接口为收敛后下一跳出接口。
Repair List:Repair List是一个约束路径,用来指示如何到达Q节点,Repair List由“P节点标签+P到Q路径上的邻接标签”组成。在图2-73中,Repair List为P3的节点标签100,加上P3到P4的邻接标签9304。
- 优选Repair节点发布的Node SID。
- 优选Repair节点发布的Prefix SID,SID越小越优先。
- 不支持SR的节点不能作为Repair节点,不发布Prefix SID/Node SID的节点不能作为Repair节点。
TI-LFA FRR转发流程
TI-LFA备份路径计算完成之后,如果主路径发生故障,就可以根据备份路径进行转发,避免流量丢失。
如图2-74所示,DeviceF为P节点,DeviceH为Q节点。主下一跳B故障,触发FRR切换到备路径。详细过程如表2-26所示。
设备 |
流程 |
---|---|
DeviceA |
DeviceA根据Repair List封装标签栈,最外层封装P节点(DeviceF)的节点标签=下一跳DeviceD的SRGB起始值+P节点标签偏移值=720,然后就封装P节点到Q节点的标签,分别为130和240,目的节点标签=Q节点的SRGB起始值+目的节点(DeviceC)的标签偏移值=310。 |
DeviceD |
DeviceD收到报文后,根据最外层标签查找标签转发表,出标签是120,下一跳为DeviceF,于是将最外层标签SWAP成120,报文转发给DeviceF。 |
DeviceF |
DeviceF收到报文后,根据最外层标签查找标签转发表,由于DeviceF是该标签的Egress节点,弹出该标签以后,路由路径标签130,出标签为空,下一跳DeviceG,继续弹出130标签将报文转给DeviceG。 |
DeviceG |
DeviceG收到报文后,根据最外层标签查找标签转发表,弹出240标签,将报文转发给DeviceH。 |
DeviceH |
DeviceH收到报文后,根据最外层标签查找标签转发表,出标签为510,下一跳为DeviceE。于是将最外层标签SWAP成510,报文转发给DeviceE,如此按照最短路径的方式转给目的节点DeviceC。 |
TI-LFA FRR应用场景
TI-LFA FRR保护 |
含义 |
部署 |
---|---|---|
TI-LFA FRR保护IP转发 |
主路径走IP转发,计算TI-LFA FRR备份路径。 |
|
TI-LFA FRR保护Segment Routing隧道 |
主路径走Segment Routing隧道转发,计算TI-LFA FRR备份路径。 |
|