• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

23-Segment Routing配置指导

目录

03-SRv6 TE Policy配置

本章节下载 03-SRv6 TE Policy配置  (1.77 MB)

03-SRv6 TE Policy配置

  录

1 SRv6 TE Policy概述

1.1 SRv6 TE Policy的基本概念

1.1.1 SRv6 TE Policy标识

1.1.2 SRv6 TE Policy构成

1.1.3 SRv6 TE Policy的BSID

1.1.4 SRv6 TE Policy组

1.2 SRv6 TE Policy的生成和算路

1.2.1 SRv6 TE Policy生成和算路概述

1.2.2 SRv6 TE Policy创建方式

1.3 SRv6 TE Policy引流

1.3.1 基于BSID引流

1.3.2 基于Color引流

1.3.3 基于DSCP引流

1.3.4 基于TE class ID引流

1.3.5 基于APN ID引流

1.3.6 基于CBTS引流

1.3.7 自引流功能

1.3.8 其他引流方式

1.4 SRv6 TE Policy流量转发

1.4.1 SRv6 TE Policy选路原则

1.4.2 SRv6 TE Policy报文转发过程

1.5 SRv6 TE Policy的可靠性

1.5.1 SRv6 TE Policy热备份功能

1.5.2 SRv6 TE Policy与BFD联动

1.5.3 SRv6 TE Policy中间节点保护

1.5.4 SRv6尾节点保护功能

1.6 SRv6 TE Policy在APN6网络中的应用

1.7 SRv6 TE Policy的智能策略路由功能

1.7.1 SRv6 TE Policy的智能策略路由功能简介

1.7.2 SRv6 TE Policy的智能策略路由工作机制

2 SRv6 TE Policy的配置

2.1 SRv6 TE Policy硬件适配关系

2.2 SRv6 TE Policy配置任务简介

2.3 配置SID列表

2.4 创建SRv6 TE Policy

2.4.1 手工创建SRv6 TE Policy并配置相关属性

2.4.2 通过ODN自动创建SRv6 TE Policy

2.5 配置设备允许将SRv6 TE Policy的候选路径信息上报BGP-LS

2.6 关闭SRv6 TE Policy

2.7 创建候选路径并引用SID列表

2.8 配置BGP发布BGP IPv6 SR Policy路由

2.8.1 配置限制和指导

2.8.2 开启BGP发布BGP IPv6 SR Policy路由能力

2.8.3 配置BGP引入BGP IPv6 SR Policy路由

2.8.4 配置将BGP IPv6 SR Policy路由发布给EBGP对等体

2.8.5 开启Router ID过滤功能

2.8.6 开启BGP IPv6 SR Policy路由有效性检查功能

2.8.7 控制BGP IPv6 SR Policy路由的优选和发布

2.8.8 维护BGP会话

2.9 配置SRv6 TE Policy引流

2.9.1 配置SRv6-TE的引流方式

2.9.2 配置基于Color引流

2.9.3 配置基于隧道策略引流

2.9.4 配置基于DSCP引流

2.9.5 配置基于TE Class ID引流

2.9.6 配置基于APN ID引流

2.9.7 配置基于静态路由引流

2.9.8 配置基于QoS策略引流

2.9.9 配置基于Flowspec引流

2.9.10 配置SRv6 TE Policy自动引流功能

2.10 配置SRv6 TE Policy的封装方式

2.11 配置SRv6 TE Policy的智能策略路由功能

2.11.1 配置限制和指导

2.11.2 配置SRv6 TE Policy的iFIT测量功能

2.11.3 配置仅根据隧道的网络质量计算和优选路径的SRv6 TE Policy的IPR算路功能

2.11.4 配置根据隧道出接口的带宽利用率计算和优选路径的IPR算路功能

2.12 开启SRv6 TE Policy的SBFD功能

2.13 开启SRv6 TE Policy的echo报文方式的BFD检测功能

2.14 开启SRv6 TE Policy的热备份功能

2.15 配置SRv6 TE Policy的慢切慢删功能

2.16 配置SRv6 TE Policy中间节点保护功能

2.17 配置SRv6 TE Policy尾节点保护功能

2.17.1 配置限制和指导

2.17.2 配置End.M SID

2.17.3 开启尾节点保护功能

2.17.4 配置远端SRv6 SID与VPN实例/交叉连接/VSI映射表的延迟删除时间

2.18 配置SRv6 TE Policy对TTL的处理模式

2.19 配置SRv6 TE Policy CBTS

2.20 配置SRv6 TE Policy限速功能

2.21 开启SRv6 TE Policy在Policy失效时丢弃流量的功能

2.22 配置根据报文封装进行路由优选

2.23 配置SRv6 TE Policy的流量转发统计功能

2.24 SRv6 TE Policy显示和维护

2.25 SRv6 TE Policy典型配置举例

2.25.1 SRv6 TE Policy基本转发配置举例

2.25.2 SRv6 TE Policy尾节点保护配置举例

2.25.3 SRv6 TE Policy的智能策略路由功能配置举例

 


1 SRv6 TE Policy概述

SRv6 TE Policy提供了灵活的转发路径选择方法,可以满足用户不同的转发需求。当Segment Routing网络的源节点和目的节点之间存在多条路径时,合理利用SRv6 TE Policy选择转发路径,不仅可以方便管理员对网络进行管理和规划,还可以有效地减轻网络设备的转发压力。

1.1  SRv6 TE Policy的基本概念

1.1.1  SRv6 TE Policy标识

SRv6 TE Policy使用以下三元组来全局唯一标识一个SRv6 TE Policy:

·     Headend:标识SRv6 TE Policy的头节点。

·     Color:标识头节点和目的节点的不同的SRv6 TE Policy,SRv6 TE Policy的Color属性由管理员分配,可以用来与业务属性关联,例如,时延需求小于10ms的业务对应通过Color属性为100的SRv6 TE Policy转发,因此,Color属性提供了一种业务和SRv6 TE Policy的关联机制。

·     End-point:标识SRv6 TE Policy的目的节点,是SRv6 TE Policy目的节点的IP地址。

在同一个头节点上,仅需Color和End-point即可唯一标识一个SRv6 TE Policy。

1.1.2  SRv6 TE Policy构成

图1-1 SRv6 TE Policy构成

 

图1-1所示,一个SRv6 TE Policy由多条具有不同优先级的Candidate Paths(候选路径)组成,每个候选路径包括由Segment List(SID列表)标识的一条或多条转发路径。

·     候选路径

一个SRv6 TE Policy包含一条或多条候选路径。通过SRv6 TE Policy转发流量时,设备从多条候选路径中选择优先级(Preference)最高的候选路径作为主路径。

<Protocol-origin,Originator,Discriminator>是SRv6 TE Policy中候选路径的唯一标识,其中,

¡     Protocol-origin是一个8bit的数值,用于表示候选路径通过何种协议或方式生成。例如,候选路径可以通过PCEP或BGP IPv6 SR Policy地址族协议动态生成,也可以通过命令行或NETCONF方式静态配置的。

¡     Originator表示生成这条候选路径的节点,是一个由4字节的自治系统号(ASN)和16字节的节点地址拼接形成的160位数值。

¡     Discriminator是一个32bit的编号值,用于在Protocol-origin和Originator确定的情况下,标识和区分候选路径。

不同SRv6 TE Policy不能共享同一条候选路径。

·     SID列表

SID列表包含报文转发路径信息,由转发路径上各个节点的SID(IPv6地址)组成。

候选路径由一个SID列表或者多个带权重的SID列表组成。SRv6 TE Policy选择某条候选路径后,会根据SID列表的权重,在候选路径的多个SID列表间进行负载分担。

1.1.3  SRv6 TE Policy的BSID

SRv6 TE Policy还存在Binding SID(BSID)属性。BSID是SRv6 TE Policy Headend上的一个特殊的本地SRv6 SID。BSID关联了SRv6 TE Policy中的一条候选路径或者关联了一个SRv6 TE Policy。如果报文的目的地址是某个SRv6 TE Policy的BSID,则该报文可以被引导到SRv6 TE Policy的主用候选路径中转发。因此,从编程的角度看,如果把SRv6 TE Policy作为一种网络服务,如果希望通过该SRv6 TE Policy的某个候选路径转发业务流量,那么BSID就是业务调用这个网络服务的接口。在RFC相关标准和草案中,为了在不同的数据平面可以调用SRv6 TE Policy这种网络服务,BSID的形式既可以是一个SRv6 SID(IPv6地址),也可以是MPLS标签。

作为一个SRv6 SID,BSID的转发行为是End.B6(Endpoint Bound to an SRv6 TE Policy,引流到一个SRv6 TE Policy),End.B6的转发行为又包括End.B6.Insert和End.B6.Encaps等类型。关于End.B6的SRv6 SID的详细介绍,请参见“Segment Routing配置指导”中的“SRv6”。

1.1.4  SRv6 TE Policy

SRv6 TE Policy组是一组具有相同End-point的SRv6 TE Policy的集合。通过SRv6 TE Policy组转发的流量可以根据报文的DSCP或其他标识信息映射到SRv6 TE Policy组中不同Color值的SRv6 TE Policy中转发,根据业务的不同标识信息,实现差异化引流和转发控制。

SRv6 TE Policy组由Group ID标识,同时也存在BSID、Color和End-point属性:

·     BSID:SRv6 TE Policy组入节点的SID,可以用于将流量引入SRv6 TE Policy组。

·     Color:SRv6 TE Policy组携带的扩展团体属性,携带相同Color属性的BGP路由可以迭代到该SRv6 TE Policy组。

·     End-point:SRv6 TE Policy组目的节点的IPv6地址。如果SRv6 TE Policy和SRv6 TE Policy组的End-point相同,则该SRv6 TE Policy属于这个SRv6 TE Policy组。

SRv6 TE Policy组可以通过如下方式创建:

·     通过命令行手工创建

采用该方式时,需要手工配置SRv6 TE Policy组的目的节点地址。

·     通过ODN功能自动创建

创建SRv6 TE Policy组的ODN模板后,当设备收到BGP路由时,如果该BGP路由携带的Color扩展团体属性与ODN模板的Color值相同,则以该BGP路由的下一跳地址作为SRv6 TE Policy组的目的节点地址,以ODN模板的Color值作为SRv6 TE Policy组的Color属性,生成一个SRv6 TE Policy组。设备将在未分配的组ID中,选择最小的组ID分配给该SRv6 TE Policy组。

1.2  SRv6 TE Policy的生成和算路

1.2.1  SRv6 TE Policy生成和算路概述

一个完整有效的SRv6 TE Policy组成比较复杂,如果说Headend、Color和End-point三元组标识了SRv6 TE Policy的“身份”,候选路径和SID列表则定义了SRv6 TE Policy的转发路径。

生成SRv6 TE Policy包括定义该SRv6 TE Policy的Headend、Color和End-point三元组标识,为SRv6 TE Policy提供一个有效的“身份”。SRv6 TE Policy算路才能得到SRv6 TE Policy候选路径中的SID列表。因此,SRv6 TE Policy生成和算路可以是两个非耦合的过程。

可以通过采用以下方式来生成SRv6 TE Policy:

·     通过NETCONF或命令行手工配置SRv6 TE Policy和候选路径。

·     通过BGP IPv6 SR Policy路由学习SRv6 TE Policy和候选路径。

·     通过PCEP协议学习SRv6 TE Policy和候选路径。

·     通过ODN功能自动创建SRv6 TE Policy和候选路径。

为候选路径建立SID列表实现SRv6 TE Policy算路的方式包括:

·     通过NETCONF或命令行创建;

·     采用动态计算的路径建立SID列表;

·     采用PCE计算的路径建立SID列表

例如,手工配置SRv6 TE Policy的Color、End-point、候选路径、候选路径的优先级、候选路径的SID列表及其权重后,可以在该SRv6 TE Policy中采用动态计算的路径为其他候选路径建立SID列表。

为了通过BGP和PCEP来生成SRv6 TE Policy和SRv6 TE Policy的算路功能,在控制平面PECP协议、BGP-LS和BGP IPv6 SR Policy均为SRv6 TE Policy进行了协议扩展支持。

1.2.2  SRv6 TE Policy创建方式

SRv6 TE Policy可以通过如下方式创建:

·     通过命令行手工创建

采用该方式时,需要手工配置候选路径、候选路径的优先级、候选路径的SID列表及其权重。

·     通过SRv6 TE Policy路由学习

为了支持SRv6 TE Policy,MP-BGP定义了新的子地址族——BGP IPv6 SR Policy地址族,并新增了SRv6 TE Policy NLRI(Network Layer Reachability Information,网络层可达性信息),即BGP IPv6 SR Policy路由。BGP IPv6 SR Policy路由中包含SRv6 TE Policy的相关配置,包括BSID、Color、Endpoint、候选路径优先级、SID列表和SID列表的权重等。

在设备间建立BGP IPv6 SR Policy对等体后,设备可以将本地配置的SRv6 TE Policy通过BGP IPv6 SR Policy路由发布到对端。对端设备根据接收到的BGP IPv6 SR Policy路由生成对应的SRv6 TE Policy。

·     通过ODN功能自动创建

创建ODN(On-Demand Next-Hop,按需下一跳)模板后,如果设备接收到的BGP路由携带的Color扩展团体属性与ODN模板的Color值相同,则以该BGP路由的下一跳地址作为SRv6 TE Policy的目的节点地址,以ODN模板的Color值作为SRv6 TE Policy的Color属性,自动创建一个SRv6 TE Policy。该SRv6 TE Policy会在指定Locator段内自动申请一个BSID。由ODN功能自动创建的SRv6 TE Policy下可以手工创建候选路径。

1.3  SRv6 TE Policy引流

可以通过多种方式将流量直接引入到SRv6 TE Policy转发,其中包括:

·     基于BSID引流

·     基于Color引流

·     基于CBTS引流

·     自引流功能

·     其他引流方式

也可以将流量先引入到SRv6 TE Policy组中,再基于SRv6 TE Policy组转发类型和映射关系,将流量间接引入到SRv6 TE Policy,其中包括:

·     基于DSCP引流

·     基于TE class ID引流

·     基于APN ID引流

1.3.1  基于BSID引流

如果接收到的报文的目的IPv6地址为某个SRv6 TE Policy的BSID,则通过该SRv6 TE Policy转发该报文。基于BSID引流通常用于SID缝接场景,通过在某个SRv6 TE Policy的SID列表中加入另一个SRv6 TE Policy的BSID,可以在流量转发过程中减少报文SRH头的长度,实现不同SRv6 TE Policy之间的缝接。

1.3.2  基于Color引流

1. Color引流机制

Color引流是直接基于路由的扩展团体属性Color和目的地址,将流量引入到SRv6 TE Policy转发。如果设备上存在Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址完全相同的SRv6 TE Policy,则将该BGP路由迭代到SRv6 TE Policy。当设备收到匹配该BGP路由的报文时,会通过SRv6 TE Policy转发该报文。

2. Color引流的工作过程示例

图1-2所示组网中,Color引流的过程为:

(1)     通过控制器向源节点A下发SRv6 TE Policy 1,其Color为100,Endpoint是设备H的地址5::5。

(2)     设备H将BGP VPNv4路由2.2.2.2/32发送给源节点设备A。该路由的Color扩展团体属性值为100,下一跳为设备H的地址5::5。

(3)     当源节点A收到BGP VPNv4路由2.2.2.2/32后,根据Color扩展团体属性100和下一跳地址5::5,将该路由迭代到SRv6 TE Policy 1。匹配该BGP路由的报文会通过SRv6 TE Policy 1转发。

图1-2 Color引流示意图

 

1.3.3  基于DSCP引流

1. DSCP引流机制

根据报文的DSCP值将报文引流到SRv6 TE Policy时,需要先部署SRv6 TE Policy组。SRv6 TE Policy组由多个Color属性不同,但Endpoint地址相同的SRv6 TE Policy组成。

基于DSCP引流的工作机制为:

(1)     将Color属性不同的多个SRv6 TE Policy加入到一个SRv6 TE Policy组,并指定DSCP值与Color属性的映射关系。

(2)     采用以下任意一种方式,均可实现引流到SRv6 TE Policy组:

¡     配置隧道策略,在隧道策略中将指定的目的地址与SRv6 TE Policy组绑定,从而实现去往该目的地址的流量引入到SRv6 TE Policy组转发。

¡     配置隧道策略,在隧道策略中指定SRv6 TE Policy组为优先隧道,当路由的下一跳地址为SRv6 TE Policy组的目的节点地址时,流量优先引入到SRv6 TE Policy组中转发。

¡     查找到Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址匹配的SRv6 TE Policy组后,将该BGP路由迭代到SRv6 TE Policy组。

(3)     根据报文的DSCP值查找与其关联的Color属性,再通过Color属性匹配到SRv6 TE Policy组中的某个SRv6 TE Policy。这样,就形成了DSCP->Color->SRv6 TE Policy的映射关系,实现携带指定DSCP的报文通过指定SRv6 TE Policy转发。

2. DSCP引流工作过程示例

图1-3所示,DSCP引流过程为:

(1)     通过控制器向源节点A下发SRv6 TE Policy,SRv6 TE Policy 1的Color是100,EndPoint是设备H的地址5::5;SRv6 TE Policy 2的Color是200,EndPoint也是设备H的地址5::5。

(2)     设备H将BGP VPNv4路由2.2.2.2/32发送给源节点设备A,下一跳地址为5::5。

(3)     在源节点设备A上创建SRv6 TE Policy组111,其EndPoint为设备H的地址5::5。在SRv6 TE Policy组内创建Color和DSCP映射关系,Color 100映射为DSCP 10,Color 200映射为DSCP 20。之后在源节点A上配置隧道策略,将SRv6 TE Policy组与目的地址2.2.2.2绑定。

(4)     源节点A根据报文的目的地址,查找到匹配的隧道绑定策略,进而关联到SRv6 TE Policy组。然后根据报文的DSCP值查找映射的Color,再根据Color匹配到SRv6 TE Policy组里具体的某一个SRv6 TE Policy。在该SRv6 TE Policy中选择最优的候选路径,并按照候选路径中SID List将DSCP值为10的报文按B -> C -> D -> H路径转发,从而实现报文的DSCP引流。

图1-3 DSCP引流示意图

 

1.3.4  基于TE class ID引流

1. TE class ID引流机制

TE class ID是一种设备的本地标识,可以通过remark te-class命令来标识流量的TE class ID。相较于关于service-class,TE class ID数量更多,且基于TE class ID的引流还可以实现SRv6 TE Policy的智能策略路由功能。remark te-class命令的详细介绍,请参见“ACL和QoS命令参考”中的“QoS”。根据报文的TE class ID标识将报文引流到SRv6 TE Policy时,需要部署SRv6 TE Policy组。SRv6 TE Policy组由多个Color属性不同,但Endpoint地址相同的SRv6 TE Policy组成。

基于TE class ID引流的工作机制为:

(1)     将Color属性不同的多个SRv6 TE Policy加入到一个SRv6 TE Policy组,并指定TE class ID值与Color属性的映射关系。

(2)     采用以下任意一种方式,均可实现引流到SRv6 TE Policy组:

¡     配置隧道策略,在隧道策略中将指定的目的地址与SRv6 TE Policy组绑定,从而实现去往该目的地址的流量引入到SRv6 TE Policy组转发。

¡     配置隧道策略,在隧道策略中配置SRv6 TE Policy组为优先隧道,当路由的下一跳地址为SRv6 TE Policy组的目的节点地址时,流量优先引入到SRv6 TE Policy组中转发。

¡     查找到Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址匹配的SRv6 TE Policy组后,将该BGP路由迭代到SRv6 TE Policy组。

(3)     根据报文的TE class ID标识查找与其关联的Color属性,再通过Color属性匹配到SRv6 TE Policy组中的某个SRv6 TE Policy。这样,就形成了TE class ID->Color->SRv6 TE Policy的映射关系,实现携带指定TE class ID标识的报文通过指定SRv6 TE Policy转发。

2. TE class ID引流工作过程示例

图1-4所示,TE class ID引流过程为:

(1)     通过控制器向源节点A下发SRv6 TE Policy,SRv6 TE Policy 1的Color是100,EndPoint是设备H的地址5::5;SRv6 TE Policy 2的Color是200,EndPoint也是设备H的地址5::5。

(2)     设备H将BGP VPNv4路由2.2.2.2/32发送给源节点设备A,下一跳地址为5::5。

(3)     在源节点设备A上创建SRv6 TE Policy组111,其EndPoint为设备H的地址5::5。在SRv6 TE Policy组内创建Color和TE class ID映射关系,Color 100映射为TE class ID 1,Color 200映射为TE class ID 2。之后在源节点A上配置隧道策略,将SRv6 TE Policy组与目的地址2.2.2.2绑定。

(4)     源节点A根据报文的目的地址,查找到匹配的隧道绑定策略,进而关联到SRv6 TE Policy组,然后根据报文的TE class ID标识查找映射的Color,再根据Color匹配到SRv6 TE Policy组里具体的某一个SRv6 TE Policy,在该SRv6 TE Policy中选择最优的候选路径,并按照候选路径中SID List将TE class ID值为1的报文按B -> C -> D -> H路径转发,从而实现报文的TE class ID引流。

图1-4 TE class ID引流示意图

 

1.3.5  基于APN ID引流

APN ID是APN6(Application-aware IPv6 Networking,应用感知型IPv6网络)中定义的一种应用的标识信息,网络设备基于APN ID来区分不同应用的业务流。关于基于APN ID引流的详细介绍,请参见“1.6  SRv6 TE Policy在APN6网络中的应用”。

1.3.6  基于CBTS引流

1. 基于CBTS引流机制

SRv6 TE Policy CBTS(Class-based Tunnel Selection,基于服务类型的隧道选择)是一种SRv6 TE Policy隧道的选择方式。有别于传统的隧道选择方式,CBTS可以基于流量的转发类选择对应的隧道进行转发,以便为不同的业务提供不同的转发服务。

基于CBTS引流也是通过报文的service-class标识来实现,但相较于基于service-class引流,基于CBTS引流无需引流到SRv6 TE Policy组。

SRv6 TE Policy CBTS工作原理为:

·     对需要经过SRv6 TE Policy转发的流量,通过流分类进行匹配,将不同业务的流量映射成不同的转发类。

·     在SRv6 TE Policy视图下直接配置隧道转发类(service-class属性),映射到指定转发类的业务流量可以通过具有对应转发类的SRv6 TE Policy隧道转发。

SRv6 TE Policy CBTS的优选规则为:

·     设备会优先选择与流量的转发类值相同的SRv6 TE Policy转发该流量。

·     如果存在多条与流量的转发类值相同的SRv6 TE Policy,只有一条流且为逐流负载分担则随机选择一个SRv6 TE Policy转发流量;有一条流但是为逐包负载分担或有多条流,则流量在相同转发类的SRv6 TE Policy间进行负载分担。

·     如果没有与流量的转发类值相同的SRv6 TE Policy,则选择隧道优先级最低的SRv6 TE Policy转发流量。SRv6 TE Policy转发类的取值越小,隧道转发的优先级越低,没有配置转发类的隧道优先级最低。

图1-5所示,隧道的选择原则为:

·     从Device A到Device B转发类值为3的流量通过SRv6 TE Policy B转发。

·     从Device A到Device B转发类值为6的流量通过SRv6 TE Policy C转发。

·     从Device A到Device B转发类值为4的流量通过SRv6 TE Policy A转发。

·     从Device A到Device B未配置转发类的流量通过SRv6 TE Policy A转发。

图1-5 SRv6 TE Policy CBTS示意图

 

2. CBTS引流工作过程示例

图1-6所示,基于CBTS引流的工作过程为:

(1)     通过控制器向源节点A下发SRv6 TE Policy,SRv6 TE Policy 1的Color是100,Service-class为1,EndPoint是设备H的地址5::5;SRv6 TE Policy 2的Color是200,Service-class为2,EndPoint也是设备H的地址5::5。

(2)     设备H将BGP VPNv4路由2.2.2.2/32发送给源节点设备A,下一跳地址为5::5。

(3)     在源节点A根据报文的五元组等特征,使用QoS策略标记报文的Service-class值。

(4)     被源节点A标记为Service-class为1的报文通过SRv6 TE Policy 1转发;被源节点A标记为Service-class为2的报文通过SRv6 TE Policy 2转发。

图1-6 图16 CBTS引流示意图

 

1.3.7  自引流功能

自引流是指将SRv6 TE Policy隧道或SRv6 TE Policy组发布到IGP(OSPFv3或IS-IS)路由中,让SRv6 TE Policy隧道或SRv6 TE Policy组参与IGP路由的计算,使得流量可以通过SRv6 TE Policy隧道或SRv6 TE Policy组转发。

