03 您所在的位置:网站首页 pe管材质保期限多长 03

03

2023-06-29 12:20| 来源: 网络整理| 查看: 265

目  录

1 SRv6

1.1 SRv6简介

1.1.1 SRv6基本概念

1.1.2 SRv6报文

1.1.3 SRv6报文转发过程

1.1.4 引流到SRv6隧道

1.2 G-SRv6

1.2.1 产生背景

1.2.2 G-SRv6简介

1.2.3 G-SID格式

1.2.4 G-SRv6报文

1.3 BGP-EPE

1.4 TI-LFA FRR

1.4.1 TI-LFA FRR产生背景

1.4.2 TI-LFA FRR相关概念

1.4.3 TI-LFA FRR路径计算

1.4.4 TI-LFA FRR转发流程

1.4.5 正切防微环

1.4.6 回切防微环

1.5 协议规范

1.6 SRv6配置限制和指导

1.7 SRv6配置任务简介

1.8 SRv6配置准备

1.9 配置普通SRv6 SID

1.9.1 配置本地Locator段和Opcode

1.9.2 配置远端Locator段

1.10 配置G-SID

1.11 压缩与非压缩共存的SRv6 SID

1.12 配置动态End.X SID延迟删除功能

1.13 配置动态SID延迟删除时间

1.14 配置静态End.X SID下发FIB表的延迟时间

1.15 配置通过IGP通告SRv6 SID

1.16 配置通过BGP通告Locator网段的路由

1.17 配置BGP-EPE

1.17.1 开启SRv6的BGP-EPE功能

1.17.2 配置BGP-EPE引用的Locator

1.17.3 配置BGP-EPE SRv6 Peer Set组

1.17.4 配置BGP-EPE时延发布功能

1.17.5 配置BGP-EPE带宽发布功能

1.18 配置TI-LFA FRR

1.18.1 TI-LFA FRR配置任务简介

1.18.2 开启TI-LFA FRR功能

1.18.3 配置TI-LFA FRR采用的封装模式

1.18.4 配置接口不参与TI-LFA计算

1.18.5 开启FRR正切防微环功能

1.18.6 开启SR防微环功能

1.18.7 配置SR防微环采用的封装模式

1.18.8 配置SR防微环在SID列表中封装严格SID

1.19 配置SRv6的MTU

1.20 配置SRv6的差分服务模式

1.21 开启SRv6模块的告警功能

1.22 SRv6显示和维护

1.23 SRv6典型配置举例

1.23.1 IS-IS TI-LFA FRR配置举例

 

1 SRv6 1.1  SRv6简介

SR(Segment Routing,段路由)采用源节点路径选择机制,预先在源节点封装好路径所要经过段的SID(Segment Identifier,段标识),当报文经过SR节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。SRv6是指在IPv6网络中使用SR、将IPv6地址作为SID对报文进行转发。

1.1.1  SRv6基本概念 1. SR节点

按照功能的不同,SRv6网络中的节点分为三种角色:

·     源节点:负责在IPv6报文的IPv6头中插入SRH扩展头,或者在报文外加上IPv6头并插入SRH扩展头。该节点将报文流引入SRH中Segment List定义的SRv6路径。

¡     如果Segment List中只包含一个SID,并且不需要在SRH中携带信息或TLV,则只需要将IPv6头的目的地址设置为这个SID,不需要插入SRH。

¡     如果Segment List中包含多个SID,则需要插入SRH。

源节点可以是产生SRv6报文的主机,也可以是SRv6域的边缘设备。

·     中转节点:在报文的SRv6路径上,不参与SRv6处理,只执行普通的IPv6报文转发。中转节点可以是支持SRv6的节点,也可以是不支持SRv6的节点。

·     Endpoint节点:对接收到的SRv6报文进行SRv6相关处理。接收到的SRv6报文的IPv6目的地址必须是Endpoint节点上配置的SRv6 SID,该节点需要按SRv6 SID的指令进行处理,并更新SRH。

同一个节点可以是不同的角色,比如节点在某个SRv6路径里可能是源节点,在其他SRv6路径里可能就是中转节点或者Endpoint节点。

2. SID组成及分类

在SRv6中,SID用来定义某种网络功能、代表某种网络指令。SRv6 SID采用IPv6地址形式,但不与任何设备上的接口地址对应。

如图1-1所示,SRv6 SID由Locator、Function、Arguments和MBZ四部分组成:

·     Locator:标识SID所属的网段。Locator在SR域内唯一。

·     Function:标识与SID绑定的本地操作指令,SR域内指定节点收到流量后,根据SRv6 SID的Function字段执行相关操作。

·     Arguments:定义报文的流和服务等信息。

·     MBZ(Must be zero):当Locator、Function和Arguments的位数之和小于128bits时,其他位使用0补齐。

图1-1 SRv6 SID

 

根据不同配置方式,SRv6 SID各个字段的关系分为以下几种:

·     普通SRv6 SID

图1-2 普通SRv6 SID示意图

 

普通SRv6 SID分为静态SRv6 SID和动态SRv6 SID,其格式分别为:

¡     静态SRv6 SID=ipv6-prefix+0+opcode+0。其中ipv6-prefix为locator命令中由ipv6-address和prefix-length指定的IPv6地址前缀,所占位数为prefix-length;0所占位数位为128减去prefix-length、static-length和args-length;opcode为Function字段中的静态段,所占位数为static-length;0所占位数为args-length。

¡     动态SRv6 SID=ipv6-prefix+dynamic+static+0。其中ipv6-prefix为locator命令中由ipv6-address和prefix-length指定的IPv6地址前缀,所占位数为prefix-length;dynamic为Function字段中的动态段,取值不能为全0,所占位数位为128减去prefix-length、static-length和args-length;static为Function字段中的静态段,所占位数为static-length,可以取任意值;0所占位数为args-length。

¡     例如,配置locator test1 ipv6-prefix 100:200:DB8:ABCD:: 64 static 24 args 32时,表示:

¡     Locator为100:200:DB8:ABCD::,长度为64

¡     静态段占用24位

¡     Args占用32位

¡     动态段占用8位

由此可以计算出静态SRv6 SID范围和动态SRv6 SID范围:

¡     静态SRv6 SID起始值=100:200:DB8:ABCD:0:1::

¡     静态SRv6 SID结束值=100:200:DB8:ABCD:FF:FFFF::

¡     动态SRv6 SID起始值=100:200:DB8:ABCD:100::

¡     动态SRv6 SID结束值=100:200:DB8:ABCD:FFFF:FFFF::

·     压缩的SRv6 SID

图1-3 压缩的SRv6 SID示意图

 

压缩的SRv6 SID可以在静态段内手工指定,也可以通过IGP协议在动态段内自动分配。例如,配置locator test1 ipv6-prefix 100:200:DB8:ABCD:: 64 common-prefix 48 coc32 static 8 args 16时,表示:

¡     Locator为100:200:DB8:ABCD::,长度为64

¡     公共前缀长度为48

¡     静态段占用8位

¡     Args占用16位

¡     动态段占用8位

由此可以计算出静态SRv6 SID范围和动态SRv6 SID范围:

¡     静态SRv6 SID起始值=100:200:DB8:ABCD:1::

¡     静态SRv6 SID结束值=100:200:DB8:ABCD:FF::

¡     动态SRv6 SID起始值=100:200:DB8:ABCD:100::

¡     动态SRv6 SID结束值=100:200:DB8:ABCD:FFFF::

·     压缩与非压缩共存的SRv6 SID

图1-4 压缩与非压缩共存的SRv6 SID示意图

 

压缩与非压缩共存的SRv6 SID分为:

¡     压缩段静态SRv6 SID

¡     压缩段动态SRv6 SID

¡     非压缩段静态SRv6 SID

¡     非压缩段动态SRv6 SID

例如,配置locator test1 ipv6-prefix 100:200:DB8:ABCD:: 64 common-prefix 48 coc-both non-compress-static 16 static 8 args 16时,表示:

¡     Locator为100:200:DB8:ABCD::,长度为64

¡     公共前缀长度为48

¡     静态压缩段占用8位

¡     动态压缩段占用8位:动态压缩段长度=32 – (prefix-length – common-prefix-length)– compress-static-length

¡     静态非压缩段占用16位

¡     动态非压缩段占用16位:动态压缩段长度=128 – common-prefix-length – args-length – 32 – non-compress-static-length

¡     Args占用16位

通过以上信息计算压缩段静态SRv6 SID范围和动态SRv6 SID范围为:

¡     静态压缩SRv6 SID起始值=100:200:DB8:ABCD:1::

¡     静态压缩SRv6 SID结束值=100:200:DB8:ABCD:FF::

¡     动态压缩SRv6 SID起始值=100:200:DB8:ABCD:100::

¡     动态压缩SRv6 SID结束值=100:200:DB8:ABCD:FFFF::

通过以上信息计算非压缩段静态SRv6 SID范围和动态SRv6 SID范围为:

¡     非压缩静态SRv6 SID起始值=100:200:DB8:ABCD::1:0

¡     非压缩静态SRv6 SID结束值=100:200:DB8:ABCD::FFFF:0

¡     非压缩动态SRv6 SID起始值=100:200:DB8:ABCD:0:1::

¡     非压缩动态SRv6 SID结束值=100:200:DB8:ABCD:0:FFFF:FFFF:0

根据SRv6 SID功能的不同,SRv6 SID分为:

·     End SID:用于标识网络中的某个目的地址前缀。

·     End.X SID:用于标识网络中的某条链路。

·     End.DT4 SID:用于标识网络中的某个IPv4 VPN。End.DT4 SID对应的转发动作是解封装报文,并且查找IPv4 VPN实例路由表转发。End.DT4 SID用于IPv4私网用户接入场景。

·     End.DT6 SID:用于标识网络中的某个IPv6 VPN。End.DT6 SID对应的转发动作是解封装报文,并且查找IPv6 VPN实例路由表转发。End.DT6 SID用于IPv6私网用户接入场景。

·     End.DT46 SID:用于标识网络中的某个IPv4 VPN或IPv6 VPN。End.DT46 SID用于IPv4和IPv6私网用户同时接入场景。

·     End.DX4 SID:用于标识网络中的某个IPv4下一跳。End.DX4 SID对应的转发动作是解封装报文,并且将解封后的IPv4报文通过该SID绑定的三层接口转发给特定下一跳。End.DX4 SID用于IPv4私网用户接入场景。

·     End.DX6 SID:用于标识网络中的某个IPv6下一跳。End.DX6 SID对应的转发动作是解封装报文,并且将解封后的IPv6报文通过该SID绑定的三层接口转发给特定下一跳。End.DX6 SID用于IPv6私网用户接入场景。

·     End.DX2 SID:End.DX2 SID表示二层交叉连接的SID,用于标识一个端点。End.DX2 SID对应的转发动作是去掉IPv6报文头及其扩展头,然后将剩余报文转发到SID对应的出接口。End.DX2 SID可以用于EVPN VPWS场景。

·     End.DX2L SID:End.DX2L SID用来标识报文来自Bypass SRv6 PW,携带该SID的报文不会再转发到该Bypass SRv6 PW,从而避免产生环路。End.DX2L SID对应的转发动作是去掉IPv6报文头及其扩展头,然后将剩余报文转发到SID对应的出接口。End.DX2L SID主要用于EVPN VPWS over SRv6多归属站点组网。

·     End.DT2M SID:End.DT2M SID表示二层交叉连接且进行广播泛洪的SID,用于标识一个端点。End.DT2M SID对应的转发动作是去掉IPv6报文头及其扩展头,然后将剩余报文在VSI内广播泛洪。End.DT2M SID可以用于EVPN VPLS BUM流量场景。

·     End.DT2U SID:End.DT2U SID表示二层交叉连接且进行单播MAC表查找功能的SID,用于标识一个端点。End.DT2U SID对应的转发动作是去掉IPv6报文头及其扩展头,然后使用剩余报文的目的MAC地址查找MAC表,根据MAC表项将报文转发到对应的出接口。End.DT2U SID可以用于EVPN VPLS单播场景。

