• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

SRv6高可靠性技术白皮书-6W101

手册下载

SRv6高可靠性技术白皮书-6W101-整本手册.pdf  (704.68 KB)

  • 发布时间:2025/5/26 20:33:18
  • 浏览量:
  • 下载量:

SRv6高可靠性技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2025 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



概述

1.1  技术简介

SRv6网络中,链路或节点设备发生故障、故障恢复时,可能会产生丢包,为了保证SRv6网络中的业务流量稳定转发,SRv6提供了高可靠性措施,避免业务流量长时间中断,提高网络质量。

SRv6提供了如下高可靠性保护机制:

·     TI-LFA FRRTopology-Independent Loop-Free Alternate Fast Reroute,拓扑无关无环备份快速重路由)实现了任意拓扑下自动计算备份保护路径。

·     SRv6防微环机制:避免了网络中不同节点因IGP协议收敛的先后顺序差异导致的短时环路问题。

·     SRv6中间节点保护:实现了在SRv6 TE Policy转发场景中,对必经节点故障的保护。

·     SRv6尾节点保护:实现了在IP L3VPN/EVPN L3VPN/EVPN VPLS/EVPN VPWS over SRv6 TE Policy组网中,对SRv6 TE Policy尾节点故障的保护,仅适用于双归属的组网场景

1.2  技术优势

SRv6高可靠性机制具有如下特点:

·     高保护率

SRv6技术的基础上结合RLFA FRR算法,形成高效的TI-LFA FRR算法,提高保护率。

·     部署广泛

SRv6高可靠性支持任意拓扑,能够弥补传统隧道保护技术的不足。

SRv6高可靠性机制

2.1  TI-LFA FRR

2.1.1  FRR技术介绍

1. FRR技术的产生和发展

部分业务对网络丢包非常敏感,当网络中的链路或节点设备发生故障时,这类业务要求流量转发的中断时长不超过几十毫秒,但网络拓扑中路由重新计算和收敛时间通常无法满足上述要求。在保护的链路或节点的邻居设备上开启FRRFast Reroute,快速重路由)功能,可以最大程度减少路由重新收敛过程中的流量丢包。这个开启了FRR功能的设备节点称为PLRPoint of Local Repair,本地修复节点)。PLR节点在计算到达目的网络的最短路径的同时,将自动计算一条备份路径,并将主备路径同时添加到FIB转发表中。当保护的链路或节点故障时,可以立即通过PLR节点的备份路径转发流量,而无需等待路由重新收敛,因此可以最大程度避免流量丢包。

按出现时间先后顺序,FRR的算法机制有以下几种:

·     LFA FRRLoop-Free Alternate Fast Reroute,无环备份快速重路由)。

·     RLFA FRRRemote Loop-Free Alternate Fast Reroute,远端无环路备份快速重路由)。

·     适用于SRv6组网和SR-MPLS组网的TI-LFA FRRTopology-Independent Loop-Free Alternate Fast Reroute,拓扑无关无环备份快速重路由)

LFA FRR技术到RLFA FRR技术,再到TI-LFA FRR技术,每一代FRR技术都继承了上一代FRR技术的基本算法,又逐步改进上一代FRR技术的缺点。其中,LFA FRRRLFA FRR技术两者均存在一定的限制,为了方便理解TI-LFA FRR技术,下面我们简单了解LFA FRRRLFA FRR技术的算法机制和这些技术面临的一些问题。

2.1.2  LFA FRR

1. LFA FRR算法机制

图1 LFA FRR原理示意图

 

最早出现的FRR技术是LFA FRR。如1所示,LFA FRR计算备份路径的关键是找到一个PLR的邻居节点作为无环绕行节点(LFA节点),使得流量从PLR转发到该LFA节点之后可以不经过保护链路或保护节点到达目的节点,计算步骤是:

(1)     由网络管理员确定业务流量从源到目的所经过的最优路径,在该路径上确认需要保护的链路(AB)或需要保护的节点(B节点),再选取上述最优路径上与保护链路或保护节点直连的上游节点(A节点)作为PLRPoint of Local Repair,本地修复节点),在该节点上开启LFA FRR功能。