自动引流目前仅支持IGP Shortcut方式,也称为自动路由宣告(AutoRoute Announce)。该功能将SRv6 TE Policy或SRv6 TE Policy组当作一条直接连接隧道Ingress节点(头节点)和Egress节点(尾节点)的链路,在隧道的Ingress节点上进行IGP路由计算时考虑该SRv6 TE Policy或SRv6 TE Policy组。

IGP Shortcut功能不会通过IGP路由协议将SRv6 TE Policy隧道或SRv6 TE Policy组作为一条链路发布给邻居。因此,其他设备在路由计算时不会考虑SRv6 TE Policy隧道或SRv6 TE Policy组。

说明

通过自引流方式将流量引入到SRv6 TE Policy组后,流量将在SRv6 TE Policy组内基于DSCP或Dot1p引流方式查找匹配的SRv6 TE Policy,通过该SRv6 TE Policy转发流量。

 

例如,在图1-7中,Device D到Device C之间存在一条SRv6 TE Policy隧道,IGP Shortcut可以使源节点Device D在计算IGP路由时利用这条隧道,从而将进入Device D的报文引到Device D与Device C之间的SRv6 TE Policy隧道上。

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

 

1.3.8  其他引流方式

还可以根据具体场景和配置,通过如下方式将流量引入到SRv6 TE Policy:

·     基于隧道策略引流:MPLS L3VPN、EVPN L3VPN、EVPN VPLS或EVPN VPWS组网中,通过部署隧道策略,将SRv6 TE Policy作为公网隧道来转发私网报文。隧道策略的详细介绍请参见“MPLS配置指导”中的“隧道策略”。

·     基于静态路由引流:配置静态路由迭代到SRv6 TE Policy,如果设备收到匹配该静态路由的报文,则通过指定SRv6 TE Policy转发该报文。

·     基于QoS策略引流:通过QoS策略将流量重定向到SRv6 TE Policy,如果设备收到匹配该QoS策略流分类规则的报文,则通过指定SRv6 TE Policy转发该报文。有关QoS策略的详细介绍,请参见“ACL和QoS配置指导”中的“QoS”。

·     基于Flowspec引流:通过Flowspec路由将流量重定向到SRv6 TE Policy,如果设备收到匹配该Flowspec路由规则的报文,则通过指定SRv6 TE Policy转发该报文。有关Flowspec的详细介绍,请参见“ACL和QoS配置指导”中的“Flowspec”。

1.4  SRv6 TE Policy流量转发

1.4.1  SRv6 TE Policy选路原则

数据报文引流到SRv6 TE Policy后,在SRv6 TE Policy中选择路径的过程为:

(1)     在SRv6 TE Policy中选择优先级取值最大的有效候选路径转发流量。

(2)     在优先级取值最大的有效候选路径的各个SID列表间进行WECMP(Weighted ECMP,权重负载分担),即基于权重对通过SRv6 TE Policy转发的流量进行负载分担。假设候选路径中包含n个有效SID列表,第x个SID列表的权重为Wight x,则第x个SID列表转发流量的比例为Weight x/(Weight 1+Weight 2+…+Weight n)。

图1-8所示,根据BSID选择有效的SRv6 TE Policy转发流量,再选取优先级取值最大的有效候选路径转发流量。该候选路径中有两个有效的SID列表:SID List 1和SID List 2,其权重分别为20和80。通过该SRv6 TE Policy转发流量时,SID List 1和SID List 2转发的流量占比分别为1/5和4/5。

图1-8 SRv6 TE Policy转发流量时选路过程示意图

 

1.4.2  SRv6 TE Policy报文转发过程

SRv6 TE Policy中的报文支持Encaps和Insert封装方式。Encaps封装方式是指在原始报文外层再封装新的IPv6头和SRH扩展头,Insert封装方式则是在原始报文IPv6头之后插入SRH扩展头。

根据封装方式的差异,报文转发过程稍有不同。

1. Encaps封装方式的SRv6 TE Policy报文转发

图1-9所示,以SID缝接场景中基于BSID引流为例,SRv6 TE Policy的报文转发过程为:

(1)     Device A将流量引入到SRv6 TE Policy A转发。SRv6 TE Policy A的SID中引入了SRv6 TE Policy B的BSID 20::2。根据SRv6 TE Policy A为报文封装SRH头,SRH头携带的SID列表为{10::2, 20::2, 50::2}。其中,10::2为Device B的End SID;50::2为Device F的End SID。

(2)     Device A将封装后的报文发送给下一跳Device B。

(3)     Device B收到报文后,根据SRH获取到下一跳为Device C,将报文发送给Device C。

(4)     Device C收到报文后发现报文的目的地址为20::2,为本地SRv6 TE Policy B的BSID。SRv6 TE Policy B的封装方式为Encaps模式。因此Device C根据SRv6 TE Policy B为报文再封装一个外层IPv6头和SRH,SRH头携带的SID列表为{30::2, 40::2}。其中,30::2为Device D的End SID;40::2为Device E的End SID。外层IPv6头的目的地址更新为30::2,下一跳为Device D,将报文发送给Device D。

(5)     Device D收到报文后,根据外层SRH获取到下一跳为Device E,将报文发送给Device E。

(6)     Device E收到报文后,检查外层SRH头中的SL值,发现SL=0。对报文的外层IPv6头和SRH头进行解封装,删除封装报文头,再根据内层报文的目的地址将报文发送给Device F。

(7)     Device F收到报文后,检查外层SRH头中的SL值,发现SL=0,Device F是SRv6 TE Policy A的尾节点,对报文的外层IPv6头和SRH头进行解封装,删除封装报文头。

图1-9 Encaps封装方式的SRv6 TE Policy报文转发过程示意图

 

2. Insert封装方式的SRv6 TE Policy报文转发

图1-10所示,以SID缝接场景中基于BSID引流为例,SRv6 TE Policy的报文转发过程为:

(1)     Device A将流量引入到SRv6 TE Policy A转发。为了减少SRH封装的长度,SRv6 TE Policy A的SID中引入了SRv6 TE Policy B的BSID 20::2。根据SRv6 TE Policy A为报文封装SRH头,SRH头携带的SID列表为{10::2, 20::2, 50::2}。其中,10::2为Device B的End SID;50::2为Device F的End SID。

(2)     Device A将封装后的报文发送给下一跳Device B。

(3)     Device B收到报文后,根据SRH获取到下一跳为Device C,将报文发送给Device C。

(4)     Device C收到报文后发现报文的目的地址为20::2,为本地SRv6 TE Policy B的BSID,SRv6 TE Policy B的封装方式为Insert模式,因此Device C根据SRv6 TE Policy B在原始IPv6报文头后插入SRH,SRH头携带的SID列表为{30::2, 40::2}。其中,30::2为Device D的End SID;40::2为Device E的End SID。外层IPv6头的目的地址更新为30::2,下一跳为Device D,将报文发送给Device D。

(5)     Device D收到报文后,根据外层SRH获取到下一跳为Device E,将报文发送给Device E。

(6)     Device E收到报文后,检查外层SRH头中的SL值,发现SL=0。对报文的外层SRH头进行解封装,再根据内层SRH更新目的地址,将报文发送给Device F。

(7)     Device F收到报文后,检查外层SRH头中的SL值,发现SL=0,Device F是SRv6 TE Policy A的尾节点,对报文的外层IPv6头和SRH头进行解封装,删除封装报文头。

图1-10 Insert封装方式的SRv6 TE Policy报文转发

 

1.5  SRv6 TE Policy的可靠性

SRv6 TE Policy通过多种功能配合来实现其流量转发的可靠性机制,包括:

·     SRv6 TE Policy支持在多条有效候选路径间的热备份功能,并且支持通过BFD检测机制来触发主备候选路径间的快速切换。

·     SRv6 TE Policy支持SRv6 TE FRR的中间节点保护功能来保护必经节点或链路。

·     在双归属的VPN组网场景中,支持尾节点保护功能。

通过以上可靠性机制的配合,流量通过SRv6 TE Policy转发时,可以实现多层次多级别的保护能力。

1.5.1  SRv6 TE Policy热备份功能

当SRv6 TE Policy中存在多条有效候选路径时,设备通过优先级最大的候选路径转发报文。如果该候选路径发生故障,则SRv6 TE Policy需要重新选择有效候选路径转发报文。由于选择新的有效候选路径会耗费一些时间,所以在切换转发路径的过程中会造成丢包,影响业务流量转发。

SRv6 TE Policy的热备份功能可以解决上述问题。SRv6 TE Policy的热备份是指通过备份候选路径对主候选路径进行保护。如果一个SRv6 TE Policy下存在多条候选路径,则优先级最高的有效候选路径作为主路径,优先级次高的有效候选路径作为备份路径。如图1-11所示,如果主路径下所有SID列表对应的转发路径都发生故障,则将流量立即切换到备份候选路径转发,以减少对业务的影响。

图1-11 SRv6 TE Policy热备份示意图

 

SRv6 TE Policy热备份功能和SRv6 TE Policy与SBFD联动配合使用时,SBFD可以同时检测SRv6 TE Policy中优先级最高和次高的两条候选路径里的所有SID列表对应的转发路径。如果优先级最高的候选路径里所有SID列表对应的转发路径都发生故障,则将流量切换到备份路径。当流量切换到备份路径后,会再次重新计算主备路径。原备份路径将作为主路径,并重新选择一个有效的候选路径作为新的备份路径。当主备路径同时故障时,SRv6 TE Policy将重新计算主备路径。

1.5.2  SRv6 TE Policy与BFD联动

1. SRv6 TE Policy与echo BFD联动

echo BFD方式检查SRv6 TE Policy时,无需在本地和Reflector端配置相同的标识符。相较于SBFD检查SRv6 TE Policy,echo BFD方式的配置更简单,无需规划本地和远端标识符。

echo BFD检测SRv6 TE Policy的过程如下:

(1)     头节点发送BFD echo报文,BFD echo报文封装SRv6 TE Policy中的SID列表。

(2)     尾节点收到BFD echo报文后,通过IPv6路由的最短路径将BFD echo报文转发回头节点。

(3)     如果头节点在检测时间超时前能够收到尾节点转发回的BFD echo报文,则认为SRv6 TE Policy的SID列表正常。否则,头节点认为SID列表故障。如果主路径下的所有SID列表都发生故障,则BFD触发主备路径切换。

echo报文方式的BFD对SRv6 TE Policy进行检测时,如果被选中的候选路径中存在多个SID列表,则SRv6 TE Policy会建立多个BFD会话分别用来检测每一个SID列表对应的转发路径。

echo BFD方式检查SRv6 TE Policy时,BFD报文支持Insert和Encaps的两种封装方式,缺省情况下,BFD报文采用Insert封装方式。

图1-12所示,在Device A上配置SRv6 TE Policy,并使用echo报文方式的BFD检测该SRv6 TE Policy。BFD报文采用缺省的Insert封装方式时,Device A将构造特殊的BFD报文,BFD报文的源地址为Device A的本地IPv6地址a,且将该IPv6地址a插入到SID列表中SL=0的位置。Device D接收到BFD报文,更新IPv6报文头的目的地址为a,并根据IPv6地址a查找IPv6路由表把报文环回给Device A。

说明

关于BFD报文源地址的选取请参见“2.13  开启SRv6 TE Policy的echo报文方式的BFD检测功能”。

 

图1-12 echo报文方式的BFD会话检测SRv6 TE Policy(Insert封装)

 

图1-13所示,在Device A上配置SRv6 TE Policy,并使用echo报文方式的BFD检测该SRv6 TE Policy,BFD报文采用Encaps封装方式时,Device A先构造BFD报文,该BFD报文的源地址和目的地址均为Device A的本地IPv6地址a,Device A在BFD报文外层再封装一个IPv6头和SRH头,外层IPv6头的源地址为encapsulation source-address命令指定的IPv6地址,SRH头中包含SRv6 TE Policy的SID列表。Device D接收到BFD报文时,将外层IPv6头和SRH头解封装,并根据地址a查找IPv6路由表把报文环回给Device A。

说明

关于BFD报文的源地址的选取请参见“2.13  开启SRv6 TE Policy的echo报文方式的BFD检测功能”。

 

图1-13 echo报文方式的BFD会话检测SRv6 TE Policy(Encaps封装)

 

2. SRv6 TE Policy与SBFD联动

SRv6 TE Policy不会通过设备之间互相发送的消息来维持自身状态,可以利用SBFD(Seamless BFD,无缝BFD)来检测SRv6 TE Policy路径的故障。通过SBFD检测SRv6 TE Policy的连通性,可以提供毫秒级的故障检测速度,并实现快速的故障切换。

SBFD检测SRv6 TE Policy的过程如下:

(1)     头节点作为Initiator发送SBFD报文,SBFD报文封装SRv6 TE Policy中的SID列表。

(2)     作为Reflector的尾节点收到SBFD报文后,检查报文中携带的远端标识符是否与本地配置的标识符一致。如果一致,Reflector将通过IPv6路由向Initiator发送SBFD响应报文。如果不一致,Reflector将丢弃收到的SBFD报文。

(3)     如果头节点在检测时间超时前能够收到SBFD响应报文,则认为SRv6 TE Policy的SID列表正常。否则,头节点认为SID列表故障。

SBFD对SRv6 TE Policy进行检测时,如果被选中的候选路径中存在多个SID列表,则SRv6 TE Policy会建立多个SBFD会话分别用来检测每一个SID列表对应的转发路径。

SBFD方式检查SRv6 TE Policy时,SBFD报文支持Insert和Encaps的两种封装方式,缺省情况下,SBFD报文采用Insert封装方式。

图1-14所示,在Device A上配置SRv6 TE Policy,并使用SBFD检测该SRv6 TE Policy。SBFD报文采用缺省的Insert封装方式时,Device A将构造SBFD报文,SBFD报文的源地址为Device A的本地IPv6地址a,同时将SRv6 TE Policy的End-point地址e插入到SID列表中SL=0的位置。Device D接收到SBFD报文时,将IPv6头和SRH头解封装,根据SBFD报文的源地址a查找IPv6路由表,重新构造SBFD报文返回给Device A。

图1-14 SBFD for SRv6 TE Policy检测过程(Insert封装)

 

图1-15所示,在Device A上配置SRv6 TE Policy,并使用SBFD检测该SRv6 TE Policy。SBFD报文采用Encaps封装方式时,Device A将构造SBFD报文,SBFD报文的源地址为Device A的本地IPv6地址a,将SRv6 TE Policy的End-point地址e作为SBFD报文的目的地址,同时在SBFD报文外层再封装一个IPv6头和SRH头,IPv6头的源地址仍为a。Device D接收到SBFD报文时,将外层IPv6头和SRH头解封装,根据SBFD报文的源地址a查找IPv6路由表,重新构造SBFD报文返回给Device A。

图1-15 SBFD for SRv6 TE Policy检测过程(Encaps封装)

 

3. BFD检测SRv6 TE Policy指定回程路径

如果SRv6 TE Policy的头节点和尾节点之间存在多个SRv6 TE Policy,通过BFD echo方式检测这些SRv6 TE Policy连通性时,缺省情况下,BFD echo回程报文均通过IP路径转发,一旦中间设备故障,则回程报文会被丢弃,导致BFD会话down,从而错误地认为所有SRv6 TE Policy的SID列表故障。

为了解决上述问题,可以使BFD echo回程报文按照SRv6 TE Policy的指定SID列表转发,以确保连通性。通常情况下,通过BFD echo检测SRv6 TE Policy时指定的回程路径与去程路径一致,这种场景被称为BFD的来回路径一致。

目前,可以通过以下方式来指定BFD echo的回程路径:

·     指定反向BSID的方式。

图1-16所示,BFD echo检测SRv6 TE Policy时采用指定反向BSID的方式指定回程路径,并且采用缺省的Insert封装方式,具体实现流程如下:

(1)     在Device A和Device D上分别建立一个SRv6 TE Policy,SRv6 TE Policy AtoD和SRv6 TE Policy DtoA。SRv6 TE Policy AtoD的转发路径为A > B > C > D,SRv6 TE Policy DtoA的转发路径为D > F > E > A。在Device D上为SID列表D > F > E > A指定Local BSID为x。

(2)     在Device A上开启BFD检测SRv6 TE Policy AtoD,为BFD echo回程报文的指定Reverse BSID为x,x等于Device D上指定的Local BSID。Device A发送BFD echo报文时,将Reverse BSID封装在BFD echo报文SRH头部SID列表中SRH[1]的位置。

(3)     Device D接收到BFD echo报文时,获取当前SL=1,目的地址为x。x与本地SID列表D > F > E > A指定的Local BSID相同,因此Device D为回程的BFD echo报文插入新的SRH,其中SRH携带了Local BSID对应的SID列表。

(4)     回程报文按照SID列表中指定的路径D > F > E > A返回Device A。

图1-16 BFD检测SRv6 TE Policy指定回程路径示意图(反向BSID)

 

1.5.3  SRv6 TE Policy中间节点保护

1. 保护路径失效场景

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

图1-17 保护路径失效场景

 

2. 中间节点保护(SRv6 TE FRR)

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

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

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

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

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

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

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

·     代理转发节点将报文中SRH的SL减1;

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

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

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

图1-18 中间节点故障保护示意图

 

图1-18例,流量引入SRv6 TE Policy后,报文沿着SID列表{d, f}转发。节点D故障时,中间节点故障的保护过程如下:

(1)     节点D故障时,上游节点B快速感知到报文下一跳节点故障,此时,SL>0,且满足作为代理转发节点转发报文的条件,即下一跳报文目的地址d,该目的地址对应的出接口状态为DOWN。因此,节点B执行代理转发行为,将SL减1,并将下层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。

3. 源节点的特殊处理

如果SRv6 TE Policy的源节点A感知到节点D故障,即SRv6 TE Policy的SID列表中的第一个SID不可达,则源节点A会将SRv6 TE Policy置为down状态。此时,设备既无法通过该SRv6 TE Policy转发报文,也无法触发SRv6 TE FRR。

通过开启SRv6 TE Policy的备份路径功能,可以解决上述问题。开启SRv6 TE Policy的备份路径功能后,如果SRv6 TE Policy的SID列表中的第一个SID不可达,则设备生成一条目的地址为SID列表中第一个SID、出接口为NULL0的路由,保证该SRv6 TE Policy处于up状态,以触发SRv6 TE FRR。

当节点A触发SRv6 TE FRR后,节点A需要将SL减1,并将下层SID f更新到外层IPv6报文头作为报文的目的地址,然后根据目的地址查找路由表将报文转发到节点B。节点B收到报文后,处理方式如下:

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

·     如果节点B上路由未收敛(到达节点F的路由主下一跳为节点D),则按照TI-LFA计算的备份路径转发到节点F。

1.5.4  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节点上具有相同的转发表项。

提示

EVPN VPLS over SRv6/EVPN VPWS over SRv6双归属单活组网不支持SRv6 TE Policy尾节点保护功能。

SRv6尾节点保护不仅对SRv6 TE Policy作为隧道的场景有效,对SRv6 BE转发方式的组网场景也有效果。

 

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

图1-19 SRv6尾节点保护示意图

 

1. 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)     MPLS/EVPN L3VPN over SRv6 TE Policy尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息,查找远端SRv6 SID。根据查找到的远端SRv6 SID查询远端SRv6 SID与VPN实例的映射表,找到对应VPN实例。在PE 4上对应VPN实例的路由表中查表转发。

(2)     EVPN VPWS over SRv6 TE Policy尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息,查找远端SRv6 SID。根据查找到的远端SRv6 SID查询远端SRv6 SID与交叉连接的映射表,找到对应交叉连接。在PE 4上根据该交叉连接关联的AC转发报文。远端SRv6 SID类型仅支持End.DX2 SID。

(3)     EVPN VPLS over SRv6 TE Policy尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息,查找远端SRv6 SID。根据查找到的远端SRv6 SID查询远端SRv6 SID与VSI的映射表,找到对应VSI。在PE 4上对应VSI内查找MAC地址表转发。远端SRv6 SID类型仅支持End.DT2U SID。

2. 远端SRv6 SID

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

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

3. 路由发布

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

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

(1)     PE 4通过IS-ISv6路由向邻居P 1发布End.M SID和被保护的Locator,同时PE 4上生成End.M SID的Local 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列表的最后。

图1-20所示,PE 4上远端SRv6 SID与VPN实例的映射表生成过程为:

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

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

4. 报文转发

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

图1-20 SRv6 TE Policy尾节点保护转发示意图

 

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

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

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

1.6  SRv6 TE Policy在APN6网络中的应用

1. APN6简介

APN6(Application-aware IPv6 Networking,应用感知型IPv6网络)是一种新型的网络。APN6利用了IPv6报文的DOH(Destination Option Header,目的选项报文头)来携带应用信息,从而使网络可以识别应用,并且感知应用对网络的需求,进而为不同的应用业务提供精准且差异化的网络服务。

IETF定义了DOH中携带的应用信息包括以下两类:

·     APN ID:应用的标识信息,网络设备基于APN ID来区分不同应用的业务流。

·     APN Parameters:应用的需求参数信息,网络设备通过APN Parameters感知该应用的业务流对网络质量的需求,包括该应用要求的带宽、时延、抖动、丢包率等需求。

在APN6网络中应用SRv6 TE Policy、SRv6网络切片、SRv6 SFC和iFiT等技术,设备可以根据报文的应用信息实现灵活选路,并且监控关键应用业务的实时网络质量。关于APN6的详细介绍,请参见“应用感知型网络配置指导”中的“APN6”。

2. 基于APN ID转发流量的工作原理

图1-21所示,以IPv6 L3VPN over SRv6 TE Policy组网为例,介绍在SRv6 TE Policy场景中,基于APN ID转发流量的工作原理。

图1-21 基于APN ID转发流量的工作原理示意图

 

基于APN ID转发流量的工作机制为:

(1)     设备A上创建SRv6 TE Policy组,在该SRv6 TE Policy组中创建多个Color属性不同,但Endpoint地址相同SRv6 TE Policy。指定SRv6 TE Policy组中APN ID值与Color属性的映射关系。

(2)     采用以下任意一种方式,均可实现引流到SRv6 TE Policy组:

¡     配置隧道策略,在隧道策略中将指定的目的地址与SRv6 TE Policy组绑定,从而实现去往该目的地址的流量引入到SRv6 TE Policy组转发。

¡     配置隧道策略,在隧道策略中配置SRv6 TE Policy组为优先隧道,当路由的下一跳地址为SRv6 TE Policy组的目的节点地址时,流量优先引入到SRv6 TE Policy组中转发。

¡     查找到Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址匹配的SRv6 TE Policy组后,将该BGP路由迭代到SRv6 TE Policy组。

(3)     在SRv6 TE Policy组中指定转发类型为基于APN ID转发,并建立APN ID和转发策略的映射关系,目前支持的映射关系包括:

¡     APN ID和Color属性映射:设备A将携带指定APN ID的报文引入到Color属性对应的SRv6 TE Policy中转发。图中,APN 10和SRv6 TE Policy 1建立映射关系,APN 20和SRv6 TE Policy 2建立映射关系。这样,就形成了APN ID->Color->SRv6 TE Policy的映射关系,实现携带指定APN ID的报文通过指定SRv6 TE Policy转发。

¡     APN ID和SRv6 BE转发方式映射:设备将携带指定APN ID的报文通过SRv6 BE方式转发。此时,设备A为报文封装新的IPv6报文头,IPv6报文头的目的地址为SRv6 TE Policy组的尾节点为公网或私网分配的VPN SID,设备A通过查IPv6路由表将报文从出接口转发。

说明

基于APN ID转发报文时,与SRv6 BE方式转发相比,SRv6 TE Policy转发方式具有可控的路径和更高的可靠性,并可以结合iFIT测量手段检测端到端固定转发路径的网络质量,因此,一般规划时,将SRv6 TE Policy隧道作为关键应用业务的转发方式。SRv6 BE方式转发则作为非关键业务或者无SLA需求的业务的转发方式。当指定SRv6 TE Policy隧道路径故障时,SRv6 BE方式转发可以用于流量逃生。

 

1.7  SRv6 TE Policy的智能策略路由功能

1.7.1  SRv6 TE Policy的智能策略路由功能简介

SRv6 TE Policy的智能策略路由功能是一种SRv6 TE Policy隧道动态优先技术。SRv6 TE Policy的智能策略路由功能可以根据检测到的网络质量和转发出口的带宽使用情况,从多个SRv6 TE Policy隧道中动态选取最优的SRv6 TE Policy,并使用该SRv6 TE Policy来转发指定业务流量。

SRv6 TE Policy的智能策略路由可以从两方面来优选SRv6 TE Policy隧道:

·     隧道的网络质量:根据iFIT实时测量不同SRv6 TE Policy隧道的时延、抖动和丢包等网络质量参数优选质量符合标准的SRv6 TE Policy隧道,避免业务质量劣化。