·     End.DT2UL SID:End.DT2UL SID用来标识报文来自Bypass SRv6 PW,携带该SID的报文不会再转发到该Bypass SRv6 PW,从而避免产生环路。End.DT2UL SID对应的转发动作是去掉IPv6报文头及其扩展头,然后使用剩余报文的目的MAC地址查找MAC表,根据MAC表项将报文转发到对应的出接口。End.DT2UL SID主要用于EVPN VPLS over SRv6多归属站点组网。

·     End.OP SID:用于SRv6 OAM场景。有关End.OP SID的详细介绍,请参见“Segment Routing”中的“SRv6 OAM”。

·     End.M SID:用于SRv6 TE Policy尾节点保护场景。有关End.M SID的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

·     End.T SID:用于Option B跨域VPN场景。有关End.T SID的详细介绍,请参见“Segment Routing配置指导”中的“IP L3VPN over SRv6”和“EVPN L3VPN over SRv6”。

通过IGP协议通告SR节点的SRv6 SID后,其他SR节点可以根据收到的路由协议报文生成到达该SRv6 SID的路由转发表项。

3. SID附加行为

SID附加行为(Flavors)可以改变SRv6 SID的转发行为,以便适配多种业务需求。目前,支持的SRv6 SID附加行为包括:

·     NO-FLAVOR:SRv6 SID不携带Flavors,即无附加行为。

·     PSP(penultimate Segment POP of the SRH):倒数第二个SRv6节点执行SRH移除操作。为了减轻SRv6网络尾节点的负担,提高转发效率,可以在倒数第二个SRv6节点将SRH移除,尾节点不需要查看SRH信息,只需根据目的IPv6地址查找Local SID表进行处理。

·     NO PSP:倒数第二个SRv6节点不执行SRH移除操作。在SRv6 OAM场景中,需要获取SRH中的SID来判断链路的连通性,不在倒数第二个SRv6节点将SRH移除,以避免误检测。(暂不支持)

·     USP(Ultimate Segment POP of the SRH):最后一个Endpoint节点执行SRH移除操作。SRv6 VPN网络中,PE节点根据SID查找到对应的转发动作后,执行SRH移除操作,将报文转发给CE设备。

·     USD(Ultimate Segment Decapsulation):最后一个Endpoint节点执行外层IPv6头移除操作。TI-LFA场景中,Repair List的最后一个Endpoint节点需要将外层IPv6头移除,将内层报文转发到目的节点。

·     COC(Continue of Compression):标识本SID之后是G-SID,用于SID压缩场景,以减少SRH大小。

通过IGP或BGP协议发布SRv6 SID时,支持发布具有以下附加行为的SRv6 SID:

·     NO-FLAVOR

·     PSP

·     PSP&USP&USD

·     COC

4. Local SID表

运行SRv6的节点维护一个Local SID表,记录本节点生成的SRv6 SID信息。Local SID表主要用于:

·     保存本地生成的SRv6 SID转发信息。

·     存储对SRv6 SID的操作方式。

5. Segment List

Segment List是包含报文转发路径信息的SID列表。

6. SRv6隧道

SRv6通过在源节点对IPv6数据报文进行封装,使封装后的报文在开启SRv6功能的网络中进行传输。封装后的数据报文在网络中传输的路径,称为SRv6隧道。SRv6隧道是从源节点到尾节点的一个虚拟的点对点连接,其两端的设备分别对数据报文进行封装及解封装。

1.1.2  SRv6报文

SRv6的报文封装格式为:在原始三层数据报文前面添加新的IPv6基本头和SRH(Segment Routing Header,SRv6报文头)。SRH是路由类型取值为4的一种路由扩展头。如图1-5所示,IPv6基本头中Next Header取值为43,表明下一个报文头为路由扩展头。路由扩展头的路由类型字段取值为4,表明该路由扩展头为SRH。SRH主要包含以下几个部分:

·     Next Header:8bits,用来标识下一个报文头的类型。

·     Hdr Ext Len:8bits,表示以8个字节为单位的SRH头的长度,不包括第一个8个字节。

·     Routing Type:8bits,路由类型字段,取值为4,表示携带的是SRH。

·     Segments Left:8bits,标识需要查看的下一个SID的编号,初始取值为n-1(n表示路由扩展头中SID的数目),每经过一个节点减1。

·     Last Entry:8bits,SRH头中报文实际转发路径的第一个SID的编号。

·     Flags:8bits,标志位信息。

·     Tag:16bits,用来标记具有相同特性的一组报文。

·     Segment List:SID列表。按照报文转发路径上节点从远到近的顺序进行排列,即Segment List [0]表示路径的最后一个SID,Segment List [1]表示路径的倒数第二个SID,以此类推。

图1-5 SRv6的报文封装示意图

 

1.1.3  SRv6报文转发过程

如图1-6所示,源节点Device A接收到符合指定特征的报文后,需要通过SRv6路径转发该报文。SRv6路径中Device A为源节点,Device C和Device E为Endpoint节点,Device B和Device D为中转节点。报文通过SRv6路径转发的过程为:

(1)     源节点Device A收到IPv6报文后,执行如下操作:

¡     封装SRH头。由于从Device A到Device E的路径必须经过C、E两个节点,因此,SRH中SL为2-1,即SL=1,封装的SID列表信息为Segment List [0]=E、Segment List [1]=C。

¡     封装IPv6基本头。IPv6基本头中的源地址为Device A上的一个地址,目的地址为SL指示的地址,即SL=1对应的Segment List [1](本例中为Device C的地址)。

¡     根据封装的IPv6头中的目的地址查找路由表,将封装后的报文转发给Device B。

(2)     Device B收到报文后,据IPv6头中的目的地址查找路由表,将报文转发给Device C。

(3)     Device C收到报文后,执行如下操作:

¡     检查SRH头中的SL值,如果SL>0,则将SL值减1,目的地址更新为SL指示的地址,即SL=0对应的Segment List [0](本例中为Device E的地址)。

¡     根据IPv6头中的目的地址查找路由表,将报文转发给Device D。

(4)     Device D收到报文后,据IPv6头中的目的地址查找路由表,将报文转发给Device E。

(5)     尾节点Device E收到报文,检查SRH头中的SL值,发现SL=0。对报文进行解封装,删除封装IPv6基本头和SRH,根据原始报文的目的地址进行报文转发。

图1-6 SRv6报文转发示意图

 

1.1.4  引流到SRv6隧道

当SRv6隧道建立之后,流量不会自动通过SRv6隧道转发,需要通过如下方法配置流量沿SRv6隧道转发。

1. 静态路由

使用静态路由转发流量,是指在源节点定义一条通过Tunnel接口到达目的网络地址的静态路由,把流量引入到SRv6隧道上进行转发。

静态路由是将流量引入SRv6隧道的最简便、直观的方法。该方法的缺点是:如果多个目的网络的流量都需要引入到SRv6隧道上,则需要配置多条静态路由,配置和维护难度比较大。

有关静态路由的介绍请参见“三层技术-IP路由配置指导”中的“静态路由”。

2. 自动路由发布

自动路由发布是指将SRv6隧道发布到IGP中,让SRv6隧道参与IGP路由的计算,使得流量可以通过SRv6隧道转发。自动路由发布包括以下两种方式:

·     IGP Shortcut:也称为自动路由宣告(AutoRoute Announce),该功能将SRv6隧道当作一条直接连接隧道Ingress节点(头节点)和Egress节点(尾节点)的链路,在隧道的Ingress节点上进行IGP路由计算时考虑该SRv6隧道。

·     转发邻接:该功能将SRv6隧道当作一条直接连接隧道Ingress节点和Egress节点的链路,通过IGP路由协议将该链路发布到网络中,以便网络中的节点在路由计算时使用SRv6隧道。

说明

目前仅支持IGP Shortcut功能。

 

IGP Shortcut和转发邻接功能的区别在于:

·     在隧道的Ingress节点上开启IGP Shortcut功能后,只有Ingress节点计算IGP路由时会考虑SRv6隧道。IGP Shortcut功能不会通过IGP路由协议将SRv6隧道作为一条链路发布出去。因此,其他设备在路由计算时不会考虑SRv6隧道。

·     在隧道的Ingress节点上开启转发邻接功能后,Ingress节点会通过IGP路由协议将SRv6隧道作为一条链路发布出去。因此,IGP网络中的所有设备在路由计算时都会考虑SRv6隧道。

图1-7 IGP Shortcut与转发邻接示意图

 

 

在图1-7中,Device D到Device C之间存在一条SRv6隧道,IGP Shortcut只能使Ingress节点Device D在计算IGP路由时利用这条隧道,Device A并不能利用这条隧道到达Device C。如果配置了转发邻接功能,则Device A也能够知道这条SRv6隧道的存在,从而可以利用该隧道将到Device C的流量转发到Device D上。

1.2  G-SRv6 1.2.1  产生背景

在SRv6 TE Policy组网场景中,管理员需要将报文转发路径上的SRv6节点的128-bit SRv6 SID添加到SRv6 TE Policy的SID列表中。因此,路径越长,SRv6 TE Policy的SID列表中SRv6 SID数目越多,SRv6报文头开销也越大,导致设备转发效率低、芯片处理速度慢。在跨越多个AS域的场景中,端到端的SRv6 SID数目可能更多,报文开销问题更加严峻。

Generalized SRv6(G-SRv6)通过对128-bit SRv6 SID进行压缩,在SRH的Segment List中封装更短的SRv6 SID(G-SID),来减少SRv6报文头的开销,从而提高SRv6报文的转发效率。同时,G-SRv6支持将128-bit SRv6 SID和G-SID混合编排到Segment List中。

1.2.2  G-SRv6简介

部署SRv6时,通常会规划出一个地址块,专门用于SID的分配,这个地址块称为SID Space。在一个SRv6域中,SID均从SID Space中分配,具有相同的前缀(即公共前缀Common Prefix)。因此,SRH中SID的公共前缀是冗余信息。

G-SRv6将Segment List中SRv6 SID的Common Prefix移除,仅携带SRv6 SID中的可变部分,即压缩SID(G-SID),可以有效减少SRv6报文头开销。报文转发过程中,在根据SRH头中的Segment List替换报文的目的地址时,将G-SID与Common Prefix拼接形成新的目的地址,继续查表转发。

G-SRv6对SRv6 SID进行压缩时,既要保证高效压缩,又要兼顾网络规模等需求。综合考虑,32比特是当前较为理想的压缩后SID长度。

1.2.3  G-SID格式

如图1-8所示,SRv6 SID的Locator部分可以细分为Common Prefix和Node ID,其中Common Prefix表示公共前缀地址;Node ID表示节点标识。具有相同Common Prefix的SRv6 SID可以进行压缩,形成32-bit G-SID。32-bit G-SID由128-bit SRv6 SID中的Node ID和Function组成。128-bit SRv6 SID和32-bit G-SID的转换关系为:128-bit SRv6 SID = Common Prefix + 32-bit G-SID + 0 (Args&MBZ)。

图1-8 支持压缩的SRv6 SID格式图

 

1.2.4  G-SRv6报文 1. G-SRv6报文格式

如图1-9所示,G-SRv6可以将G-SID和128-bit SRv6 SID混合编排在SRH的Segment List中。为准确定位G-SID,需要在原本封装128-bit SRv6 SID的位置封装4个32-bit G-SID。如果封装的G-SID不足4个,即不足128比特,则需要用0补齐,对齐128比特。128比特中封装的G-SID称为一组G-SID。多个连续的G-SID组成一段压缩路径,称为G-SID List。G-SID List中可以包含一组或多组G-SID。

图1-9 G-SRv6报文格式示意图

 

说明