(2)     缺省情况下,PLR优先计算节点保护的备份路径:

a.     PLRSPFShortest Path First,最短路径优先)树的根节点,找到所有不经过保护节点(B节点)可达的邻居节点(D),以这些邻居节点为根节点,运行SPF算法计算出到达目的Dst的路径。

b.     从邻居节点(D)到目的节点Dst的路径进行校验,需要满足如下无环路条件DistanceDDst)<DistanceDB+DistanceBDst),其中DistanceXY)表示XY的最短距离。校验发现邻居节点D不满足上述条件,即从邻居节点D到目的Dst的最短路径cost值为25,等于从邻居节点D到保护节点B的最短路径cost5)加上从保护节点B到目的Dst的最短路径cost20)。此时如果选取D节点作为保护节点,流量抵达D之后,仍可能会绕行经过保护节点B,再从B转发到Dst,无法实现节点保护功能。因此上述拓扑中不存在满足节点保护的无环备份路径。

c.     如果上述步骤中存在邻居节点可以满足节点保护的无环校验条件,则将计算的出接口和下一跳写入PLRFIB转发表,且无需再进行下一步的链路保护的计算。否则PLR继续下一步的链路保护备份路径的计算。

(3)     PLR计算链路保护的备份路径:

a.     PLRSPF树的根节点,找到所有不经过保护链路(AB)可达的邻居节点(D),以这些邻居节点为根节点,运行SPF算法计算出到达目的Dst的路径。

b.     从邻居节点(D)到目的节点Dst的路径进行校验,需要满足如下无环路条件DistanceDDst)<DistanceDPLR+DistancePLRDst),其中DistanceXY)表示XY的最短距离。校验发现邻居节点D可以满足上述条件,因此邻居节点D可以作为链路保护的备份路径LFA

c.     如果上述步骤中不存在邻居节点满足链路保护的无环校验条件,则LFA FRR无法为该网络拓扑计算备份保护路径。

2. LFA FRR算法面临的问题

2所示的网络拓扑,由于DC之间的链路cost值过大,LFA FRR无法计算出备份保护路径。而实际上,流量依次绕行节点DC可以对B节点进行保护。因此,LFA FRR可能受限于网络拓扑,在某些场景中,特别是一些环形组网拓扑中,使用LFA FRR无法计算出备份保护路径。因此,LFA FRR技术无法实现拓扑无关。根据RFC 6571的统计,LFA FRR可以实现备份保护的拓扑场景覆盖率为80%90%

图2 LFA FRR无法计算备份保护路径

 

2.1.3  RLFA FRR

1. RLFA FRR算法机制

为了提升LFA FRR算法的场景覆盖率,RFC 7490定义了一种RLFA FRRRemote Loop-Free Alternate Fast Reroute,远端无环路备份快速重路由)技术。RLFA FRR算法的关键也是找到一个远端节点作为无环绕行节点,即RLFA节点,流量从PLR转发到该RLFA节点之后可以不经过保护链路或保护节点到达目的节点。相对于LFA FRR算法,RLFA FRR算法找到的保护节点并未限定是PLR的邻居,提供了更多保护可能性。因此,RLFA FRR的场景覆盖率提升到了95%99%

3所示的拓扑为例,对于从源节点Src经过最优路径至目的节点Dst的业务流,当我们需要保护BE之间的链路时,可选取最优路径上被保护链路的上游直连节点B作为PLR,在PLR节点上开启RLFA FRR功能。

RLFA FRR算法为了找到RLFA保护节点,定义了如下概念:

·     P空间:是指对于被保护链路/被保护节点,在故障拓扑收敛前,从PLR不经过该被保护链路/被保护节点(包括等价路径)的前提下可达的节点集合。P空间内的节点被称为P节点。P节点的计算一般是以PLR为根节点建立SPF树,在SPF树上查找满足无环校验公式的节点。