·     隧道出接口的带宽使用率:根据不同SRv6 TE Policy隧道转发出接口的带宽使用情况来优选SRv6 TE Policy隧道,提前将业务流量切换到负载较轻的SRv6 TE Policy隧道中,避免出接口的带宽使用率超限导致业务丢包。

管理员可以根据业务需求进行配置,使优选的SRv6 TE Policy同时满足隧道的网络质量和隧道出接口的带宽使用率条件。管理员也可以配置忽略隧道出接口的带宽使用率条件,仅根据隧道的网络质量来优选SRv6 TE Policy。

1. 根据SRv6 TE Policy隧道的网络质量优选隧道

图1-22所示,网络中两个节点间建立一个SRv6 TE Policy组,该SRv6 TE Policy组中存在多个SRv6 TE Policy隧道,不同SRv6 TE Policy隧道的网络质量可能各不相同且实时变化。业务流量在SRv6 TE Policy组中转发时,用户希望业务流量可以根据SRv6 TE Policy隧道的网络质量情况自动切换转发路径,从而保证业务流量转发过程中始终达到网络质量标准。

SRv6 TE Policy的IPR功能(Intelligent Policy Route,智能策略路由)借助iFIT对SRv6 TE Policy隧道的网络质量进行实时检测的能力,根据iFIT的检测结果来排除不符合网络质量标准的SRv6 TE Policy隧道,并计算出当前优先级最高的SRv6 TE Policy隧道,并引导流量从该SRv6 TE Policy隧道转发。

图1-22 根据SRv6 TE Policy隧道的网络质量优选隧道示意图

 

2. 同时根据隧道的网络质量和隧道的出接口的带宽使用率优选隧道

图1-23所示,网络中两个节点间建立一个SRv6 TE Policy组,该SRv6 TE Policy组中存在多个SRv6 TE Policy隧道,不同SRv6 TE Policy隧道的网络质量均能符合SRv6 TE Policy的智能策略路由中定义的网络质量标准,但由于网络中业务量较多,负载较重,某些出接口的带宽利用率居高不下。指定的业务流量在SRv6 TE Policy组中转发时,用户希望业务流量不仅要满足隧道的网络质量标准,还要根据SRv6 TE Policy隧道的出接口的带宽使用率自动切换转发路径,避免出接口过载导致拥塞丢包,从而保障业务流量转发的服务质量。

SRv6 TE Policy开启流量转发统计功能后,SRv6 TE Policy的IPR功能(Intelligent Policy Route,智能策略路由)通过周期性采集SRv6 TE Policy的流量转发的统计数据,计算各个SRv6 TE Policy转发出接口承载指定业务后的带宽利用率,根据计算结果排除不符合要求的SRv6 TE Policy,并选取当前优先级最高的且符合网络质量和带宽利用率要求的SRv6 TE Policy隧道,并引导流量从该SRv6 TE Policy隧道转发。

图1-23 根据SRv6 TE Policy隧道的出接口的带宽使用率优选隧道示意图

 

1.7.2  SRv6 TE Policy的智能策略路由工作机制

SRv6 TE Policy的智能策略路由需要由三个功能协同完成:

·     数据采集和统计:SRv6 TE Policy的iFIT测量功能及流量统计功能。

·     路径优选和计算:SRv6 TE Policy的IPR算路功能。

·     流量引入和转发:业务流量引入IPR模板的功能。

1. 数据采集和统计

·     SRv6 TE Policy的iFIT测量功能:如图1-24所示,通过在SRv6 TE Policy的头节点和尾节点上部署iFIT功能,测量各个SRv6 TE Policy端到端的丢包率、时延和抖动,并在头节点上分析和计算得到每个SRv6 TE Policy的实时丢包率、时延和抖动数据。SRv6 TE Policy的iFIT测量功能详细工作流程如下:

a.     SRv6 TE Policy头节点iFIT的工作模式设置为Analyzer,头节点将自动创建iFIT实例,并分配FlowID。

b.     SRv6 TE Policy头节点作为数据发送端,当报文通过SRv6 TE Policy转发时,头节点为原始报文封装携带iFIT选项字段的DOH报文头和SRH报文头,iFIT选项字段中包括标识目标流的FlowID、丢包测量染色位L、时延测量染色位D及周期标识等信息。头节点按SRv6 TE Policy的iFIT检测周期为报文的丢包测量染色位L和时延测量染色位D染色,根据报文染色信息来统计周期内通过该SRv6 TE Policy转发的报文个数,并记录周期内从该SRv6 TE Policy发送的时延测量染色位D置1报文的时间戳。

c.     尾节点iFIT的工作模式设置为Collector,作为数据接收端,需要解析报文中iFIT选项字段,得到SRv6 TE Policy的iFIT检测周期等信息,根据报文染色信息来统计SRv6 TE Policy的iFIT检测周期内从SRv6 TE Policy接收到的报文个数,并记录SRv6 TE Policy的iFIT检测周期内从该SRv6 TE Policy接收的时延测量染色位D置1报文的时间戳。

d.     尾节点通过接收到报文的源地址与头节点建立UDP会话,并将统计到的报文计数和报文时间戳通过UDP会话按照SRv6 TE Policy的iFIT检测周期返回给头节点,由头节点分析和计算通过SRv6 TE Policy转发报文的丢包率、时延和抖动。

图1-24 SRv6 TE Policy的iFIT测量功能示意图

 

·     流量统计功能:如图1-25所示,所有IPR模板中的SRv6 TE Policy均需要开启流量转发统计功能。业务流量引入到IPR模板中的某个SRv6 TE Policy中转发后,IPR可以开启带宽采样功能,周期性采集每个SRv6 TE Policy的实时流量统计信息及每个SRv6 TE Policy转发出接口的流量统计信息。

图1-25 流量统计功能

 

2. 路径优选和计算

SRv6 TE Policy的IPR算路功能:如图1-26所示,SRv6 TE Policy的头节点根据iFIT测量的不同SRv6 TE Policy的丢包率、时延和抖动数据,以及出接口的带宽利用率和SRv6 TE Policy的选路优先级,周期性计算当前最优的SRv6 TE Policy。

IPR算路需要定义IPR模板,IPR模板代表一种基于SLA(Service Level Agreement,服务水平协议)的SRv6 TE Policy选路策略,IPR模板中可以定义如下内容:

·     衡量隧道网络质量的SLA(Service Level Agreement,服务水平协议)标准:包括业务流量的时延标准、丢包标准、抖动标准和综合度量指标CMI(Composite Measure Indicator)标准。其中,综合度量指标CMI=时延(毫秒)+抖动(毫秒)+丢包率(‰)。

·     为了计算和优化隧道出接口负载情况:带宽利用率的阈值上限、业务回切的带宽利用率阈值、业务期望带宽和切换调度优先级。

·     SRv6 TE Policy的Color值和选路优先级的映射关系。选路优先级的数值越小优先级越高。

·     SRv6 TE Policy的切换时间和回切时间参数。

仅根据隧道的网络质量计算和优选路径时,IPR算路功能的详细工作机制如下:

(1)     头节点按照IPR计算周期定期进行路径计算。计算最优SRv6 TE Policy时,首先检查SRv6 TE Policy的时延、丢包率、抖动和综合度量指标都不超过IPR模板中定义的SLA标准。如果任一指标超出IPR模板中定义的SLA标准,则该SRv6 TE Policy不能作为备选的转发路径参与最优SRv6 TE Policy计算。需要注意的是SRv6 TE Policy的iFIT功能未能检测到某个SRv6 TE Policy的时延、丢包率、抖动和CMI参数,但该SRv6 TE Policy有效,则该SRv6 TE Policy仍可以作为备选路径参与路径优选。

(2)     从备选的SRv6 TE Policy中选取选路优先级数值最小的SRv6 TE Policy,作为最优SRv6 TE Policy。如果存在多个不同SRv6 TE Policy具有相同的选路优先级,流量可以在这些SRv6 TE Policy上进行负载分担。

(3)     当SRv6 TE Policy头节点计算出最优SRv6 TE Policy和业务当前使用的SRv6 TE Policy不同时,为了避免SRv6 TE Policy震荡导致业务频繁切换路径,业务流量将等待一定时间后再切换到最优的SRv6 TE Policy中转发。

图1-26 SRv6 TE Policy的IPR算路机制示意图

 

根据隧道出接口的带宽利用率计算和优选路径的IPR算路功能工作机制如下。

(1)     头节点按照IPR计算周期定期进行路径计算。计算最优SRv6 TE Policy时,IPR需要计算SRv6 TE Policy的预期平均带宽利用率。SRv6 TE Policy的预期平均带宽利用率指的是使用该SRv6 TE Policy承载新业务之后,该业务的带宽与转发出接口已使用带宽之和占转发出接口总带宽的比例,计算方式如下:

¡     如果SRv6 TE Policy的最优候选路径仅存在一个SID列表,并且该SID列表的首个SID仅存在一个出接口时,SRv6 TE Policy的预期平均带宽利用率=(业务期望带宽+该出接口的当前已使用的带宽)/该出接口的总带宽。业务期望带宽选取规则如下,优先使用当前承载该业务的SRv6 TE Policy的实时统计作为业务期望带宽。如果SRv6 TE Policy未承载指定业务或者没有统计到SRv6 TE Policy的流量时,则选择该SRv6 TE Policy视图下配置的SRv6 TE Policy业务期望带宽,如果SRv6 TE Policy视图下未配置业务期望带宽时,则选择SRv6 TE IPR模板视图下指定的SRv6 TE IPR模板的业务期望带宽。

¡     如果SRv6 TE Policy的最优候选路径存在多个SID列表,或者SID列表的首个SID存在多个等价出接口,SRv6 TE Policy的预期平均带宽利用率计算方式比较复杂,且这种情况的计算结果不能准确反映出各接口的带宽利用率,计算过程略。因此,在使用SRv6 TE Policy的智能策略路由功能,基于带宽使用情况进行SRv6 TE Policy的优选时,请管理员保证规划和创建SRv6 TE Policy的最优候选路径仅存在一个SID列表且该SID列表仅存在单个出接口。

(2)     根据计算得到所有SRv6 TE Policy的预期平均带宽利用率后,排除预期平均带宽利用率超过带宽利用率的阈值上限的SRv6 TE Policy,其他符合带宽利用率条件的SRv6 TE Policy才能作为备选路径参与路径优选。

(3)     从备选的SRv6 TE Policy中选取选路优先级数值最小的SRv6 TE Policy,作为最优SRv6 TE Policy。如果存在多个不同SRv6 TE Policy具有相同的选路优先级,流量可以在这些SRv6 TE Policy上进行负载分担。

(4)     当SRv6 TE Policy头节点计算出最优SRv6 TE Policy和业务当前使用的SRv6 TE Policy不同时,为了避免SRv6 TE Policy震荡导致业务频繁切换路径,业务流量将等待一定时间后再切换到最优的SRv6 TE Policy中转发。

注意

·     根据隧道出接口的带宽利用率优选隧道作为SRv6 TE Policy的智能策略路由功能的附加能力,可以单独关闭。因此,关闭根据隧道出接口的带宽利用率优选隧道后,IPR算路并选取的最优SRv6 TE Policy过程中,仅需要满足IPR模板中定义的时延、抖动和丢包等网络质量要求。如果开启根据隧道出接口的带宽利用率优选隧道,则还需要满足对带宽利用率的要求。

·     在使用SRv6 TE Policy的智能策略路由功能,基于带宽使用情况进行SRv6 TE Policy的优选时,建议管理员创建IPR模板引用的SRv6 TE Policy仅用于承载单一业务,不同业务不复用同一SRv6 TE Policy。例如,TE Class ID1000的业务映射到IPR模板优选的SRv6 TE Policy A(Color为100)中转发,由于IPR根据带宽使用情况进行路径调优时,使用优选的SRv6 TE Policy A实时统计流量来计算各SRv6 TE Policy的预期平均带宽利用率,如果SRv6 TE Policy A不仅仅承载了TE Class ID1000的业务还承载了其他业务,则实时统计流量不准确,预期平均带宽利用率计算也不准确。可以在源节点和尾节点间创建Color值不同的SRv6 TE Policy用于承载其他业务流量。

 

3. 流量引入和转发

业务流量引入IPR模板的流程如下:

(1)     将流量通过以下方式引入到SRv6 TE Policy组中,

¡     根据报文的目的地址匹配隧道绑定策略,关联到SRv6 TE Policy组。

¡     查找到Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址匹配的SRv6 TE Policy组后,将该BGP路由迭代到SRv6 TE Policy组。

(2)     设置SRv6 TE Policy组的转发类型为基于TE Class ID转发流量。

(3)     配置指定TE Class ID和IPR模板的映射关系。此时,业务流量将在SRv6 TE Policy组动态选取最优SRv6 TE Policy转发。


2 SRv6 TE Policy的配置

2.1  SRv6 TE Policy硬件适配关系

本特性的支持情况与设备型号有关,请以设备实际情况为准。

型号

说明

MSR610

不支持

MSR810、MSR810-W、MSR810-W-DB、MSR810-LM、MSR810-W-LM、MSR810-10-PoE、MSR810-LM-HK、MSR810-W-LM-HK、MSR810-LM-CNDE-SJK、MSR810-CNDE-SJK、MSR810-EI、MSR810-LM-EA、MSR810-LM-EI

支持

MSR810-LMS、MSR810-LUS

不支持

MSR810-SI、MSR810-LM-SI

不支持

MSR810-LMS-EA、MSR810-LME

支持

MSR1004S-5G、MSR1004S-5G-CN

支持

MSR1104S-W、MSR1104S-W-CAT6、MSR1104S-5G-CN、MSR1104S-W-5G-CN

支持

MSR2600-6-X1、MSR2600-15-X1、MSR2600-15-X1-T

支持

MSR2600-10-X1

支持

MSR 2630

支持

MSR3600-28、MSR3600-51

支持

MSR3600-28-SI、MSR3600-51-SI

不支持

MSR3600-28-X1、MSR3600-28-X1-DP、MSR3600-51-X1、MSR3600-51-X1-DP

支持

MSR3600-28-G-DP、MSR3600-51-G-DP

支持

MSR3610-I-DP、MSR3610-IE-DP、MSR3610-IE-ES、MSR3610-IE-EAD、MSR-EAD-AK770、MSR3610-I-IG、MSR3610-IE-IG

支持

MSR-iMC

支持

MSR3610-X1、MSR3610-X1-DP、MSR3610-X1-DC、MSR3610-X1-DP-DC、MSR3620-X1、MSR3640-X1

支持

MSR3610、MSR3620、MSR3620-DP、MSR3640、MSR3660

支持

MSR3610-G、MSR3620-G

支持

MSR3640-G

支持

MSR3640-X1-HI

支持

 

型号

说明

MSR810-W-WiNet、MSR810-LM-WiNet

支持

MSR830-4LM-WiNet

支持

MSR830-5BEI-WiNet、MSR830-6EI-WiNet、MSR830-10BEI-WiNet

支持

MSR830-6BHI-WiNet、MSR830-10BHI-WiNet

支持

MSR2600-6-WiNet

支持

MSR2600-10-X1-WiNet

支持

MSR2630-WiNet

支持

MSR3600-28-WiNet

支持

MSR3610-X1-WiNet

支持

MSR3620-X1-WiNet

支持

MSR3610-WiNet、MSR3620-10-WiNet、MSR3620-DP-WiNet、MSR3620-WiNet、MSR3660-WiNet

支持

 

型号

说明

MSR860-6EI-XS

支持

MSR860-6HI-XS

支持

MSR2630-XS

支持

MSR3600-28-XS

支持

MSR3610-XS

支持

MSR3620-XS

支持

MSR3610-I-XS

支持

MSR3610-IE-XS

支持

MSR3620-X1-XS

支持

MSR3640-XS

支持

MSR3660-XS

支持

 

型号

说明

MSR810-LM-GL

支持

MSR810-W-LM-GL

支持

MSR830-6EI-GL

支持

MSR830-10EI-GL

支持

MSR830-6HI-GL

支持

MSR830-10HI-GL

支持

MSR1004S-5G-GL

支持

MSR2600-6-X1-GL

支持

MSR3600-28-SI-GL

不支持

 

2.2  SRv6 TE Policy配置任务简介

SRv6 TE Policy配置任务如下:

(1)     配置通过IGP扩展通告SID

需要在所有SRv6节点执行本配置,配置方法请参见“Segment Routing配置指导”中的“SRv6”。

(2)     配置SID列表

(3)     配置SRv6 TE Policy

a.     创建SRv6 TE Policy

b.     创建候选路径并引用SID列表

c.     (可选)配置设备允许将SRv6 TE Policy的候选路径信息上报BGP-LS

d.     (可选)关闭SRv6 TE Policy

(4)     (可选)配置BGP发布BGP IPv6 SR Policy路由

a.     开启BGP发布BGP IPv6 SR Policy路由能力

b.     配置BGP引入BGP IPv6 SR Policy路由

c.     (可选)配置将BGP IPv6 SR Policy路由发布给EBGP对等体

d.     (可选)开启Router ID过滤功能

e.     (可选)开启BGP IPv6 SR Policy路由有效性检查功能

f.     (可选)控制BGP IPv6 SR Policy路由的优选和发布

g.     (可选)维护BGP会话

(5)     配置SRv6 TE Policy引流

(6)     (可选)配置SRv6 TE Policy的封装方式

(7)     (可选)配置SRv6 TE Policy的智能策略路由功能

(8)     (可选)配置SRv6 TE Policy高可靠性

¡     开启SRv6 TE Policy的SBFD功能

¡     开启SRv6 TE Policy的echo报文方式的BFD检测功能

¡     开启SRv6 TE Policy的热备份功能

¡     配置SRv6 TE Policy的慢切慢删功能

¡     配置SRv6 TE Policy中间节点保护功能

¡     配置SRv6 TE Policy尾节点保护功能

(9)     (可选)配置SRv6 TE Policy高级功能

¡     配置SRv6 TE Policy对TTL的处理模式

¡     配置SRv6 TE Policy CBTS

¡     配置SRv6 TE Policy限速功能

¡     开启SRv6 TE Policy在Policy失效时丢弃流量的功能

¡     配置根据报文封装进行路由优选

(10)     (可选)配置SRv6 TE Policy的流量转发统计功能

2.3  配置SID列表

1. 功能简介

为SRv6 TE Policy的候选路径引用手工创建的SID列表前,需要先创建SID列表,并在列表中添加节点。在SID列表中添加节点后,报文转发路径上由近到远的节点(从源节点的下一跳到目的节点)依次为SID列表中节点索引值从小到大的节点。例如,索引值最小的节点为源节点的下一跳。

为了减少SRH的开销可以在SID列表中添加G-SID,使用4个32bits G-SID代替1个普通的128bits SRv6 SID。可以在SID列表中添加携带COC标识的128bits SRv6 SID,表示当前节点的下一节点为32bits G-SID。

有关G-SID的详细介绍,请参见“Segment Routing配置指导”中的“SRv6”。

2. 配置限制和指导

在SID列表中添加G-SID时,需要保证:

·     G-SID的前一节点对应的SRv6 SID必须是End(COC32) SID或End.X(COC32) SID。

·     SID列表的最后一个节点对应的SRv6 SID不能携带COC标识。

3. 配置步骤

(1)     进入系统视图。

system-view

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

segment-routing ipv6

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

(3)     创建SRv6-TE,并进入SRv6-TE视图。

traffic-engineering

(4)     创建SID列表,并进入SID列表视图。

segment-list segment-list-name

(5)     在SID列表中添加节点。

¡     添加普通128bits SRv6 SID。

index index-number ipv6 ipv6-address

¡     添加COC标识的128bits SRv6 SID,并指定下一个G-SID的公共前缀长度。

index index-number coc32 ipv6 ipv6-address common-prefix-length

2.4  创建SRv6 TE Policy

2.4.1  手工创建SRv6 TE Policy并配置相关属性

1. 功能简介

SRv6 TE Policy由BSID(入节点的SID)、Color和End-point(目的节点IP地址)标识。

BSID获取方式如下:

·     手工配置。

·     动态获取:SRv6 TE Policy下仅配置Color和End-point时,SRv6 TE Policy会自动申请一个BSID。

手工配置优先生效。

2. 配置限制和指导

BSID必须在SRv6-TE视图下引用的Locator的静态段范围内。否则,BSID对应的SRv6 TE Policy不能用于报文转发。有关Locator的详细描述,请参见“Segment Routing配置指导”中的“SRv6”。

不同SRv6 TE Policy不能配置相同Color和目的节点地址。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     配置SRv6-TE引用Locator段。

srv6-policy locator locator-name

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

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     手工配置BSID。

binding-sid ipv6 ipv6-address

(7)     配置Color属性和目的节点地址。

color color-value end-point ipv6 ipv6-address

缺省情况下,未配置SRv6 TE Policy的Color属性和目的节点地址。

2.4.2  通过ODN自动创建SRv6 TE Policy

1. 功能简介

创建ODN模板后,如果设备接收到的BGP路由携带的Color扩展团体属性与ODN模板的Color值相同,则以该BGP路由的下一跳地址作为SRv6 TE Policy的目的节点地址,以ODN模板的Color值作为SRv6 TE Policy的Color属性,自动创建一个SRv6 TE Policy。

根据ODN模板创建SRv6 TE Policy时,可以利用IPv6地址前缀列表对BGP路由进行过滤。通过IPv6地址前缀列表过滤的BGP路由可以触发生成SRv6 TE Policy,被IPv6地址前缀列表拒绝的BGP路由不能触发建立SRv6 TE Policy。

ODN基于指定BGP路由自动创建SRv6 TE Policy后,如果该BGP路由被删除,则自动创建的SRv6 TE Policy也会被立刻删除,这样将导致通过该BGP路由转发的报文被丢弃。在BGP路由被删除后,为了避免流量丢失,可以配置延迟删除SRv6 TE Policy,待设备计算出新转发路径后,再将该SRv6 TE Policy删除。

2. 配置限制和指导

通过ODN自动创建SRv6 TE Policy后,还需要配置SRv6 TE Policy的候选路径,配置方法为:

·     手工创建Preference为100和200以外的其他候选路径,并指定该候选路径的SID列表。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     创建SRv6 TE,并进入SRv6 TE视图。

traffic-engineering

(4)     配置SRv6 TE引用Locator段。

srv6-policy locator locator-name

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

(5)     创建ODN模板,并进入SRv6 TE ODN视图。

on-demand color color-value

(6)     (可选)配置ODN生成SRv6 TE Policy的触发策略。

restrict prefix-list-name

缺省情况下,携带的Color扩展团体属性与ODN模板的Color值相同的BGP路由均会触发ODN功能生成SRv6 TE Policy。

2.5  配置设备允许将SRv6 TE Policy的候选路径信息上报BGP-LS

1. 功能简介

配置本功能后,设备将SRv6 TE Policy的候选路径信息上报BGP-LS,通过BGP-LS路由对外发布,以满足需要知道SRv6 TE Policy路径信息的应用的需求。

2. 配置准备

配置本功能前,需要开启本设备与对等体/对等体组交换LS信息的能力。有关该功能的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP LS”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     配置设备允许将SRv6 TE Policy的候选路径信息上报BGP-LS。

distribute bgp-ls

缺省情况下,不允许将SRv6 TE Policy的候选路径信息上报BGP-LS。

2.6  关闭SRv6 TE Policy

1. 功能简介

通过本功能控制SRv6 TE Policy的开启和关闭状态,从而控制该SRv6 TE Policy是否可以转发流量。

当设备存在多个SRv6 TE Policy时,可以配置本命令,关闭一些不需要的SRv6 TE Policy,避免影响流量转发。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     进入SRv6 TE Policy视图。

policy policy-name

(5)     关闭SRv6 TE Policy。

shutdown

缺省情况下,SRv6 TE Policy处于开启状态。

2.7  创建候选路径并引用SID列表

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     进入SRv6 TE Policy视图。

policy policy-name

(5)     创建SRv6 TE Policy候选路径,并进入SRv6 TE Policy候选路径视图。

candidate-paths

(6)     配置候选路径的优先级,并进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

不同的优先级代表不同的候选路径。

(7)     为指定优先级的SRv6 TE Policy候选路径配置SID列表。

explicit segment-list segment-list-name [ weight weight-value ]

一条候选路径可以引用多个SID列表。

2.8  配置BGP发布BGP IPv6 SR Policy路由

2.8.1  配置限制和指导

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

2.8.2  开启BGP发布BGP IPv6 SR Policy路由能力

(1)     进入系统视图。

system-view

(2)     配置全局Router ID。

router id router-id

缺省情况下,未配置全局Router ID。

(3)     启动BGP实例,并进入BGP实例视图。

bgp as-number [ instance instance-name ]

缺省情况下,系统没有运行BGP。