如果下一个节点的SRv6 SID需要进行压缩,则路由协议在发布本节点的SRv6 SID时,会为该SRv6 SID添加COC标记,标识本SRv6 SID之后是G-SID。报文中不会携带COC标记,COC是SRv6 SID本身的转发行为,为了方便理解,在报文结构中标识出SRv6 SID是否具有COC标记。

 

G-SID在Segment List中的排列规则为:

(1)     G-SID List的前一个SRv6 SID为携带COC标记的128-bit SRv6 SID,标识下一个SID为32-bit G-SID。

(2)     除G-SID List中的最后一个G-SID外,其余G-SID必须携带COC标记,标识下一个SID为32-bit G-SID。

(3)     G-SID List的最后一个G-SID必须是未携带COC标记的32-bit G-SID,标识下一个SID为128-bit SRv6 SID。

(4)     G-SID List结束的下一个SRv6 SID为128-bit SRv6 SID,其可以是未携带COC标记的SRv6 SID,也可以是携带COC标记的SRv6 SID。

2. 通过G-SID计算目的地址

如图1-10所示,使用G-SID计算目的地址的方法为将Segment List中的G-SID与Common Prefix拼接形成新的目的地址。其中:

·     Common Prefix:公共前缀,由管理员手工配置。

·     G-SID:按照32比特进行压缩的SID,从SRH中获取。

·     SI(SID Index):用于在一组G-SID中定位G-SID。SI为目的地址的最低两位,取值为0~3。每经过一个对SID进行压缩的节点,SI值减1。如果SI值为0,则将SL值减1。在Segment List的一组G-SID中,G-SID按照SI从小到大的顺序从左到右依次排列,即最左侧的G-SID的SI为0,最右侧的G-SID的SI为3。

·     0:若Common Prefix、G-SID和SI的位数之和不足128比特,则中间位使用0补齐。

图1-10 G-SID组成示意图

 

如果SRv6节点上管理员部署的Common Prefix为A:0:0:0::/64、SRv6报文中的当前的G-SID为1:1,该G-SID对应的SI为3,则组合成的目的地址为A:0:0:0:1:1::3。

SRv6节点收到G-SRv6报文后,不同情况下,报文目的地址计算方法为:

·     如果当前报文的目的地址在Segment List中为携带COC标记的128-bit SRv6 SID,则表示下一个SID为G-SID,将SL-1,根据[SL-1]值定位所处的G-SID组,并按照上述方法根据[SI=3]对应的32-bit G-SID计算目的地址。

·     如果当前报文的目的地址在Segment List中为携带COC标记的32-bit G-SID,则表示下一个SID为G-SID:

¡     如果SI>0,则将SI-1,根据报文当前的SL值定位所处的G-SID组,并按照上述方法根据[SI-1]对应的32-bit G-SID计算目的地址。

¡     如果SI=0,则将SL-1、将SI值重置,即将SI设置为3,根据报文当前的SL值定位所处的G-SID组,并按照上述方法根据[SI=3]对应的32-bit G-SID计算目的地址。

·     如果当前报文的目的址在Segment List中是未携带COC标记的32-bit G-SID,则将SL-1,同时查找[SL-1]对应的128-bit SRv6 SID,并使用该SRv6 SID替换IPv6头中的目的地址。

·     如果当前报文的目的址在Segment List中是未携带COC标记的128-bit SRv6 SID,则将SL-1,同时查找[SL-1]对应的128-bit SRv6 SID,并使用该SRv6 SID替换IPv6头中的目的地址。

1.3  BGP-EPE

IGP for SRv6只能在自治系统AS(Autonomous System)域内通告SRv6 SID,通过对AS域内SID的合理编排,可以规划出AS域内的最优路径。为了组建大规模网络,通常需要跨越多个AS,此时IGP for SR无能为力。

BGP-EPE(BGP Egress Peer Engineering,BGP出口对等体工程)用来为域间路径分配BGP Peer SID。Peer SID通过BGP LS扩展传递给网络控制器。控制器通过对IGP SID和BGP Peer SID进行合理编排,实现跨域最优路径转发。而对于没有与控制器建立BGP-LS邻居的转发器设备,可以先通过BGP-LS将Peer SID信息传递给BGP邻居,然后再由BGP邻居通过BGP-LS传递给网络控制器。

BGP-EPE为对等体分配SID时可以自动分配,也可以手工指定。如图1-11所示,BGP-EPE能够针对对等体分配以下SID:

·     PeerNode SID:用于指示一个对等体节点。每一个BGP会话都会分配Peer-Node SID。对于基于Loopback接口建立的EBGP邻居,其对应的物理链路可能有多条,那么针对该邻居的Peer-Node SID就会对应多个出接口。基于Peer-Node SID转发时,会在多个出接口间负载分担。

·     PeerAdj SID:用于指示到达对等体的一个邻接链路。对于基于Loopback接口建立的EBGP邻居,其对应的物理链路可能有多条,则每条链路都会分配一个Peer-Adj SID。基于Peer-Adj SID转发时,只能通过指定出接口进行转发。

·     PeerNode-Adj SID:既可用于标识一个对等体节点,也可以标识到达对等体的一条或多条邻接链路。

·     PeerSet SID:用于标识一组对等体。BGP支持将一组对等体规划为一个Set,基于该组分配SID,这个SID称为PeerSet SID。基于PeerSet SID转发时,会在多个邻居间负载分担。一个PeerSet SID对应多个PeerNode SID和PeerAdj SID。

图1-11 BGP-EPE示意图

 

如图1-11所示,BGP-EPE的标签分配方式为:

·     ASBR 1和ASBR 3间存在两条直连物理链路,二者通过LoopBack接口建立EBGP邻居,BGP-EPE针对对等体分配了PeerNode SID 100:AB::1,为物理链路分配了PeerAdj SID 100:AB:1::2和100:AB:1::3。当通过PeerNode SID转发流量时,会在两条链路间负载分担。

·     ASBR 1和ASBR 5,ARBR 2和ASBR 4,以及ASBR 2和ASBR 5使用直连物理接口建立EBGP邻居,BGP-EPE为对等体只分配了PeerNode SID 100:AB::2,100:AB::4和100:AB::5。

·     ASBR 4、ASBR 5均和ASBR 2建立EBPG邻居关系,BGP-EPE将对等体ASBR 4和ASBR 5加入同一Set组,为其分配PeerSet SID 100:AB::3。当通过PeerSet SID转发流量时,会在多个邻居间负载分担。

通过BGP-EPE功能为邻居分配的SID仅具有本地意义,不会向其他设备通告,因此不受BGP对等体间交换路由信息类型的影响。

1.4  TI-LFA FRR

TI-LFA FRR(Topology-Independent Loop-free Alternate Fast Reroute,拓扑无关无环备份快速重路由)能为Segment Routing隧道提供链路及节点的保护。当某处链路或节点故障时,流量会快速切换到备份路径继续转发,从而最大程度上避免流量的丢失。

1.4.1  TI-LFA FRR产生背景

如图1-12所示,数据报文需要从节点A发往节点F。当节点B和节点E之间发生故障后,节点B将数据报文转发给节点C。由于节点C和节点D之间开销是100,且节点C上路由还未收敛,因此节点C认为到达节点F的最优路径的下一跳是节点B。节点C将数据报文重新转回到节点B,形成环路。

图1-12 TI-LFA应用场景示意图

 

在SRv6网络中部署TI-LFA,可以解决上述问题。如图1-13所示,当节点B和节点E之间发生故障后,节点B启用TI-LFA计算的备份路径,为报文指定显式路径B->C->D->E,保证报文可以沿着备份路径转发。

图1-13 TI-LFA转发示意图

 

1.4.2  TI-LFA FRR相关概念

TI-LFA FRR主要涉及以下概念:

·     P空间:以保护链路源端为根节点建立SPF(Shortest Path First,最短路径优先)树,所有从根节点不经过保护链路可达的节点集合称为P空间。P空间内的节点被称为P节点。

·     扩展P空间:以保护链路源端的所有邻居为根节点分别建立SPF树,所有从根节点不经过保护链路可达的节点集合称为扩展P空间。P空间在扩展P空间范围内。

·     Q空间:以目的节点为根节点建立反向SPF树,所有从根节点不经过保护链路可达的节点集合称为Q空间。Q空间内的节点被称为Q节点。

1.4.3  TI-LFA FRR路径计算

如图1-14所示,PE 1为源节点,P 1节点为故障节点,PE 2为目的节点,链路中间的数字表示cost值。假设流量路径为:PE 1->P 1->PE 2,为避免P 1节点故障导致流量丢失,TI-LFA会计算出扩展P空间、Q空间、P 1故障收敛后的SPF树、Repair List和备份出接口,最终生成备份转发表项。

TI-LFA计算备份路径步骤如下:

(1)     计算扩展P空间:至少存在一个邻居节点到P节点的路径不经过故障链路的集合,即P 2。

(2)     计算Q空间:Q节点到目的节点不经过故障链路的集合,即PE 2和P 4。

(3)     计算收敛后的SPF树:计算P 1故障收敛后的SPF树,即P 1故障后的最优转发路径。SPF树为PE 1->P 2->P 4->PE 2。

(4)     计算Repair List:Repair List是一个约束路径,当P空间和Q空间没有交集时,用来指示如何到达Q节点,Repair List由“P节点的SRv6 SID+P节点到最近的Q节点路径上的SRv6 SID”组成。当P节点和源节点直连时,则Repair List中不需要添加P节点的SRv6 SID。如图1-14所示,Repair List为P 2和P 3间链路的End.X SID C、P 3和P 4间链路的End.X SID D。

(5)     计算备份出接口:PE 1到P 1链路故障后的下一跳出接口。

图1-14 TI-LFA典型组网图

 

1.4.4  TI-LFA FRR转发流程

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

如图1-15所示,P 2为P节点,P 4和PE 2为Q节点。主下一跳P 1故障时,触发FRR切换到备路径,详细过程如下:

(1)     PE 1根据报文的目的IPv6地址查找IPv6路由表进行转发,下一跳为P 2,同时包含Repair List信息。PE 1根据Repair List构造报文并转发给P 2:

¡     封装SRH头。封装的SID列表信息为Segment List [0]=D、Segment List [1]=C,即按照节点由远及近的顺序进行排列。

¡     封装IPv6头。IPv6头中的源地址为源节点PE 1地址A,目的地址为SL指示的地址,即SL为1时表示SRH中Segment List [1]对应的地址C。

(2)     P 2收到报文后,检查SRH头中的SL值,并将SL值减1,同时查找Segment List [0]对应的地址,即P 3和P 4间链路的End.X SID D,并使用该End.X SID D替换IPv6头中的目的地址。P 2根据End.X SID C获取出接口和下一跳信息,将封装后的报文转发给P 3。

(3)     P 3收到报文后,检查SRH头中的SL值,发现SL=0,对报文进行解封装,并根据End.X SID D获取出接口和下一跳信息,将解封装后的报文转发给P 4。

(4)     P 4收到报文后,根据报文的目的IP地址查找IP路由表进行转发,将报文转发给目的节点PE 2。

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

 

1.4.5  正切防微环

如图1-16所示,当Device B故障时,到Device C的流量将切换到TI-LFA计算的备份路径转发。Device A收敛后,到Device C的流量将沿着收敛后路径转发。此时,如果Device D和Device F还没有收敛,仍按照收敛前的路径转发流量,则Device A到Device F之间形成环路。

通过FRR正切防微环功能和SR防微环功能可以解决上述问题。在Device A上开启该功能后,可以使Device A延迟一段时间收敛,在此期间使用SR防微环功能计算的路径转发流量。等待Device D和Device F收敛完成后,Device A再开始收敛。Device A收敛完成后,到Device C的流量沿将着收敛后路径转发,从而避免发生环路。

图1-16 正切防微环故障场景

 

1.4.6  回切防微环