·     扩展P空间:是指对于被保护链路/被保护节点,在故障拓扑收敛前,从PLR的邻居节点(被保护节点除外)不经过该被保护链路/被保护节点(包括等价路径)的前提下可达的节点集合。扩展P空间包含了P空间,扩展P空间的节点也被称为P节点。扩展P空间内的节点定义为P节点,PLR的邻居节点定义为N节点。下图中扩展P空间节点包括SrcBCDP节点满足如下无环路条件:DistanceNP)<DistanceNPLR+DistancePLRP)。

·     Q空间:是指对于被保护链路/被保护节点,在故障拓扑收敛前,从目的节点不经过该被保护链路/被保护节点(包括等价路径)的前提下可达的节点集合。Q空间内的节点被称为Q节点。

·     PQ交集:P节点和Q节点的交集,该交集节点可以作为RLFA保护节点。如果存在多个P节点和Q节点的交集,一般选取距离PLR节点较近的作为RLFA保护节点。

图3 RLFA FRR概念示意图

 

仍以3所示的拓扑为例,如果B节点运行LFA FRR算法,作为PLR的邻居节点C不满足无环路条件:DistanceCDst)<DistanceCPLR+DistancePLRDst),因此LFA FRR算法无法为保护链路BE提供FRR备份。

B节点运行RLFA FRR算法,可以计算得到的备份路径,如4所示,RLFA FRR算法步骤如下:

(1)     由网络管理员确定业务流量从源到目的所经过的最优路径,在该路径上确认需要保护的链路(BE)或需要保护的节点(E节点),再选取上述最优路径上与保护链路或保护节点直连的上游节点(B节点)作为PLR

(2)     缺省情况下,PLR优先选取可以实现节点保护的RLFA节点:

a.     计算保护节点E的扩展P空间,包括SrcBCD

b.     计算保护节点EQ空间,只包括Dst

c.     扩展P空间和Q空间不存在交集节点,因此RLFA FRR算法找不到RLFA保护节点,无法计算节点保护的备份路径。继续第(3)步计算链路保护的备份路径。如果P空间和Q空间存在交集节,选取距离PLR节点较近的作为RLFA保护节点,并直接进行第(4)步。

(3)     PLR计算可以实现链路保护的RLFA节点:

a.     计算保护链路的扩展P空间,包括SrcBCD

b.     计算保护链路的Q空间,包括DstE、和D

c.     扩展P空间和Q空间的交集节点为D,选取D作为RLFA保护节点。

(4)     网络管理员在全网设备上开启MPLS LDPPLR上将自动建立一条到RLFAMPLS LDP隧道,同时指定该隧道的下一跳为PLR邻居节点C。这条隧道作为RLFA FRR备份保护路径写入FIB转发表,当保护链路或保护节点故障的时候,快速切换到RLFA FRR备份保护路径。

图4 RLFA FRR备份保护示意图

 

2. RLFA FRR算法面临的问题

RLFA FRR虽然将场景覆盖率提升到95%99%,但且仍然无法做到100%备份保护。例如4拓扑中将CD之间链路cost值调整为100,则RLFA FRR算法计算得到的PQ空间不存在交集节点。因此,无法计算出备份保护路径,RLFA FRR技术也无法实现拓扑无关。

2.1.4  TI-LFA FRR简介

TI-LFA FRR利用了SR的源路由机制,使得PLR节点上可以指定一条显式路径作为FRR的备份路径,并且严格限制这条路径不经过保护链路或保护节点。

TI-LFA FRR继承了RLFA FRR技术中计算PQ节点的算法。当PQ空间不存在交集节点,TI-LFA FRR算法可以计算出一条约束路径用来指示如何从P空间到达Q空间,这条约束路径称为Repair List

相较于RLFA FRR技术而言,TI-LFA FRR算法可以解决PQ空间不存在交集节点时FRR备份路径计算问题。因此,TI-LFA FRR算法可以实现100%的场景覆盖,实现拓扑无关的FRR备份保护。

2.1.5  TI-LFA FRR路径计算

TI-LFA FRR路径计算时存在两种场景:

·     扩展P空间和Q空间不存在交集节点。此时,Repair List是由“故障收敛后的SPF树的最后一个P节点的End SID+SPF树最后一个P节点到第一个Q节点路径上的所有End.X SID”组成的SID List,如果故障收敛后的SPF树的最后一个P节点与PLR直连,则Repair List中不需要添加最后一个P节点的End SID,仅包括End.X SID