(4)     配置对等体。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(5)     创建BGP IPv6 SR Policy地址族,并进入BGP IPv6 SR Policy地址族视图。

address-family ipv6 sr-policy

(6)     使能本地路由器与指定对等体/对等体组交换BGP IPv6 SR Policy路由的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情况下,本地路由器不能与对等体/对等体组交换BGP IPv6 SR Policy路由。

2.8.3  配置BGP引入BGP IPv6 SR Policy路由

1. 功能简介

通过配置本功能,设备可以将本地的BGP IPv6 SR Policy路由引入到BGP路由表中,并将BGP IPv6 SR Policy路由发布给IBGP对等体,以便对等体根据SRv6 TE Policy转发流量。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6 SR Policy地址族视图。

address-family ipv6 sr-policy

(4)     将BGP IPv6 SR Policy路由引入到BGP路由表中。

import-route sr-policy

缺省情况下,BGP不会引入BGP IPv6 SR Policy路由。

2.8.4  配置将BGP IPv6 SR Policy路由发布给EBGP对等体

1. 功能简介

缺省情况下,BGP IPv6 SR Policy路由只能在IBGP对等体之间发布。如果需要将BGP IPv6 SR Policy路由发布给EBGP对等体,则需要执行本配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6 SR Policy地址族视图。

address-family ipv6 sr-policy

(4)     配置将BGP IPv6 SR Policy路由发布给EBGP对等体。

advertise ebgp enable

缺省情况下,BGP IPv6 SR Policy路由不发布给EBGP对等体。

2.8.5  开启Router ID过滤功能

1. 功能简介

当网络中存在大量的BGP IPv6 SR Policy路由,而设备仅希望处理部分路由时,可以通过本配置过滤接收到的BGP IPv6 SR Policy路由。

开启Router ID过滤功能后,设备将检查接收到的BGP IPv6 SR Policy路由中携带的Route Target属性。如果该属性中包含本地设备的Router ID,则接收该路由,并生成对应的SRv6 TE Policy;否则:

·     执行本命令时,如果未指定bgp-rib-only参数,则丢弃该路由。

·     执行本命令时,如果指定bgp-rib-only参数,则仅接收该路由,不生成对应的SRv6 TE Policy。

当控制器需要通过多台中间设备将BGP IPv6 SR Policy路由发布到源节点时,控制器与源节点之间的中间设备仅需要转发BGP IPv6 SR Policy路由,不需要生成SRv6 TE Policy,以节省中间设备的资源。这种情况下,可以在中间设备上配置router-id filter bgp-rib-only命令,当中间设备收到BGP IPv6 SR Policy路由后,即使该路由携带的Route Target属性中不包含本地设备的Router ID,也不会丢弃该路由,仍对该路由进行转发。同时,也不会在中间设备上生成SRv6 TE Policy,避免影响报文转发。

2. 配置限制和指导

为了正确使用本功能,需要通过路由策略等方式为BGP IPv6 SR Policy路由合理添加Route Target属性。否则,可能会导致错误地学习或丢弃BGP IPv6 SR Policy路由。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6 SR Policy地址族视图。

address-family ipv6 sr-policy

(4)     开启Router ID过滤功能。

router-id filter [ bgp-rib-only ]

缺省情况下,Router ID过滤功能处于关闭状态。

2.8.6  开启BGP IPv6 SR Policy路由有效性检查功能

1. 功能简介

开启本功能后,设备会对BGP IPv6 SR Policy路由进行检查。如果BGP IPv6 SR Policy路由中既没有IPv4地址格式的RT扩展团体属性,又没有NO_ADVERTISE团体属性,则该路由无效,不会被优选。

在控制器与RR(Router Reflector,路由反射器)建立BGP邻居关系,RR再与多个不同SRv6 TE Policy的源节点建立BGP邻居关系的组网场景中,可以在RR上配置本功能,RR将检查控制器下发的多条BGP IPv6 SR Policy路由是否携带IPv4地址格式的RT属性或者NO_ADVERTISE团体属性,如果携带上述属性之一,则RR接收这些路由,并将不带NO_ADVERTISE的路由反射给多个不同SRv6 TE Policy的源节点。在不同SRv6 TE Policy的源节点可以配置router-id filter命令来开启Router ID过滤功能,源节点将本地的Router ID与BGP IPv6 SR Policy路由RT属性中的IPv4地址进行对比。如果相同,则接收该路由,否则,丢弃该路由。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6 SR Policy地址族视图。

address-family ipv6 sr-policy

(4)     开启BGP IPv6 SR Policy路由有效性检查功能。

validation-check enable

缺省情况下,BGP IPv6 SR Policy路由有效性检查功能处于关闭状态,即设备不会检查对等体/对等体组接收到的BGP IPv6 SR Policy路由的有效性。

 

2.8.7  控制BGP IPv6 SR Policy路由的优选和发布

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6 SR Policy地址族视图。

address-family ipv6 sr-policy

(4)     配置向对等体/对等体组发布路由时,将下一跳属性修改为自身的地址。

peer { group-name | ipv6-address [ prefix-length ] } next-hop-local

缺省情况下,向EBGP对等体/对等体组发布路由时,将下一跳属性修改为自身的地址;向IBGP对等体/对等体组发布路由时,不修改下一跳属性。

(5)     配置对于从对等体/对等体组接收的BGP消息,允许本地AS号在该消息的AS_PATH属性中出现,并配置允许出现的次数。

peer { group-name | ipv6-address [ prefix-length ] } allow-as-loop [ number ]

缺省情况下,不允许本地AS号在接收消息的AS_PATH属性中出现。

(6)     为从对等体/对等体组接收的路由分配首选值。

peer { group-name | ipv6-address [ prefix-length ] } preferred-value value

缺省情况下,从对等体/对等体组接收的路由的首选值为0。

(7)     配置允许从对等体/对等体组接收的路由的最大数量。

peer { group-name | ipv6-address [ prefix-length ] } route-limit prefix-number [ { alert-only | discard | reconnect reconnect-time } | percentage-value ] *

缺省情况下,不限制从对等体/对等体组接收的路由数量。

(8)     配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。

peer { group-name | ipv6-address [ prefix-length ] } reflect-client

缺省情况下,没有配置路由反射器及其客户机。

(9)     为对等体/对等体组设置基于IPv6地址前缀列表的路由发布和接收过滤策略。

peer { group-name | ipv6-address [ prefix-length ] } prefix-list ipv6-prefix-list-name { export | import }

缺省情况下,不对发布和接收的路由信息进行过滤。

(10)     对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。

peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }

缺省情况下,没有为对等体/对等体组指定路由策略。

(11)     配置向对等体/对等体组发布团体属性。

peer { group-name | ipv6-address [ prefix-length ] } advertise-community

缺省情况下,不向对等体/对等体组发布团体属性。

(12)     配置向对等体/对等体组发布扩展团体属性。

peer { group-name | ipv6-address [ prefix-length ] } advertise-ext-community

缺省情况下,不向对等体/对等体组发布扩展团体属性。

(13)     为指定对等体/对等体组设置高优先级,路由选路时优选从该对等体/对等体组学习到的路由。

peer { group-name | ipv6-address [ prefix-length ] } high-priority [ preferred ]

缺省情况下,BGP不为指定对等体/对等体组设置高优先级,选路规则不发生变化。

(14)     配置BGP路由的下一跳地址类型影响路由优选。

bestroute nexthop-priority { ipv4 | ipv6 } [ preferred ]

缺省情况下,BGP优选下一跳地址为IPv4地址的路由。

2.8.8  维护BGP会话

请在用户视图下执行如下命令,复位或软复位BGP会话。

·     复位BGP IPv6 SR Policy地址族下的BGP会话。

reset bgp [ instance instance-name ] { as-number | ipv6-address [ prefix-length ] | all | external | group group-name | internal } ipv6 sr-policy

·     手工对BGP IPv6 SR Policy地址族下的BGP会话进行软复位。

refresh bgp [ instance instance-name ] { ipv6-address [ prefix-length ] | all | external | group group-name | internal } { export | import } ipv6 sr-policy

2.9  配置SRv6 TE Policy引流

2.9.1  配置SRv6-TE的引流方式

1. 配置限制和指导

在L2VPN组网环境中,本功能不生效。

2. 配置准备

采用基于Color的引流方式时,需要通过路由策略等方式为IPv6单播路由添加Color扩展团体属性。路由策略的配置方法请参见“三层技术-IP路由配置指导”中的“路由策略”。

采用基于隧道策略的引流方式时,需要配置绑定隧道、首选隧道策略或负载分担隧道策略,详细配置方法请参见“MPLS配置指导”中的“隧道策略”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置引流到SRv6 TE Policy的方式。

sr-policy steering { disable | policy-based }

缺省情况下,基于Color将数据报文引流到SRv6 TE Policy。

指定policy-based参数后,按照基于隧道绑定策略进行引流->基于Color引流->基于隧道负载分担策略进行引流的优先级顺序引流方式。

2.9.2  配置基于Color引流

1. 功能简介

基于Color引流到SRv6 TE Policy时,如果设备接收到的路由未携带Color扩展团体属性,可以通过如下两种方式为路由指定Color扩展团体属性:

·     通过配置路由策略为路由添加Color值。

·     为路由指定缺省Color值。

路由优先采用路由策略中指定的Color值。

2. 配置限制和指导

通过缺省Color值引流时,Color值仅在SRv6 TE Policy隧道引流时生效,路由向外发布时不生效。通过缺省Color值引流只对从远端PE学习到的VPN或公网实例路由生效。

3. 通过配置路由策略为路由添加Color属性

(1)     进入系统视图。

system-view

(2)     进入路由策略视图。

route-policy route-policy-name { deny | permit } node node-number

(3)     配置BGP路由的Color扩展团体属性。

apply extcommunity color color [ additive ]

缺省情况下,未配置BGP路由属性。

(4)     退回系统视图。

quit

(5)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(6)     进入BGP IPv4单播地址族视图、BGP IPv6单播地址族视图、BGP VPNv4地址族视图、BGP VPNv6地址族视图或BGP EVPN地址族视图。

¡     进入BGP IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     进入BGP VPNv6地址族视图。

address-family vpnv6

¡     进入BGP EVPN地址族视图。

address-family l2vpn evpn

(7)     对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。

peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }

缺省情况下,没有为对等体/对等体组指定路由策略。

4. 为VPN路由配置缺省Color值

(1)     进入系统视图。

system-view

(2)     进入VPN实例视图。

ip vpn-instance vpn-instance-name

(3)     进入VPN实例IPv4地址族视图或VPN实例IPv6地址族视图。

¡     进入VPN实例IPv4地址族视图。

address-family ipv4

¡     进入VPN实例IPv6地址族视图。

address-family ipv6

(4)     配置L3VPN业务迭代SRv6 TE Policy隧道时使用指定的缺省Color值。

default-color color-value [ evpn ]

缺省情况下,未指定L3VPN业务迭代SRv6 TE Policy隧道时使用的缺省Color值。

 

5. 为公网路由配置缺省Color值

(1)     进入系统视图。

system-view

(2)     进入公网实例视图。

ip public-instance

(3)     进入公网实例IPv4地址族视图或公网实例IPv6地址族视图。

¡     进入公网实例IPv4地址族视图。

address-family ipv4

¡     进入公网实例IPv6地址族视图。

address-family ipv6

(4)     配置公网业务迭代SRv6 TE Policy隧道时使用指定的缺省Color值。

default-color color-value

缺省情况下,未指定公网路由迭代SRv6 TE Policy隧道时使用的缺省Color值。

 

2.9.3  配置基于隧道策略引流

1. 创建隧道策略

(1)     进入系统视图。

system-view

(2)     创建隧道策略,并进入隧道策略视图。

tunnel-policy tunnel-policy-name [ default ]

(3)     配置隧道策略。请至少选择其中一项进行配置。

¡     配置绑定的隧道类型为SRv6 TE Policy隧道。

binding-destination dest-ipv6-address srv6-policy { name policy-name | end-point ipv6 ipv6-address color color-value } [ ignore-destination-check ] [ down-switch ]

缺省情况下,未配置绑定隧道。

¡     配置指定的SRv6 TE Policy隧道为首选隧道。

preferred-path srv6-policy name sr-policy-name

缺省情况下,未配置首选隧道。

¡     配置SRv6 TE Policy隧道的负载分担策略。

select-seq srv6-policy load-balance-number number

缺省情况下,未配置负载分担策略。

本命令的详细描述,请参见“MPLS命令参考”中的“隧道策略”。

2. 配置VPN实例引用隧道策略

(1)     进入系统视图。

system-view

(2)     进入VPN实例视图、VPN实例IPv4地址族视图或VPN实例IPv6地址族视图。

¡     进入VPN实例视图。

ip vpn-instance vpn-instance-name

¡     请依次执行以下命令进入VPN实例IPv4地址族视图。

ip vpn-instance vpn-instance-name

address-family ipv4

¡     请依次执行以下命令进入VPN实例IPv6地址族视图。

ip vpn-instance vpn-instance-name

address-family ipv6

(3)     配置VPN实例的隧道策略。

tnl-policy tunnel-policy-name

缺省情况下,未配置VPN实例的隧道策略。

本命令的详细描述,请参见“MPLS命令参考”中的“MPLS L3VPN”。

2.9.4  配置基于DSCP引流

1. 功能简介

SRv6 TE Policy组中不同SRv6 TE Policy的Color属性不同。配置Color与DSCP的映射关系后,在一个SRv6 TE Policy组内,可以形成DSCP->Color->SRv6 TE Policy的映射关系,从而实现通过IP报文的DSCP值将报文引流到指定的SRv6 TE Policy。

流量引入SRv6 TE Policy组后,根据报文携带的DSCP值以及color match dscp命令和drop-upon-mismatch enable命令的配置情况,按如下顺序依次查找匹配关系,若查找到和报文匹配的转发策略,且该转发策略有效,则使用该转发策略来转发报文,若未查找到和报文匹配的转发策略或该转发策略无效,则继续下一步查找:

(1)     查找color match dscp命令为本地址族指定的DSCP和转发策略的映射关系,根据匹配的SRv6 TE Policy转发流量。

(2)     查找color match dscp default命令为本地址族指定的缺省SRv6 TE Policy,根据缺省的SRv6 TE Policy转发流量。

(3)     查找color match dscp default命令为另一地址族指定的缺省SRv6 TE Policy,根据缺省的SRv6 TE Policy转发流量。

(4)     根据drop-upon-mismatch enable命令的配置情况,确定流量处理方式:

¡     如果配置了drop-upon-mismatch enable命令,则直接丢弃报文。

¡     如果未配置drop-upon-mismatch enable命令,但SRv6 TE Policy组内配置了本地址族DSCP和Color的映射关系,则查找DSCP值最小的映射关系,最小DSCP对应的SRv6 TE Policy有效,采用该映射关系中指定的SRv6 TE Policy转发报文。如果不存在本地址族DSCP和Color的映射关系,则查找另一地址族下配置的Color和DSCP映射关系,且最小DSCP对应的SRv6 TE Policy有效,则采用该SRv6 TE Policy转发。

2. 配置限制和指导

只有SRv6 TE Policy有效时,才能将其Color值与DSCP关联。

IPv4和IPv6地址族可以分别指定Color与DSCP的映射关系,但是对于同一个地址族的报文,每个DSCP值仅支持关联一个Color值。

可以通过color match dscp default命令来配置某个SRv6 TE Policy作为指定地址族报文的缺省SRv6 TE Policy。当SRv6 TE Policy组内某个DSCP没有关联到SRv6 TE Policy时,可以使用该缺省SRv6 TE Policy转发报文。一个SRv6 TE Policy组内,一个地址族只能有一个缺省SRv6 TE Policy。

3. 手工创建SRv6 TE Policy组

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     创建SRv6 TE Policy组,并进入SRv6 TE Policy组视图。

policy-group group-id

(5)     配置SRv6 TE Policy组的目的节点地址。

end-point ipv6 ipv6-address

缺省情况下,未配置SRv6 TE Policy组的目的节点地址。

SRv6 TE Policy组中每个Color对应的SRv6 TE Policy的目的节点地址必须与该SRv6 TE Policy组的目的节点地址相同。

(6)     (可选)配置SRv6 TE Policy组的Color值。

group-color color-value

缺省情况下,未配置SRv6 TE Policy组的Color值。

(7)     (可选)配置SRv6 TE Policy组的BSID。

binding-sid ipv6 ipv6-address

缺省情况下,SRv6 TE Policy组不存在BSID。

(8)     (可选)开启SRv6 TE Policy组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

缺省情况下,SRv6 TE Policy组未匹配引流策略时丢弃流量功能处于关闭状态。

(9)     配置SRv6 TE Policy组的Color和DSCP映射关系。

color color-value match dscp { ipv4 | ipv6 } dscp-value-list

color color-value match dscp { ipv4 | ipv6 } default

缺省情况下,未配置SRv6 TE Policy组的Color和DSCP映射关系。

未配置Color和DSCP映射关系时,无法根据报文的DSCP值进行引流。

(10)     退回系统视图。

quit

(11)     创建隧道策略,并进入隧道策略视图。

tunnel-policy tunnel-policy-name [ default ]

(12)     配置隧道绑定策略,指定目的地址与SRv6 TE Policy组绑定。

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

缺省情况下,未将目的IP地址与任何隧道绑定。

本命令的详细描述,请参见“MPLS命令参考”中的“隧道策略”。

4. 配置通过ODN自动创建SRv6 TE Policy组

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     创建SRv6 TE Policy组的ODN模板,并进入SRv6 TE ODN Policy组视图。

on-demand-group color color-value

(5)     (可选)配置SRv6 TE Policy组ODN模板的描述信息。

description text

缺省情况下,未配置SRv6 TE Policy组ODN模板的描述信息。

(6)     (可选)开启SRv6 TE Policy组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

缺省情况下,SRv6 TE Policy组未匹配引流策略时丢弃流量功能处于关闭状态。

(7)     创建DSCP转发类型,并进入DSCP转发类型视图。

forward-type dscp

(8)     配置SRv6 TE Policy组的ODN模板中Color和DSCP的映射关系。

color color-value match dscp { ipv4 | ipv6 } dscp-value-list

color color-value match dscp { ipv4 | ipv6 } default

缺省情况下,未配置SRv6 TE Policy组的ODN模板中Color和DSCP映射关系。

未配置Color和DSCP映射关系时,无法根据报文的DSCP值进行引流。

5. 引流到SRv6 TE Policy组

(1)     进入系统视图。

system-view

(2)     配置引流到SRv6 TE Policy组。

¡     依次执行以下命令,配置隧道策略引流到SRv6 TE Policy组。

创建隧道策略,并进入隧道策略视图。

tunnel-policy tunnel-policy-name [ default ]

配置隧道绑定策略,指定目的地址与SRv6 TE Policy组绑定。

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

缺省情况下,未将目的IP地址与任何隧道绑定。

本命令的详细描述,请参见“MPLS命令参考”中的“隧道策略”。

¡     配置通过Color属性引流到SRv6 TE Policy组。

请参见“2.9.2  配置基于Color引流”。

在路由策略中配置BGP路由的Color扩展团体属性时,指定的Color值与SRv6 TE Policy组的创建方式有关:

-     对于手工创建的SRv6 TE Policy组,指定的Color值必须与该SRv6 TE Policy组的Color值相同。

-     对于通过ODN自动创建SRv6 TE Policy组,指定的Color值必须与ODN模板的Color值相同。

2.9.5  配置基于TE Class ID引流

1. 功能简介

当业务流量被引入到SRv6 TE Policy组中转发,并且该SRv6 TE Policy组的转发类型为根据TE Class ID转发流量时,设备可以将TE Class ID值标识的业务流量按照指定的转发策略进行转发。本功能支持将TE Class ID标识的流量按照以下方式转发:

·     如果流量的TE Class ID关联到某个Color属性,则设备将流量引入到Color属性对应的SRv6 TE Policy中转发。

·     如果流量的TE Class ID关联到某个IPR模板,则设备按照该IPR模板中定义的SRv6 TE Policy选路策略将流量引入到最优的SRv6 TE Policy中转发。

·     如果流量的TE Class ID关联到SRv6 BE转发策略,则流量通过SRv6 BE方式转发,即设备为流量报文封装新的IPv6头,之后通过查找IPv6路由表转发报文。

·     如果未设置流量的TE Class ID、流量的TE Class ID未关联到index te-class match命令中指定的转发策略或者TE Class ID关联到的转发策略无效时,则设备将这类流量按照default match命令指定的默认转发策略进行转发。

流量引入SRv6 TE Policy组后,流量按照默认转发策略转发时,按如下优先顺序选取转发策略:

(1)     如果配置了默认转发方式为通过指定Color值对应的SRv6 TE Policy转发或者配置了默认转发方式为IPR方式,且用于转发的SRv6 TE Policy有效,则设备将流量引入到该SRv6 TE Policy中转发。

(2)     如果配置了默认转发方式为SRv6 BE方式,且SRv6 BE有效,则设备为报文封装新的IPv6头,之后通过查找IPv6路由表转发报文。

(3)     未配置default match命令,或者default match命令配置的转发策略无效时,根据drop-upon-mismatch enable命令的配置情况,流量处理方式为:

¡     如果配置了drop-upon-mismatch enable命令,则流量将被直接丢弃。

¡     如果未配置drop-upon-mismatch enable命令,但通过本命令配置了多个TE Class ID和IPR模板、SRv6 TE Policy或SRv6 BE的映射关系,则查找其中转发路径有效且索引值最小的映射关系,采用该映射关系中的SRv6 TE Policy或SRv6 BE转发报文。

2. 配置限制和指导

同一个TE Class ID只能对应一个索引值。

多次配置同一个index-value,最后一次配置的命令生效。

同一个TE Class ID标识的流量只能关联一个转发策略,例如,TE Class ID 10标识的流量与名称为ipr1的IPR模板建立映射关系,则该流量无法同时再与其他IPR模板、SRv6 TE Policy或者SRv6 BE转发方式建立映射关系。

多次配置同一个TE Class ID和不同的转发策略的映射关系,最后一次配置的命令生效。

建议为不同Group ID标识的SRv6 TE Policy组配置不同的Endpoint。否则,具有相同Endpoint的一组SRv6 TE Policy将同时属于不同SRv6 TE Policy组。

最多可以同时存在两个默认转发策略,但IPR方式转发和SRv6 TE Policy转发不可以同时存在。

基于TE Class ID引流方式的支持情况与设备型号有关,请以设备的实际情况为准。

型号

说明

MSR610

不支持

MSR810、MSR810-W、MSR810-W-DB、MSR810-LM、MSR810-W-LM、MSR810-10-PoE、MSR810-LM-HK、MSR810-W-LM-HK、MSR810-LM-CNDE-SJK、MSR810-CNDE-SJK、MSR810-EI、MSR810-LM-EA、MSR810-LM-EI

不支持

MSR810-LMS、MSR810-LUS

不支持

MSR810-SI、MSR810-LM-SI

不支持

MSR810-LMS-EA、MSR810-LME

不支持

MSR1004S-5G、MSR1004S-5G-CN

不支持

MSR1104S-W、MSR1104S-W-CAT6、MSR1104S-5G-CN、MSR1104S-W-5G-CN

不支持

MSR2600-6-X1、MSR2600-15-X1、MSR2600-15-X1-T

不支持

MSR2600-10-X1

不支持

MSR 2630

不支持

MSR3600-28、MSR3600-51

不支持

MSR3600-28-SI、MSR3600-51-SI

不支持

MSR3600-28-X1、MSR3600-28-X1-DP、MSR3600-51-X1、MSR3600-51-X1-DP

不支持

MSR3600-28-G-DP、MSR3600-51-G-DP

支持

MSR3610-I-DP、MSR3610-IE-DP、MSR3610-IE-ES、MSR3610-IE-EAD、MSR-EAD-AK770、MSR3610-I-IG、MSR3610-IE-IG

不支持

MSR-iMC

不支持

MSR3610-X1、MSR3610-X1-DP、MSR3610-X1-DC、MSR3610-X1-DP-DC、MSR3620-X1、MSR3640-X1

不支持

MSR3610、MSR3620、MSR3620-DP、MSR3640、MSR3660

不支持

MSR3610-G、MSR3620-G

支持

MSR3640-G

支持

MSR3640-X1-HI

不支持

 

型号

说明

MSR810-W-WiNet、MSR810-LM-WiNet

不支持

MSR830-4LM-WiNet

不支持

MSR830-5BEI-WiNet、MSR830-6EI-WiNet、MSR830-10BEI-WiNet

不支持

MSR830-6BHI-WiNet、MSR830-10BHI-WiNet

不支持

MSR2600-6-WiNet

不支持

MSR2600-10-X1-WiNet

不支持

MSR2630-WiNet