如图1-17所示,Device B和Device C之间的链路故障恢复前,数据流量沿着备份路径转发。当Device B和Device C之间的链路故障恢复后,如果Device A先于Device B收敛,则Device A会将流量转发给Device B,但是Device B没有收敛,仍旧沿着备份路径转发,这样Device A和Device B之间就会形成环路。

通过SR防微环功能可以解决上述问题。Device A在故障回切以后,会自动计算一条最优路径到达Device C,并按照该路径转发流量,即Device A在转发时为报文添加端到端路径信息(例如Device B到Device C的SRv6 SID),这样Device B收到报文后,根据报文中SRH里的路径信息将报文转发给Device C,避免环路的产生。

经过SR防微环延迟时间后,Device B节点完成收敛,Device A去除额外添加的路径信息,按正常方式将报文转发到Device C。

图1-17 回切防微环故障场景

 

1.5  协议规范

与IPv6 segment routing相关的协议规范有:

·     draft-previdi-6man-segment-routing-header

·     draft-ietf-6man-segment-routing-header

·     draft-filsfils-spring-segment-routing

·     draft-filsfils-spring-srv6-network-programming

1.6  SRv6配置限制和指导

standard工作模式下,仅以下表格中的单板支持本功能。

表1-1 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ16L1

CSPEX单板

CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E

SPE单板

RX-SPE200-E

 

sdn-wan工作模式下,仅以下表格中的单板支持本功能。

表1-2 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RX-L、CEPC-CQ8L、CEPC-CQ16L1

CSPEX单板

CSPEX-1304X、CSPEX-1304S、CSPEX-1404X、CSPEX-1404S、CSPEX-1502X、CSPEX-1504X、CSPEX-1504S、CSPEX-1602X、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E

SPE单板

RX-SPE200、RX-SPE200-E

OAA单板

IM-NGFWX-IV

 

1.7  SRv6配置任务简介

SRv6配置任务如下:

(1)     配置SRv6 SID

¡     配置普通SRv6 SID

¡     配置G-SID

SRv6节点的SID需要压缩时,本功能必选。

¡     压缩与非压缩共存的SRv6 SID

(2)     (可选)管理SRv6 SID

¡     配置动态End.X SID延迟删除功能

¡     配置动态SID延迟删除时间

¡     配置静态End.X SID下发FIB表的延迟时间

(3)     配置通过IGP通告SRv6 SID

(4)     配置通过BGP通告Locator网段的路由

(5)     配置BGP-EPE

在跨域组网部署BGP for SRv6时,本功能必选。

(6)     (可选)配置TI-LFA FRR

(7)     (可选)配置SRv6的MTU

(8)     (可选)配置SRv6的差分服务模式

(9)     (可选)开启SRv6模块的告警功能

1.8  SRv6配置准备

在配置SRv6之前,需完成以下任务:

·     确定SRv6隧道的源节点、中间节点和尾节点。

·     规划节点的IP地址。

1.9  配置普通SRv6 SID 1.9.1  配置本地Locator段和Opcode 1. 配置限制和指导

不同Locator的名称不能相同。

不能为不同Locator配置相同的IPv6地址前缀和前缀长度,且不同Locator的IPv6地址前缀不能有重叠部分。

SRv6视图下的Locator段内存在正在被使用的动态SRv6 SID时,不能关闭SRv6功能和删除该Locator段。

coc-both类型的Locator和普通类型的Locator支持互相修改,即无需删除已配置的Locator段,直接修改参数即可。修改原则如下:

·     支持将普通类型的Locator修改为coc-both类型的Locator,修改时仅支持指定common-prefix和non-compress-static参数,其他参数不允许修改。例如,配置普通类型的Locator为locator test ipv6-prefix 100:1:: 80 static 8 args 8,可以直接修改为locator test ipv6-prefix 100:1:: 80 common-prefix 64 coc-both non-compress-static 8 static 8 args 8。

·     支持将coc-both类型的Locator修改为普通类型的Locator,修改时仅支持删除common-prefix和non-compress-static参数,其他参数不允许修改。例如,配置coc-both类型的Locator为locator test ipv6-prefix 100:1:: 80 common-prefix 64 coc-both non-compress-static 8 static 8 args 8,可以直接修改为locator test ipv6-prefix 100:1:: 80 static 8 args 8。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     配置Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]

(4)     (可选)配置当前Locator为Anycast Locator。

anycast enable

缺省情况下,当前Locator不是Anycast Locator。

路由协议报文携带的Locator TLV中Flags字段的A-bit置位,表示该Locator为Anycast Locator,即一组SRv6节点具有相同的Locator。

(5)     配置Opcode段。

¡     配置End SID。

opcode { opcode | hex hex-opcode } end { no-flavor | psp | psp-usp-usd }

¡     配置End.X SID。

opcode { opcode | hex hex-opcode } end-x interface interface-type interface-number [ member-port interface-type interface-number ] nexthop nexthop-ipv6-address { no-flavor | psp | psp-usp-usd }

¡     配置End.DT4 SID。

opcode { opcode | hex hex-opcode } end-dt4 [ vpn-instance vpn-instance-name [ evpn | l3vpn-evpn ] ]

指定的VPN实例必须已经存在。不同VPN实例不能配置相同End.DT4 SID。

¡     配置End.DT6 SID。

opcode { opcode | hex hex-opcode } end-dt6 [ vpn-instance vpn-instance-name [ evpn | l3vpn-evpn ] ]

指定的VPN实例必须已经存在。不同VPN实例不能配置相同End.DT6 SID。

¡     配置End.DT46 SID。

opcode { opcode | hex hex-opcode } end-dt46 [ vpn-instance vpn-instance-name [ evpn | l3vpn-evpn ] ]

指定的VPN实例必须已经存在。不同VPN实例不能配置相同End.DT46 SID。

¡     配置End.DX4 SID。

opcode { opcode | hex hex-opcode } end-dx4 interface interface-type interface-number nexthop nexthop-ipv4-address [ vpn-instance vpn-instance-name [ evpn ] ]

指定的VPN实例必须已经存在,不同下一跳和出接口不能配置相同End.DX4 SID。

¡     配置End.DX6 SID。

opcode { opcode | hex hex-opcode } end-dx6 interface interface-type interface-number nexthop nexthop-ipv6-address [ vpn-instance vpn-instance-name [ evpn ] ]

指定的VPN实例必须已经存在,不同下一跳和出接口不能配置相同End.DX6 SID。

¡     配置End.DX2 SID。

opcode { opcode | hex hex-opcode } end-dx2 xconnect-group group-name connection connection-name

指定的交叉连接组和交叉连接必须已经存在。

opcode { opcode | hex hex-opcode } end-dx2 vsi vsi-name interface interface-type interface-number service-instance instance-id

指定的VSI必须已经存在。

¡     配置End.DX2L SID。

opcode { opcode | hex hex-opcode } end-dx2l xconnect-group group-name connection connection-name

指定的交叉连接组和交叉连接必须已经存在。

opcode { opcode | hex hex-opcode } end-dx2l vsi vsi-name interface interface-type interface-number service-instance instance-id

指定的VSI必须已经存在。

¡     配置End.DT2M SID。

opcode { opcode | hex hex-opcode } end-dt2m vsi vsi-name

指定的VSI必须已经存在。不同VSI不能配置相同End.DT2M SID。

¡     配置End.DT2U SID。

opcode { opcode | hex hex-opcode } end-dt2u vsi vsi-name

指定的VSI必须已经存在。不同VSI不能配置相同End.DT2U SID。

¡     配置End.DT2UL SID。

opcode { opcode | hex hex-opcode } end-dt2ul vsi vsi-name

指定的VSI必须已经存在。不同VSI不能配置相同End.DT2UL SID。

¡     配置End.OP SID。

opcode { opcode | hex hex-opcode } end-op

¡     配置End.M SID。

opcode { opcode | hex hex-opcode } end-m mirror-locator ipv6-address prefix-length

1.9.2  配置远端Locator段 1. 功能简介

在EVPN VPWS over SRv6场景中,如果PE之间无法通过BGP路由建立SRv6 PW,则需要在PE间建立静态SRv6 PW,以保证流量正常转发。由于PE间无法通过BGP路由传递SRv6 SID信息,因此需要在PE上配置本端为交叉连接分配的SRv6 SID和远端为交叉连接分配的SRv6 SID。本端为交叉连接分配的SRv6 SID需要在Locator段下通过opcode命令指定,远端为交叉连接分配的SRv6 SID需要创建Remote Locator段后,在交叉连接静态SRv6配置视图下通过peer命令引用Remote Locator段并指定。

本端PE配置的Remote Locator段需要与远端PE上的Locator段相同,本端PE和远端PE上的Locator段、Remote Locator段和SRv6 SID需要对称配置。例如:

·     本端PE(PE 1)配置如下:

locator pe1 ipv6-prefix 100:: 64 static 32

  opcode 1 end.dx2 xconnect-group pe1 connection pe1

remote-locator pe2 ipv6-prefix 200:: 64 static 32

xconnect-group pe1

  connection pe1

    static-srv6 local-service-id 1 remote-service-id 2

      peer 2::2 end-dx2-sid remote-locator pe2 opcode 1

·     远端PE(PE 2)配置如下:

locator pe2 ipv6-prefix 200:: 64 static 32

  opcode 1 end.dx2 xconnect-group pe2 connection pe2

remote-locator pe1 ipv6-prefix 100:: 64 static 32

xconnect-group pe2

  connection pe2

    static-srv6 local-service-id 1 remote-service-id 2

      peer 1::1 end-dx2-sid remote-locator pe1 opcode 1

由以上配置可知,本端PE上的Locator段为100::/64、远端Locator段200::/6;远端PE上的Locator段为200::/64、远端Locator段100::/6。本端PE为交叉连接分配的SRv6 SID为End.DX2 SID 100::1,远端PE为交叉连接分配的SRv6 SID为End.DX2 SID 200::1。

在EVPN VPWS over SRv6场景中,部署静态SRv6 PW进行报文转发时,报文的IPv6目的地址为Remote Locator段下的SRv6 SID。远端PE收到报文后,查找本地Locator SID转发表:

·     如果匹配本地Locator段下的SRv6 SID,则根据该SRv6 SID,执行对应的转发动作。

·     如果未匹配本地Locator段下的SRv6 SID,则丢弃该报文。

2. 配置限制和指导

首次创建远端Locator段,进入远端Locator段视图时,必须指定IPv6地址前缀、前缀长度及静态段长度。再次进入该远端Locator段视图时仅指定远端Locator段名称即可。

不同远端Locator段的名称不能相同,IPv6前缀也不能相同、不能重叠。

远端Locator段和Locator段的IPv6前缀也不能相同、不能重叠。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     配置远端Locator段,并进入远端Locator视图。

remote-locator remote-locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]

1.10  配置G-SID 1. 配置限制和指导

IPv6地址前缀长度必须大于公共前缀长度。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     开启SRv6压缩功能。

srv6 compress enable

缺省情况下,SRv6压缩功能处于关闭状态。

(4)     配置Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length common-prefix common-prefix-length coc32 [ args args-length | static static-length ] * ]

(5)     配置Opcode段。

¡     配置其他Opcode段。

具体配置请参见“1.9  配置普通SRv6 SID”。

¡     配置End SID。

opcode opcode end-coc32 { no-flavor | psp }

¡     配置End.X SID。

opcode opcode end-x-coc32 interface interface-type interface-number [ member-port interface-type interface-number ] nexthop nexthop-address { no-flavor | psp }

1.11  压缩与非压缩共存的SRv6 SID 1. 配置限制和指导

在支持压缩与非压缩共存的Locator段下,可以为压缩的静态SID和非压缩的静态SID指定相同opcode值。

coc-both类型的Locator和普通类型的Locator支持互相修改,即无需删除已配置的Locator段,直接修改参数即可。修改原则如下:

·     支持将普通类型的Locator修改为coc-both类型的Locator,修改时仅支持指定common-prefix和non-compress-static参数,其他参数不允许修改。例如,配置普通类型的Locator为locator test ipv6-prefix 100:1:: 80 static 8 args 8,可以直接修改为locator test ipv6-prefix 100:1:: 80 common-prefix 64 coc-both non-compress-static 8 static 8 args 8。

·     支持将coc-both类型的Locator修改为普通类型的Locator,修改时仅支持删除common-prefix和non-compress-static参数,其他参数不允许修改。例如,配置coc-both类型的Locator为locator test ipv6-prefix 100:1:: 80 common-prefix 64 coc-both non-compress-static 8 static 8 args 8,可以直接修改为locator test ipv6-prefix 100:1:: 80 static 8 args 8。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     开启SRv6压缩功能。

srv6 compress enable

缺省情况下,SRv6压缩功能处于关闭状态。

(4)     配置Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length common-prefix common-prefix-length coc-both [ non-compress-static non-compress-static-length ] [ args args-length | static static-length ] * ]

(5)     (可选)配置预留的SRv6 SID起始值。

reserved-sid-start sid-value count reserved-sid-count

缺省情况下,未配置预留的SRv6 SID。

设备根据接收到的SRv6 TE Policy路由生成SRv6 TE Policy时,需要为该SRv6 TE Policy分配BSID。通过本命令限制可以被分配的BSID范围,以保证该范围内的SRv6 SID不会被其他协议所占用。

(6)     配置Opcode段。

¡     配置其他Opcode段。

具体配置请参见“1.9  配置普通SRv6 SID”。

¡     配置End(COCNONE) SID。

opcode { opcode | hex hex-opcode } end-coc-none { no-flavor | psp | psp-usp-usd }

End(COCNONE) SID从压缩段空间内分配,作用同End SID。

¡     配置End.X(COCNONE) SID。

opcode { opcode | hex hex-opcode } end-x-coc-none interface interface-type interface-number [ member-port interface-type interface-number ] nexthop nexthop-ipv6-address { no-flavor | psp | psp-usp-usd }

End.X(COCNONE) SID从压缩段空间内分配,作用同End.X SID。

1.12  配置动态End.X SID延迟删除功能 1. 功能简介

OSPFv3或IS-IS邻居关系震荡,为设备间链路动态分配的End.X SID会频繁地删除和申请,从而导致邻居间丢包。为了解决上述问题,可以配置本功能,当设备间邻居关系断开时,暂不删除动态分配的End.X SID,保证流量正常转发。当达到延迟删除时间后,如果设备间邻居关系仍然处于断开状态,则删除动态分配的End.X SID。

2. 配置限制和指导

执行以下操作后,不会等待延迟时间,将立即删除动态分配的End.X SID:

·     执行reset ospfv3 process命令。有关本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“OSPFv3”。

·     执行reset isis all命令。有关本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“IS-IS”。

·     接口删除,如接口板拔出、删除子接口和删除VLAN接口等。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IS-IS IPv6地址族视图或OSPFv3视图。

¡     依次执行以下命令,进入IS-IS IPv6地址族视图。

isis [ process-id ] [ vpn-instance vpn-instance-name ]

address-family ipv6 [ unicast ]

¡     进入OSPFv3视图。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

(3)     开启动态End.X SID延迟删除功能并配置延迟删除时间。

segment-routing ipv6 end-x delete-delay [ time-value ]

缺省情况下,动态End.X SID延迟删除功能处于开启状态,延迟删除时间为1800秒。

1.13  配置动态SID延迟删除时间 1. 功能简介

如果希望BGP会话down/up前后由BGP协议动态分配的SRv6 SID一致,可以配置本功能并合理设置动态SID延迟删除时间,当BGP会话变为down状态,在延迟删除时间内不会删除动态分配的SRv6 SID。如果在延迟删除时间之内BGP会话恢复为up状态,则仍使用原来的SRv6 SID。

2. 配置限制和指导

主动删除BGP配置时,不会等待延迟时间,将立即删除由BGP协议动态分配的SRv6 SID。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置动态SID延迟删除时间。

segment-routing ipv6 sid delete-delay [ time-value ]

缺省情况下,动态SID延迟删除时间为1800秒。

1.14  配置静态End.X SID下发FIB表的延迟时间 1. 功能简介

邻居设备故障,本端与邻居相连的接口状态由Up变为Down时,该接口关联的End.X SID会失效。当邻居设备故障恢复后,接口恢复Up状态,与该接口关联的静态End.X SID生效。由于路由没有完成收敛,设备无法通过静态End.X SID对应的路由表项转发报文,导致报文转发失败或导致丢包(动态分配的End.X SID路由完成收敛后才下发FIB表,无此类问题)。为了避免该问题,可以配置本命令,延迟将接口关联的静态End.X SID下发到FIB表,以保证在延迟时间内设备不通过End.X SID对应的接口链路转发流量,避免丢包。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     配置静态End.X SID下发FIB表的延迟时间。

end-x update-delay delay-time

缺省情况下,静态End.X SID不延迟下发FIB表。

 

1.15  配置通过IGP通告SRv6 SID 1. 功能简介

通过引用Locator段,IGP协议可以通告Locator段内的SRv6 SID。

如果需要通过IGP协议发布G-SID,则需要在IGP协议下开启SRv6压缩功能,以便向邻居通告G-SID。

2. 配置准备

配置通过IS-IS通告SRv6 SID前,需要确保IS-IS开销值的类型为wide、compatible或wide-compatible。关于IS-IS开销值类型的配置请参见“三层技术-IP路由配置指导”中的“IS-IS”。

3. 配置通过IS-IS通告SRv6 SID

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis [ process-id ] [ vpn-instance vpn-instance-name ]

(3)     进入IS-IS IPv6地址族视图。

address-family ipv6 [ unicast ]

(4)     引用Locator段。

segment-routing ipv6 locator locator-name [ level-1 | level-2 ] [ auto-sid-coc32 [ additive ] | auto-sid-coc-both { all | coc32 | coc32-all | coc32-none } | auto-sid-disable ] [ member-port-enable ]

缺省情况下,未引用Locator段。

多次配置本功能,可以引用多个Locator段,从而通告多个SRv6 SID。

当邻居接口为三层聚合接口时,可以指定member-port-enable参数为聚合组内的成员端口分配SRv6 SID。

(5)     开启IS-IS的SRv6压缩功能。

srv6 compress enable [ level-1 | level-2 ]

缺省情况下,IS-IS的SRv6压缩功能处于关闭状态。

仅在通过IS-IS发布G-SID时,配置本功能。

(6)     (可选)配置聚合Locator路由。

summary ipv6-prefix prefix-length algorithm algo-id [ explicit ]

缺省情况下,不对Locator路由进行聚合。

将Locator路由与Flex-algo算法关联后,可以将该类路由聚合,以减少本路由器生成的LSP报文大小和LSDB的规模。有关Flex-algo算法的详细介绍,请参见“三层技术-IP路由配置指导”中的“IS-IS”。

4. 配置通过OSPFv3通告SRv6 SID

(1)     进入系统视图。

system-view

(2)     进入OSPFv3视图。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

(3)     引用Locator段。

segment-routing ipv6 locator locator-name [ auto-sid-disable ]

缺省情况下,未引用Locator段。

多次配置本功能,可以引用多个Locator段,从而通告多个SRv6 SID。

(4)     (可选)配置OSPFv3路由中携带的SRv6 SID-Sub TLV的类型值。

segment-routing ipv6 sid-sub-tlv-type { end-x end-x-value | lan-end-x lan-end-x-value }

缺省情况下,OSPFv3路由中携带的End.X SID Sub-TLV类型值为11,LAN End.X SID Sub-TLV类型值为12。

通过OSPFv3路由发布End.X SID时,不同设备OSPFv3路由协议报文中携带的End.X SID子TLV的类型值可能不同,从而导致设备之间无法互通。为了实现设备互通,需要配置本命令保证各个设备上子TLV的类型值相同。

目前,End.X SID Sub-TLV和ASLA Sub-TLV类型值的缺省值均为11。因此,必须配置本命令修改End.X SID Sub-TLV的类型值,避免冲突。

1.16  配置通过BGP通告Locator网段的路由 1. 功能简介

在BGP跨域组网中,执行本配置后,BGP IPv6单播路由表中将生成指定Locator网段的路由,并通过BGP将该路由发布给BGP对等体。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(4)     配置在BGP IPv6单播路由表中生成指定Locator网段的路由,并发布给BGP对等体。

advertise srv6 locator locator-name [ route-policy route-policy-name ]

缺省情况下,不会在BGP IPv6单播路由表中生成Locator网段的路由。

1.17  配置BGP-EPE 1.17.1  开启SRv6的BGP-EPE功能 1. 功能简介

BGP-EPE用来为域间路径分配BGP Peer SID。Peer SID通过BGP LS扩展传递给网络控制器。控制器通过对IGP SID和BGP Peer SID进行合理编排,实现跨域最优路径转发。

在设备上配置BGP-EPE功能后,该设备为相连的BGP对等体/对等体组分配SID,用来标识与本设备相连的特定BGP邻居或链路。

2. 配置限制和指导

如果未指定任何参数,则在BGP实例下通过segment-routing ipv6 egress-engineering locator命令配置的BGP-EPE引用Locator段内为对等体动态分配SRv6 SID。

对于同一对等体,配置本功能时:

·     指定参数locator时,多次执行本命令,最后一次执行的命令生效。

·     指定参数static-sid时:

¡     对于同一类型SRv6 SID,多次执行本命令,最后一次执行的命令生效。

¡     对于不同类型SRv6 SID,多次执行本命令,最后生效的SID组合为普通SID、coc32类型压缩SID、coc-both类型非压缩的SID,或者普通SID、coc-both类型压缩的SID、coc-both类型非压缩的SID。

¡     多次指定coc32和coc-both coc32参数,最后一次的配置生效。

为对等体配置静态SRv6 SID时,指定的静态SRv6 SID必须在BGP实例视图下通过segment-routing ipv6 egress-engineering locator命令引用的Locator段内。用户可通过display bgp egress-engineering ipv6命令查看静态SRv6 SID是否生效。如果未生效,则表示该静态SRv6 SID已经被其他协议占用。静态SRv6 SID被其他协议占用以后,BGP EPE 不会再申请动态的SRv6 SID,待解除占用后,需要先执行undo peer egress-engineering srv6命令删除该静态SRv6 SID的配置,再执行peer egress-engineering srv6命令重新配置,该静态SRv6 SID才能生效。

通过本命令为对等体指定静态SRv6 SID和通过egress-engineering srv6 peer-set命令为BGP-EPE SRv6 Peer Set组指定静态SRv6 SID时,配置的静态SRv6 SID不能相同。

仅在引用的Locator段为coc32类型Locator时,auto-sid-coc32及coc32参数才会生效。

仅在引用的Locator段为coc-both类型Locator时,auto-sid-coc-both及coc-both参数才会生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     开启SRv6的BGP-EPE功能。

peer group-name egress-engineering srv6

peer ipv6-address egress-engineering srv6 [ locator locator-name [ auto-sid-coc32 [ additive ] | auto-sid-coc-both { all |coc32 | coc32-all | coc32-none } ] | static-sid { coc32 | coc-both coc32 } { no-flavor no-flavor-sid | psp psp-sid } * ]

peer ipv6-address egress-engineering srv6 [ locator locator-name [ auto-sid-coc32 [ additive ] | auto-sid-coc-both { all |coc32 | coc32-all | coc32-none } ] | static-sid coc-both coc32-none { no-flavor no-flavor-sid | psp psp-sid | psp-usp–usd psp-usp-usd-sid } * ]

peer ipv6-address prefix-length egress-engineering srv6 [ locator locator-name ]

缺省情况下,SRv6的BGP-EPE功能处于关闭状态。

1.17.2  配置BGP-EPE引用的Locator 1. 功能简介