·     当扩展P空间和Q空间存在交集节点。此时,存在至少一个节点同时属于扩展P空间和Q空间,说明从该节点无需通过被保护链路或被保护节点,即可到达目的节点、PLRPLR的邻居节点。此时TI-LFA FRR算法与RLFA FRR算法相同,Repair List为空或者仅包括“故障收敛后的SPF树上最后一个P节点的End SID”。如果故障收敛后的SPF树的最后一个P节点与PLR直连,则Repair List中为空,否则,Repair List包含一个End SID对这种情况此处不再详细讨论。

5所示的拓扑为例,扩展P空间和Q空间无交集。Src为源节点,Dst为目的节点,业务流量从源节点到目的节点的最优路径为SrcABDst。当我们需要保护B节点或者AB之间的链路时,可选取最优路径上被保护节点的上游直连节点A作为PLR,在PLR节点上开启TI-LFA FRR功能。

图5 TI-LFA FRR节点保护组网示意图

 

TI-LFA FRR算法缺省情况下,优先为保护节点计算FRR备份路径,计算过程如下:

(1)     ‍PLR节点为去往目的节点Dst的流量计算一条FRR备份路径,PLR将最优路径上直连的下一跳节点当作故障节点并排除后计算出一条故障收敛后的最优路径,即ACDEFDst

(2)     计算扩展P空间:参考RLFA FRR算法,计算针对保护节点B的扩展P空间,P节点包括SrcACD

(3)     计算Q空间:参考RLFA FRR算法,计算针对保护节点BQ空间,Q节点包括DstF。此时扩展P空间和Q空间无交集。

(4)     计算Repair ListRepair List用来约束报文的转发路径,避免报文转发过程的环路问题。此时,Repair List包括故障收敛后的最优路径上扩展P空间最后一个节点DEnd SIDX),DE链路的End.X SIDY)以及EF链路的End.X SIDZ)。

(5)     计算备份出接口:即收敛后的最优路径中PLR节点上的报文出接口。

上述计算得到的TI-LFA FRR备份路径可以同时保护节点BAB之间的链路,PLR将这条TI-LFA FRR备份路径写入FIB转发表中。

但如果5所示的拓扑中去掉了F节点变为6所示拓扑时,TI-LFA FRR算法无法为保护节点B计算出FRR备份路径。此时,TI-LFA FRR算法仍然不会放弃,它继续为保护链路AB计算FRR备份路径。

图6 TI-LFA FRR链路保护组网示意图

 

TI-LFA FRR为保护链路AB计算FRR备份路径的计算过程如下:

(6)     PLR节点为去往目的节点Dst的流量计算一条FRR备份路径,PLR将最优路径上直连的链路当作故障链路并排除后计算出一条故障收敛后的最优路径,即ACDEBDst

(7)     计算扩展P空间:参考RLFA FRR算法,计算针对保护链路AB的扩展P空间,P节点包括SrcACD

(8)     计算Q空间:参考RLFA FRR算法,计算针对保护链路ABQ空间,Q节点包括DstBE。此时扩展P空间和Q空间无交集。

(9)     计算Repair List:此时Repair List包括故障收敛后的最优路径上扩展P空间最后一个节点DEnd SIDX)和DE链路的End.X SIDY)。

(10)     计算备份出接口:即收敛后的最优路径中PLR节点上的报文出接口。

上述计算得到的TI-LFA FRR备份路径可以保护AB之间的链路,PLR将这条TI-LFA FRR备份路径写入FIB转发表中。

2.1.6  TI-LFA FRR转发流程

TI-LFA备份路径计算完成之后,如果主路径发生故障,就可以根据备份路径进行转发,避免流量丢失。

图7 TI-LFA FRR备份路径转发流程图

 

7所示网络拓扑中,在A节点开启TI-LFA FRR功能,当AB之间的链路发生故障后,触发FRR切换到备份路径,详细过程如下:

(1)     源节点Src:发送IPv6报文,报文的源地址为Src,目的地址为Dst。源节点查找IPv6 FIB表将报文转发给下一跳A