不支持

MSR3600-28-WiNet

不支持

MSR3610-X1-WiNet

不支持

MSR3620-X1-WiNet

不支持

MSR3610-WiNet、MSR3620-10-WiNet、MSR3620-DP-WiNet、MSR3620-WiNet、MSR3660-WiNet

不支持

 

型号

说明

MSR860-6EI-XS

不支持

MSR860-6HI-XS

不支持

MSR2630-XS

不支持

MSR3600-28-XS

不支持

MSR3610-XS

不支持

MSR3620-XS

不支持

MSR3610-I-XS

不支持

MSR3610-IE-XS

不支持

MSR3620-X1-XS

不支持

MSR3640-XS

不支持

MSR3660-XS

不支持

 

型号

说明

MSR810-LM-GL

不支持

MSR810-W-LM-GL

不支持

MSR830-6EI-GL

不支持

MSR830-10EI-GL

不支持

MSR830-6HI-GL

不支持

MSR830-10HI-GL

不支持

MSR1004S-5G-GL

不支持

MSR2600-6-X1-GL

不支持

MSR3600-28-SI-GL

不支持

 

3. 手工创建SRv6 TE Policy组并配置TE Class ID转发类型

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     创建SRv6 TE Policy组,并进入SRv6 TE Policy组视图。

policy-group group-id

(5)     配置SRv6 TE Policy组的目的节点地址。

end-point ipv6 ipv6-address

缺省情况下,未配置SRv6 TE Policy组的目的节点地址。

SRv6 TE Policy组中每个Color对应的SRv6 TE Policy的目的节点地址必须与该SRv6 TE Policy组的目的节点地址相同。

(6)     (可选)配置SRv6 TE Policy组的Color值。

group-color color-value

缺省情况下,未配置SRv6 TE Policy组的Color值。

(7)     (可选)配置SRv6 TE Policy组的BSID。

binding-sid ipv6 ipv6-address

缺省情况下,SRv6 TE Policy组不存在BSID。

(8)     (可选)开启SRv6 TE Policy组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

缺省情况下,SRv6 TE Policy组未匹配引流策略时丢弃流量功能处于关闭状态。

(9)     配置SRv6 TE Policy组的转发类型为基于流量的TE Class ID转发。

forward-type te-class

缺省情况下,SRv6 TE Policy组基于DSCP引流。

(10)     配置指定TE Class ID和SRv6 TE Policy、IPR模板或SRv6 BE转发策略间的映射关系。

index index-value te-class te-class-id match { best-effort | ipr-policy ipr-name | srv6-policy color color-value }

缺省情况下,未配置TE Class ID和SRv6 TE Policy、IPR模板或SRv6 BE转发策略间的映射关系。

(11)     (可选)配置基于TE Class ID转发的默认转发策略。

default match best-effort

default match { ipr-policy ipr-name | srv6-policy color color-value }

缺省情况下,未配置基于TE Class ID转发的默认转发策略。

4. 配置通过ODN自动创建SRv6 TE Policy组并配置TE Class ID转发类型

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     创建SRv6 TE Policy组的ODN模板,并进入SRv6 TE ODN Policy组视图。

on-demand-group color color-value

(5)     (可选)配置SRv6 TE Policy组ODN模板的描述信息。

description text

缺省情况下,未配置SRv6 TE Policy组ODN模板的描述信息。

(6)     (可选)开启SRv6 TE Policy组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

缺省情况下,SRv6 TE Policy组未匹配引流策略时丢弃流量功能处于关闭状态。

(7)     创建TE Class转发类型,并进入TE Class转发类型视图。

forward-type te-class

(8)     配置指定TE Class ID和SRv6 TE Policy、IPR模板或SRv6 BE转发策略间的映射关系。

index index-value te-class te-class-id match { best-effort | ipr-policy ipr-name | srv6-policy color color-value }

缺省情况下,未配置TE Class ID和SRv6 TE Policy、IPR模板或SRv6 BE转发策略间的映射关系。

(9)     (可选)配置基于TE Class ID转发的默认转发策略。

default match best-effort

default match { ipr-policy ipr-name | srv6-policy color color-value }

缺省情况下,未配置基于TE Class ID转发的默认转发策略。

5. 引流到SRv6 TE Policy组

(1)     进入系统视图。

system-view

(2)     配置引流到SRv6 TE Policy组。

¡     依次执行以下命令,配置隧道策略引流到SRv6 TE Policy组。

创建隧道策略,并进入隧道策略视图。

tunnel-policy tunnel-policy-name [ default ]

配置隧道绑定策略,指定目的地址与SRv6 TE Policy组绑定。

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

缺省情况下,未将目的IP地址与任何隧道绑定。

本命令的详细描述,请参见“MPLS命令参考”中的“隧道策略”。

¡     配置通过Color属性引流到SRv6 TE Policy组。

请参见“2.9.2  配置基于Color引流”。

在路由策略中配置BGP路由的Color扩展团体属性时,指定的Color值必须与ODN模板的Color值相同。

2.9.6  配置基于APN ID引流

1. 功能简介

SRv6 TE Policy组中不同SRv6 TE Policy的Color属性不同。当业务流量被引入到SRv6 TE Policy组中转发时,配置本功能后,设备可以根据IPv6报文的APN ID标识,将流量引入到指定Color对应的SRv6 TE Policy中转发,或者采用SRv6 BE方式转发报文。

2. 配置限制和指导

只有SRv6 TE Policy有效时,才能建立APN ID与SRv6 TE Policy的映射关系,流量才可以通过该SRv6 TE Policy转发。

只有SRv6 BE转发方式有效,即设备IPv6路由表中存在目的为SRv6 TE Policy组的尾节点为公网或私网路由分配的VPN SID时,才能建立APN ID与SRv6 BE的映射关系,流量才可以通过SRv6 BE转发。

一个SRv6 TE Policy组内,同一个APN ID仅能关联一个Color对应的SRv6 TE Policy或者仅能关联SRv6 BE转发方式。

当流量引入SRv6 TE Policy组后,设备收到的报文未携带APN ID、报文的APN ID未匹配任何映射关系或者报文的APN ID匹配的SRv6 TE Policy/SRv6 BE无效时,依次按照如下优选顺序选择报文转发方式:

(1)     如果已执行default match命令配置了通过缺省的SRv6 TE Policy转发报文,且该SRv6 TE Policy有效,则优先采用该SRv6 TE Policy转发报文。

(2)     如果已执行default match命令配置了通过SRv6 BE转发报文,且SRv6 BE有效,则采用SRv6 BE方式转发报文。

(3)     未配置default match命令,或者default match命令配置的转发策略无效时,根据drop-upon-mismatch enable命令的配置情况,流量处理方式为:

¡     如果配置了drop-upon-mismatch enable命令,则流量将被直接丢弃。

¡     如果未配置drop-upon-mismatch enable命令,但通过本命令配置了多个APN ID和SRv6 TE Policy或SRv6 BE的映射关系,则查找其中SRv6 TE Policy或SRv6 BE有效且索引值最小的映射关系,采用该映射关系中指定的SRv6 TE Policy或SRv6 BE转发报文。

3. 手工创建SRv6 TE Policy组并配置APN ID转发类型

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     创建SRv6 TE Policy组,并进入SRv6 TE Policy组视图。

policy-group group-id

(5)     配置SRv6 TE Policy组的目的节点地址。

end-point ipv6 ipv6-address

缺省情况下,未配置SRv6 TE Policy组的目的节点地址。

SRv6 TE Policy组中每个Color对应的SRv6 TE Policy的目的节点地址必须与该SRv6 TE Policy组的目的节点地址相同。

(6)     (可选)配置SRv6 TE Policy组的Color值。

group-color color-value

缺省情况下,未配置SRv6 TE Policy组的Color值。

(7)     (可选)配置SRv6 TE Policy组的BSID。

binding-sid ipv6 ipv6-address

缺省情况下,SRv6 TE Policy组不存在BSID。

(8)     (可选)开启SRv6 TE Policy组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

缺省情况下,SRv6 TE Policy组未匹配引流策略时丢弃流量功能处于关闭状态。

(9)     配置SRv6 TE Policy组的转发类型为APN ID。

forward-type apn-id

缺省情况下,SRv6 TE Policy组基于DSCP引流。

(10)     配置指定APN ID和转发策略的映射关系。

index index-value apn-id instance instance-name match { best-effort | srv6-policy color color-value }

缺省情况下,未配置APN ID和转发策略的映射关系。

(11)     (可选)配置根据APN ID转发的缺省转发策略。

default match best-effort

default match srv6-policy color color-value

缺省情况下,未配置根据APN ID转发的缺省转发策略。

可以同时指定SRv6 TE Policy和SRv6 BE方式作为缺省转发策略,但优先使用SRv6 TE Policy转发报文。

4. 配置通过ODN自动创建SRv6 TE Policy组并配置APN ID转发类型

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     创建SRv6 TE Policy组的ODN模板,并进入SRv6 TE ODN Policy组视图。

on-demand-group color color-value

(5)     (可选)配置SRv6 TE Policy组ODN模板的描述信息。

description text

缺省情况下,未配置SRv6 TE Policy组ODN模板的描述信息。

(6)     (可选)开启SRv6 TE Policy组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

缺省情况下,SRv6 TE Policy组未匹配引流策略时丢弃流量功能处于关闭状态。

(7)     创建APN ID转发类型,并进入APN ID转发类型视图。

forward-type apn-id

(8)     配置指定APN ID和转发策略的映射关系。

index index-value apn-id instance instance-name match { best-effort | srv6-policy color color-value }

缺省情况下,未配置APN ID和转发策略的映射关系。

(9)     (可选)配置根据APN ID转发的缺省转发策略。

default match best-effort

default match srv6-policy color color-value

缺省情况下,未配置根据APN ID转发的缺省转发策略。

可以同时指定SRv6 TE Policy和SRv6 BE方式作为缺省转发策略,但优先使用SRv6 TE Policy转发报文。

5. 引流到SRv6 TE Policy组

(1)     进入系统视图。

system-view

(2)     配置引流到SRv6 TE Policy组。

¡     依次执行以下命令,配置隧道策略引流到SRv6 TE Policy组。

创建隧道策略,并进入隧道策略视图。

tunnel-policy tunnel-policy-name [ default ]

配置隧道绑定策略,指定目的地址与SRv6 TE Policy组绑定。

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

缺省情况下,未将目的IP地址与任何隧道绑定。

本命令的详细描述,请参见“MPLS命令参考”中的“隧道策略”。

¡     配置通过Color属性引流到SRv6 TE Policy组。

请参见“2.9.2  配置基于Color引流

在路由策略中配置BGP路由的Color扩展团体属性时,指定的Color值必须与ODN模板的Color值相同。

 

2.9.7  配置基于静态路由引流

1. 配置限制和指导

在公网IP over SRv6场景中,配置本功能后,需要在公网实例IPv4/IPv6地址族下使用route-replicate命令将指定VPN实例的路由信息引入到公网中,从而使公网获取指定VPN的路由,以便转发用户流量。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置静态路由迭代到指定SRv6 TE Policy。

¡     配置IPv4静态路由迭代到指定SRv6 TE Policy。

(公网)

ip route-static dest-address { mask-length | mask } srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

(VPN网络)

ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

缺省情况下,未配置IPv4静态路由。

本命令的详细描述,请参见“三层技术-IP路由命令参考”中的“静态路由”。

¡     配置IPv6静态路由迭代到指定SRv6 TE Policy。

(公网)

ipv6 route-static ipv6-address prefix-length srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

(VPN网络)

ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

缺省情况下,未配置IPv6静态路由。

本命令的详细描述,请参见“三层技术-IP路由命令参考”中的“IPv6静态路由”。

2.9.8  配置基于QoS策略引流

1. 功能简介

当网络中某些IPv6公网流量发生拥塞时,可以通过流分类进行识别,然后将流量重定向到SRv6 TE Policy中,解决拥塞问题。IPv6公网流量重定向到SRv6 TE Policy的重定向因子是Endpoint + Color,如果重定向规则匹配不成功,则流分类失效,流量进行普通IPv6转发。如果SRv6 TE Policy出现故障,流分类同样失效,流量也进行普通IPv6转发。

2. 配置限制和指导

QoS策略相关命令的详细介绍,请参见“ACL和QoS命令参考”中的“QoS策略”。

3. 配置步骤

(1)     定义类

a.     进入系统视图。

system-view

b.     创建一个类,并进入类视图。

traffic classifier classifier-name [ operator { and | or } ]

c.     定义匹配数据包的规则。

if-match [ not ] match-criteria

缺省情况下,未定义匹配数据包的规则。

具体规则的介绍,请参见“QoS命令”中的if-match命令。

(2)     定义流行为

a.     创建一个流行为,并进入流行为视图。

traffic behavior behavior-name

b.     配置流量重定向到SRv6 TE Policy。

redirect srv6-policy endpoint color [ { sid | vpnsid } sid ]

缺省情况下,未配置流量重定向动作。

(3)     定义并应用策略

a.     创建一个策略,并进入策略视图。

qos policy policy-name

b.     在策略中为类指定采用的流行为。

classifier classifier-name behavior behavior-name

缺省情况下,未指定类对应的流行为。

c.     退回系统视图。

quit

d.     应用QoS策略。

具体配置请参见“ACL和QoS配置指导”中的“QoS策略”。

缺省情况下,未应用QoS策略。

2.9.9  配置基于Flowspec引流

1. 创建并激活IPv6 Flowspec路由

(1)     进入系统视图。

system-view

(2)     创建IPv6 Flowspec路由。

flow-route flowroute-name ipv6

(3)     定义Flowspec路由的报文匹配规则。

if-match match-criteria

(4)     配置流量重定向到SRv6 TE Policy动作。

apply redirect next-hop ipv6-address color color [ sid sid-value ]

缺省情况下,Flowspec路由中未配置流量动作。

(5)     激活Flowspec路由中的匹配规则及流量动作。

commit

缺省情况下,Flowspec路由下配置的匹配规则及流量动作未生效。

2. 在公网中应用IPv6 Flowspec路由

(1)     进入系统视图。

system-view

(2)     进入Flowspec视图。

flowspec

(3)     创建Flowspec IPv6地址族。

address-family ipv6

(4)     应用已创建的普通IPv6 Flowspec路由。

flow-route flowroute-name

缺省情况下,公网中未应用IPv6 Flowspec路由。

3. 在VPN实例中应用IPv6 Flowspec路由

(1)     进入系统视图。

system-view

(2)     配置VPN实例。

a.     创建VPN实例,并进入VPN实例视图。

ip vpn-instance vpn-instance-name

b.     配置VPN实例的RD。

route-distinguisher route-distinguisher

缺省情况下,未配置VPN实例的RD。

c.     配置VPN实例的Route Target。

vpn-target { vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] }

缺省情况下,未配置VPN实例的Route Target。

关于ip vpn-instanceroute-distinguishervpn-target命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L3VPN”。

(3)     进入VPN实例IPv6 Flowspec地址族视图。

address-family ipv6 flowspec

(4)     配置VPN实例下IPv6 Flowspec地址族的RD。

route-distinguisher route-distinguisher

缺省情况下,未配置VPN实例下IPv6 Flowspec地址族的RD。

(5)     配置VPN实例下IPv6 Flowspec地址族的VPN target。

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

缺省情况下,未配置VPN实例下IPv6 Flowspec地址族的VPN target。

VPN实例IPv6 Flowspec地址族的VPN target必须与之前配置的VPN实例的Route target保持一致。

(6)     依次执行以下命令退回系统视图。

a.     quit

b.     quit

(7)     进入Flowspec视图。

flowspec

(8)     创建Flowspec IPv6 VPN实例地址族并关联已创建的VPN实例。

address-family ipv6 vpn-instance vpn-instance-name

(9)     应用已创建的IPv6 Flowspec路由。

flow-route flowroute-name

缺省情况下,VPN实例中未应用IPv6 Flowspec路由。

4. 配置BGP发布IPv6 Flowspec路由

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6 Flowspec地址族视图、BGP-VPN IPv6 Flowspec地址族视图或BGP VPNv6 Flowspec地址族视图。

¡     进入BGP IPv6 Flowspec地址族视图发布公网IPv6 Flowspec路由。

address-family ipv6 flowspec

¡     依次执行以下命令进入BGP-VPN IPv6 Flowspec地址族视图发布私网IPv6 Flowspec路由。

ip vpn-instance vpn-instance-name

address-family ipv6 flowspec

¡     进入BGP VPNv6 Flowspec地址族视图发布VPNv6 Flowspec路由。

address-family vpnv6 flowspec

(4)     允许BGP Flowspec邻居间交换路由信息。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } enable

缺省情况下,BGP Flowspec邻居间不能交换路由信息。

2.9.10  配置SRv6 TE Policy自动引流功能

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     进入SRv6 TE Policy视图。

policy policy-name

(5)     开启SRv6 TE Policy的自动引流功能。

autoroute enable [ isis | ospfv3 ]

缺省情况下,SRv6 TE Policy的自动引流功能处于关闭状态。

(6)     配置SRv6 TE Policy隧道的度量值。

autoroute metric { absolute value | relative value }

缺省情况下,SRv6 TE Policy隧道的度量值等于其IGP度量值。

(7)     退回系统视图。

quit

quit

quit

(8)     配置SRv6 TE Policy隧道参与IGP路由计算。

¡     依次执行以下命令,开启IS-IS的SRv6 TE Policy自动引流功能。

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

address-family ipv6 [ unicast ]

srv6-policy autoroute enable [ level-1 | level-2 ]

缺省情况下,SRv6 TE Policy自动引流功能处于关闭状态。

2.10  配置SRv6 TE Policy的封装方式

1. 功能简介

通过BSID引流时,如果报文的目的IPv6地址和BSID相同,则报文通过对应的SRv6 TE Policy转发。此时,需要为报文封装SRv6 TE Policy的SID列表,封装模式包括:

·     Encaps方式:普通封装模式。在原始报文的基础上封装新的IPv6头和SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

¡     新IPv6头的目的IPv6地址为SRv6 TE Policy的SID列表中的第一个IPv6地址,源IPv6地址为encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

·     Encaps.Red方式:普通封装的简化模式。在原始报文的基础上封装新的IPv6头和SRH,且SRv6 TE Policy的SID列表中的第一个SID不封装在SRH中,其他SID封装到SRH中,以便减少SRH的长度。

¡     新IPv6头的目的IPv6地址为SRv6 TE Policy的SID列表中的第一个SID,源IPv6地址为encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中除第一个SID外所有SID信息。

·     Insert方式:插入封装模式。在原始IPv6报文头后插入SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

¡     IPv6头的目的IPv6地址改为SRv6 TE Policy的SID列表中的第一个IPv6地址,原始IPv6报文头的源IPv6地址不变。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

·     Insert.Red方式:插入封装的简化模式。在原始IPv6报文头后插入SRH,且SRv6 TE Policy的SID列表中的第一个SID不封装在SRH中,其他SID封装到SRH中,以便减少SRH的长度。

¡     IPv6头的目的IPv6地址改为SRv6 TE Policy的SID列表中的第一个SID,原始IPv6报文头的源IPv6地址不变。

¡     SRH包含SRv6 TE Policy的SID列表中除第一个SID外所有SID信息。

通过BSID方式引流到SRv6 TE Policy时,缺省情况下,如果头节点的SRv6 SID是End.X SID,则不会将该SID封装到SRH中。为了通过报文中的SRH获取完整的路径信息,即获取到SRv6转发路径上所有SRv6节点的信息,在封装SRH时可以添加本地的End.X SID。

2. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的封装方式。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

普通封装模式与插入封装模式互斥:配置普通封装模式后,系统会自动删除已配置的插入封装模式;配置插入封装模式后,系统会自动删除已配置的普通封装模式。

配置Insert方式或Insert.Red方式后,如果设备收到IPv4报文,则设备将按照Encaps方式封装报文。

在SRv6-TE视图下,同时配置了普通封装的简化模式和普通封装模式时SRH中包含本地End.X SID,普通封装模式时SRH中包含本地End.X SID生效。

在SRv6-TE视图下,同时配置了插入封装的简化模式和插入封装模式时SRH中包含本地End.X SID,插入封装模式时SRH中包含本地End.X SID生效。

在SRv6 TE Policy视图下,同时配置了普通封装的简化模式和普通封装模式时SRH中包含本地End.X SID,普通封装模式时SRH中包含本地End.X SID生效。

在SRv6 TE Policy视图下,同时配置了插入封装的简化模式和插入封装模式时SRH中包含本地End.X SID,插入封装模式时SRH中包含本地End.X SID生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     全局配置SRv6 TE Policy的封装模式。请选择其中一项进行配置。

¡     全局配置SRv6 TE Policy的封装模式为普通封装的简化模式。

srv6-policy encapsulation-mode encaps reduced

¡     全局配置SRv6 TE Policy的封装模式为插入封装模式或插入封装的简化模式。

srv6-policy encapsulation-mode insert

srv6-policy encapsulation-mode insert reduced

缺省情况下,SRv6 TE Policy的封装模式为Encaps模式。

(5)     全局配置通过SRv6 TE Policy转发报文时SRH中包含本地End.X SID。请选择其中一项进行配置。

¡     全局配置通过SRv6 TE Policy转发报文采用普通封装模式时SRH中包含本地End.X SID。

srv6-policy encapsulation-mode encaps include local-end.x

¡     全局配置通过SRv6 TE Policy转发报文采用插入封装模式时SRH中包含本地End.X SID。

srv6-policy encapsulation-mode insert include local-end.x

缺省情况下,通过SRv6 TE Policy转发报文时封装的SRH中不包含本地End.X SID。

(6)     进入SRv6 TE Policy视图。

policy policy-name

(7)     配置SRv6 TE Policy的封装模式。请选择其中一项进行配置。

¡     配置SRv6 TE Policy的封装模式为普通封装的简化模式。

encapsulation-mode encaps reduced [ disable ]

¡     配置SRv6 TE Policy的封装模式为插入封装模式或插入封装的简化模式。

encapsulation-mode insert

encapsulation-mode insert reduced [ disable ]

缺省情况下,未配置SRv6 TE Policy的封装模式,以SRv6-TE视图下的配置为准。

(8)     配置通过SRv6 TE Policy转发报文时SRH中是否包含本地End.X SID。请选择其中一项进行配置。

¡     配置通过SRv6 TE Policy转发报文采用普通封装模式时SRH中是否包含本地End.X SID。

encapsulation-mode encaps include local-end.x [ disable ]

¡     配置通过SRv6 TE Policy转发报文采用插入封装模式时SRH中是否包含本地End.X SID。

encapsulation-mode insert include local-end.x [ disable ]

缺省情况下,未配置通过SRv6 TE Policy转发报文时SRH中是否包含本地End.X SID,以SRv6-TE视图下的配置为准。

2.11  配置SRv6 TE Policy的智能策略路由功能

2.11.1  配置限制和指导

只有SRv6 TE Policy组的转发类型为基于TE Class ID引流,并且指定了TE Class ID和IPR模板映射关系时,本功能才能生效。关于基于TE Class ID引流的详细介绍,请参见“2.9.5  配置基于TE Class ID引流”。

2.11.2  配置SRv6 TE Policy的iFIT测量功能

1. 配置限制和指导

·     iFIT是一种随流OAM检测技术,当存在数据业务流量通过该SRv6 TE Policy转发时,iFIT才能测量该SRv6 TE Policy的丢包率、时延和抖动信息。关于iFIT隧道级质量测量的详细介绍,请参见“网络监控和管理命令参考”中的“iFIT”。

·     当SRv6 TE Policy的最优候选路径中存在多个SID列表表示的转发路径(即多条转发路径),且每条转发路径中均存在流量时,iFIT将测量所有SID列表对应的转发路径的丢包率、时延和抖动,并按照SID列表的权重计算该SRv6 TE Policy的丢包率、时延和抖动。

·     当SRv6 TE Policy的头节点和尾节点均为H3C设备时,建议配置SRv6 TE Policy的iFIT测量模式为端到端模式,此时由尾节点将iFIT测量结果反馈给SRv6 TE Policy的头节点用于计算SRv6 TE Policy的网络质量。其他目标流量途径的中间节点即使开启了iFIT功能且检测到了iFIT报文也不会将iFIT测量结果反馈给SRv6 TE Policy的头节点,降低设备处理的复杂度。

·     当SRv6 TE Policy的尾节点非H3C设备时,必须配置SRv6 TE Policy的iFIT测量模式为逐跳模式,此时在倒数第二跳(即转发路径上的H3C设备)上开启iFIT功能,设置iFIT的工作模式为收集器,将该设备作为数据接收端来统计数据、与头节点建立UDP会话并将统计数据反馈给头节点,完成尾节点的功能。逐跳模式通常仅用于SRv6 TE Policy的尾节点非H3C设备的场景。