BGP-EPE引用Locator段用来限定BGP-EPE SRv6 Peer Set组和开启BGP-EPE功能的对等体所能分配的End.X SID范围。在BGP-EPE SRv6 Peer Set组和对等体下配置的静态SRv6 SID必须在本命令指定的Locator段范围内。

2. 配置限制和指导

配置本功能后,以下情况将从本功能指定的Locator段中动态分配End.X SID:

·     创建BGP-EPE SRv6 Peer Set组后,未配置静态SRv6 SID。

·     对等体配置了peer egress-engineering srv6命令,但未指定locator参数,也未配置静态SRv6 SID。

仅在引用的Locator段为coc32类型Locator时,auto-sid-coc32参数才会生效。

仅在引用的Locator段为coc-both类型Locator时,auto-sid-coc-both参数才会生效。

执行segment-routing ipv6 egress-engineering locator命令未指定任何参数时,如果已经配置了静态SRv6 SID,则优先使用静态SRv6 SID;如果未配置静态SRv6 SID,则动态分配SRv6 SID。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置BGP-EPE引用的Locator。

segment-routing ipv6 egress-engineering locator locator-name [ auto-sid-coc-both { all | coc32 | coc32-all | coc32-none } | auto-sid-coc32 [ additive ] | auto-sid-disable ]

缺省情况下,BGP-EPE未引用Locator。

1.17.3  配置BGP-EPE SRv6 Peer Set组 1. 功能简介

当一台设备和多台设备建立BGP邻居关系时,可以手工规划邻居组,即将一组BGP邻居规划为一个Set,基于该组分配PeerSet SID。通过PeerSet SID转发流量时,可以在多个邻居间负载分担。

2. 配置准备

配置本功能前,对等体必须开启SRv6 BGP-EPE功能。

配置BGP-EPE SRv6 Peer Set组前,必须在BGP实例视图下通过segment-routing ipv6 egress-engineering locator命令配置BGP-EPE引用的Locator段:

·     从引用的Locator段内为BGP-EPE SRv6 Peer Set组动态分配SRv6 SID。

·     为BGP-EPE SRv6 Peer Set组静态指定SRv6 SID时,指定的静态SRv6 SID必须在引用的Locator段内。

对于同一Peer Set组,多次执行egress-engineering srv6 peer-set命令时:

·     不指定static-sid时,最后一次执行的命令生效。

·     指定参数static-sid时:

¡     对于同一类型SRv6 SID,多次执行本命令,最后一次执行的命令生效。

¡     对于不同类型SRv6 SID,多次执行本命令,最后生效的SID组合为普通SID、coc32类型压缩SID、coc-both类型非压缩的SID,或者普通SID、coc-both类型压缩的SID、coc-both类型非压缩的SID。

¡     多次指定coc32和coc-both coc32参数,最后一次的配置生效。

通过本命令为BGP-EPE SRv6 Peer Set组指定静态SRv6 SID和通过peer egress-engineering srv6命令为对等体指定静态SRv6 SID时,配置的静态SRv6 SID不能相同。

仅在引用的Locator段为coc32类型Locator时,auto-sid-coc32及coc32参数才会生效。

仅在引用的Locator段为coc-both类型Locator时,auto-sid-coc-both及coc-both参数才会生效。

未指定auto-sid-coc32相关参数和auto-sid-coc-both参数时,则动态分配普通类型的SRv6 SID。

3. 配置限制和指导

segment-routing ipv6 egress-engineering locator和egress-engineering srv6 peer-set均可以配置动态分配SRv6 SID的类型,包括auto-sid-coc32、auto-sid-coc-both coc32和auto-sid-coc-both coc32-none参数。如果segment-routing ipv6 egress-engineering locator和egress-engineering srv6 peer-set指定的参数不同,则segment-routing ipv6 egress-engineering locator命令指定的参数生效。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     创建BGP-EPE SRv6 Peer Set组。

egress-engineering srv6 peer-set peer-set-name [ auto-sid-coc-both { all | coc32 | coc32-all | coc32-none } | auto-sid-coc32 [ additive ] | static-sid [ coc32 | coc-both coc32 ] { no-flavor no-flavor-sid | psp psp-sid } * ]

egress-engineering srv6 peer-set peer-set-name [ auto-sid-coc-both { all | coc32 | coc32-all | coc32-none } | auto-sid-coc32 [ additive ] | static-sid [ coc-both coc32-none ] { no-flavor no-flavor-sid | psp psp-sid | psp-usp–usd psp-usp-usd-sid } * ]

(4)     将对等体加入BGP-EPE SRv6 Peer Set组。

peer { ipv6-address [ prefix-length ] } peer-set srv6-peer-set-name

缺省情况下,对等体未加入BGP-EPE SRv6 Peer Set组。

不能通过重复执行peer peer-set命令修改对等体加入的BGP-EPE SRv6 Peer Set组。如需修改对等体加入的BGP-EPE SRv6 Peer Set组,请先通过undo peer peer-set命令将对等体从BGP-EPE SRv6 Peer Set组中删除,再执行peer peer-set命令将对等体加入新BGP-EPE SRv6 Peer Set组。

1.17.4  配置BGP-EPE时延发布功能 1. 功能简介

在使用BGP-LS将链路状态上报给控制器进行路径计算的场景中,可以配置本功能在部署BGP EPE的设备上由BGP收集和扩散域内链路时延信息,并通过BGP-LS上报给控制器,由控制器基于时延计算路径,从而满足最优路径时延最小的需求。

BGP接口时延信息可通过如下两种方式获取:

·     静态配置:使用本命令静态配置接口时延。

·     动态获取:使用test-session bind interface命令将TWAMP-light测试与接口绑定,由TWAMP-light将统计后的时延信息发布给绑定接口,绑定接口向BGP上报时延信息。关于TWAMP的详细介绍,请参见“网络管理和监控配置指导”中的“NQA TWAMP-light”。

时延频繁抖动时,BGP会频繁地处理接口上报的时延信息,并频繁发布和上报链路信息,导致设备资源被过多占用。时延发布抑制功能可以用来解决上述问题。

时延发布抑制功能的工作机制为:

(1)     开启时延发布抑制功能后,接口按照时延发布抑制时间间隔向BGP上报时延信息,不再频繁上报时延信息。

(2)     BGP按照时延发布抑制定时器设置的时间间隔发布和上报时延信息,即BGP在时延发布抑制定时器超时前不能发布和上报时延信息,以下两种情况除外:

¡     BGP收到接口上报的前后两次的时延变化率大于或等于percent-value时,不管时延发布抑制定时器超时与否,BGP都会发布和上报时延信息。

¡     BGP收到接口上报的前后两次的时延变化绝对值大于或等于absolute-value时,不管时延发布抑制定时器超时与否,BGP都会发布和上报时延信息。

2. 配置限制和指导

如果同时通过静态和动态方式获取到了某个时延参数,则以静态配置的为准。

开启本功能及设置抑制参数时,需要注意:

·     只有通过egress-engineering metric-delay advertisement enable命令开启时延发布功能之后,本命令才能生效。

·     将某个抑制参数设置为0,则相应的抑制机制不再生效。各抑制参数均设置为0时,表示关闭时延发布抑制功能。

3. 配置BGP上报的接口时延参数

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置BGP上报的接口时延参数。

egress-engineering link-delay { average average-delay-value | min min-delay-value max max-delay-value | variation variation-value } * interface interface-type interface-number

缺省情况下,未配置接口时延信息。

4. 开启时延发布功能

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     开启时延发布功能。

egress-engineering metric-delay advertisement enable

缺省情况下,时延发布功能处于关闭状态。

5. 开启BGP的时延发布抑制功能并设置抑制参数

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     开启BGP的时延发布抑制功能,并设置抑制参数。

egress-engineering metric-delay suppression timer time-value percent-threshold percent-value absolute-threshold absolute-value

缺省情况下,时延发布抑制功能处于开启状态,时延发布抑制定时器的值为120秒,时延变化率的抑制阈值为10%,时延变化绝对值的抑制阈值为1000微秒。

1.17.5  配置BGP-EPE带宽发布功能 1. 功能简介

在使用BGP-LS将链路状态上报给控制器进行路径计算的场景中,可以在部署BGP EPE的设备上配置本功能由BGP收集和扩散域内链路带宽信息,并通过BGP-LS上报给控制器,由控制器基于带宽计算路径信息,从而满足最优路径带宽最大的需求。

带宽频繁变化时,BGP会频繁地处理接口上报的带宽信息,并频繁发布和上报链路信息,导致设备资源被过多占用。带宽发布抑制功能可以用来解决上述问题。

带宽发布抑制功能的工作机制为:

(1)     开启带宽发布抑制功能后,接口按照带宽发布抑制时间间隔向BGP上报带宽信息,不再频繁上报带宽信息。

(2)     BGP按照带宽发布抑制定时器设置的时间间隔发布和上报带宽信息,即BGP在带宽发布抑制定时器超时前不能发布和上报带宽信息。

2. 开启带宽发布功能

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     开启时延发布功能。

egress-engineering metric-bandwidth advertisement enable

缺省情况下,带宽发布功能处于关闭状态。

3. 开启BGP 的带宽发布抑制功能并设置抑制参数

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     开启BGP 的带宽发布抑制功能,并设置抑制参数。

egress-engineering metric-bandwidth suppression timer time-value

缺省情况下,BGP的带宽发布抑制功能处于开启状态,带宽发布抑制定时器的值为120秒。

1.18  配置TI-LFA FRR 1.18.1  TI-LFA FRR配置任务简介

TI-LFA FRR配置任务如下:

(1)     开启TI-LFA FRR功能

(2)     (可选)配置TI-LFA FRR采用的封装模式

(3)     (可选)配置接口不参与TI-LFA计算

禁止源节点设备上路由的主下一跳出接口参与TI-LFA计算。

(4)     (可选)开启FRR正切防微环功能

(5)     (可选)配置SR防微环功能

¡     开启SR防微环功能

¡     配置SR防微环采用的封装模式

¡     配置SR防微环在SID列表中封装严格SID

1.18.2  开启TI-LFA FRR功能 1. 开启IPv6 IS-IS的TI-LFA FRR功能

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis process-id

(3)     进入IS-IS IPv6单播地址族视图。

address-family ipv6

(4)     开启 IPv6 IS-IS的LFA快速重路由功能。

fast-reroute lfa [ level-1 | level-2 ]

缺省情况下,IPv6 IS-IS支持快速重路由功能处于关闭状态。

(5)     开启IPv6 IS-IS的TI-LFA快速重路由功能。

fast-reroute ti-lfa [ per-prefix ] [ route-policy route-policy-name | host ] [ level-1 | level-2 ]

缺省情况下,IPv6 IS-IS的TI-LFA FRR功能处于关闭状态。

(6)     (可选)配置快速重路由备份路径优选方案的优先级。

fast-reroute tiebreaker { lowest-cost | node-protecting | srlg-disjoint } preference preference [ level-1 | level-2 ]

缺省情况下,最小开销路径优选方案的优先级为20,节点保护优选方案的优先级为40,共享风险链路组优选方案的优先级为10。

(7)     (可选)开启Level-1区域的TI-LFA使用Level-2的路径作为备份路径的功能。

inter-level-tilfa level-1 enable [ prefer ]

缺省情况下,Level-1区域的TI-LFA使用Level-2的路径作为备份路径的功能处于关闭状态。

关于本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“IS-IS”。

2. 开启OSPFv3的TI-LFA FRR功能

(1)     进入系统视图。

system-view

(2)     进入OSPFv3视图。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

(3)     开启OSPFv3的LFA快速重路由功能。

fast-reroute { lfa [ abr-only ] | route-policy route-policy-name }

缺省情况下,OSPFv3支持快速重路由功能处于关闭状态。

(4)     开启OSPFv3的TI-LFA快速重路由功能。