(2)     APLR):接收到IPv6报文后,A发现去往下一跳B的主路径故障,使用TI-LFA FRR备份路径转发报文,节点A为原始IPv6报文插入SRH扩展头,SRHSID List包含原目的地址DstTI-LFA FRR备份路径的Repair ListYX),并将SL设为2节点A根据SRH更新目的地址DA=X,并将报文从AC的备份接口转发给C

(3)     C节点:接收到SRv6报文后,发现报文的目的地址是XX不是Local SID,查找IPv6 FIB表,按正常IPv6报文转发流程将报文转发到下一跳D

(4)     D节点:接收到SRv6报文后,发现报文目的地址XLocal SID中的End SID,将SL1,并更新目的地址DA=YYLocal SID中的End.X SID,将SL再减1,更新目的地址DA=Dst,此时SL=0,节点D去除SRH扩展报文头。D节点根据End.X SID对应转发动作,将报文从End.X SID对应的DE接口转发出去。

(5)     E节点:接收到报文后,发现报文目的地址为Dst,直接查找IPv6 FIB表,按正常IPv6报文转发流程将报文转发到目的节点Dst。至此,备份路径转发报文成功。

提示

管理员可以配置TI-LFA FRR的报文封装方式,TI-LFA FRR的报文封装方式支持InsertEncaps两种方式,此处仅以缺省的Insert方式说明报文封装和转发过程。

缺省情况下,TI-LFA FRR采用Insert封装模式添加Repair List,即:

·     对于SRv6报文:在原有IPv6基本头和SRH之间插入新的SRH,新的SRH包含Repair List中所有SID信息。

·     对于普通IPv6报文:将原IPv6基本头的目的地址替换为Repair List中的第一个SID,并添加SRHSRH包含Repair List中所有SID信息。

配置TI-LFA FRR采用Encap封装模式添加Repair List,即在原始报文的基础上封装新的IPv6基本头和SRH

·     IPv6基本头的目的地址为Repair List中的第一个SID,源IPv6地址为用户手工指定的IPv6地址。

·     SRH包含Repair List中所有SID信息

 

2.2  SRv6防微环

在网络中,设备的链路状态数据库独立存在,每台设备的IGP协议在路由收敛时存在快慢不一致的情况,由于不同设备收敛时序的差异可能会导致网络短暂产生环路。随着所有设备全部完成路由收敛之后,环路最终消失。这种由于收敛时序短暂产生的环路被称为微环。微环时间虽短,但也可能引起丢包和报文乱序等问题。

SRv6防微环可以避免微环的影响,网络节点利用TI-LFA FRR技术为主用转发路径创建一个无环的SID列表作为备用路径,通过严格限制转发路径来避免流量环路,当网络中所有节点均完成路由收敛后再采用收敛后的正常转发路径转发流量。

2.2.1  正切防微环

正切微环指的是收敛前路径向收敛后路径切换时,不同节点的收敛时序不同导致短时环路问题。

8所示,A节点为源节点,B节点为故障节点,C为目的节点,链路中间的数字表示cost值。通常情况下,由于无法预知故障节点或链路,为了避免故障引起网络的问题,所有节点上均开启TI-LFA FRR功能,在节点ATI-LFA FRR计算出一条保护B节点的FRR备份路径:ADEFC

B节点故障时,从A节点到C的流量将切换到TI-LFA计算的备份路径转发:

(1)     由于节点A直连故障节点B,先一步感知到故障。此时,节点A去往C的流量切换到TI-LFA FRR备份路径转发,报文中插入Repair List <e>,通过Repair List <e>引导流量经过PQ节点E。报文将绕过B节点先转发到下一跳节点D。报文中封装的Segment List为:<ce>

(2)     当节点A完成路由收敛后,则无需TI-LFA FRR备份路径,直接按照收敛后的路由表将报文转发到节点D,此时节点A退出FRR流程。

(3)     如果节点A收敛后,节点D还未完成收敛时,节点D收到节点A发送的报文,仍根据收敛前的转发表项将报文转发回节点A,从而在节点A和节点D之间形成环路。这种情况就属于正切微环。