·     如果SRv6 TE Policy的转发路径上多个节点均向头节点反馈数据,则头节点的处理方式为:

¡     如果尾节点和其他多个节点都向头节点反馈数据,则头节点优先选择SRv6 TE Policy尾节点反馈的数据计算丢包率。

¡     如果存在多个非尾节点都向头节点反馈数据,则头节点优先选择SRv6 TE Policy中最靠近尾节点的节点反馈的数据计算丢包率。

·     为保证iFIT检测正常生效,要求所有参与iFIT测量的设备时间已经同步,否则iFIT计算结果将不准确。NTP(Network Time Protocol,网络时间协议)和PTP(Precision Time Protocol,精确时间协议)都可用于实现设备间的时间同步。

·     SRv6-TE视图和SRv6 TE Policy视图下均可以配置iFIT丢包率测量功能、iFIT时延和抖动测量功能、iFIT检测周期。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

·     SRv6 TE Policy的iFIT测量功能生效需要SRv6 TE Policy头节点使用Encaps方式的进行报文封装。如果采用Insert方式封装报文的外层源IP地址不是iFIT指定的源地址,在尾节点上iFIT无法根据源地址将信息返回给头节点,使得iFIT检测质量失败。

2. 配置准备

为了使本功能生效,请先配置以下功能:

·     在SRv6 TE Policy的头节点开启iFIT功能,配置iFIT设备的标识,并设置iFIT的工作模式为分析器,执行service-type srv6-segment-list命令。

·     在SRv6 TE Policy的尾节点或者中间节点上开启iFIT功能,并设置iFIT的工作模式为收集器,执行service-type srv6-segment-list命令。

3. 头节点上配置SRv6 TE Policy的iFIT测量功能

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     根据业务需求全局开启SRv6 TE Policy的iFIT丢包率测量或iFIT时延和抖动测量功能。

¡     全局开启SRv6 TE Policy的iFIT丢包率测量功能

srv6-policy ifit loss-measure enable

缺省情况下,全局SRv6 TE Policy的iFIT丢包率测量功能处于关闭状态。

¡     全局开启SRv6 TE Policy的iFIT时延和抖动测量功能。

srv6-policy ifit delay-measure enable

缺省情况下,全局SRv6 TE Policy的iFIT时延和抖动测量功能处于关闭状态。

(5)     全局配置SRv6 TE Policy的iFIT测量模式

srv6-policy ifit measure mode { e2e | trace }

缺省情况下,SRv6 TE Policy的iFIT的测量模式为端到端模式。

(6)     全局配置SRv6 TE Policy的iFIT检测周期。

srv6-policy ifit interval time-value

缺省情况下,全局SRv6 TE Policy的iFIT检测周期为30秒。

(7)     进入SRv6 TE Policy视图。

policy policy-name

(8)     根据业务需求配置SRv6 TE Policy的iFIT丢包率测量或iFIT时延和抖动测量功能。

¡     配置SRv6 TE Policy的iFIT丢包率测量功能

ifit loss-measure { disable | enable }

缺省情况下,未配置SRv6 TE Policy的iFIT丢包率测量功能,以SRv6 TE视图下的配置为准。

¡     配置SRv6 TE Policy的iFIT时延和抖动测量功能。

ifit delay-measure { disable | enable }

缺省情况下,未配置SRv6 TE Policy的iFIT时延和抖动测量功能,以SRv6 TE视图下的配置为准。

(9)     配置SRv6 TE Policy的iFIT测量模式

ifit measure mode { e2e | trace }

缺省情况下,未配置SRv6 TE Policy的iFIT测量模式,以SRv6 TE视图下的配置为准。

(10)     配置SRv6 TE Policy的iFIT检测周期。

ifit interval time-value

缺省情况下,未配置SRv6 TE Policy的iFIT检测周期,以SRv6 TE视图下的配置为准。

2.11.3  配置仅根据隧道的网络质量计算和优选路径的SRv6 TE Policy的IPR算路功能

1. 功能简介

当业务流量被引入到SRv6 TE Policy组中转发,且SRv6 TE Policy组的转发类型为基于流量的TE Class ID转发时,管理员可以执行index te-class match命令将指定TE Class ID标识的业务流量和IPR模板建立映射关系,此时,SRv6 TE Policy组将引用IPR模板并将该流量按照IPR模板中定义的SRv6 TE Policy选路策略进行转发。

仅根据隧道的网络质量计算和优选路径时,IPR模板需要和SRv6 TE Policy的iFIT丢包率、时延和抖动测量功能配合实现智能路由优选,IPR模板和SRv6 TE Policy的iFIT测量功能配合工作机制为:

(1)     iFIT检测网络质量:管理员在SRv6 TE Policy组的头节点开启SRv6 TE Policy的iFIT丢包率、时延和抖动测量功能。iFIT功能可以检测SRv6 TE Policy组中不同SRv6 TE Policy的链路质量,并按照SRv6 TE Policy的iFIT检测周期将SLA检测参数传递给SRv6 TE Policy头节点的智能策略路由,由智能策略路由进行算路和优选。

(2)     计算备选路径:SRv6 TE Policy头节点按照refresh-period命令设置的最优路径计算周期来计算最优的SRv6 TE Policy。如果SRv6 TE Policy头节点计算最优路径时,发现最近一次iFIT功能计算得到的时延、丢包率、抖动和CMI任一指标超过IPR模板中设置的标准,则表示该SRv6 TE Policy不符合SLA标准,该SRv6 TE Policy不能作为备选路径用于业务转发;如果SRv6 TE Policy的iFIT功能未能检测到某个SRv6 TE Policy的时延、丢包率、抖动和CMI参数,但该SRv6 TE Policy有效,则该SRv6 TE Policy仍可以作为备选路径用于业务转发。

(3)     备选路径选路:SRv6 TE Policy组的头节点根据IPR模板中定义的SRv6 TE Policy的优先顺序,选取优先级最高的SRv6 TE Policy作为最优转发路径,并将业务流量引入到该SRv6 TE Policy中转发。当存在优先级相同的SRv6 TE Policy时,流量可以在这些SRv6 TE Policy之间负载分担。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     开启智能策略路由功能,并进入SRv6 TE IPR视图。

intelligent-policy-route

缺省情况下,智能策略路由功能处于关闭状态。

(5)     (可选)配置IPR计算最优路径的周期。

refresh-period time-value

缺省情况下,IPR计算最优路径的周期为60秒。

(6)     (可选)配置智能策略路由的数据计算模式。

measure count { one-way | two-way-average }

缺省情况下,智能策略路由的数据计算模式为单程模式。

(7)     配置IPR模板,并进入对应的SRv6 TE IPR模板视图。

ipr-policy ipr-name

缺省情况下,未配置IPR模板。

(8)     配置IPR模板中不同SRv6 TE Policy的Color属性和选路优先级的映射关系

srv6-policy color color-value priority priority-value

缺省情况下,未配置IPR模板中不同SRv6 TE Policy的Color属性和选路优先级的映射关系。

(9)     (可选)配置IPR模板的时延标准。

delay threshold time-value

缺省情况下,IPR模板的时延标准为5000毫秒。

(10)     (可选)配置IPR模板的抖动标准。

jitter threshold time-value

缺省情况下,IPR模板的抖动标准为3000毫秒。

(11)     (可选)配置IPR模板的丢包率标准。

loss threshold threshold-value

缺省情况下,IPR模板的丢包率标准为1000‰。

(12)     (可选)配置IPR模板的CMI标准。

cmi threshold threshold-value

缺省情况下,IPR模板的CMI标准为9000。

(13)     (可选)配置IPR模板中SRv6 TE Policy之间的切换时延。

switch-period time-value

缺省情况下,IPR模板中SRv6 TE Policy之间的切换时延为6秒。

(14)     (可选)配置IPR模板的回切时延。

wait-to-restore-period time-value

缺省情况下,IPR模板的回切时延为6秒。

2.11.4  配置根据隧道出接口的带宽利用率计算和优选路径的IPR算路功能

1. 功能简介

开启带宽采样功能后,IPR算路并选取的最优SRv6 TE Policy的过程中,不仅需要满足IPR模板中定义的时延、抖动和丢包等网络质量要求,还需要满足对带宽利用率的要求。只有时延、抖动和丢包等网络质量符合IPR模板定义的SLA标准,且带宽利用率不超出bandwidth-threshold upper命令定义的带宽利用率阈值上限的SRv6 TE Policy,能参与最优SRv6 TE Policy计算。

如果未开启IPR模板的带宽采样功能,则智能策略路由在路径优选时仅要求SRv6 TE Policy的时延、抖动和丢包等网络质量符合IPR模板定义的SLA标准。

关于根据隧道出接口的带宽利用率计算和优选路径的详细机制,请参见“1.7  SRv6 TE Policy的智能策略路由功能”。

2. 配置限制和指导

只有SRv6 TE IPR模板下开启IPR模板的带宽采样功能或者在SRv6 TE视图下开启全局带宽采样功能,SRv6 TE Policy智能策略路由在路径优选时,才可以基于带宽使用情况进行SRv6 TE Policy的优选。SRv6 TE视图的配置对所有IPR模板都有效,而SRv6 TE IPR视图的配置只对该IPR模板有效。对于一个IPR模板来说,以SRv6 TE IPR模板视图下的配置为准,只有该SRv6 TE IPR模板视图内未进行配置时,才采用SRv6 TE视图的配置。

请先执行forwarding statistics命令或srv6-policy forwarding statistics enable命令开启IPR模板中所有SRv6 TE Policy的流量转发统计功能,SRv6 TE Policy智能策略路由基于带宽使用情况进行路径调优才能更加准确。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     开启全局带宽采样功能。

srv6-policy bandwidth sample

缺省情况下,全局带宽采样功能处于关闭状态。

(5)     (可选)配置SRv6 TE Policy转发出接口的带宽利用率采样周期。

srv6-policy bandwidth sample interval time-value

缺省情况下,SRv6 TE Policy转发出接口的带宽利用率采样周期为30秒。

(6)     (可选)配置带宽阈值下限。

srv6-policy bandwidth-threshold lower lower-value

IPR周期性进行路径调优时,如果发现存在至少一个SRv6 TE Policy的选路优先级高于当前承载业务的SRv6 TE Policy,且该SRv6 TE Policy的预期平均带宽利用率小于等于Min(bandwidth-threshold switch-back命令配置IPR模板的业务回切带宽利用率阈值,srv6-policy bandwidth-threshold lower命令配置带宽阈值下限),Min(a,b)表示a和b之间的较小值。则可以启动业务回切流程。

(7)     开启智能策略路由功能,并进入SRv6 TE IPR视图。

intelligent-policy-route

缺省情况下,智能策略路由功能处于关闭状态。

(8)     (可选)配置IPR计算最优路径的周期。

refresh-period time-value

缺省情况下,IPR计算最优路径的周期为60秒。

(9)     配置IPR模板,并进入对应的SRv6 TE IPR模板视图。

ipr-policy ipr-name

缺省情况下,未配置IPR模板。

(10)     配置IPR模板中不同SRv6 TE Policy的Color属性和选路优先级的映射关系

srv6-policy color color-value priority priority-value

缺省情况下,未配置IPR模板中不同SRv6 TE Policy的Color属性和选路优先级的映射关系。

(11)     配置IPR模板的带宽采样功能。

bandwidth sample { disable | enable }

缺省情况下,SRv6 TE IPR模板下未配置带宽采样功能,SRv6 TE IPR模板的带宽采样功能的状态以SRv6 TE视图下的配置为准。

(12)     配置SRv6 TE IPR模板的业务期望带宽。

expect-bandwidth bandwidth-value

缺省情况下,SRv6 TE IPR模板承载业务的期望带宽为0kbps。

(13)     (可选)配置IPR模板的带宽利用率的阈值上限。

bandwidth-threshold upper upper-value

缺省情况下,IPR模板的带宽利用率的阈值上限为90%。

(14)     (可选)配置IPR模板的业务回切的带宽利用率阈值。

bandwidth-threshold switch-back threshold-value

缺省情况下,IPR模板的业务回切带宽利用率阈值为70%。

IPR周期性进行路径调优时,如果发现存在至少一个SRv6 TE Policy的选路优先级高于当前承载业务的SRv6 TE Policy,且该SRv6 TE Policy的预期平均带宽利用率小于等于Min(bandwidth-threshold switch-back命令配置IPR模板的业务回切带宽利用率阈值,srv6-policy bandwidth-threshold lower命令配置带宽阈值下限),Min(a,b)表示a和b之间的较小值。则可以启动业务回切流程。

(15)     (可选)配置IPR模板的切换调度优先级。

schedule-priority priority-value

缺省情况下,未配置IPR的切换调度优先级。

(16)     (可选)配置IPR模板中SRv6 TE Policy之间的切换时延。

switch-period time-value

缺省情况下,IPR模板中SRv6 TE Policy之间的切换时延为6秒。

(17)     (可选)配置IPR模板的回切时延。

wait-to-restore-period time-value

缺省情况下,IPR模板的回切时延为6秒。

(18)     退出SRv6 TE IPR模板视图。

quit

(19)     进入IPR模板中对应的SRv6 TE Policy视图。

policy policy-name

(20)     配置SRv6 TE Policy的业务期望带宽。

expect-bandwidth bandwidth-value

缺省情况下,SRv6 TE Policy承载业务的期望带宽为0kbps。

 

2.12  开启SRv6 TE Policy的SBFD功能

1. 功能简介

通过SBFD检测SRv6 TE Policy时,需要为SBFD报文封装SRv6 TE Policy的SID列表,封装模式包括:

·     Encaps方式:普通封装模式。在原始报文的基础上封装新的IPv6头和SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

¡     新IPv6头的目的IPv6地址为SRv6 TE Policy的SID列表中的第一个IPv6地址,源IPv6地址为encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

·     Insert方式:插入封装模式。在原始IPv6报文头后插入SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

¡     IPv6头的目的IPv6地址改为SRv6 TE Policy的SID列表中的第一个IPv6地址,源IPv6地址为encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

2. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的SBFD功能。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

指定的远端标识符必须与Reflector端sbfd local-discriminator命令指定的标识符一致,否则Reflector端不会发送应答报文给Initiator端。

目前,支持通过BFD echo报文和SBFD两种方式检测SRv6 TE Policy。在同一SRv6 TE Policy下同时配置以上两种检测方式时,SBFD检测生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置使用SBFD对SRv6转发路径进行故障检测时,SBFD报文的封装模式为Insert模式。

bfd srv6-encapsulation-mode insert

缺省情况下,使用SBFD对SRv6转发路径进行故障检测时,SBFD报文的封装模式为Encap模式。

(3)     配置Initiator发送SBFD报文使用的源IPv6地址。

sbfd source-ipv6 ipv6-address

缺省情况下,未配置Initiator发送SBFD报文使用的源IPv6地址。

本命令的详细介绍,请参见“可靠性命令参考”中的“SBFD”。

(4)     进入SRv6视图。

segment-routing ipv6

(5)     进入SRv6-TE视图。

traffic-engineering

(6)     全局开启SRv6 TE Policy的SBFD功能并配置相关参数。

srv6-policy sbfd remote remote-id [ template template-name ] [ backup-template backup-template-name ]

缺省情况下,SRv6 TE Policy的SBFD功能处于关闭状态。

(7)     进入SRv6 TE Policy视图。

policy policy-name

(8)     配置SRv6 TE Policy的SBFD功能。

sbfd { disable | enable [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert ] }

缺省情况下,未配置SRv6 TE Policy的SBFD功能,以SRv6-TE视图下的配置为准。

如果未指定encapsinsert参数,则采用bfd srv6-encapsulation-mode insert命令配置的封装模式。

2.13  开启SRv6 TE Policy的echo报文方式的BFD检测功能

1. 功能简介

通过echo报文方式的BFD检测SRv6 TE Policy时,缺省情况下,BFD回程报文均通过IP路径转发,一旦中间设备故障,则回程报文会被丢弃,导致BFD会话down,从而错误地认为所有SRv6 TE Policy的SID列表故障。为了解决上述问题,可以使BFD回程报文按照SRv6 TE Policy的指定SID列表转发,实现去程和回程路径一致的功能,或者叫BFD的来回路径一致功能。该功能的实现方式为:配置reverse-path reverse-binding-sid参数后,源节点将在BFD报文的插入SRH头,并在SRH中SL=1的位置封装反向BSID信息,该反向BSID可以通过explicit segment-listreverse-binding-sid命令来指定。尾节点收到BFD报文后,获取反向BSID信息。如果反向BSID和尾节点某个SRv6 TE Policy的本地BSID相同(该本地BSID可以通过local-binding-sid命令指定),则向BFD报文中插入新的SRH,沿本地BSID所属SRv6 TE Policy的SID列表转发。

通过echo报文方式的BFD检测SRv6 TE Policy时,需要为BFD报文封装SRv6 TE Policy的SID列表,封装模式包括:

·     Encaps方式:普通封装模式。在原始报文的基础上封装新的IPv6头和SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

¡     新IPv6头的目的IPv6地址为SRv6 TE Policy的SID列表中的第一个IPv6地址,源IPv6地址为encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

·     Insert方式:插入封装模式。在原始IPv6报文头后插入SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

¡     IPv6头的目的IPv6地址改为SRv6 TE Policy的SID列表中的第一个IPv6地址,源IPv6地址为encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

2. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的echo报文方式的BFD功能。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

目前,支持通过BFD echo报文和SBFD两种方式检测SRv6 TE Policy。在同一SRv6 TE Policy下同时配置以上两种检测方式时,SBFD检测生效。

指定反向BSID的方式来实现来回路径一致功能时,BFD报文仅支持采用Insert方式,配置的encaps参数不生效。

目前,支持通过BFD echo报文和SBFD两种方式检测SRv6 TE Policy。在同一SRv6 TE Policy下同时配置以上两种检测方式时,SBFD检测生效。

对于echo报文方式的BFD会话,echo报文按如下优先顺序选取报文源地址:

(1)     bfd echo-source-ipv6命令指定的报文源地址;

(2)     bfd echo命令指定的BFD会话源地址;

(3)     srv6-policy bfd echo命令指定的BFD会话源地址。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置使用BFD对SRv6转发路径进行故障检测时,BFD报文的封装模式为Insert模式。

bfd srv6-encapsulation-mode insert

缺省情况下,使用BFD对SRv6转发路径进行故障检测时,BFD报文的封装模式为Encap模式。

(3)     进入SRv6视图。

segment-routing ipv6

(4)     进入SRv6-TE视图。

traffic-engineering

(5)     全局开启SRv6 TE Policy的echo报文方式的BFD检测功能并配置相关参数。

srv6-policy bfd echo source-ipv6 ipv6-address [ template template-name ] [ backup-template backup-template-name ] [ reverse-path reverse-binding-sid ]

缺省情况下,SRv6 TE Policy的echo报文方式的BFD检测功能处于关闭状态。

(6)     (可选)在SID列表中配置本地BSID和反向BSID。

a.     进入SID列表视图。

segment-list segment-list-name

b.     在SRv6 TE Policy尾节点配置本地BSID。

local-binding-sid ipv6 ipv6-address

c.     在SRv6 TE Policy源节点配置反向BSID。

reverse-binding-sid ipv6 ipv6-address

d.     退回SRv6 TE视图。

quit

配置的本地BSID、反向BSID不能和SRv6 TE Policy的BSID相同,否则会导致SID列表无效,无法转发报文。

配置的本地BSID、反向BSID必须在SRv6 TE视图下引用的Locator的静态段范围内。否则,BSID对应的SID列表不能用于报文转发。

(7)     进入SRv6 TE Policy视图。

policy policy-name

(8)     配置SRv6 TE Policy的echo报文方式的BFD检测功能。

bfd echo { disable | enable [ source-ipv6 ipv6-address ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert ] [ reverse-path reverse-binding-sid ] }

缺省情况下,未配置SRv6 TE Policy的echo报文方式的BFD检测功能,以SRv6-TE视图下的配置为准。

如果未指定encapsinsert参数,则采用bfd srv6-encapsulation-mode insert命令配置的封装模式。

指定reverse-path参数后,BFD报文仅支持采用Insert方式,配置的encaps参数不生效。

(9)     引用SID列表时指定用于BFD检测的本地BSID、反向BSID。

a.     进入SRv6 TE Policy候选路径视图。

candidate-paths

b.     进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

不同的优先级代表不同的候选路径。

c.     引用SID列表时指定用于BFD检测的本地BSID、反向BSID。

explicit segment-list segment-list-name [ local-binding-sid ipv6 ipv6-address | reverse-binding-sid ipv6 ipv6-address | weight weight-value ]

对于本地BSID:

¡     通过local-binding-sid参数配置的BSID值不能和SID列表下local-binding-sid命令配置的BSID值相同。

¡     同时配置local-binding-sid参数和在SID列表下配置local-binding-sid命令,则local-binding-sid参数优先生效。

对于反向BSID。

¡     通过reverse-binding-sid参数配置的BSID值不能和SID列表下reverse-binding-sid命令配置的BSID值相同。

¡     同时配置reverse-binding-sid参数和在SID列表下配置reverse-binding-sid命令,则reverse-binding-sid参数优先生效。

2.14  开启SRv6 TE Policy的热备份功能

1. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的热备份功能。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     全局开启SRv6 TE Policy的热备份功能。

srv6-policy backup hot-standby enable

缺省情况下,SRv6 TE Policy的热备份功能处于关闭状态。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy的热备份功能。

backup hot-standby { disable | enable }

缺省情况下,未配置SRv6 TE Policy的热备份功能,以SRv6-TE视图下的配置为准。

2.15  配置SRv6 TE Policy的慢切慢删功能

1. 功能简介

为了防止SID列表切换导致流量转发失败,在SRv6 TE Policy的SID列表切换过程中,流量先保持按照老的SID列表转发,切换延迟时间超时后再按照新的SID列表转发流量,并在删除延迟时间超时后将老的SID列表删除。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     配置SRv6 TE Policy中转发路径的切换延迟时间和删除延迟时间。

srv6-policy switch-delay switch-delay-time delete-delay delete-delay-time

缺省情况下,SRv6 TE Policy中转发路径的切换延迟时间为5000毫秒,删除延迟时间为20000毫秒。

2.16  配置SRv6 TE Policy中间节点保护功能

1. 功能简介

开启SRv6 TE FRR功能后,当SRv6 TE Policy的中间节点发生故障时,故障节点的上游节点可以代替故障节点完成报文转发,使报文绕过故障节点,实现中间节点故障的保护。这个上游节点称之为代理转发(Proxy Forwarding)节点。

2. 配置限制和指导

组网环境复杂时,中间节点并不固定,所以,为了提供整网可靠性,建议在所有节点上开启SRv6 TE FRR功能。建议在源节点上同时开启备份路径功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     开启SRv6 TE FRR功能。

sr-te frr enable

缺省情况下,SRv6 TE FRR功能处于关闭。

(4)     进入SRv6 TE视图。

traffic-engineering

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     开启SRv6 TE Policy的备份路径功能。

bypass enable

缺省情况下,SRv6 TE Policy的备份路径功能处于关闭状态。

仅源节点需要配置本功能。

 

2.17  配置SRv6 TE Policy尾节点保护功能

2.17.1  配置限制和指导

在SRv6 TE Policy尾节点保护组网环境中,报文经过的所有节点均需支持SRv6功能。

2.17.2  配置End.M SID

1. 配置限制和指导

请在对尾节点进行保护的节点上配置End.M SID。

本节所有命令的详细介绍,请参见“Segment Routing命令参考”中的“SRv6”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

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

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

(4)     配置End.M SID,指定被保护的Locator段。

opcode opcode end-m mirror-locator ipv6-address prefix-length

2.17.3  开启尾节点保护功能

1. 功能简介

在某个SRv6节点上开启尾节点保护功能后,该节点可以根据收到的IS-ISv6路由或OSPFv3路由中携带的End.M SID,计算到达尾节点的备份路径信息,即Mirror FRR路径信息。当尾节点故障后,中间节点可以根据End.M SID,将流量转发到对尾节点进行保护的节点处理,避免流量丢失。

切换到Mirror FRR路径后,流量沿着Mirror FRR路径转发,当中间节点完成路由收敛后,会删除Mirror FRR路径。如果此时头节点未完成路径切换,仍将流量转发给中间节点,由于中间节点上不存在Mirror FRR路径,流量会被丢弃。

为了避免上述情况,可以在中间节点上配置Mirror FRR的延迟删除时间,延迟删除Mirror FRR路由,使流量沿着Mirror FRR路径转发,避免丢包。

2. 开启IS-IS尾节点保护功能

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

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

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

address-family ipv6 [ unicast ]

(4)     开启IS-IS尾节点保护功能。

fast-reroute mirror enable