fast-reroute ti-lfa [ per-prefix ] [ route-policy route-policy-name | host ]

缺省情况下,OSPFv3的TI-LFA FRR功能处于关闭状态。

(5)     (可选)配置快速重路由备份路径优选方案的优先级。

fast-reroute tiebreaker { lowest-cost | node-protecting } preference preference

缺省情况下,最小开销路径优选方案的优先级为20,节点保护优选方案的优先级为40。

1.18.3  配置TI-LFA FRR采用的封装模式 1. 功能简介

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

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

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

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

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

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

2. 配置限制和指导

仅以下表格中的单板支持本功能。

表1-3 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ16L1

CSPEX单板

CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E

SPE单板

RX-SPE200-E

 

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis process-id

(3)     进入IS-IS IPv6单播地址族视图。

address-family ipv6

(4)     配置TI-LFA FRR采用Encap封装模式。

fast-reroute ti-lfa encaps

缺省情况下,TI-LFA FRR采用Insert封装模式。

1.18.4  配置接口不参与TI-LFA计算 1. 配置IPv6 IS-IS的接口不参与TI-LFA计算

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     禁止IPv6 IS-IS的接口参与TI-LFA计算。

isis ipv6 fast-reroute ti-lfa disable [ level-1 | level-2 ]

缺省情况下,允许IPv6 IS-IS的接口参与TI-LFA计算。

2. 配置OSPFv3的接口不参与TI-LFA计算

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     禁止OSPFv3的接口参与TI-LFA计算。

ospfv3 fast-reroute ti-lfa disable [ instance instance-id ]

缺省情况下,允许OSPFv3的接口参与TI-LFA计算。

1.18.5  开启FRR正切防微环功能 1. 功能简介

FRR正切防微环功能仅能解决正切微环的问题。

应用了TI-LFA快速重路由功能的组网环境中,若某节点或者链路发生故障,流量会切换到TI-LFA计算的备份路径。但是,如果此时备份路径上的设备还没有完成收敛,则会在源节点(故障节点或者链路的前一节点)和备份路径上的设备之间形成环路,直到备份路径上的设备完成收敛。

为了解决上述问题,节点或者链路故障以后,首先流量切换到TI-LFA计算的备份路径,然后源节点延迟一段时间收敛,等待备份路径上的设备收敛完成以后,源节点开始收敛。

2. 配置限制和指导

如果同时配置FRR正切防微环功能和SR防微环功能,则SR防微环功能生效。

3. 配置IS-IS的FRR正切防微环功能

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis process-id

(3)     进入IS-IS IPv6单播地址族视图。

address-family ipv6

(4)     开启IS-IS的FRR正切防微环功能。

fast-reroute microloop-avoidance enable [ level-1 | level-2 ]

缺省情况下,IS-IS的FRR正切防微环功能处于关闭状态。

(5)     (可选)配置FRR正切防微环延迟时间。

fast-reroute microloop-avoidance rib-update-delay delay-time [ level-1 | level-2 ]

缺省情况下,FRR正切防微环延迟时间为5000毫秒。

4. 配置OSPFv3的FRR正切防微环功能

(1)     进入系统视图。

system-view

(2)     进入OSPFv3视图。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

(3)     开启OSPFv3的FRR正切防微环功能。

fast-reroute microloop-avoidance enable

缺省情况下,OSPFv3的FRR正切防微环功能处于关闭状态。

(4)     (可选)配置FRR正切防微环延迟时间。

fast-reroute microloop-avoidance rib-update-delay delay-time

缺省情况下,FRR正切防微环延迟时间为5000毫秒。

1.18.6  开启SR防微环功能 1. 功能简介

SR防微环功能可以解决正切微环和回切微环的问题。

在网络故障或故障恢复期间,路由都会重新收敛,由于网络节点之间转发状态短暂不一致,各个设备收敛速度不同,可能存在转发微环现象。配置SR的防微环功能后,在IGP收敛期间,设备会按照指定路径转发流量,转发过程不依赖于各设备的路由收敛,从而避免产生环路。

为了保证IGP收敛有足够的时间,可以配置SR防微环延迟时间,在此期间设备按照指定路径转发流量。在网络故障恢复IGP完成收敛后,流量再通过IGP计算的路径转发。

2. 配置限制和指导

如果同时配置FRR正切防微环功能和SR防微环功能,则SR防微环功能生效。

3. 配置IPv6 IS-IS的SR防微环功能

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis process-id

(3)     进入IS-IS IPv6单播地址族视图。

address-family ipv6

(4)     开启IPv6 IS-IS的SR防微环功能。

segment-routing microloop-avoidance enable [ level-1 | level-2 ]

缺省情况下,IPv6 IS-IS的SR防微环功能处于关闭状态。

(5)     (可选)配置IPv6 IS-IS的SR防微环延迟时间。

segment-routing microloop-avoidance rib-update-delay delay-time [ level-1 | level-2 ]

缺省情况下,IPv6 IS-IS的SR防微环延迟时间为5000毫秒。

4. 配置OSPFv3的SR防微环功能

(1)     进入系统视图。

system-view

(2)     进入OSPFv3视图。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

(3)     开启OSPFv3的SR防微环功能。

segment-routing microloop-avoidance enable

缺省情况下,OSPFv3的SR防微环功能处于关闭状态。

(4)     (可选)配置OSPFv3的SR防微环延迟时间。

segment-routing microloop-avoidance rib-update-delay delay-time

缺省情况下,OSPFv3的SR防微环延迟时间为5000毫秒。

1.18.7  配置SR防微环采用的封装模式 1. 功能简介

缺省情况下,SR防微环功能采用Insert封装模式添加SID列表,即:

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

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

配置本命令后,SR防微环功能采用Encap封装模式添加SID列表,即在原始报文的基础上封装新的IPv6基本头和SRH:

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

·     SRH包含SID列表中所有SID信息。

2. 配置限制和指导

仅以下表格中的单板支持本功能。

表1-4 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ16L1

CSPEX单板

CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E

SPE单板

RX-SPE200-E

 

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis process-id

(3)     进入IS-IS IPv6单播地址族视图。

address-family ipv6

(4)     配置SR防微环采用Encap封装模式。

segment-routing microloop-avoidance encaps

缺省情况下,SR防微环采用Insert模式。

1.18.8  配置SR防微环在SID列表中封装严格SID 1. 功能简介

缺省情况下,SR防微环功能先计算到P节点的End SID,再计算P节点到目的节点的End.X SID,组成一个SID列表封装到报文的SRH中,SID列表为{P节点的End SID,P节点到目的节点的多个End.X SID}。

当网络中存在多点故障且路径频繁切换时,如果通过End SID查找到P节点的路径,可能导致到P节点的路径存在微环。为了解决该问题,需要严格约束到达P节点的路径,在设备上创建一个无环的SID列表,引导流量转发到目的节点。

配置本功能后,SR防微环功能将计算到P节点的End.X SID,以严格约束到达P节点的路径。封装到报文的SRH的SID列表为{P节点的End.X SID,P节点到目的节点的多个End.X SID}。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis process-id

(3)     进入IS-IS IPv6单播地址族视图。

address-family ipv6

(4)     配置SR防微环在SID列表中封装严格SID。

segment-routing microloop-avoidance strict-sid-only

缺省情况下,未配置SR防微环在SID列表中封装严格SID。

1.19  配置SRv6的MTU 1. 功能简介

SRv6可以配置两种MTU值:

·     Path MTU是报文在源节点到目的节点之间成功传送所允许的最大IPv6 MTU。

·     Reserved MTU是在TI-LFA等场景中为源节点规划的预留MTU值。

由于IPv6报文在传输过程中不允许在中间节点分片转发,当IPv6报文长度大于出接口MTU时,设备会丢弃报文;如果利用较小的MTU对通过SRv6隧道转发的报文进行分片,会降低链路的带宽利用率。为了避免报文过大而丢弃,同时又能充分利用接口MTU提高链路的带宽利用率,可以合理规划SRv6 MTU。

在TI-LFA场景中主路径故障,流量切换到备份路径时,设备会重新构造IPv6和SRH头,增加了IPv6报文长度,可能会导致报文超过MTU限制而被丢弃。在源节点上引入Reserved MTU,可以在发送报文时为增加的SRH预留长度,以避免TI-LFA进行FRR备份路径切换时报文因超大而丢弃。

源节点发送的SRv6报文的大小同时受SRv6 Path MTU、Reserved MTU和物理接口的IPv6 MTU控制。SRv6 Path MTU和物理接口的IPv6 MTU先取较小值,再减去Reserved MTU即为实际采用的MTU。例如,全局配置SRv6 Path MTU为1600,配置Reserved MTU为100,如果物理接口的IPv6 MTU大于或等于1600,则源节点实际采用的MTU是SRv6 Path MTU减去Reserved MTU的值,即1500;如果物理接口的IPv6 MTU小于1600,例如1500,则源节点实际采用的MTU是物理接口的IPv6 MTU减去Reserved MTU的值,即1400。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置SRv6的Reserved MTU值。

path-mtu reserved [ reserved-value ]

缺省情况下,未配置全局Path MTU预留值。

(4)     配置SRv6的Path MTU值。

path-mtu mtu-value

未配置SRv6的Path MTU值。

1.20  配置SRv6的差分服务模式 1. 功能简介

在QoS的DiffServ服务模型中,报文在IP网络和SRv6网络之间相互传输时,IP优先级和DSCP优先级的处理模式分为:

·     Pipe模式:当报文进入SRv6网络时,原始报文会封装新IPv6报文头。Ingress设备会忽略其自身携带的IP或DSCP优先级,使用配置值service-class作为新IPv6报文头的Traffic Class;离开SRv6网络时,Egress设备剥离外层IPv6报文头,不会修改原始报文的原有IP或DSCP优先级。在SRv6网络中,依据配置的service-class对报文进行QoS调度。

·     Short-pipe模式:报文进入和离开SRv6网络时,处理方式与Pipe模式相同。与Pipe模式不同的是:

¡     报文在SRv6网络的Ingress节点至倒数第二跳,依据配置的service-class进行QoS调度。

¡     在Egress节点,先剥离外层IPv6报文头,再进行QoS调度。如果没有配置优先级信任模式,则依据原始报文携带的IP或DSCP优先级进行QoS调度;如果配置了优先级信任模式,则依据信任的优先级进行QoS调度。

·     Uniform模式:当报文进入SRv6网络时,Ingress设备会将其携带的原始报文IP或DSCP优先级映射为外层封装IPv6头的Traffic Class;离开SRv6网络时,Egress设备再将外层IPv6头的Traffic Class映射为原始报文的IP或DSCP优先级。

2. 配置限制和指导

在隧道的源节点和目的节点上配置diffserv-mode命令时,需要保证本端出方向的差分服务模式和对端入方向的差分服务模式一致,本端入方向的差分服务模式和对端出方向差分服务模式一致。

有关IP优先级、DSCP优先级的详细介绍,请参见“QoS配置指导”中的“优先级映射”。

IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6 BE组网中,在Egress节点配置diffserv-mode命令不生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置SRv6的差分服务模式。

diffserv-mode { ingress { pipe service-class | short-pipe service-class | uniform } egress { pipe | short-pipe | uniform } | { pipe service-class | short-pipe service-class | uniform } }

指定差分服务模式为pipe模式,且优先级为0。

1.21  开启SRv6模块的告警功能 1. 功能简介

开启SRv6模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6模块的告警功能。

snmp-agent trap enable srv6

缺省情况下,SRv6模块的告警功能处于关闭状态。

1.22  SRv6显示和维护

在完成上述配置后,在任意视图下执行display命令,可以显示配置的SID列表信息。

表1-5 显示与维护SRv6的运行状态

操作

命令

显示IPv6对等体的BGP-EPE信息

display bgp [ instance instance-name ] egress-engineering ipv6 [ ipv6-address ]

显示BGP Peer SRv6 Set组的信息