图8 正切微环故障场景

 

可以采用多种手段来避免出现正切微环的现象:

·     延迟切换:节点A通过TI-LFA FRR备份路径转发后,完成路由表项的收敛后启动定时器。定时器超时前,流量不切换到收敛后的路径上。通常IGP收敛速度快,在设置的延迟时间内其他设备均完成路由收敛后,再进行流量切换。这种功能叫做SR防微环。

·     延迟表项下发:节点A完成路由表项收敛后,启动定时器,延迟一段时间将收敛后的路由表项下发到转发FIB表项中,在这期间仍通过TI-LFA FRR备份路径转发流量。这种功能叫做FRR正切防微环。

2.2.2  回切防微环

回切防微环是指故障节点或链路恢复后,最优的路径变为可用,业务从当前非最优路径切换到恢复后最优的路径时,不同节点的收敛时序不同导致的短时环路问题。

9所示,在节点B和节点C之间的链路故障恢复后,节点B和节点D之间可能产生环路,环路产生过程为:

(1)     从节点A到节点F的最优转发路径为ABCEF。当BC之间的链路故障后,A节点完成路由收敛,此时的最优转发路径为ABDEF

(2)     节点B和节点C之间的链路故障恢复后,如果节点D先完成收敛,则节点A将报文转发给节点B,此时,节点B未完成收敛,仍将报文转发给节点D。而节点D完成收敛后,按照最优转发路径将流量返回给节点B,这样节点B和节点D之间形成了短时的环路。这种情况属于回切微环。

图9 回切微环故障场景

 

为了解决回切微环问题,D节点在完成路由收敛时,需要同时计算一条严格的显式无环SRv6路径,限制报文从D节点经过故障恢复后的链路到目的节点F不出现环路。D节点在构造无环路径时,由于无法预知故障恢复的链路是哪一条,为了保证转发路径无环,一般都需要将收敛后路径上从邻居节点开始到目的节点之间各链路的End.X SID封装到SID列表中。

10所示,部署回切防微环后的收敛过程如下:

(1)     节点BC之间的链路故障恢复后,节点D首先完成路由收敛。此时,节点D启动一个延迟定时器,在定时器超时前,节点D计算出一条无环的严格显式路径,其中SID列表中包括BC之间链路的End.X SID bCE之间链路的End.X SID c以及EF之间链路的End.X SID e

(2)     节点B未完成路由收敛,仍将报文转发给节点D。节点D接收到报文后封装SRH,插入SID列表<e, c, b>。按照首跳目的地址b,报文被转发给节点B

(3)     节点B按照End.X SID绑定的出接口,将报文转发到节点CSL1,并将下一个End.X c替换到IPv6报文目的地址位置。

(4)     节点C和节点E重复节点B的处理机制,将报文转发给节点F。这样就实现路径控制,避免回切微环。

图10 回切防微环示意图

 

2.3  SRv6中间节点保护

2.3.1  TI-LFA FRR失效场景

SRv6 TE PolicySID列表指定了报文沿途必须经过的节点或链路。如11所示,节点A通过SRv6 TE Policy将报文转发到节点FSRv6 TE Policy最优候选路径的SID列表中包含了节点DEnd.SID和尾节点FEnd.SID。因此,转发报文需要先通过节点D再抵达尾节点F。当节点D故障时,即使在上游节点B开启了TI-LFA FRR功能,但TI-LFA FRR计算备份路径时,仍然以节点DEnd.SID作为目的地址,备份路径无法绕行节点D,没有达到保护的效果。

图11 TI-LFA失效场景示意图

 

2.3.2  SRv6中间节点保护

在必经节点D的上游节点B上开启中间节点保护(SRv6 TE FRR)功能,可以由节点B执行代理转发动作,通过绕行故障的中间节点D完成报文转发,从而解决必经的中间节点故障TI-LFA FRR无法绕行的问题,这个上游节点称之为代理转发节点

在节点开启SRv6 TE FRR功能后,当报文中存在SRH,且SRHSL>0时,在如下任一场景下,该节点将作为代理转发节点转发报文:

·     查询IPv6 FIB表,没有找到对应的转发表项。

·     报文的下一跳是报文目的地址,该目的地址对应的出接口状态为DOWN

·     查询Local SID表匹配SRv6 SIDEnd.X SID,且End.X SID对应的出接口状态为DOWN

·     从路由表中查到的路由为NULL0路由。

代理转发节点代替故障节点进行报文转发时,需要进行以下操作:

·     代理转发节点将报文中SRHSL1

·     将下层要处理的SID更新到外层IPv6报文头,使其作为报文的目的地址;

·     根据目的地址查表转发。

代理转发节点通过执行以上操作使报文绕过故障节点,实现中间节点故障的保护。这种保护技术也称为SRv6 TE FRR

12例,节点A向目的节点F转发报文,并在SRH中指定经过中间节点D。节点D故障的时候,SRv6中间节点故障的保护过程如下:

(1)     节点D故障时,上游节点B快速感知到报文下一跳节点故障,此时,SL>0,且满足作为代理转发节点转发报文的条件,即下一跳报文目的地址d,该目的地址对应的出接口状态为DOWN。因此,节点B执行代理转发行为,将SL1,并将下层SID f复制到外层IPv6报文头的目的地址字段。此时由于SL=0,节点B可以去掉SRH扩展报文头,然后根据目的地址f查表转发。

(2)     节点B根据目的地f查表转发时,根据节点B的路由收敛情况,处理方式如下:

¡     如果节点B上路由已经收敛(到达节点F的下一跳为节点C),则按照收敛后的最短路径转发报文,将报文转发到节点C

¡     如果节点B上路由未收敛(到达节点F的路由主下一跳为节点D),则按照TI-LFA计算的备份路径转发报文,备份路径的Repair List<c1>。所以,节点B为报文封装SRH,添加备份路径Segment List c1,经过备份路径将报文转发到节点F。。

图12 SRv6中间节点故障保护示意图

 

2.3.3  中间节点保护和TI-LFA FRR的区别

13所示,节点A发送报文携带了节点E和节点FEnd.SID。由于TI-LFA FRR是根据报文目的地址计算一条备份路径,如果节点E故障,TI-LFA FRR无法绕过节点E的来实现保护功能。而SRv6中间节点保护可以跳过节点EEnd.SID,将下一层SID替换为目的地址,并依据该目的地址来计算备份转发路径,所以中间节点保护能绕过故障的中间节点E,从而实现路径保护功能。

图13 中间节点保护和TI-LFA FRR的区别示意图

 

2.4  SRv6尾节点保护功能

2.4.1  SRv6尾节点保护的应用场景

IP L3VPN over SRv6/EVPN L3VPN over SRv6/EVPN VPLS over SRv6/EVPN VPWS over SRv6/公网IP over SRv6组网中,当公网隧道为SRv6隧道时,SRv6隧道的尾节点发生故障时,报文无法通过尾节点PE设备转发到CE设备,所以需要对SRv6隧道的尾节点提供保护。

SRv6尾节点保护是通过CE双归到PE设备实现的,因此,仅适用于双归属的网络场景,要求尾节点PE和对尾节点进行保护的另一个PE节点上具有相同的转发表项。SRv6尾节点保护不仅对SRv6 TE Policy作为隧道的场景有效,对SRv6 BE转发方式的组网场景也有效果。

14所示,以SRv6 TE Policy组网场景为例,在PE 1PE 3之间部署SRv6 TE PolicyPE 3SRv6 TE Policy的尾节点,为了增强可靠性,CE 2双归到PE 3PE 4PE 4PE 3提供保护。

图14 SRv6尾节点保护示意图

 

2.4.2  End.M SID

SRv6 TE Policy尾节点保护场景中,End.M SID用于保护指定的Locator,即保护指定Locator段内的SRv6 SID。如果远端设备发布的SRv6 SID在指定Locator段的范围内,则使用End.M SID对该SRv6 SID(称为远端SRv6 SID)进行保护。在不同组网环境中,End.M SID对应的转发动作不同:

(1)     IP L3VPN over SRv6 TE/EVPN L3VPN over SRv6 TE尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息。内层报文的目的IPv6地址作为远端SRv6 SID,查询远端SRv6 SIDVPN实例的映射表,找到对应VPN实例,在该VPN实例的路由表中查表转发。

(2)     EVPN VPWS over SRv6 TE尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息。内层报文的目的IPv6地址作为远端SRv6 SID,查询远端SRv6 SID与交叉连接的映射表,找到对应交叉连接,通过该交叉连接关联的AC转发报文。

(3)     EVPN VPLS over SRv6 TE尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息。内层报文的目的IPv6地址作为远端SRv6 SID,查询远端SRv6 SIDVSI的映射表,找到对应VSI,在该VSI内查找MAC地址表转发。

2.4.3  远端SRv6 SID

如上图所示,PE 4PE 3收到BGP路由后,如果BGP路由中的SRv6 SIDPE 4End.M SID保护的Locator范围内,则该SRv6 SID为远端SRv6 SID,同时在PE 4上生成远端SRv6 SIDVPN实例/交叉连接/VSI的映射表。

PE 3故障时,PE 4PE 3之间邻居中断,会导致PE 4PE 3收到的BGP路由删除,进而导致远端SRv6 SIDVPN实例/交叉连接/VSI的映射表被删除,造成丢包。为了避免上述情况,可以在PE 4上延迟删除远端SRv6 SIDVPN实例/交叉连接/VSI的映射表,在PE 1感知到PE 3故障并计算出新的转发路径前,保证流量通过PE 4转发,避免丢包。

2.4.4  路由发布

IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6 TE尾节点保护场景的路由发布过程类似,下面以IP L3VPN over SRv6 TE尾节点保护场景为例进行介绍。

如上图所示,P 1FRR路径的生成过程为:

(1)     PE 4通过IS-ISv6路由向邻居P 1发布End.M SID和被保护的Locator,同时PE 4上生成End.M SIDLocal SID表。

(2)     P 1收到PE 4发送的End.M SID和被保护的Locator的路由后,P 1为被保护Locator安装一条Mirror FRR备份路径,这条Mirror FRR备份路径以PE 4作为下一跳。为了能够保证流量不经过故障的PE 3且无环路抵达PE 4,通常需要计算一条TI-LFA FRR备份路径,并将End.M SID压入到TI-LFA FRR备份路径的SID列表的最后。

如上图所示,PE 4上远端SRv6 SIDVPN实例的映射表生成过程为:

(1)     ‍PE 3收到CE 2发布的私网路由之后,封装成VPNv4路由发送给PE 4,路由携带SRv6 SIDRTRD信息。

(2)     PE 4PE 3收到VPNv4路由后,获取到该VPN实例对应的SRv6 SIDPE 4使用该SRv6 SIDEnd.M SID保护的Locator段进行最长匹配。如果匹配上,则该SRv6 SID为远端SRv6 SID,在PE 4上生成远端SRv6 SIDVPN实例的映射表。

2.4.5  报文转发

IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6 TE尾节点保护场景的报文转发过程类似,下面以IP L3VPN over SRv6 TE尾节点保护场景为例进行介绍。

15所示,正常情况下,流量经过路径CE 1-PE 1-P 1-PE 3-CE 2转发。当尾节点PE 3故障时,报文转发过程为:

(1)     P 1上感知到下一跳PE 3不可达,切换为Mirror FRR路径。本例中,P 1PE 4的最优链路无需经过PE 3,无需封装TI-LFA FRRSID列表,P 1直接为报文封装IPv6报文头,将其目的地址设置为End.M SID,然后转发给PE 4

(2)     PE 4发现目的地址为本地End.M SID,根据End.M SID对应的转发指令,剥掉外层IPv6报文头,获取到内层报文信息,再内层报文目的地址查询远端SRv6 SIDVPN实例的映射表,找到对应VPN实例1。然后,在PE 4上查询该VPN实例1的路由表将流量转发给CE 2

图15 SRv6尾节点保护转发示意图

 

参考文献

·     draft-ietf-rtgwg-segment-routing-ti-lfa-05

新华三官网
联系我们