缺省情况下,IS-IS尾节点保护功能处于关闭状态。

(5)     (可选)配置Mirror FRR的延迟删除时间。

fast-reroute mirror delete-delay delete-delay-time

缺省情况下,Mirror FRR延迟删除时间为60秒。

3. 开启OSPFv3尾节点保护功能

(1)     进入系统视图。

system-view

(2)     进入OSPFv3视图。

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

(3)     开启OSPFv3尾节点保护功能。

fast-reroute mirror enable

缺省情况下,OSPFv3尾节点保护功能处于关闭状态。

(4)     (可选)配置Mirror FRR的延迟删除时间。

fast-reroute mirror delete-delay delete-delay-time

缺省情况下,Mirror FRR延迟删除时间为60秒。

2.17.4  配置远端SRv6 SID与VPN实例/交叉连接/VSI映射表的延迟删除时间

1. 功能简介

在尾节点保护场景中,当尾节点故障时,保护节点与尾节点之间邻居中断,会导致保护节点从尾节点收到的BGP路由删除,进而导致远端SRv6 SID与VPN实例/交叉连接/VSI映射表被删除,造成丢包。为了避免上述情况,可以在对尾节点进行保护的节点上延迟删除远端SRv6 SID与VPN实例/交叉连接/VSI映射表,在头节点感知到尾节点故障计算出新的转发路径前,保证流量通过保护节点转发,避免丢包。

2. 配置限制和指导

请在对尾节点进行保护的节点上配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置远端SRv6 SID与VPN实例/交叉连接/VSI映射表的延迟删除时间。

mirror remote-sid delete-delay delete-delay-time

缺省情况下,远端SRv6 SID与VPN实例/交叉连接/VSI映射表的延迟删除时间为60秒。

2.18  配置SRv6 TE Policy对TTL的处理模式

1. 功能简介

SRv6 TE Policy对TTL的处理有两种模式:

·     Uniform模式:入节点为IP报文添加新的IPv6头时,将原IP报文中的TTL值复制到新IPv6头的IPv6 Hop Limit字段。使用SRv6 TE Policy转发报文时,对新IPv6头的Hop Limit值逐跳减一。设备解封装报文时,将新IPv6头的Hop Limit值复制回IP报文。使用这种方式时,公网中的节点对用户网络的报文可见。报文沿着SRv6 TE Policy传输的过程中,TTL逐跳递减,Tracert的结果将反映报文实际经过的路径。

·     Pipe模式:入节点为IP报文添加新的IPv6头时,不会将原IP报文中的TTL值复制到新IPv6头的IPv6 Hop Limit字段,新IPv6头的Hop Limit取值为255。使用SRv6 TE Policy转发报文时,对新IPv6头的Hop Limit值逐跳减一。设备解封装报文时,不修改IPv6 Hop Limit的值。使用这种方式时,公网中的节点对用户网络的报文不可见。Tracert的结果不包括公网中的每一跳,从而隐藏公网的结构。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置SRv6 TE Policy对TTL的处理模式。

ttl-mode { pipe | uniform }

缺省情况下,SRv6 TE Policy对TTL的处理模式为Pipe模式。

2.19  配置SRv6 TE Policy CBTS

1. 配置准备

配置SRv6 TE Policy CBTS前需要先通过remark service-class命令配置QoS流行为,标记流量的隧道转发类,具体请参见“ACL和QoS命令参考”中的“QoS策略”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     进入SRv6 TE Policy视图。

policy policy-name

(5)     配置SRv6 TE Policy的转发类。

service-class service-class-value

缺省情况下,未配置SRv6 TE Policy的转发类,该SRv6 TE Policy的转发类值为255,转发优先级最低。

2.20  配置SRv6 TE Policy限速功能

1. 功能简介

配置本功能后,通过SRv6 TE Policy转发的报文速率超过限速值时,超过速率限制的报文会被丢弃。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     进入SRv6 TE Policy视图。

policy policy-name

(5)     配置SRv6 TE Policy限速功能。

rate-limit kbps

缺省情况下,不对SRv6 TE Policy的流量速率进行限制。

2.21  开启SRv6 TE Policy在Policy失效时丢弃流量的功能

1. 功能简介

如果希望限定流量仅通过SRv6 TE Policy隧道转发,可以开启本功能。

缺省情况下,转发报文的SRv6 TE Policy的所有候选路径都失效时,设备会通过传统IPv6转发方式转发报文,即根据目的IPv6地址查找IPv6路由表转发报文。

当配置本功能后,如果用于转发报文的SRv6 TE Policy的所有候选路径都失效,设备会丢弃该报文,不会通过传统IPv6转发方式转发报文。

2. 配置限制和指导

display segment-routing ipv6 te policy命令中Request state字段显示为Falied(即BSID申请失败)、Conflicted(BSID冲突)或者Forwarding index字段显示为0(即SRv6 TE Policy无效)时,drop-upon-invalid enable命令不生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     进入SRv6 TE Policy视图。

policy policy-name

(5)     开启SRv6 TE Policy在Policy失效时丢弃流量的功能。

drop-upon-invalid enable

缺省情况下,Policy失效时丢弃流量的功能处于关闭状态。

2.22  配置根据报文封装进行路由优选

1. 功能简介

图2-1所示,PE 4作为RR,分别和PE 1、PE 2、PE 3建立IBGP连接。PE 1和PE 3具备SRv6功能,PE 2不具备SRv6功能,PE 1、PE 2和PE 3上均部署MPLS L3VPN功能。PE 1和PE 2上、PE 2和PE 3上的VPN用户通过MPLS L3VPN互访,PE 1和PE 3上VPN用户需要通过EVPN L3VPN over SRv6互访。PE 1和PE 3之间同时存在MPLS L3VPN和EVPN L3VPN over SRv6,处理PE 1和PE 3之间的业务流量时优选SRv6封装的路由。

图2-1 MPLS L3VPN和EVPN L3VPN over SRv6共存环境示意图

 

配置本功能后,设备会根据本功能的配置优选SRv6封装或MPLS封装的路由。关于本功能的配置在BGP选路规则中的详细生效顺序,请参见“三层技术-IP路由配置指导”中的“BGP概述”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP-VPN实例视图。

ip vpn-instance vpn-instance-name

(4)     配置根据报文封装进行路由优选。

bestroute encap-type { mpls | srv6 } [ preferred ]

缺省情况下,不根据报文封装进行路由优选。

2.23  配置SRv6 TE Policy的流量转发统计功能

1. 功能简介

配置本功能后,可以统计通过SRv6 TE Policy转发的流量的信息。

2. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的流量转发统计功能。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     全局开启SRv6 TE Policy的流量转发统计功能。

srv6-policy forwarding statistics [ service-class ] enable

缺省情况下,SRv6 TE Policy的流量转发统计功能处于关闭状态。

(5)     (可选)全局配置SRv6 TE Policy流量转发统计信息收集的时间间隔。

srv6-policy forwarding statistics interval interval

缺省情况下,SRv6 TE Policy流量转发统计信息收集的时间间隔为30秒。

(6)     进入SRv6 TE Policy视图。

policy policy-name

(7)     配置SRv6 TE Policy的流量转发统计功能。

forwarding statistics { disable | [ service-class ] enable }

缺省情况下,未配置SRv6 TE Policy的流量转发统计功能,以SRv6-TE视图下的配置为准。

2.24  SRv6 TE Policy显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后SRv6 TE Policy的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除SRv6 TE Policy的统计信息。

表2-1 SRv6 TE Policy显示和维护

操作

命令

显示通过Mirror SID保护的远端SRv6 SID

display bgp [ instance instance-name ] mirror remote-sid [ end-dt4 | end-dt46 | end-dt6 ] [ sid ]

显示BGP对等体或对等体组的状态和统计信息

display bgp [ instance instance-name ] peer ipv6 [ sr-policy ] [ ipv6-address prefix-length | { ipv6-address | group-name group-name } log-info | [ ipv6-address ] verbose ]

显示BGP SRv6 TE Policy路由信息

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ sr-policy-prefix [ advertise-info ] | peer ipv6-address { advertised-routes | received-routes } [ statistics ] | statistics ]

显示BGP对等体组的信息

display bgp [ instance instance-name ] group ipv6 sr-policy [ group-name group-name ]

显示BGP打包组的相关信息

display bgp [ instance instance-name ] update-group ipv6 sr-policy [ ipv6-address ]

显示SRv6 TE Policy的BFD信息

display segment-routing ipv6 te bfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ]

显示SRv6 TE的转发信息

display segment-routing ipv6 te forwarding [ policy { name policy-name | { color color-value | end-point ipv6 ipv6-address } * } ] [ verbose ]

显示SRv6 TE Policy信息

display segment-routing ipv6 te policy [ name policy-name | down | up | { color color-value | end-point ipv6 ip-address } * ]

显示SRv6 TE Policy最近一次down的原因

display segment-routing ipv6 te policy last-down-reason [ binding-sid bsid | color color-value endpoint ipv6 ipv6-address | policy-name policy-name ]

显示SRv6 TE Policy组最近一次down的原因

display segment-routing ipv6 te policy-group last-down-reason [ group-id | endpoint ipv6-address color color-value ]

显示SRv6 TE Policy的统计信息

display segment-routing ipv6 te policy statistics

显示SRv6 TE Policy组的统计信息

display segment-routing ipv6 te policy-group statistics

显示SRv6 TE Policy的状态

display segment-routing ipv6 te policy status [ policy-name policy-name ]

显示SRv6 TE Policy组的信息

display segment-routing ipv6 te policy-group [ odn ] [ group-id | { color color-value | end-point ipv6 ipv6-address } * ] [ verbose ]

显示SRv6 TE Policy的SBFD信息

display segment-routing ipv6 te sbfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ]

显示SRv6-TE的SID列表信息

display segment-routing ipv6 te segment-list [ name seglist-name | id id-value ]

显示IPR模板的信息

display segment-routing ipv6 te ipr [ name spr-name ]

显示SRv6 TE Policy的iFIT检测信息

display segment-routing ipv6 te policy ifit [ name policy-name | down | up | { color color-value | end-point ipv6 ipv6-address } * ]

显示SRv6 TE Policy模块的APN ID实例信息

display segment-routing ipv6 te policy-group apn-id-ipv6 instance [ name inatnce-name ]

显示SRv6 TE Policy转发出接口的带宽使用信息

display segment-routing ipv6 te ipr bandwidth interface [ interface-type interface-number ] [ verbose ]

清除SRv6 TE Policy流量转发统计信息

reset segment-routing ipv6 te forwarding statistics [ binding-sid binding-sid | color color-value endpoint endpoint-ipv6 | name name-value ]

 

2.25  SRv6 TE Policy典型配置举例

2.25.1  SRv6 TE Policy基本转发配置举例

1. 组网需求

通过在IGP网络中部署SRv6 TE Policy,实现根据用户需求制定合理的转发路径。如图2-2所示,用户需要流量分别经过Device A、Device B、Device C、Device D转发。通过部署以下功能可以实现该需求:

·     Device A~Device D设备之间运行IS-IS实现三层互通。

·     在Device A上配置SRv6 TE Policy,限定用户流量的转发路径为Device A->Device B->Device C->Device D。

2. 组网图

图2-2 SRv6 TE Policy基本转发配置组网图

设备

接口

IP地址

设备

接口

IP地址

Device A

Loop1

1::1/128

Device B

Loop1

2::2/128

 

GE1/0/1

1000::1/64

 

GE1/0/1

1000::2/64

 

GE1/0/2

4000::1/64

 

GE1/0/2

2000::2/64

Device C

Loop1

3::3/128

Device D

Loop1

4::4/128

 

GE1/0/1

3000::3/64

 

GE1/0/1

3000::4/64

 

GE1/0/2

2000::3/64

 

GE1/0/2

4000::4/64

 

3. 配置步骤

(1)     请按照图2-2配置各接口的IPv6地址和前缀长度,具体配置过程略

(2)     配置Device A

# 配置SID列表。

[DeviceA] segment-routing ipv6

[DeviceA-segment-routing-ipv6] encapsulation source-address 1::1

[DeviceA-segment-routing-ipv6] locator a ipv6-prefix 5000:: 64 static 32

[DeviceA-segment-routing-ipv6-locator-a] opcode 1 end

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

[DeviceA-segment-routing-ipv6] traffic-engineering

[DeviceA-srv6-te] srv6-policy locator a

[DeviceA-srv6-te] segment-list s1

[DeviceA-srv6-te-sl-s1] index 10 ipv6 6000::1

[DeviceA-srv6-te-sl-s1] index 20 ipv6 7000::1

[DeviceA-srv6-te-sl-s1] index 30 ipv6 8000::1

[DeviceA-srv6-te-sl-s1] quit

# 创建SRv6 TE Policy,并配置SRv6 TE Policy属性。

[DeviceA-srv6-te] policy p1

[DeviceA-srv6-te-policy-p1] binding-sid ipv6 5000::2

[DeviceA-srv6-te-policy-p1] color 10 end-point ipv6 4::4

[DeviceA-srv6-te-policy-p1] candidate-paths

[DeviceA-srv6-te-policy-p1-path] preference 10

[DeviceA-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[DeviceA-srv6-te-policy-p1-path-pref-10] quit

[DeviceA-srv6-te-policy-p1-path] quit

[DeviceA-srv6-te-policy-p1] quit

[DeviceA-srv6-te] quit

[DeviceA-segment-routing-ipv6] quit

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

<DeviceA> 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 unicast

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

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceA-GigabitEthernet1/0/1] quit

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceA-GigabitEthernet1/0/2] quit

[DeviceA] interface loopback 1

[DeviceA-LoopBack1] isis ipv6 enable 1

[DeviceA-LoopBack1] quit

(3)     配置Device B

# 配置SRv6 End.SID。

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] locator b ipv6-prefix 6000:: 64 static 32

[DeviceB-segment-routing-ipv6-locator-b] opcode 1 end

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

[DeviceB-segment-routing-ipv6] quit

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

<DeviceB> 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 unicast

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

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceB-GigabitEthernet1/0/2] quit

[DeviceB] interface loopback 1

[DeviceB-LoopBack1] isis ipv6 enable 1

[DeviceB-LoopBack1] quit

(4)     配置Device C

# 配置SRv6 End.SID。

[DeviceC] segment-routing ipv6

[DeviceC-segment-routing-ipv6] locator c ipv6-prefix 7000:: 64 static 32

[DeviceC-segment-routing-ipv6-locator-c] opcode 1 end

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

[DeviceC-segment-routing-ipv6] quit

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

<DeviceC> 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 unicast

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

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

[DeviceC] interface gigabitethernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceC-GigabitEthernet1/0/1] quit

[DeviceC] interface gigabitethernet 1/0/2

[DeviceC-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceC-GigabitEthernet1/0/2] quit

[DeviceC] interface loopback 1

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

(5)     配置Device D

# 配置SRv6 End.SID。

[DeviceD] segment-routing ipv6

[DeviceD-segment-routing-ipv6] locator d ipv6-prefix 8000:: 64 static 32

[DeviceD-segment-routing-ipv6-locator-d] opcode 1 end

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

[DeviceD-segment-routing-ipv6] quit

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

<DeviceD> 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 unicast

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

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

[DeviceD] interface gigabitethernet 1/0/1

[DeviceD-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceD-GigabitEthernet1/0/1] quit

[DeviceD] interface gigabitethernet 1/0/2

[DeviceD-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceD-GigabitEthernet1/0/2] quit

[DeviceD] interface loopback 1

[DeviceD-LoopBack1] isis ipv6 enable 1

[DeviceD-LoopBack1] quit

4. 验证配置

# 在Device A上查看SRv6 TE Policy的配置情况,可以看到SRv6 TE Policy处于激活状态,设备可以通过SRv6 TE Policy转发流量。

[DeviceA] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 Endpoint: 4::4

 Name from BGP:

 BSID:

  Mode: Explicit           Type: Type_2              Request state: Succeeded

  Current BSID: 5000::2    Explicit BSID: 5000::2    Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-04-02 16:08:03

 Down time: 2020-04-02 16:03:48

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(SBFD): -

    Active path MTU: 1428 bytes

# 在Device A上查看SRv6 TE Policy的转发信息。

[DeviceA] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: p1/0

 Binding SID: 5000::2

 Policy forwording index: 2150629377

 Main path:

   Seglist ID: 1

     Seglist forwording index: 2149580801

     Weight: 1

     Outgoing forwording index: 2148532225

       Interface: GE1/0/1

       Nexthop: FE80::54CB:70FF:FE86:316

         Path ID: 0

         SID list: {6000::1, 7000::1, 8000::1}

# 在Device A上查看LSP转发路径信息,可以看到SRv6 TE Policy对应的转发路径信息。

[DeviceA] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

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

2148532225    SRv6PSIDList  NA      GE1/0/1

                                    FE80::54CB:70FF:FE86:316

                                    {6000::1, 7000::1, 8000::1}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

2.25.2  SRv6 TE Policy尾节点保护配置举例

1. 组网需求

图2-3所示,在PE 1和PE 2之间建立双向SRv6 TE Policy,承载L3VPN业务。PE 2是SRv6 TE Policy的尾节点,为了增强可靠性,PE 3为PE 2提供保护。

2. 组网图

图2-3 SRv6 TE Policy尾节点保护配置组网图

设备

接口

IP地址

设备

接口

IP地址

CE 1

GE1/0/1

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

GE1/0/1

10.2.1.1/24

 

GE1/0/1

10.1.1.1/24

 

GE1/0/2

2002::1/64

 

GE1/0/2

2001::1/96

 

GE1/0/3

2004::2/96

P

Loop0

2::2/128

PE 3

Loop0

4::4/128

 

GE1/0/1

2001::2/96

 

GE1/0/1

10.3.1.1/24

 

GE1/0/2

2002::2/64

 

GE1/0/2

2003::1/96

 

GE1/0/3

2003::2/96

 

GE1/0/3

2004::1/96

 

 

 

CE 2

GE1/0/1

10.2.1.2/24

 

 

 

 

GE1/0/2

10.3.1.2/24

 

3. 配置准备

图2-3配置各CE的接口IP地址,配置过程略。

4. 配置步骤

(1)     配置CE 1

# 与PE建立EBGP对等体,引入VPN路由。

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] peer 10.1.1.1 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.1 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

(2)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网互通。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] is-level level-1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 10.1111.1111.1111.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 0

[PE1-LoopBack0] ipv6 address 1::1 128

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface gigabitethernet 1/0/2

[PE1-GigabitEthernet1/0/2] ipv6 address 2001::1 96

[PE1-GigabitEthernet1/0/2] isis ipv6 enable 1

[PE1-GigabitEthernet1/0/2] quit

# 配置VPN实例,将CE接入PE。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 111:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[PE1-GigabitEthernet1/0/1] ip address 10.1.1.1 24

[PE1-GigabitEthernet1/0/1] quit

# 与CE建立EBGP对等体,引入VPN路由。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.2 as-number 65410

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.2 enable

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# 在PE之间建立MP-IBGP对等体。

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 4::4 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] peer 4::4 connect-interface loopback 0

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] peer 4::4 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 配置L3VPN over SRv6 TE Policy。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] opcode 1 end-dt4 vpn-instance vpn1

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

[PE1-segment-routing-ipv6] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator aaa

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

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

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

# 配置SRv6 TE Policy。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator aaa

[PE1-srv6-te] segment-list s1

[PE1-srv6-te-s1-s1] index 10 ipv6 100:abc:1::1

[PE1-srv6-te-s1-s1] index 20 ipv6 6:5::1:2

[PE1-srv6-te-s1-s1] quit

[PE1-srv6-te] policy p1

[PE1-srv6-te-policy-p1] binding-sid ipv6 1:2::1:2

[PE1-srv6-te-policy-p1] color 10 end-point ipv6 3::3

[PE1-srv6-te-policy-p1] candidate-paths

[PE1-srv6-te-policy-p1-path] preference 10

[PE1-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE1-srv6-te-policy-p1-path-pref-10] quit

[PE1-srv6-te-policy-p1-path] quit

[PE1-srv6-te-policy-p1] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

(3)     配置P

# 配置IPv6 IS-IS,实现骨干网互通。

<P> system-view

[P] isis 1

[P-isis-1] is-level level-1

[P-isis-1] cost-style wide

[P-isis-1] network-entity 10.2222.2222.2222.00

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] quit

[P-isis-1] quit

[P] interface loopback 0

[P-LoopBack0] ipv6 address 2::2 128

[P-LoopBack0] isis ipv6 enable 1

[P-LoopBack0] quit

[P] interface gigabitethernet 1/0/1

[P-GigabitEthernet1/0/1] ipv6 address 2001::2 96

[P-GigabitEthernet1/0/1] isis ipv6 enable 1

[P-GigabitEthernet1/0/1] quit

[P] interface gigabitethernet 1/0/2

[P-GigabitEthernet1/0/2] ipv6 address 2002::2 96

[P-GigabitEthernet1/0/2] isis ipv6 enable 1

[P-GigabitEthernet1/0/2] quit

[P] interface gigabitethernet 1/0/3

[P-GigabitEthernet1/0/3] ipv6 address 2003::2 96

[P-GigabitEthernet1/0/3] isis ipv6 enable 1

[P-GigabitEthernet1/0/3] quit

# 配置SRv6功能。

[P] segment-routing ipv6

[P-segment-routing-ipv6] locator p ipv6-prefix 100:abc:1::0 96 static 8

[P-segment-routing-ipv6-locator-p] opcode 1 end

[P-segment-routing-ipv6-locator-p] quit

[P-segment-routing-ipv6] quit

[P] isis 1

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] segment-routing ipv6 locator p

# 配置快速重路由的备份下一跳信息,并开启尾节点保护功能。

[P-isis-1-ipv6] fast-reroute lfa level-1

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

[P-isis-1-ipv6] fast-reroute mirror enable

[P-isis-1-ipv6] quit

[P-isis-1] quit

(4)     配置PE 2

# 配置IPv6 IS-IS,实现骨干网互通。

<PE2> system-view

[PE2] isis 1

[PE2-isis-1] is-level level-1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 10.3333.3333.3333.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 0

[PE2-LoopBack0] ipv6 address 3::3 128

[PE2-LoopBack0] isis ipv6 enable 1

[PE2-LoopBack0] quit

[PE2] interface gigabitethernet 1/0/2

[PE2-GigabitEthernet1/0/2] ipv6 address 2002::1 96

[PE2-GigabitEthernet1/0/2] isis ipv6 enable 1

[PE2-GigabitEthernet1/0/2] quit

[PE2] interface gigabitethernet 1/0/3

[PE2-GigabitEthernet1/0/3] ipv6 address 2004::2 96

[PE2-GigabitEthernet1/0/3] isis ipv6 enable 1

[PE2-GigabitEthernet1/0/3] quit

# 配置VPN实例,将CE接入PE。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 111:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 1/0/1

[PE2-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[PE2-GigabitEthernet1/0/1] ip address 10.2.1.1 24

[PE2-GigabitEthernet1/0/1] quit

# 与CE建立EBGP对等体,引入VPN路由。

[PE2] bgp 100

[PE2-bgp-default] router-id 2.2.2.2

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] peer 10.2.1.2 as-number 65420

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] peer 10.2.1.2 enable

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

# 在PE之间建立MP-IBGP对等体。

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 4::4 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] peer 4::4 connect-interface loopback 0

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] peer 4::4 enable

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

# 配置L3VPN over SRv6 TE Policy。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] opcode 1 end-dt4 vpn-instance vpn1

[PE2-segment-routing-ipv6-locator-bbb] opcode 2 end

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

[PE2-segment-routing-ipv6] quit

[PE2] bgp 100

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator bbb

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

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

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

(5)     配置PE 3

# 配置IPv6 IS-IS,实现骨干网互通。

<PE3> system-view

[PE3] isis 1

[PE3-isis-1] is-level level-1

[PE3-isis-1] cost-style wide

[PE3-isis-1] network-entity 10.4444.4444.4444.00

[PE3-isis-1] address-family ipv6 unicast

[PE3-isis-1-ipv6] quit

[PE3-isis-1] quit

[PE3] interface loopback 0

[PE3-LoopBack0] ipv6 address 4::4 128

[PE3-LoopBack0] isis ipv6 enable 1

[PE3-LoopBack0] quit

[PE3] interface gigabitethernet 1/0/2

[PE3-GigabitEthernet1/0/2] ipv6 address 2003::1 96

[PE3-GigabitEthernet1/0/2] isis ipv6 enable 1

[PE3-GigabitEthernet1/0/2] quit

[PE3] interface gigabitethernet 1/0/3

[PE3-GigabitEthernet1/0/3] ipv6 address 2004::1 96

[PE3-GigabitEthernet1/0/3] isis ipv6 enable 1

[PE3-GigabitEthernet1/0/3] quit