display bgp egress-engineering srv6 peer-set [ srv6-peer-set-name ]

显示IS-IS SRv6能力信息

display isis segment-routing ipv6 capability [ level-1 | level-2 ] [ process-id ]

显示IS-IS SRv6的Locator路由信息

display isis segment-routing ipv6 locator [ ipv6-address prefix-length ] [ flex-algo flex-algo-id | [ level-1 | level-2 ] | verbose ] * [ process-id ]

显示IS-IS SRv6 Tunnel接口信息

display isis srv6 tunnel [ level-1 | level-2 ] [ process-id ]

显示OSPFv3 SRv6能力信息

display ospfv3 [ process-id ] segment-routing ipv6 capability

显示OSPFv3 SRv6的Locator信息

display ospfv3 [ process-id ] [ flex-algo flex-algo-id ] segment-routing ipv6 locator [ ipv6-address prefix-length ]

显示OSPFv3的SRv6 Tunnel接口信息

display ospfv3 [ process-id ] srv6 tunnel [ interface-number ]

显示指定Locator中可用的静态SRv6 SID

display segment-routing ipv6 available-static-sid locator locator-name [ from begin-value ]

显示SRv6简要信息

display segment-routing ipv6 brief

显示SRv6转发信息

(独立运行模式)

display segment-routing ipv6 forwarding [ entry-id [ relation ] | forwarding-type { srv6be | srv6frr | srv6pcpath | srv6pgroup | srv6policy | srv6sidlist | srv6sids } ] [ slot slot-number ]

(IRF模式)

display segment-routing ipv6 forwarding [ entry-id [ relation ] | forwarding-type { srv6be | srv6frr | srv6pcpath | srv6pgroup | srv6policy | srv6sidlist | srv6sids } ] [ chassis chassis-number slot slot-number ]

显示SRv6的Local SID转发表信息

display segment-routing ipv6 local-sid [ locator locator-name ] [ end | end-b6encaps | end-b6encapsred | end-b6insert | end-b6insertred | end-coc-none | end-coc32 | end-dt2m | end-dt2u | end-dt2ul | end-dx2 | end-dx2l | end-m | end-op | end-t ] [ owner owner ] [ sid ]

display segment-routing ipv6 local-sid [ locator locator-name ] [ end-dt4 | end-dt46 | end-dt6 | end-dx4 | end-dx6 ] [ owner owner ] [ sid | vpn-instance vpn-instance-name ]

display segment-routing ipv6 local-sid [ locator locator-name ] [ end-x | end-x-coc32 | end-x-coc-none ] [ owner owner ] [ sid | interface interface-type interface-number [ nexthop nexthop-ipv6-address ] ]

显示各协议分配的SRv6 SID的数目

display segment-routing ipv6 local-sid statistics [ locator [ locator-name ] ]

显示SRv6的Locator信息

display segment-routing ipv6 locator [ locator-name ]

显示SRv6的Locator的配置信息和Locator已分配SRv6 SID的统计信息

display segment-routing ipv6 locator-statistics [ locator-name ]

显示远端Locator段的信息

display segment-routing ipv6 remote-locator [ remote-locator-name ]

显示Remote SRv6 SID信息

display segment-routing ipv6 remote-sid { end-dx2 | end-dx2l } [ sid ]

 

1.23  SRv6典型配置举例 1.23.1  IS-IS TI-LFA FRR配置举例 1. 组网需求

·     设备Device A、Device B、Device C和Device D运行IPv6 IS-IS实现互通。

·     Device A、Device B、Device C和Device D配置IS-IS SRv6功能。

·     当设备Device A和Device C之间链路Link A故障,链路Link B上存在环路,流量无法通过Device D转发到目的节点Device C。通过部署TI-LFA FRR消除环路,同时使流量可以快速切换到链路Link B。

2. 组网图

图1-18 IS-IS TI-LFA FRR组网图

设备

接口

IP地址

设备

接口

IP地址

Device A

Loop1

1::1/128

Device B

Loop1

2::2/128

 

XGE3/1/1

2000:1::1/64

 

XGE3/1/1

2000:1::2/64

 

XGE3/1/2

2000:4::1/64

 

XGE3/1/2

2000:2::2/64

Device C

Loop1

3::3/128

Device D

Loop1

4::4/128

 

XGE3/1/1

2000:3::3/64

 

XGE3/1/1

2000:3::4/64

 

XGE3/1/2

2000:2::3/64

 

XGE3/1/2

2000:4::4/64

 

3. 配置步骤

(1)     请按照图1-18配置各接口的IP地址和子网掩码,具体配置过程略

(2)     配置Device A

# 配置IS-IS协议实现网络层互通,开销值类型为wide。

system-view

[DeviceA] isis 1

[DeviceA-isis-1] network-entity 00.0000.0000.0001.00

[DeviceA-isis-1] cost-style wide

[DeviceA-isis-1] address-family ipv6

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

[DeviceA] interface ten-gigabitethernet 3/1/1

[DeviceA-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1

[DeviceA-Ten-GigabitEthernet3/1/1] isis cost 10

[DeviceA-Ten-GigabitEthernet3/1/1] quit

[DeviceA] interface ten-gigabitethernet 3/1/2

[DeviceA-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1

[DeviceA-Ten-GigabitEthernet3/1/2] isis cost 10

[DeviceA-Ten-GigabitEthernet3/1/2] quit

[DeviceA] interface loopback 1

[DeviceA-LoopBack1] isis ipv6 enable 1

[DeviceA-LoopBack1] quit

# 开启SRv6功能,并配置Locator段。

[DeviceA] segment-routing ipv6

[DeviceA-segment-routing-ipv6] locator aaa ipv6-prefix 11:: 64 static 32

[DeviceA-segment-routing-ipv6-locator-aaa] quit

[DeviceA-segment-routing-ipv6] quit

# 配置IS-IS TI-LFA FRR,并开启SR防微环功能。

[DeviceA] isis 1

[DeviceA-isis-1] address-family ipv6

[DeviceA-isis-1-ipv6] fast-reroute lfa

[DeviceA-isis-1-ipv6] fast-reroute ti-lfa

[DeviceA-isis-1-ipv6] fast-reroute microloop-avoidance enable

[DeviceA-isis-1-ipv6] segment-routing microloop-avoidance enable

# 配置引用Locator段。

[DeviceA-isis-1-ipv6] segment-routing ipv6 locator aaa

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

 

(3)     配置Device B

# 配置IS-IS协议实现网络层互通,开销值类型为wide。

system-view

[DeviceB] isis 1

[DeviceB-isis-1] network-entity 00.0000.0000.0002.00

[DeviceB-isis-1] cost-style wide

[DeviceB-isis-1] address-family ipv6

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

[DeviceB] interface ten-gigabitethernet 3/1/1

[DeviceB-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1

[DeviceB-Ten-GigabitEthernet3/1/1] isis cost 10

[DeviceB-Ten-GigabitEthernet3/1/1] quit

[DeviceB] interface ten-gigabitethernet 3/1/2

[DeviceB-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1

[DeviceB-Ten-GigabitEthernet3/1/2] isis cost 10

[DeviceB-Ten-GigabitEthernet3/1/2] quit

[DeviceB] interface loopback 1

[DeviceB-LoopBack1] isis ipv6 enable 1

[DeviceB-LoopBack1] quit

# 开启SRv6功能,并配置Locator段。

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] locator bbb ipv6-prefix 22:: 64 static 32

[DeviceB-segment-routing-ipv6-locator-bbb] quit

[DeviceB-segment-routing-ipv6] quit

# 配置IS-IS TI-LFA FRR。

[DeviceB] isis 1

[DeviceB-isis-1] address-family ipv6

[DeviceB-isis-1-ipv6] fast-reroute lfa

[DeviceB-isis-1-ipv6] fast-reroute ti-lfa

# 配置引用Locator段。

[DeviceB-isis-1-ipv6] segment-routing ipv6 locator bbb

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

 

(4)     配置Device C

# 配置IS-IS协议实现网络层互通,开销值类型为wide。

system-view

[DeviceC] isis 1

[DeviceC-isis-1] network-entity 00.0000.0000.0003.00

[DeviceC-isis-1] cost-style wide

[DeviceC-isis-1] address-family ipv6

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

[DeviceC] interface ten-gigabitethernet 3/1/1

[DeviceC-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1

[DeviceC-Ten-GigabitEthernet3/1/1] isis cost 100

[DeviceC-Ten-GigabitEthernet3/1/1] quit

[DeviceC] interface ten-gigabitethernet 3/1/2

[DeviceC-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1

[DeviceC-Ten-GigabitEthernet3/1/2] isis cost 10

[DeviceC-Ten-GigabitEthernet3/1/2] quit

[DeviceC] interface loopback 1

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

# 开启SRv6功能,并配置Locator段。

[DeviceC] segment-routing ipv6

[DeviceC-segment-routing-ipv6] locator ccc ipv6-prefix 33:: 64 static 32

[DeviceC-segment-routing-ipv6-locator-ccc] quit

[DeviceC-segment-routing-ipv6] quit

# 配置IS-IS TI-LFA FRR。

[DeviceC] isis 1

[DeviceC-isis-1] address-family ipv6

[DeviceC-isis-1-ipv6] fast-reroute lfa

[DeviceC-isis-1-ipv6] fast-reroute ti-lfa

# 配置引用Locator段。

[DeviceC-isis-1-ipv6] segment-routing ipv6 locator ccc

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

(5)     配置Device D

# 配置IS-IS协议实现网络层互通,开销值类型为wide。

system-view

[DeviceD] isis 1

[DeviceD-isis-1] network-entity 00.0000.0000.0004.00

[DeviceD-isis-1] cost-style wide

[DeviceD-isis-1] address-family ipv6

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

[DeviceD] interface ten-gigabitethernet 3/1/1

[DeviceD-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1

[DeviceD-Ten-GigabitEthernet3/1/1] isis cost 100

[DeviceD-Ten-GigabitEthernet3/1/1] quit

[DeviceD] interface ten-gigabitethernet 3/1/2

[DeviceD-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1

[DeviceD-Ten-GigabitEthernet3/1/2] isis cost 10

[DeviceD-Ten-GigabitEthernet3/1/2] quit

[DeviceD] interface loopback 1

[DeviceD-LoopBack1] isis ipv6 enable 1

[DeviceD-LoopBack1] quit

# 开启SRv6功能,并配置Locator段。

[DeviceD] segment-routing ipv6

[DeviceD-segment-routing-ipv6] locator ddd ipv6-prefix 44:: 64 static 32

[DeviceD-segment-routing-ipv6-locator-ddd] quit

[DeviceD-segment-routing-ipv6] quit

# 配置IS-IS TI-LFA FRR。

[DeviceD] isis 1

[DeviceD-isis-1] address-family ipv6

[DeviceD-isis-1-ipv6] fast-reroute lfa

[DeviceD-isis-1-ipv6] fast-reroute ti-lfa

# 配置引用Locator段。

[DeviceD-isis-1-ipv6] segment-routing ipv6 locator ddd

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

 

4. 验证配置

# 在Device A上查看3::3/128路由,可以看到TI-LFA备份下一跳信息。

[DeviceA] display isis route ipv6 3::3 128 verbose

 

                         Route information for IS-IS(1)

                         ------------------------------

 

                         Level-1 IPv6 forwarding table

                         -----------------------------

 

 IPv6 dest   : 3::3/128

 Flag        : R/L/-                       Cost        : 20

 Admin tag   : -                           Src count   : 2

 Nexthop     : FE80::4449:7CFF:FEE0:206

 NexthopFlag  : -

 Interface   : XGE3/1/1

 TI-LFA:

  Interface : XGE3/1/2

  BkNextHop : FE80::4449:91FF:FE42:407

  LsIndex    : 0x80000001

  Backup label stack(top->bottom): {44::1:0:1}

 Nib ID      : 0x24000006

 

      Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有