# 配置VPN实例,将CE接入PE。

[PE3] ip vpn-instance vpn1

[PE3-vpn-instance-vpn1] route-distinguisher 100:1

[PE3-vpn-instance-vpn1] vpn-target 111:1

[PE3-vpn-instance-vpn1] quit

[PE3] interface gigabitethernet 1/0/1

[PE3-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[PE3-GigabitEthernet1/0/1] ip address 10.3.1.1 24

[PE3-GigabitEthernet1/0/1] quit

# 与CE建立EBGP对等体,引入VPN路由。

[PE3] bgp 100

[PE3-bgp-default] router-id 3.3.3.3

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] peer 10.3.1.2 as-number 65420

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] peer 10.3.1.2 enable

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

# 在PE之间建立MP-IBGP对等体。

[PE3] bgp 100

[PE3-bgp-default] peer 1::1 as-number 100

[PE3-bgp-default] peer 3::3 as-number 100

[PE3-bgp-default] peer 1::1 connect-interface loopback 0

[PE3-bgp-default] peer 3::3 connect-interface loopback 0

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 enable

[PE3-bgp-default-vpnv4] peer 3::3 enable

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] quit

# 配置SRv6封装的IPv6报文头的源地址。

[PE3] segment-routing ipv6

[PE3-segment-routing-ipv6] encapsulation source-address 4::4

# 配置End.M SID来保护PE 2。

[PE3-segment-routing-ipv6] locator ccc ipv6-prefix 9:7::1:0 96 static 8

[PE3-segment-routing-ipv6-locator-ccc] opcode 1 end-m mirror-locator 6:5::1:0 96

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

[PE3-segment-routing-ipv6] quit

# 配置将私网路由迭代到End.M SID的路由条目上。

[PE3] bgp 100

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE3-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] segment-routing ipv6 locator ccc

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

[PE3-bgp-default] quit

[PE3] isis 1

[PE3-isis-1] address-family ipv6 unicast

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

[PE3-isis-1-ipv6] quit

[PE3-isis-1] quit

(6)     配置CE 2

# 与PE建立EBGP对等体,引入VPN路由。

<CE2> system-view

[CE2] bgp 65420

[CE2-bgp-default] peer 10.2.1.1 as-number 100

[CE2-bgp-default] peer 10.3.1.1 as-number 100

[CE2-bgp-default] address-family ipv4 unicast

[CE2-bgp-default-ipv4] peer 10.2.1.1 enable

[CE2-bgp-default-ipv4] peer 10.3.1.1 enable

[CE2-bgp-default-ipv4] import-route direct

[CE2-bgp-default-ipv4] quit

[CE2-bgp-default] quit

5. 验证配置

# 在PE 1上查看SRv6 TE Policy的配置情况,可以看到SRv6 TE Policy处于激活状态,设备可以通过SRv6 TE Policy转发流量。

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Explicit            Type: Type_2              Request state: Succeeded

  Current BSID: 1:2::1:2    Explicit BSID: 1:2::1:2   Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Active path MTU: 1428 byte

# 在PE 1设备上查看SRv6 TE Policy的转发信息。

[PE1] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: p1/0

 Binding SID: 1:2::1:2

 Forwarding index: 2150629377

 Main path:

   Seglist ID: 1

     Seglist forwarding index: 2149580801

     Weight: 1

     Outgoing forwarding index: 2148532225

       Interface: GE1/0/2

       Nexthop: FE80::988A:B5FF:FED9:316

         Path ID: 0

         SID list: {100:ABC:1::1, 6:5::1:2}

# 在PE 1上查看转发路径信息,可以看到SRv6 TE Policy对应的转发路径信息。

[PE1] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

              Attri-Val             Attri-Val

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

2148532225    SRv6PSIDList  NA      GE1/0/2

                                    FE80::988A:B5FF:FED9:316

                                    {100:ABC:1::1, 6:5::1:2}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

              p1

# 在PE 3上查看End.M SID所保护的远端SRv6 SID信息。

[PE3] display bgp mirror remote-sid

 

Remote SID: 6:5::1:1

Remote SID type: End.DT4

Mirror locator: 6:5::1:0/96

Vpn instance name: vpn1

# 在P上查看IS-IS IPv6路由中End.M SID信息。

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

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

 

                         Level-1 IPv6 forwarding table

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

 

 IPv6 dest   : 6:5::/96

 Flag        : R/-/-                       Cost        : 10

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:BDFF:FEB6:417

 Interface   : GE1/0/2

 Mirror FRR:

  Interface : GE1/0/3

  BkNextHop : FE80::988A:C6FF:FE0D:517

  LsIndex    : 0x80000001

  Backup label stack(top->bottom): {9:7::1:1}

 Nib ID      : 0x24000006

 

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

# 正常情况下,流量经过路径CE 1-PE 1-P-PE 2-CE 2发布到私网。当PE 2节点故障时,P设备上感知PE 2下一跳不可达,切换为FRR路径,使SRv6 TE Policy正常转发路由表项。将设备P与PE 2的接口断开,可以发现P设备上下一跳接口变为备用接口,PE 1上的SRv6 TE Policy仍然处于激活状态。

[P] interface gigabitethernet 1/0/2

[P-GigabitEthernet1/0/2] shut

[P-GigabitEthernet1/0/2] quit

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

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

 

                         Level-1 IPv6 forwarding table

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

 

 IPv6 dest   : 6:5::/96

 Flag        : R/-/-                       Cost        : 20

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:C6FF:FE0D:517

 Interface   : GE1/0/3

 Nib ID      : 0x24000007

 

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

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Explicit            Type: Type_2              Request state: Succeeded

  Current BSID: 1:2::1:2    Explicit BSID: 1:2::1:2   Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Active path MTU: 1428 bytes

2.25.3  SRv6 TE Policy的智能策略路由功能配置举例

1. 组网需求

图2-4所示,AS 100为IPv6网络,私网为IPv4网络。PE 1、P 1、P 2、P 3和PE 2属于同一自治系统,它们之间通过IS-IS协议达到IPv6网络互通。在PE 1和PE 2之间创建SRv6 TE Policy组,并且创建3条不同转发路径的SRv6 TE Policy来承载IPv4 L3VPN业务。在PE 1和PE 2上通过路由策略来设置VPNv4路由的Color属性,将VPN私网流量引流到PE 1和PE 2之间的SRv6 TE Policy组中转发。通过部署SRv6 TE Policy的智能策略路由功能实现私网流量在SRv6 TE Policy组中动态优选SRv6 TE Policy。

SRv6 TE Policy的规划如下:

·     SRv6 TE Policy A:存在一条候选路径,SID列表代表的转发路径为PE 1->P 1->PE 2。

·     SRv6 TE Policy B:存在一条候选路径,SID列表代表的转发路径为PE 1->P 2->PE 2。

·     SRv6 TE Policy C:存在一条候选路径,SID列表代表的转发路径为PE 1->P 3->PE 2。

·     IPR模板中定义:

·     SLA标准:丢包<5‰、时延<100ms、抖动<10ms、CMI<110。

·     SRv6 TE Policy的选路优先级:SRv6 TE Policy A 1、SRv6 TE Policy B 2、SRv6 TE Policy C 3。

2. 组网图

图2-4 SRv6 TE Policy的智能策略路由功能配置组网图

设备

接口

IP地址

设备

接口

IP地址

CE 1

GE1/0/1

10.1.1.1/24

CE 2

GE1/0/2

20.1.1.1/24

 

Loop0

11.11.11.11/32

 

Loop0

22.22.22.22/32

PE 1

Loop1

1::1/128

P 1

Loop1

2::2/128

 

GE1/0/1

10.1.1.2/24

 

GE1/0/1

5001::2/96

 

GE1/0/2

2001::1/96

 

GE1/0/2

2001::2/96

 

GE1/0/3

3001::1/96

P 2

Loop1

4::4/128

 

GE1/0/4

4001::1/96

 

GE1/0/1

6001::2/96

PE 2

Loop1

3::3/128

 

GE1/0/2

3001::2/96

 

GE1/0/1

5001::1/96

P 3

Loop1

5::5/128

 

GE1/0/2

20.1.1.2/24

 

GE1/0/1

7001::2/96

 

GE1/0/3

6001::1/96

 

GE1/0/2

4001::2/96

 

GE1/0/4

7001::1/96

 

 

 

 

3. 配置步骤

(1)     请按照图2-4配置各接口的IPv6地址和前缀长度,具体配置过程略。

(2)     配置CE 1

# 配置通过EBGP发布私网路由PE 1。

<CE1> system-view

[CE1] bgp 200

[CE1-bgp-default] router-id 11.11.11.11

[CE1-bgp-default] peer 10.1.1.2 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.2 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

(3)     配置CE 2

# 配置通过EBGP发布私网路由PE 2。

[CE2] bgp 300

[CE2-bgp-default] router-id 22.22.22.22

[CE2-bgp-default] peer 20.1.1.2 as-number 100

[CE2-bgp-default] address-family ipv4 unicast

[CE2-bgp-default-ipv4] peer 20.1.1.2 enable

[CE2-bgp-default-ipv4] import-route direct

[CE2-bgp-default-ipv4] quit

[CE2-bgp-default] quit

(4)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 00.0000.0000.0001.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 1

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

[PE1] interface gigabitethernet 1/0/2

[PE1-GigabitEthernet1/0/2] isis ipv6 enable 1

[PE1-GigabitEthernet1/0/2] quit

[PE1] interface gigabitethernet 1/0/3

[PE1-GigabitEthernet1/0/3] isis ipv6 enable 1

[PE1-GigabitEthernet1/0/3] quit

[PE1] interface gigabitethernet 1/0/4

[PE1-GigabitEthernet1/0/4] isis ipv6 enable 1

[PE1-GigabitEthernet1/0/4] quit

# 配置VPN实例,将CE 1接入PE 1。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 100:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[PE1-GigabitEthernet1/0/1] ip address 10.1.1.2 24

[PE1-GigabitEthernet1/0/1] quit

# 在PE 1与CE 1之间建立EBGP对等体,引入VPN路由。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.1 as-number 200

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.1 enable

[PE1-bgp-default-ipv4-vpn1] import-route direct

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# 在PE 1和PE 2之间建立MP-IBGP对等体。

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 在PE 1和PE 2之间VPN路由迭代到SRv6 TE Policy组。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

[PE1-segment-routing-ipv6] locator abc ipv6-prefix 100:1:: 64 static 16

[PE1-segment-routing-ipv6-locator-abc] opcode 1 end

[PE1-segment-routing-ipv6-locator-abc] quit

[PE1-segment-routing-ipv6] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] segment-routing ipv6 locator abc

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator abc

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 在PE 1上配置SRv6 TE Policy A。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator abc

[PE1-srv6-te] segment-list s1

[PE1-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE1-srv6-te-sl-s1] index 20 ipv6 300:1::1

[PE1-srv6-te-sl-s1] quit

[PE1-srv6-te] policy A

[PE1-srv6-te-policy-A] color 10 end-point ipv6 3::3

[PE1-srv6-te-policy-A] candidate-paths

[PE1-srv6-te-policy-A-path] preference 10

[PE1-srv6-te-policy-A-path-pref-10] explicit segment-list s1

[PE1-srv6-te-policy-A-path-pref-10] quit

[PE1-srv6-te-policy-A-path] quit

[PE1-srv6-te-policy-A] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在PE 1上配置SRv6 TE Policy B。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator abc

[PE1-srv6-te] segment-list s2

[PE1-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE1-srv6-te-sl-s1] index 20 ipv6 300:1::1

[PE1-srv6-te-sl-s1] quit

[PE1-srv6-te] policy B

[PE1-srv6-te-policy-B] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-B] candidate-paths

[PE1-srv6-te-policy-B-path] preference 10

[PE1-srv6-te-policy-B-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-B-path-pref-10] quit

[PE1-srv6-te-policy-B-path] quit

[PE1-srv6-te-policy-B] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在PE 1上配置SRv6 TE Policy C。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator abc

[PE1-srv6-te] segment-list s3

[PE1-srv6-te-sl-s1] index 10 ipv6 500:1::1

[PE1-srv6-te-sl-s1] index 20 ipv6 300:1::1

[PE1-srv6-te-sl-s1] quit

[PE1-srv6-te] policy C

[PE1-srv6-te-policy-C] color 30 end-point ipv6 3::3

[PE1-srv6-te-policy-C] candidate-paths

[PE1-srv6-te-policy-C-path] preference 10

[PE1-srv6-te-policy-C-path-pref-10] explicit segment-list s3

[PE1-srv6-te-policy-C-path-pref-10] quit

[PE1-srv6-te-policy-C-path] quit

[PE1-srv6-te-policy-C] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在PE 1上开启iFIT功能、配置iFIT设备的标识并设置iFIT的工作模式为分析器,同时全局开启SRv6 TE Policy的iFIT的丢包、时延和抖动测量功能。

[PE1] ifit enable

[PE1-ifit] device-id 100

[PE1-ifit] work-mode analyzer

[PE1-ifit-analyzer] service-type srv6-segment-list

[PE1-ifit-analyzer] quit

[PE1-ifit] quit

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy ifit loss-measure enable

[PE1-srv6-te] srv6-policy ifit delay-measure enable

[PE1-srv6-te] srv6-policy ifit interval 10

# 在PE 1上开启全局SRv6 TE Policy的SBFD功能。

[PE1] sbfd source-ipv6 1::1

[PE1] bfd multi-hop detect-multiplier 5

[PE1] bfd multi-hop min-transmit-interval 50

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy sbfd remote 1000001

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在PE 1上配置名称为ipr1的IPR模板,并定义IPR模板的参数。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] intelligent-policy-route

[PE1-srv6-te-ipr] refresh-period 30

[PE1-srv6-te-ipr] ipr-policy ipr1

[PE1-srv6-ipr-policy-ipr1] delay threshold 100

[PE1-srv6-ipr-policy-ipr1] jitter threshold 10

[PE1-srv6-ipr-policy-ipr1] loss threshold 5

[PE1-srv6-ipr-policy-ipr1] cmi threshold 110

[PE1-srv6-ipr-policy-ipr1] srv6-policy color 10 priority 1

[PE1-srv6-ipr-policy-ipr1] srv6-policy color 20 priority 2

[PE1-srv6-ipr-policy-ipr1] srv6-policy color 30 priority 3

[PE1-srv6-ipr-policy-ipr1] quit

[PE1-srv6-te-ipr] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在PE 1的接口GigabitEthernet1/0/1入方向上对从CE 1发送到CE 2源地址为11.11.11.11/32,目的地址为22.22.22.22/32的私网业务流量标记TE Class ID为10。

[PE1] acl advanced 3000

[PE1-acl-ipv4-adv-3000] rule 10 permit ip source 11.11.11.11 0 destination 22.22.22.22  0

[PE1-acl-ipv4-adv-3000] quit

[PE1] traffic classifier aaa

[PE1-classifier-aaa] if-match acl 3000

[PE1-classifier-aaa] quit

[PE1] traffic behavior aaa

[PE1-behavior-aaa] remark te-class 10

[PE1-behavior-aaa] quit

[PE1] qos policy aaa

[PE1-qospolicy-aaa] classifier aaa behavior aaa

[PE1-qospolicy-aaa] quit

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] qos apply policy aaa inbound

[PE1-GigabitEthernet1/0/1] quit

# 在PE 1上配置SRv6 TE Policy组10,指定SRv6 TE Policy组10的转发类型为基于TE Class ID转发,并建立TE Class ID 10和IPR模板ipr1的映射关系,同时设置缺省SRv6 BE作为基于TE Class ID转发的默认转发策略,用于流量逃生。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] policy-group 10

[PE1-srv6-te-policy-group-10] end-point ipv6 3::3

[PE1-srv6-te-policy-group-10] group-color 100

[PE1-srv6-te-policy-group-10] forward-type te-class

[PE1-srv6-te-policy-group-10] index 1 te-class 10 match ipr-policy ipr1

[PE1-srv6-te-policy-group-10] default match best-effort

# 在PE 1上配置路由策略及隧道策略,将VPN业务流量通过路由策略引流到指定的SRv6 TE Policy组,并优选SRv6 TE Policy组。

[PE1] route-policy a permit node 10

[PE1-route-policy-a-10] apply extcommunity color 00:100

[PE1-route-policy-a-10] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 route-policy a import

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy-group load-balance-number 1

[PE1-tunnel-policy-a] quit

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] tnl-policy a

[PE1-vpn-instance-vpn1] quit

(5)     配置P 1

# 配置IPv6 IS-IS,实现骨干网的互通。

<P1> system-view

[P1] isis 1

[P1-isis-1] cost-style wide

[P1-isis-1] network-entity 00.0000.0000.0002.00

[P1-isis-1] address-family ipv6 unicast

[P1-isis-1-ipv6] quit

[P1-isis-1] quit

[P1] interface loopback 1

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

[P1] interface gigabitethernet 1/0/2

[P1-GigabitEthernet1/0/2] isis ipv6 enable 1

[P1-GigabitEthernet1/0/2] quit

[P1] interface gigabitethernet 1/0/1

[P1-GigabitEthernet1/0/1] isis ipv6 enable 1

[P1-GigabitEthernet1/0/1] quit

# 在P 1上配置Locator,并由IS-IS发布该Locator。

[P1] segment-routing ipv6

[P1-segment-routing-ipv6] locator abc ipv6-prefix 200:1:: 64 static 16

[P1-segment-routing-ipv6-locator-abc] opcode 1 end

[P1-segment-routing-ipv6-locator-abc] quit

[P1-segment-routing-ipv6] quit

[P1] isis 1

[P1-isis-1] address-family ipv6 unicast

[P1-isis-1-ipv6] segment-routing ipv6 locator abc

[P1-isis-1-ipv6] quit

[P1-isis-1] quit

(6)     配置P 2

# 配置IPv6 IS-IS,实现骨干网的互通。

<P2> system-view

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0003.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

[P2] interface gigabitethernet 1/0/2

[P2-GigabitEthernet1/0/2] isis ipv6 enable 1

[P2-GigabitEthernet1/0/2] quit

[P2] interface gigabitethernet 1/0/1

[P2-GigabitEthernet1/0/1] isis ipv6 enable 1

[P2-GigabitEthernet1/0/1] quit

# 在P 2上配置Locator,并由IS-IS发布该Locator。

[P2] segment-routing ipv6

[P2-segment-routing-ipv6] locator abc ipv6-prefix 400:1:: 64 static 16

[P2-segment-routing-ipv6-locator-abc] opcode 1 end

[P2-segment-routing-ipv6-locator-abc] quit

[P2-segment-routing-ipv6] quit

[P2] isis 1

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] segment-routing ipv6 locator abc

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

(7)     配置P 3

# 配置IPv6 IS-IS,实现骨干网的互通。

<P3> system-view

[P3] isis 1

[P3-isis-1] cost-style wide

[P3-isis-1] network-entity 00.0000.0000.0004.00

[P3-isis-1] address-family ipv6 unicast

[P3-isis-1-ipv6] quit

[P3-isis-1] quit

[P3] interface loopback 1

[P3-LoopBack1] isis ipv6 enable 1

[P3-LoopBack1] quit

[P3] interface gigabitethernet 1/0/2

[P3-GigabitEthernet1/0/2] isis ipv6 enable 1

[P3-GigabitEthernet1/0/2] quit

[P3] interface gigabitethernet 1/0/1

[P3-GigabitEthernet1/0/1] isis ipv6 enable 1

[P3-GigabitEthernet1/0/1] quit

# 在P 3上配置Locator,并由IS-IS发布该Locator。

[P3] segment-routing ipv6

[P3-segment-routing-ipv6] locator abc ipv6-prefix 500:1:: 64 static 16

[P3-segment-routing-ipv6-locator-abc] opcode 1 end

[P3-segment-routing-ipv6-locator-abc] quit

[P3-segment-routing-ipv6] quit

[P3] isis 1

[P3-isis-1] address-family ipv6 unicast

[P3-isis-1-ipv6] segment-routing ipv6 locator abc

[P3-isis-1-ipv6] quit

[P3-isis-1] quit

(8)     配置PE 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<PE2> system-view

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0005.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

[PE2] interface gigabitethernet 1/0/1

[PE2-GigabitEthernet1/0/1] isis ipv6 enable 1

[PE2-GigabitEthernet1/0/1] quit

[PE2] interface gigabitethernet 1/0/3

[PE2-GigabitEthernet1/0/3] isis ipv6 enable 1

[PE2-GigabitEthernet1/0/3] quit

[PE2] interface gigabitethernet 1/0/4

[PE2-GigabitEthernet1/0/4] isis ipv6 enable 1

[PE2-GigabitEthernet1/0/4] quit

# 配置VPN实例,将CE 2接入PE 2。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 100:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 1/0/2

[PE2-GigabitEthernet1/0/2] ip binding vpn-instance vpn1

[PE2-GigabitEthernet1/0/2] ip address 20.1.1.2 24

[PE2-GigabitEthernet1/0/2] quit

# 在PE 2与CE 2之间建立EBGP对等体,引入VPN路由。

[PE2] bgp 100

[PE2-bgp-default] router-id 3.3.3.3

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] peer 20.1.1.1 as-number 300

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] peer 20.1.1.1 enable

[PE2-bgp-default-ipv4-vpn1] import-route direct

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

# 在PE 1和PE 2之间建立MP-IBGP对等体。

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator abc

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# PE 2上配置Locator,并由IS-IS发布该Locator。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

[PE2-segment-routing-ipv6] locator abc ipv6-prefix 300:1:: 64 static 16

[PE2-segment-routing-ipv6-locator-abc] opcode 1 end

[PE2-segment-routing-ipv6-locator-abc] quit

[PE2-segment-routing-ipv6] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] segment-routing ipv6 locator abc

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

# 在PE 2上开启iFIT功能、设置iFIT的工作模式为收集器。

[PE2] ifit enable

[PE2-ifit] work-mode collector

[PE2-ifit-collector] service-type srv6-segment-list

[PE2-ifit-collector] quit

[PE2-ifit] quit

# 配置SBFD会话的Reflector端的本地标识符。

[PE2] sbfd local-discriminator 1000001

4. 验证配置

# 在PE 1上查看SRv6 TE Policy组的信息,可以看到当前SRv6 TE Policy组状态为UP,SRv6 TE Policy组中TE Class ID为10的流量通过名称为ipr1的IPR模板定义的转发策略转发,且IPR模板状态为active可用,IPR智能策略路由计算出的最优SRv6 TE Policy的Color为10。

[PE1] display segment-routing ipv6 te policy-group verbose

Total number of policy groups: 1

 

GroupID: 10                         GroupState: Up

GroupNID: 2151677953                Referenced: 1

Flags:  None                        Group type: Static TE Class

Group color: 100

StateChangeTime: 2024-03-28 20:24:38

Endpoint: 3::3

BSID:

  Explicit BSID: -                       Request state: -

Drop upon mismatch: Disabled

UP/Total Mappings: 2/2

  Default Match Type: None/SRv6 BE(active)

    Default SRv6 TE Policy Color: -

    Default IPR Policy  : -

  Index: 1                TE Class: 10

    Match Type          : IPR Policy(active)

    SRv6 TE Policy Color: -

    IPR Policy          : ipr1

    Color: 10             Priority: 1

# 在PE 1上查看SRv6 TE Policy的转发信息。

[PE1] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 3

 

Policy name/ID: A/0

 Binding SID: 100:1::1:3

 Forwarding index: 2150629378

 Main path:

   Seglist ID: 1

     Seglist forwarding index: 2149580803

     Weight: 1

     Outgoing forwarding index: 2148532226

       Interface: GE1/0/2

       Nexthop: FE80::E3A:FAFF:FED5:B983

       Discriminator: 10

       LoadShareWeight: 1

         Path ID: 0

         SID list: {200:1::1, 300:1::1}

 

Policy name/ID: B/1

 Binding SID: 100:1::1:4

 Forwarding index: 2150629379

 Main path:

   Seglist ID: 3

     Seglist forwarding index: 2149580804

     Weight: 1

     Outgoing forwarding index: 2148532227

       Interface: GE1/0/3

       Nexthop: FE80::E3A:FAFF:FED5:B985

       Discriminator: 10

       LoadShareWeight: 1

         Path ID: 0

         SID list: {400:1::1, 300:1::1}

 

Policy name/ID: C/2

 Binding SID: 100:1::1:5

 Forwarding index: 2150629380

 Main path:

   Seglist ID: 5

     Seglist forwarding index: 2149580805

     Weight: 1

     Outgoing forwarding index: 2148532228

       Interface: GE1/0/4

       Nexthop: FE80::E3A:FAFF:FED5:B987

       Discriminator: 10

       LoadShareWeight: 1

         Path ID: 0

         SID list: {500:1::1, 300:1::1}

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们