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

11-Segment Routing配置指导

目录

04-SRv6 TE Policy配置

本章节下载 04-SRv6 TE Policy配置  (2.85 MB)

04-SRv6 TE Policy配置

  录

1 SRv6 TE Policy概述

1.1 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 SRv6 TE Policy创建方式

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

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

1.3.4 SRv6 TE Policy有效性判断

1.4 SRv6 TE Policy组

1.5 SRv6 TE Policy引流

1.5.1 SRv6 TE Policy引流简介

1.5.2 基于BSID引流

1.5.3 基于Color引流

1.5.4 基于DSCP引流

1.5.5 基于802.1p引流

1.5.6 基于service-class引流

1.5.7 基于CBTS引流

1.5.8 基于TE class ID引流

1.5.9 基于APN ID引流

1.5.10 基于ARN ID引流

1.5.11 自引流功能

1.5.12 基于隧道策略、静态路由等方式引流

1.6 SRv6 TE Policy流量转发

1.6.1 SRv6 TE Policy选路原则

1.6.2 SRv6 TE Policy报文转发过程

1.7 SRv6 TE Policy的可靠性

1.7.1 SRv6 TE Policy热备份功能

1.7.2 SRv6 TE Policy与BFD联动

1.7.3 SRv6 TE Policy中间节点保护

1.7.4 SRv6尾节点保护功能

1.8 SRv6 TE Policy的应用场景

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

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

1.8.3 SRv6 TE Policy在ARN网络中的应用

2 SRv6 TE Policy配置

2.1 SRv6 TE Policy配置和指导

2.2 SRv6 TE Policy配置任务简介

2.3 创建SRv6 TE Policy

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

2.3.2 通过ODN自动创建SRv6 TE Policy

2.4 配置PCEP会话

2.4.1 配置限制和指导

2.4.2 配置PCE发现

2.4.3 开启PCC设备的SRv6能力

2.4.4 配置PCEP会话参数

2.5 配置候选路径并引用SID列表

2.5.1 配置限制和指导

2.5.2 配置候选路径使用手工创建的SID列表

2.5.3 配置候选路径采用亲和属性方式计算的路径建立SID列表

2.5.4 配置候选路径采用Flex-Algo方式计算的路径建立SID列表

2.5.5 配置候选路径使用PCE自动计算SID列表

2.5.6 配置ODN创建的SRv6 TE Policy候选路径采用亲和属性方式计算的路径建立SID列表

2.5.7 配置ODN创建的SRv6 TE Policy候选路径采用Flex-Algo方式计算的路径建立SID列表

2.5.8 配置ODN创建的SRv6 TE Policy候选路径使用PCE计算SID列表

2.5.9 配置通过PCE托管方式创建候选路径及SID列表

2.6 开启在SID列表中封装严格SID功能

2.7 配置动态路径计算的时间间隔

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

2.9 关闭SRv6 TE Policy

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

2.10.1 配置限制和指导

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

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

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

2.10.5 开启Router ID过滤功能

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

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

2.10.8 维护BGP会话

2.11 配置SRv6 TE Policy引流

2.11.1 配置SRv6 TE的引流方式

2.11.2 配置基于Color引流

2.11.3 配置基于隧道策略引流

2.11.4 配置基于DSCP引流

2.11.5 配置基于Dot1p引流

2.11.6 配置基于service-class引流

2.11.7 配置基于APN ID引流

2.11.8 配置基于ARN ID引流

2.11.9 配置基于TE Class ID引流

2.11.10 配置基于静态路由引流

2.11.11 配置基于QoS策略引流

2.11.12 配置基于Flowspec引流

2.11.13 配置自引流功能

2.12 配置SRv6 TE Policy的封装方式

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

2.13.1 配置限制和指导

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

2.13.3 配置SRv6 TE Policy的IPR算路功能

2.14 开启SRv6 TE Policy的SBFD功能

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

2.16 开启SRv6 TE Policy的No-Bypass功能

2.17 开启SRv6 TE Policy的BFD No-Bypass功能

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

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

2.20 配置SRv6 TE Policy延迟激活的时间

2.21 配置SRv6 TE Policy路径连通性检查功能

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

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

2.23.1 配置限制和指导

2.23.2 配置End.M SID

2.23.3 开启尾节点保护功能

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

2.24 配置SRv6 TE Policy的候选路径重优化功能

2.25 配置SRv6 TE Policy震荡抑制功能

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

2.27 配置SRv6 TE Policy CBTS

2.28 配置SRv6 TE Policy限速功能

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

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

2.31 配置SRv6 TE Policy资源数量的告警阈值

2.32 开启SRv6 TE Policy的日志功能

2.33 开启SRv6 TE Policy的告警功能

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

2.35 SRv6 TE Policy显示和维护

2.36 SRv6 TE Policy典型配置举例‌

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

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

2.36.3 由ODN生成SRv6 TE Policy配置举例

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

2.36.5 基于Color引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

2.36.6 基于CBTS引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

2.36.7 基于DSCP引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

2.36.8 通过Flowspec引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

3 附录

3.1 SRv6 TE Policy NLRI

3.2 BGP-LS路由的TE Policy NLRI

 


1 SRv6 TE Policy概述

1.1  SRv6 TE Policy简介

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

1.2  SRv6 TE Policy的基本概念

1.2.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目的节点的IPv6地址。

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

1.2.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表示候选路径的通过何种协议或方式生成;

¡     Originator表示生成这条候选路径的节点(通常由AS Number和节点的地址组成);

¡     Discriminator则是Protocol-origin和Originator确定的情况下,区分候选路径的ID。例如,控制器通过BGP向SRv6 TE Policy头节点发送了3条候选路径,则该候选路径的Protocol-origin为BGP,Originator为控制器,3条候选路径的Discriminator各不相同。

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

·     SID列表

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

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

SRv6 TE Policy中还存在Binding SID(BSID),BSID通常情况下是一个SRv6 SID。一个BSID可以代表一条候选路径,如果报文目的地址为BSID,则该报文会被引导到对应的候选路径中转发。因此,从编程的角度看,如果把SRv6 TE Policy作为一种网络服务,希望通过该SRv6 TE Policy的某个候选路径转发业务流量,那么BSID就是业务调用这个网络服务的接口。

BSID可以通过手工配置的方式指定,也可以从引用的Locator段内动态分配。作为一个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.3  创建SRv6 TE Policy

1.3.1  SRv6 TE Policy创建方式

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

·     通过命令行或NETCONF创建

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

·     通过SRv6 TE Policy路由学习

为了支持SRv6 TE Policy,MP-BGP定义了新的子地址族——BGP IPv6 SR 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后,会生成两条候选路径:

¡     Preference为200的候选路径,该候选路径下的SID列表需要通过亲和属性或Flex-Algo算法动态计算。

¡     Preference为100的候选路径,该候选路径下的SID列表需要由PCE计算。PCE计算的详细介绍,请参见“采用PCE计算的路径建立SID列表”。

由ODN功能自动创建的SRv6 TE Policy下还可以手工创建候选路径。

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

手工创建的SRv6 TE Policy和由ODN功能自动创建的SRv6 TE Policy,均支持在SRv6 TE Policy的源节点采用动态计算的路径建立SID列表。

SRv6 TE Policy支持采用如下方式动态计算路径:

·     根据亲和属性动态计算路径

·     根据Flex-Algo算法动态计算路径

1. SRv6 TE Policy根据亲和属性动态计算路径

SRv6 TE Policy根据亲和属性动态计算路径的过程为:

(1)     根据亲和属性规则决定SRv6 TE Policy可以使用哪些链路。

亲和属性规则可以通过引用亲和属性名称,来关联指定的亲和属性比特位,以实现SRv6 TE Policy根据亲和属性规则选择具有指定亲和属性比特位的链路。

¡     链路属性:32位的二进制数,每一位二进制数代表一个属性,属性值为0或1。

¡     亲和属性比特位:取值为0~31。当亲和属性比特位取值为N时,表示其与链路属性从右向左的第N+1位进行比较。仅当链路属性的第N+1位为1时,该链路才具有该亲和属性。

例如,亲和属性名称为blue,对应亲和属性比特位为1;亲和属性名称为red,对应亲和属性比特位为5。在不同亲和属性规则下,选择链路的方式为:

¡     亲和属性规则为include-any,表示只有链路具有该规则中指定的任意一个亲和属性时,SRv6 TE Policy才可以使用该链路。如果链路的32位链路属性中第二位(blue对应的亲和属性比特位)或第六位(red对应的亲和属性比特位)为1,则该链路可用。

¡     亲和属性规则为include-all,表示只有链路具有该规则中所有亲和属性时,SRv6 TE Policy才可以使用该链路。如果链路的32位链路属性中第二位(blue对应的亲和属性比特位)和第六位(red对应的亲和属性比特位)均为1,则该链路可用。

¡     亲和属性规则为exclude-any时,表示只要链路具有该规则中指定的任意一个亲和属性时,SRv6 TE Policy不可以使用该链路。如果链路的32位链路属性中第二位(blue对应的亲和属性比特位)或第六位(red对应的亲和属性比特位)为1,则该链路不可用。

(2)     根据度量类型计算路径。

SRv6 TE Policy支持的度量类型及计算方式为:

¡     以跳数作为度量值,选择跳数最少的链路。

¡     以IGP链路开销值作为度量值,选择IGP链路开销值最低的链路。

¡     以接口最小时延作为度量值,选择接口最小时延最低的链路。

¡     以MPLS TE度量值作为度量值,选择TE度量值最低的链路。

路径计算完成后,设备将该路径上所有链路或节点对应的SID由近到远排列,组成SRv6 TE Policy的SID列表。选择SID时,优先选择End SID。如果设备上没有End SID,则选择End.X SID。

2. SRv6 TE Policy根据Flex-Algo算法动态计算路径

SRv6 TE Policy使用指定的Flex-Algo算法计算转发路径。通过Flex-Algo算法得到转发路径后,设备会将该路径上所有链路或节点对应的SID由近到远排列,组成SRv6 TE Policy的SID列表。选择SID时,优先选择End SID。如果设备上没有End SID,则选择End.X SID。

有关Flex-Algo算法计算路径的详细描述,请参见“三层技术-IP路由”中的“IS-IS”。

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

在SRv6 TE Policy网络中,SRv6节点可以作为PCC(Path Computation Client,路径计算客户端),根据PCE(Path Computation Element,路径计算单元)计算的路径建立SID列表。

1. 基本概念

·     PCE:网络中的一个实体,用于为网络上的设备提供路径计算服务。可进行区域内的路径计算,也可在复杂的网络环境中计算完整的SID列表。PCE分为以下两种类型:

¡     Stateless PCE(Stateless Path Computation Element,无状态PCE):该类型PCE仅提供路径计算服务。

¡     Stateful PCE(Stateful Path Computation Element,有状态PCE):该类型PCE掌握了网络内所有PCC维护的路径信息,可以重新计算和优化域内的转发路径,以达到最大程度分配和使用网络资源的目的。Stateful PCE包括Active-Stateful PCE(Active-Stateful Path Computation Element,主动有状态PCE)和Passive-Stateful PCE(Passive-Stateful Path Computation Element,被动有状态PCE)两种类型。被动有状态PCE仅维护PCC的SID列表信息,不能实时根据网络状况优化路径,并通知PCC更新路径;主动有状态PCE可以实时根据网络状况优化路径,并通知PCC更新路径。

·     PCC:请求PCE执行路径计算,并根据PCE返回的路径信息建立转发路径。PCC必须与PCE类型一致。因此,PCC分为以下两种类型:

¡     Stateless PCC(Stateless Path Computation Client,无状态PCC):该类型PCC仅向PCE发送路径计算请求。

¡     Stateful PCC(Stateful Path Computation Client,有状态PCC):该类型PCC的SID列表信息委托给PCE,由Stateful PCE维护PCC的路径信息。Stateful PCC包括Active-Stateful PCC(Active-Stateful Path Computation Client,主动有状态PCC)和Passive-Stateful PCC(Passive-Stateful Path Computation Client,被动有状态PCC)两种类型。被动有状态PCC的SID列表信息仅上报PCE,但不由PCE计算,不能实时更新路径;主动有状态PCC的SID列表信息上报PCE,并由PCE计算,可以实时更新路径。

·     PCEP(Path Computation Element Protocol,路径计算单元通信协议):运行于PCC与PCE之间的通信协议,用于建立PCEP会话、交互PCEP消息。该协议基于TCP。

2. PCE路径计算方式

图1-2所示,PCE路径计算过程如下:

(1)     PCC向PCE发起路径计算请求。

(2)     PCE收到该请求后,为PCC计算路径。

(3)     PCE完成路径计算后,对PCC的路径请求进行应答,要求PCC创建路径信息。

(4)     PCC根据PCE计算的路径信息在SRv6 TE Policy的候选路径下创建SID列表信息。

图1-2 路径计算过程示意图

 

1.3.4  SRv6 TE Policy有效性判断

只有SRv6 TE Policy有效时,才能通过该SRv6 TE Policy转发流量。当SRv6 TE Policy中至少存在一条具备有效SID列表的候选路径时,该SRv6 TE Policy有效。如果SRv6 TE Policy中所有候选路径的所有SID列表均无效,则该SRv6 TE Policy无效。

存在以下任意情况时,SID列表无效:

·     SID列表为空;

·     SID列表的权重为0;

·     SRv6源节点无法与SID列表中的第一跳IPv6地址互通。

·     头节点开启SRv6 TE Policy路径连通性检查功能,校验SID列表中存在某个SID不可达,则SID列表无效。

·     BFD或SBFD检测SRv6 TE Policy时,开启BFD down联动SRv6 TE Policy路径切换功能,BFD或SBFD会话Down表示SRv6 TE Policy候选路径的SID列表无效。

1.4  SRv6 TE Policy

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

在同一个SRv6源节点创建了SRv6 TE Policy组和多个SRv6 TE Policy,当SRv6 TE Policy组和多个SRv6 TE Policy具有相同End-point,且在SRv6 TE Policy组中建立了流量标识和SRv6 TE Policy的映射关系后,这些SRv6 TE Policy就可以加入到SRv6 TE Policy组中。需要注意的是,SRv6 TE Policy组中必须存在有效的SRv6 TE Policy才能用于流量转发。

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

·     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.5  SRv6 TE Policy引流

1.5.1  SRv6 TE Policy引流简介

SRv6 TE Policy引流主要是指先将业务路由迭代到SRv6 TE Policy类型的隧道转发,再从头节点到目的节点的多条SRv6 TE Policy中选择合适的SRv6 TE Policy作为转发隧道的过程。因此,SRv6 TE Policy引流通常包含了路由迭代和路径选择两层含义。本章节主要介绍的是路径选择过程,关于SRv6 TE Policy路由迭代的详细介绍,请参见SRv6 VPN相关配置介绍。

SRv6 TE Policy引流的路径选择包括直接引入和间接引入两种类型。

将流量直接引入到SRv6 TE Policy转发的方式包括:

·     基于BSID引流

·     基于Color引流

·     基于CBTS引流

·     自引流功能

·     基于隧道策略、静态路由等方式引流

SRv6 TE Policy引流的路径选择也可以使用间接引入,即将流量先迭代到SRv6 TE Policy组中进行转发,再基于SRv6 TE Policy组转发类型和映射关系,将流量间接引入到合适的SRv6 TE Policy,具体方式包括:

·     基于DSCP引流

·     基于802.1p引流

·     基于service-class引流

·     基于TE class ID引流

·     基于APN ID引流

·     基于ARN ID引流

1.5.2  基于BSID引流

如果接收到的报文的目的IPv6地址为某个SRv6 TE Policy的BSID,则通过该SRv6 TE Policy转发该报文。

基于BSID引流通常用于SID缝接场景,通过在某个SRv6 TE Policy的SID列表中加入另一个SRv6 TE Policy的BSID,该BSID代表SRv6 TE Policy最优候选路径的SID列表,从而在流量转发过程中减少报文SRH头的长度,实现不同SRv6 TE Policy之间的缝接。

1.5.3  基于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-3所示组网中,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-3 Color引流示意图

 

1.5.4  基于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-4所示,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-4 DSCP引流示意图

 

1.5.5  基于802.1p引流

1. 802.1p引流机制

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

基于802.1p引流的工作机制为:

(1)     将Color属性不同的多个SRv6 TE Policy加入到一个SRv6 TE Policy组,并指定802.1p值与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)     根据报文的802.1p值查找与其关联的Color属性,再通过Color属性匹配到SRv6 TE Policy组中的某个SRv6 TE Policy。这样,就形成了802.1p->Color->SRv6 TE Policy的映射关系,实现携带指定802.1p的报文通过指定SRv6 TE Policy转发。

2. 802.1p引流工作过程示例

图1-5所示,802.1p引流过程为:

(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和Dot1p映射关系,Color 100映射为Dot1p 10,Color 200映射为Dot1p 20。之后在源节点A上配置隧道策略,将SRv6 TE Policy组与目的地址2.2.2.2绑定。

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

图1-5 802.1p引流示意图

 

1.5.6  基于service-class引流

1. service-class引流机制

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

基于service-class引流的工作机制为:

(1)     将Color属性不同的多个SRv6 TE Policy加入到一个SRv6 TE Policy组,并指定service-class值与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)     根据报文的service-class标识查找与其关联的Color属性,再通过Color属性匹配到SRv6 TE Policy组中的某个SRv6 TE Policy。这样,就形成了service-class->Color->SRv6 TE Policy的映射关系,实现携带指定service-class标识的报文通过指定SRv6 TE Policy转发。

2. service-class引流工作过程示例

图1-6所示,service-class引流过程为:

(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和service-class映射关系,Color 100映射为service-class 1,Color 200映射为service-class 2。之后在源节点A上配置隧道策略,将SRv6 TE Policy组与目的地址2.2.2.2绑定。

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

图1-6 service-class引流示意图

 

1.5.7  基于CBTS引流

1. SRv6 TE Policy CBTS简介

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

2. SRv6 TE Policy CBTS工作原理

SRv6 TE Policy CBTS工作原理为:

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

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

3. SRv6 TE Policy CBTS优选规则

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转发类的取值越小,隧道转发的优先级越低,没有配置转发类的隧道优先级最低。

4. SRv6 TE Policy CBTS示例

图1-7 SRv6 TE Policy CBTS示意图

 

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

·     从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.8  基于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-8所示,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-8 TE class ID引流示意图

 

1.5.9  基于APN ID引流

通过引流到SRv6 TE Policy组后,再根据报文的APN ID值查找与其关联的Color属性,再通过Color属性匹配到SRv6 TE Policy组中的某个SRv6 TE Policy。这样,指定APN ID值的报文可以通过指定SRv6 TE Policy转发。关于基于APN ID引流的详细介绍,请参见“SRv6 TE Policy在APN6网络中的应用”。

1.5.10  基于ARN ID引流

通过引流到SRv6 TE Policy组后,再根据报文的ARN ID值查找与其关联的Color属性,再通过Color属性匹配到SRv6 TE Policy组中的某个SRv6 TE Policy。这样,指定ARN ID值的报文可以通过指定SRv6 TE Policy转发。关于基于ARN ID引流的详细介绍,请参见“SRv6 TE Policy在ARN网络中的应用”。

1.5.11  自引流功能

自引流是指将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-9中,Device D到Device C之间存在一条SRv6 TE Policy隧道,IGP Shortcut可以使源节点Device D在计算IGP路由时利用这条隧道,从而将进入Device D的报文引到Device D与Device C之间的SRv6 TE Policy隧道上。

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

 

1.5.12  基于隧道策略、静态路由等方式引流

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

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

·     基于策略路由引流:通过策略路由将流量引流到SRv6 TE Policy,如果设备收到匹配该策略路由定义的匹配规则的报文,则通过指定SRv6 TE Policy转发该报文。有关策略路由的详细介绍,请参见“三层技术-IP路由配置指导”中的“策略路由”。

·     基于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.6  SRv6 TE Policy流量转发

1.6.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-10所示,根据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-10 SRv6 TE Policy转发流量时选路过程示意图

 

1.6.2  SRv6 TE Policy报文转发过程

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

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

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

图1-11所示,以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-11 Encaps封装方式的SRv6 TE Policy报文转发过程示意图

 

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

图1-12所示,以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-12 Insert封装方式的SRv6 TE Policy报文转发

 

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下存在多条候选路径,则优先级最高的有效候选路径作为主路径,优先级次高的有效候选路径作为备份路径。如图1-13所示,如果主路径下所有SID列表对应的转发路径都发生故障,则将流量立即切换到备份候选路径转发,以减少对业务的影响。

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

 

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

1.7.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-14所示,在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报文源地址的选取请参见“开启SRv6 TE Policy的echo报文方式的BFD检测功能”。

 

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

 

图1-15所示,在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报文的源地址的选取请参见“开启SRv6 TE Policy的echo报文方式的BFD检测功能”。

 

图1-15 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-16所示,在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-16 SBFD for SRv6 TE Policy检测过程(Insert封装)

 

图1-17所示,在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-17 SBFD for SRv6 TE Policy检测过程(Encaps封装)

 

说明

对于同一源节点和目的节点之间不同的SRv6 TE Policy,由于SBFD回应报文时根据IP路由表进行转发,所以SBFD回应报文的转发路径是相同的。SBFD回应报文的转发路径故障将引起所有SBFD会话Down,进而导致无法通过SRv6 TE Policy转发流量。

 

3. BFD/SBFD不走本地保护路径

通过BFD/SBFD检测SRv6 TE Policy的连通性,当主用候选路径中所有Segment List故障时,如果存在本地保护路径(例如TI-LFA计算的备份路径),则检测主用候选路径中所有Segment List的BFD/SBFD报文通过本地保护路径转发,BFD/SBFD会话保持up状态,主用候选路径也保持up状态,流量将通过本地保护路径转发。

在某些场景下,本地保护路径可能存在带宽或时延不稳定问题,无法满足专线业务需求。此时,本地保护路径仅用来临时为流量提供保护,不希望流量长时间通过本地保护路径转发。开启BFD No-Bypass功能后,在主用候选路径的所有Segment List故障时,BFD/SBFD报文不会通过本地保护路径转发,使得检测主用候选路径的所有Segment List的BFD/SBFD会话变为down,进而将主用候选路径置为down,触发流量切换到备份候选路径或者其他SRv6 TE Policy,使流量不会长时间通过本地保护路径转发。

4. SBFD检测SRv6 TE Policy指定回程路径

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

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

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

·     指定反向BSID的方式。

·     指定Path Segment(即End.PSID)的方式。

图1-18所示,指定反向BSID的方式来指定SBFD的回程路径,并且采用缺省的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上开启SBFD检测SRv6 TE Policy AtoD,为SBFD回程报文的指定Reverse BSID为x,x等于Device D上指定的Local BSID。Device A发送SBFD报文时,将为SBFD报文封装Aux Path TLV(备用路径TLV),该TLV中包含Reverse BSID。

(3)     Device D接收到SBFD报文时,获取Reverse BSID信息。Reverse BSID与本地SID列表D > F > E > A指定的Local BSID相同,因此Device D为回程的SBFD报文重新IPv6头及SRH,其中SRH携带了Local BSID对应的SID列表。

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

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

 

图1-19所示,指定Path Segment(即End.PSID)的方式来指定SBFD的回程路径,并且采用缺省的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指定Reverse Path Segment,取值为x。

(2)     在Device A上开启SBFD检测SRv6 TE Policy AtoD,为SBFD回程报文的指定Local Path Segment为x,x等于Device D上指定的Reverse Path Segment。Device A发送SBFD报文时,将SRH报文头中的Flags字段的第五位即P-flag置位,表示该SRH报文头中携带了Path Segment。再将Local Path Segment(即End.PSID)封装在SBFD报文SRH头部SID列表中SRH[SL+1]的位置。

(3)     Device D接收到SBFD报文时,发现P-flag置位,在SRH中的获取SRH[SL+1]位置的Path Segment的信息。本地配置SID列表D > F > E > A指定的Reverse Path Segment与SRH报文头中的Path Segment值相同,因此Device D解封装SBFD报文后,为回程的SBFD报文重新IPv6头及SRH,其中SRH携带了Reverse Path Segment对应的SID列表。

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

图1-19 SBFD检测SRv6 TE Policy指定回程路径示意图(Path Segment)

 

5. 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的方式。

·     指定End.XSID的方式。

图1-20所示,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-20 BFD检测SRv6 TE Policy指定回程路径示意图(反向BSID)

 

图1-21所示,BFD echo检测SRv6 TE Policy时采用End.XSID的方式指定回程路径,此时BFD echo报文仅支持Encaps的封装方式,具体实现流程如下:

(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指定Reverse End.XSID为x。

(2)     在Device A上开启BFD检测SRv6 TE Policy AtoD,为BFD echo回程报文的指定Local End.XSID为x,x等于Device D上指定的Reverse End.XSID。Device A发送BFD echo报文时,采用Encaps封装方式,在BFD echo报文头外封装新的IPv6头和SRH扩展头,并将Local End.XSID封装在SRH扩展头SID列表中SRH[0]的位置。

(3)     Device D接收到BFD echo报文时,获取当前SL=0,目的地址为x。x与本地SID列表D > F > E > A指定Reverse End.XSID相同,因此Device D执行End.XSID的转发行为,即先将BFD echo报文的IPv6报文头和SRH扩展头解封装,再封装新的IPv6头和SRH扩展头,其中SRH扩展头携带了Reverse End.XSID对应的SID列表。

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

图1-21 BFD检测SRv6 TE Policy指定回程路径示意图(End.XSID)

 

6. BFD down联动SRv6 TE Policy路径切换功能

BFD和SRv6 TE Policy联动可以快速检测SRv6 TE Policy的状态,为了使BFD检测SRv6 TE Policy的机制和SRv6 TE Policy热备份功能配合更合理,还需要BFD检测会话down来触发SRv6 TE Policy的候选路径优选,保证流量转发快速切换。

缺省情况下,当SRv6 TE Policy存在多条有效候选路径时:

·     如果未开启热备份功能,则BFD/SBFD仅检测SRv6 TE Policy的最优有效候选路径中所有SID列表,设备为每个SID列表分别建立BFD/SBFD会话。当所有BFD/SBFD会话down时,SRv6 TE Policy不重新优选其他有效的候选路径,设备不再通过该SRv6 TE Policy转发报文。

·     如果开启热备份功能,则BFD/SBFD检测SRv6 TE Policy的主备路径中所有SID列表,设备为每个SID列表分别建立BFD/SBFD会话。

¡     当检测主路径的所有BFD/SBFD会话down时,SRv6 TE Policy将切换到备份路径转发报文,不重新优选其他有效的候选路径。

¡     当检测主备路径的所有BFD/SBFD会话down时,SRv6 TE Policy不重新优选其他有效的候选路径,设备不再通过该SRv6 TE Policy转发报文。

开启BFD down联动SRv6 TE Policy路径切换功能后,当SRv6 TE Policy存在多条有效候选路径时:

·     如果未开启热备份功能,则BFD/SBFD仅检测SRv6 TE Policy的最优有效候选路径中所有SID列表,设备为每个SID列表分别建立BFD/SBFD会话。当所有BFD/SBFD会话down时,SRv6 TE Policy重新优选其他有效的候选路径,使用该有效候选路径转发报文。重新优选时,如果SRv6 TE Policy中无有效的候选路径,则无法使用该SRv6 TE Policy转发报文。

·     如果开启热备份功能,则BFD/SBFD检测SRv6 TE Policy的主备路径中所有SID列表,设备为每个SID列表分别建立BFD/SBFD会话。

¡     当检测主路径的所有BFD/SBFD会话down时,SRv6 TE Policy将切换到备份路径转发报文,并重新优选主备路径。

¡     当检测主备路径的所有BFD/SBFD会话down时,SRv6 TE Policy重新优选其他有效的候选路径作为主备路径,设备通过SRv6 TE Policy的新的主路径转发报文。

·     重新优选时,如果SRv6 TE Policy中无有效的候选路径,则无法使用该SRv6 TE Policy转发报文。

·      

1.7.3  SRv6 TE Policy中间节点保护

1. 保护路径失效场景

SRv6 TE Policy的SID列表指定了报文沿途必须经过的节点或链路。如图1-22所示,节点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-22 保护路径失效场景

 

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-23 中间节点故障保护示意图

 

图1-23例,流量引入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.7.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-24所示,以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-24 SRv6尾节点保护示意图

 

2. End.M SID

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

(1)     IP/EVPN L3VPN/公网IP 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。

3. 远端SRv6 SID

如上图所示,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转发,避免丢包。

4. 路由发布

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

如上图所示,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列表的最后。

如上图所示,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实例的映射表。

5. 报文转发

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

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

 

图1-25所示,正常情况下,流量经过路径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.8  SRv6 TE Policy的应用场景

1.8.1  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-26所示,以IPv6 L3VPN over SRv6 TE Policy组网为例,介绍在SRv6 TE Policy场景中,基于APN ID转发流量的工作原理。

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

 

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

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

(3)     采用以下任意一种方式,均可实现引流到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组。

(4)     在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.8.2  SRv6 TE Policy的智能策略路由功能

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

图1-27所示,网络中两个节点间建立一个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-27 SRv6 TE Policy的智能策略路由功能示意图

 

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

SRv6 TE Policy的智能策略路由主要由三个功能协同完成:SRv6 TE Policy的iFIT测量功能、SRv6 TE Policy的IPR算路功能和业务流量引入IPR模板的功能。

(1)     SRv6 TE Policy的iFIT测量功能:如图1-28所示,通过在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-28 SRv6 TE Policy的iFIT测量功能示意图

 

(2)     SRv6 TE Policy的IPR算路功能:如图1-29所示,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算路功能的详细工作机制如下:

a.     头节点按照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仍可以作为备选路径参与路径优选。

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

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

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

 

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

a.     将流量通过以下方式引入到SRv6 TE Policy组中,

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

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

b.     设置SRv6 TE Policy组的转发类型为基于TE Class ID转发流量。

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

1.8.3  SRv6 TE Policy在ARN网络中的应用

1. ARN简介

ARN(Application Responsive Network,应用响应网络)是一种新的网络架构,旨在提供基于用户需求的个性化网络服务。ARN的设计理念主要围绕以下几个核心原则:

·     开放可编程网络能力:ARN强调在数据平面开放编程接口,使应用程序能够像调用操作系统一样调用网络资源。这种方法旨在满足用户对网络的多样化需求,提供稳定、高速连接,并允许应用程序根据不同类型的数据包调用相应的网络功能,以保证服务质量。

·     地址和服务解耦:传统网络设计将地址和服务紧密绑定。随着用户应用的增加,网络管理变得复杂。ARN通过解耦地址和服务,允许基于用户应用的特点和需求进行网络管理和优化,提供多维度的转发服务,简化网络配置和管理。

·     网络和应用程序的解耦:ARN通过在网络和应用程序之间引入ARN层,实现了两者的解耦。这样,网络不需要直接感知应用程序的多样性,同时也保护了应用程序的隐私和内部网络信息的安全。基于ARN封装,实现了访问控制和基于授权令牌的调用机制,类似于软件编程。

·     网络资源的统一抽象:为了应对个性化和多样化网络服务的需求,ARN将网络资源统一表示为ARN ID。这种做法降低了数据平面标识符的复杂性,简化了操作部署过程。通过这种方式,网络中无需引入过多的标识符或使用复杂的ACL匹配,使得网络资源标识更简洁,资源的使用更为高效。目前定义了以下两类ARN ID:

¡     网络ARN ID:主要用于在城域网边缘设备标识接入的海量用户和用户的不同业务。

¡     资源ARN ID:用于标识应用和业务所需的网络资源和服务标准。骨干网边缘设备可以将不同网络ARN ID标识的应用业务根据所需的网络资源和服务标准进行聚合,并映射为同一个资源ARN ID。

总的来说,ARN的设计理念旨在通过提供开放、可编程的网络能力,解耦地址与服务以及网络与应用程序,同时通过统一抽象网络资源,实现更加个性化、灵活和高效的网络服务。这将使得应用程序能够像访问操作系统一样便捷地访问网络资源,满足当今数字世界中用户对网络服务的多样化需求。

2. IPv6报文中ARN ID封装

ARN通过IPv6数据平面的扩展来携带ARN ID选项字段。ARN ID选项字段封装在IPv6报文的DOH(Destination Option Header,目的选项报文头)中,通常不会被转发路径上的中转节点看到,仅转发路径的目的节点读取DOH中ARN ID选项字段的信息。

DOH中ARN ID选项封装的格式如图1-30所示。

图1-30 DOH中ARN ID选项封装格式

 

表1-1 DOH中ARN ID选项信息描述表

字段

长度

描述

Next Header

8bit

下一个扩展头

Hdr Ext Len

8bit

扩展头长度

Option Type

8bit

ARN ID选项,取值为0x40

Opt Data Len

8bit

ARN ID选项长度

Type

8bit

ARN ID选项的类型:

·     0:预留

·     1:ARN ID选项中仅包含网络ARN ID

·     2:ARN ID选项中包含网络ARN ID和资源ARN ID

·     3:ARN ID选项中仅包含资源ARN ID

Reserved

24bit

预留

ARN ID

32bit

Type=1或2时,代表网络ARN ID

Type=3时,代表资源ARN ID

ARN ID(Optional)

32bit

Type=2时,代表资源ARN ID

 

3. 基于ARN ID转发流量的工作原理

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

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

 

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

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

(3)     采用以下任意一种方式,均可实现引流到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组。

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

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

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

说明: 说明

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

 

2 SRv6 TE Policy配置

2.1  SRv6 TE Policy配置和指导

standard工作模式下,仅下表所列单板支持本功能。

表2-1 单板信息一览表

单板类型

单板丝印

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

 

sdn-wan工作模式下,仅下表所列单板支持本功能。

表2-2 单板信息一览表

单板类型

单板丝印

CSPEX单板

CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200、RX-SPE200-E

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L、CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

OAA单板

IM-NGFWX-IV

 

SRv6 TE Policy的候选路径暂不支持使用PCE自动计算SID列表,且与PCE相关的SRv6 TE Policy的候选路径重优化等功能均不支持。

2.2  SRv6 TE Policy配置任务简介

SRv6 TE Policy配置任务如下:

(1)     创建SRv6 TE Policy,并配置基本属性

a.     创建SRv6 TE Policy

b.     配置PCEP会话

候选路径使用PCE计算SID列表时,必须配置执行本配置。

c.     配置候选路径并引用SID列表

d.     (可选)开启在SID列表中封装严格SID功能

e.     (可选)配置动态路径计算的时间间隔

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

g.     (可选)关闭SRv6 TE Policy

(2)     (可选)配置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会话

(3)     配置SRv6 TE Policy引流

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

(5)     配置SRv6 TE Policy的智能策略路由功能

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

¡     开启SRv6 TE Policy的SBFD功能

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

¡     开启SRv6 TE Policy的No-Bypass功能

¡     开启SRv6 TE Policy的BFD No-Bypass功能

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

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

¡     配置SRv6 TE Policy延迟激活的时间

¡     配置SRv6 TE Policy路径连通性检查功能

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

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

¡     配置SRv6 TE Policy的候选路径重优化功能

¡     配置SRv6 TE Policy震荡抑制功能

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

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

¡     配置SRv6 TE Policy CBTS

¡     配置SRv6 TE Policy限速功能

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

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

(8)     (可选)维护SRv6 TE Policy

¡     配置SRv6 TE Policy资源数量的告警阈值

¡     开启SRv6 TE Policy的日志功能

¡     开启SRv6 TE Policy的告警功能

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

2.3  创建SRv6 TE Policy

2.3.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和目的节点地址。

携带COC和NEXT附加行为或仅携带NEXT附加行为的BSID可以压缩成16bit的G-SID封装在SRv6报文头中,降低SRv6报文头长度。

不同类型的Locator可携带的附加行为各不相同,配置本命令时,必须引用对应的Locator类型才能为BSID分配COC和NEXT附加行为,例如:

·     只有引用Locator段为Default模式coc16类型的Locator才能指定coc-next参数。

·     只有引用Locator段为coc16类型的Locator才能指定next参数。

·     引用Locator段为Wlib模式coc16类型的Locator时,必须指定next参数,否则无法分配BSID。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

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

srv6-policy locator locator-name [ coc-next | next ]

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

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

policy policy-name

(6)     (可选)手工配置BSID。

binding-sid ipv6 ipv6-address [ coc-next | next ]

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

color color-value end-point ipv6 ipv6-address

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

 

2.3.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为200的候选路径下,通过亲和属性或Flex-Algo算法动态计算SID列表。

·     在自动创建的Preference为100的候选路径下,配置由PCE自动计算SID列表。

·     手工创建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。

(7)     (可选)配置由ODN模板生成的SRv6 TE Policy的延迟删除时间。

delete-delay delay-time

缺省情况下,由ODN模板生成的SRv6 TE Policy的延迟删除时间为180000毫秒。

2.4  配置PCEP会话

2.4.1  配置限制和指导

本节所有配置的详细介绍,请参见“MPLS命令参考”中的“MPLS TE”。

2.4.2  配置PCE发现

1. 功能简介

可通过pce static命令静态指定PCE设备。PCC只能向PCE发起PCEP连接请求,不接受PCE的PCEP连接请求。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入PCC视图。

pce-client

(3)     静态指定PCE对等体的IP地址。

pce static ip-address

2.4.3  开启PCC设备的SRv6能力

1. 功能简介

当建立支持SRv6方式的PCEP会话时,需要在会话两端的设备上开启本功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置TE IPv6 Router ID地址。

te ipv6-router-id router-id

缺省情况下,未配置TE IPv6 Router ID。

TE IPv6 Router ID用于标识PCE请求的源节点,可以为任意取值,但是要求在IPv6网络中必须唯一。

(3)     进入PCC视图。

pce-client

(4)     开启PCC设备的SRv6能力。

pce capability segment-routing ipv6

缺省情况下,PCC设备的SRv6能力处于关闭状态。

2.4.4  配置PCEP会话参数

1. 功能简介

在PCC上静态指定PCE设备后,PCC会与该PCE建立PCEP会话。通过本配置,可以根据网络情况调整PCEP会话参数。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入PCC视图。

pce-client

(3)     配置发送路径计算请求后等待应答的超时时间。

pce request-timeout value

缺省情况下,发送路径计算请求后等待应答的超时时间为10秒。

(4)     配置PCEP会话的保持时间。

pce deadtimer value

缺省情况下,PCEP会话的保持时间为120秒。

(5)     配置PCEP会话的Keepalive消息的发送时间间隔。

pce keepalive interval

缺省情况下,Keepalive消息的发送时间间隔为30秒。

(6)     配置本地设备对PCE对等体发送的消息的容忍度。

pce tolerance { min-keepalive value | max-unknown-messages value }

缺省情况下,能接受的对等体发送Keepalive消息的最小时间间隔为10秒;每分钟能接受的对等体发送的最大未知类型消息个数为5。

(7)     配置PCEP会话的安全认证方式。请选择其中一项进行配置。

¡     采用keychain安全认证方式。

pce peer ip-address keychain keychain-name

¡     采用MD5安全认证方式。

pce peer ip-address md5 { cipher | plain } string

缺省情况下,所有PCEP会话均不进行安全认证。

建立PCEP会话的两端必须配置相同的安全认证方式,且必须使用相同的认证算法和密码。

2.5  配置候选路径并引用SID列表

2.5.1  配置限制和指导

对于同一SRv6 TE Policy的同一优先级的候选路径,不能同时手工引用SID列表和使用PCE计算自动创建SID列表。

2.5.2  配置候选路径使用手工创建的SID列表

1. 功能简介

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

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

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

当多个SRv6 TE Policy存在公共路径时,可以将公共路径配置为一个特定的SRv6 TE Policy。配置其他SRv6 TE Policy时,可以将SID列表中的某个节点配置为特定SRv6 TE Policy的BSID,使流量可以迭代到该特定的SRv6 TE Policy上,以简化配置。

2. 配置限制和指导

在SID列表中添加32bit压缩的G-SID时,即执行index命令并指定coc32参数时需要保证:

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

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

在SID列表中添加16bit压缩的G-SID时,即执行index命令并指定compress-flavor参数需要注意指定的coccoc-nextnext参数将影响报文封装的结果:

·     指定coc表示在封装报文时,下一个SID是16-bit压缩的G-SID。

·     指定next参数在封装报文时,指示本SID是压缩的SID。

·     指定coc-next参数表示在封装报文时:

¡     如果上一个Container中的最后一个SID未指定coccoc-next参数,且本SID为新Container的第一个SID,则本SID是16-bit压缩的G-SID,将本SID的Block封装在Container的最高位,16bit的G-SID部分封装在Block之后。

¡     如果上一个Container中的最后一个SID指定了coccoc-next参数,则本SID为新Container的第一个SID,则本SID是16-bit压缩的G-SID,将G-SID部分封装新的Container的最低位,新的Container不封装Block。

¡     如果本SID是Container的非首个SID,则本SID为16-bit压缩的G-SID,紧邻上一个压缩的G-SID封装。如果Container中第一个G-SID位于最低16位,则从右向左依次封装G-SID,如果Container中第一个G-SID不在最低16位,则从左向右依次封装G-SID。

¡     如果本SID是Container的最后一个SID,则表示下一个SID是16-bit压缩的G-SID并且下一个G-SID封装在新的Container的最低位。

16bit压缩G-SRv6报文封装的详细规则如下:

(1)     封装规则一:SID列表中的首个SID如果指定了coc-nextnext参数,则本SID为16bit压缩的G-SID,直接使用IPv6报文的128bit目的地址空间作为首个Container,将该G-SID所属的Block段封装到Container中最高若干位,并将本G-SID封装到Block段之后。

(2)     封装规则二:SID列表中的首个SID如果指定了coc参数,则本SID为普通的128bit SID,占用一个完整的Container,该Container被封装在SRH的SID列表中。下一个SID为16bit压缩的G-SID并且被封装SID列表中新的Container中最低16位,新的Container中不带Block段。

(3)     封装规则三:对于包含公共前缀Block段的Container,如果从Container中的第一个G-SID开始,连续多个G-SID均指定了coc-nextnext参数,则这些SID均为16bit的G-SID,G-SID按照index索引顺序,从左到右依次封装到当前Container中,直到当前Container不足以封装下一个G-SID,或者Container中最后一个SID不是16bit压缩的G-SID,或者下一个SID与当前G-SID公共前缀不同,则当前Container封装结束,下一个SID封装在新的Container中。

(4)     封装规则四:在新的Container中的第一个节点的SID如果指定了coc-nextnext参数,并且上一个Container中的最后一个SID未指定coc-next或coc参数,则本SID为16bit压缩的G-SID,将该G-SID所属的Block段封装到Container中最高若干位,并将本节点的G-SID封装到Block段之后。

(5)     封装规则五:如果上一个Container中最后一个SID指定coc-nextcoc参数,那么本SID是16bit压缩的G-SID。本G-SID共享上一个Container中的公共前缀Block段,并将装在新Container中的最低若干位,且新Container中不携带Block段。在该Container中,如果从第一个SID开始连续多个SID均指定coc-nextcoc参数,则这些SID都是16bit压缩的G-SID,G-SID按照index索引顺序,从右到左依次封装到当前Container中,直到当前Container不足以封装下一个G-SID,或者Container中某个G-SID未指定coc-nextcoc参数,当前Container封装结束,下一个SID封装在新的Container中。

不支持对node-length为0的16-bit压缩G-SID进行有效性检验,即本命令中指定node-length为0同时配置verification参数时,该SRv6 SID无论是否可达,校验结果都是有效可达的。

说明: 说明

使用index命令添加16bit压缩的SID时,请根据命令指定的node-lengthfunction-length来拼接正确的地址,例如,Endpoint节点上支持压缩的128bit完整SID为1:2:3:4:5:6::,如果指定的block-length为64,node-length为0,function-length为16,则此处需要指定的IPv6地址是1:2:3:4:6::,忽略了Node ID部分。

 

将SID列表中第一个节点配置为指定SRv6 TE Policy的BSID时,需要注意:

·     不能反复迭代SRv6 TE Policy,即第一个节点配置为其他SRv6 TE Policy的BSID后,该BSID对应的SRv6 TE Policy的SID列表中,第一节点不能指定为任意SRv6 TE Policy的BSID。

·     第一个节点不能配置为本SRv6 TE Policy的BSID。

·     不能配置SRv6 TE Policy路径连通性检查功能。

·     第一个节点配置为其他SRv6 TE Policy的BSID后,该BSID不能配置为本地BSID和反向BSID。

·     本SRv6 TE Policy的流量统计功能、BFD检测功能、SBFD检测功能不受所迭代的SRv6 TE Policy的相应功能的开关状态影响。

·     本SRv6 TE Policy的BFD/SBFD的检测时间不能小于所迭代的SRv6 TE Policy的BFD/SBFD的检测时间。

·     本SRv6 TE Policy的Path MTU值不能小于所迭代的SRv6 TE Policy的Path MTU值。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

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

segment-list segment-list-name

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

¡     添加普通128bits SRv6 SID。

index index-number ipv6 ipv6-address [ verification ]

¡     32bit压缩G-SRv6场景中,添加COC标识的128bits SRv6 SID,并指定下一个G-SID的公共前缀长度。

index index-number coc32 ipv6 ipv6-address common-prefix-length [ verification ]

¡     16bit压缩G-SRv6场景中,指定下一个G-SID和报文封装。

index index-number compress-16 ipv6 ipv6-address block block-length node-length node-length function-length function-length [ compress-flavor { coc | coc-next | next } ] [ verification ]

(6)     退回SRv6 TE视图。

quit

(7)     进入SRv6 TE Policy视图。

policy policy-name

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

candidate-paths

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

preference preference-value

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

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

explicit segment-list segment-list-name [ path-mtu mtu-value | weight weight-value ] *

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

 

 

2.5.3  配置候选路径采用亲和属性方式计算的路径建立SID列表

1. 配置亲和属性名称和亲和属性比特位之间的映射关系

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     创建约束条件映射关系,并进入约束条件映射关系视图。

affinity-map

(5)     配置亲和属性名称和亲和属性比特位之间的映射关系。

name name bit-position bit-position-number

缺省情况下,未配置亲和属性名称和亲和属性比特位之间的映射关系。

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候选路径视图。

candidate-paths

(6)     进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

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

(7)     创建SRv6 TE Policy的约束条件,并进入约束条件视图。

constraints

(8)     创建并进入亲和属性视图。

affinity

(9)     配置亲和属性规则,并进入亲和属性规则视图。请至少选择其中一项进行配置。

¡     配置亲和属性规则为Include-all规则,并进入亲和属性规则视图。

include-all

¡     配置亲和属性规则为Include-any规则,并进入亲和属性规则视图。

include-any

¡     配置亲和属性规则为Exclude-any规则,并进入亲和属性规则视图。

exclude-any

(10)     为亲和属性规则指定亲和属性的名称。

name name

缺省情况下,未配置亲和属性的名称。

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候选路径视图。

candidate-paths

(6)     进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

(7)     开启动态计算路径功能,创建并进入SRv6 TE Policy Path Preference动态配置视图。

dynamic

缺省情况下,动态计算路径功能处于关闭状态。

(8)     创建度量方式,并进入度量方式视图。

metric

(9)     配置度量类型。

type { hopcount | igp | latency | te }

缺省情况下,未配置度量类型,SRv6 TE Policy无法动态计算路径。

(10)     (可选)配置SID列表中的SID最大数目。

sid-limit limit-value

缺省情况下,以下表格中的单板支持的最大SID数目为10。

表2-3 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

以下表格中的单板支持的最大SID数目为5。

表2-4 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L

CSPEX单板

CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X

SPE单板

RX-SPE200

OAA单板

IM-NGFWX-IV

 

SRv6 TE Policy根据指定的度量类型计算路径时,可以通过配置本命令限制SRv6 TE Policy候选路径的SID列表中的SID数量。

 

2.5.4  配置候选路径采用Flex-Algo方式计算的路径建立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候选路径视图。

candidate-paths

(6)     进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

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

(7)     开启动态计算路径功能,创建并进入SRv6 TE Policy Path Preference动态配置视图。

dynamic

缺省情况下,动态计算路径功能处于关闭状态。

(8)     退回SRv6 TE Policy候选路径优先级视图。

quit

(9)     创建SRv6 TE Policy的约束条件,并进入约束条件视图。

constraints

(10)     配置段约束条件,并进入段约束条件视图。

segments

(11)     配置SRv6 TE Policy关联的Flex-Algo算法。

sid-algorithm algorithm-id

缺省情况下,SRv6 TE Policy未关联Flex-Algo算法。

2.5.5  配置候选路径使用PCE自动计算SID列表

1. 配置准备

进行本配置前,需要先配置PCEP会话。

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候选路径视图。

candidate-paths

(6)     进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

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

(7)     创建并进入SRv6 TE Policy Path Preference动态配置视图。

dynamic

(8)     开启使用PCE计算路径功能。

pcep

缺省情况下,PCE计算路径功能处于关闭状态。

2.5.6  配置ODN创建的SRv6 TE Policy候选路径采用亲和属性方式计算的路径建立SID列表

1. 配置亲和属性名称和亲和属性比特位之间的映射关系

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     创建约束条件映射关系,并进入约束条件映射关系视图。

affinity-map

(5)     配置亲和属性名称和亲和属性比特位之间的映射关系。

name name bit-position bit-position-number

缺省情况下,未配置亲和属性名称和亲和属性比特位之间的映射关系。

2. 配置亲和属性规则

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     进入SRv6 TE ODN视图。

on-demand color color-value

(5)     开启动态计算路径功能,创建并进入SRv6 TE ODN动态配置视图。

dynamic

缺省情况下,动态计算路径功能处于关闭状态。

(6)     配置亲和属性规则,并进入亲和属性规则视图。

affinity { include-all | include-any | exclude-any }

(7)     为亲和属性规则指定亲和属性的名称。

name name

缺省情况下,未配置亲和属性的名称。

3. 配置根据亲和属性规则动态计算路径

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     进入SRv6 TE ODN视图。

on-demand color color-value

(5)     (可选)配置最大SID标签栈深度。

maximum-sid-depth value

缺省情况下,以下表格中的单板支持的最大SID标签栈深度为10。

表2-5 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

以下表格中的单板支持的最大SID标签栈深度为5。

表2-6 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L

CSPEX单板

CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X

SPE单板

RX-SPE200

OAA单板

IM-NGFWX-IV

 

为以ODN方式生成的SRv6 TE Policy计算路径时,可以通过本命令限制SRv6 TE Policy候选路径的SID列表中的SID数量。

(6)     开启动态计算路径功能,创建并进入SRv6 TE ODN动态配置视图。

dynamic

缺省情况下,动态计算路径功能处于关闭状态。

(7)     创建度量方式,并进入度量方式视图。

metric

(8)     配置度量类型。

type { hopcount | igp | latency | te }

缺省情况下,未配置度量类型,SRv6 TE Policy无法动态计算路径。

 

2.5.7  配置ODN创建的SRv6 TE Policy候选路径采用Flex-Algo方式计算的路径建立SID列表

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     进入SRv6 TE ODN视图。

on-demand color color-value

(5)     (可选)配置最大SID标签栈深度。

maximum-sid-depth value

缺省情况下,以下表格中的单板支持的最大SID标签栈深度为10。

表2-7 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

以下表格中的单板支持的最大SID标签栈深度为5。

表2-8 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L

CSPEX单板

CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X

SPE单板

RX-SPE200

OAA单板

IM-NGFWX-IV

 

为以ODN方式生成的SRv6 TE Policy计算路径时,可以通过本命令限制SRv6 TE Policy候选路径的SID列表中的SID数量。

(6)     开启动态计算路径功能,创建并进入SRv6 TE ODN动态配置视图。

dynamic

缺省情况下,动态计算路径功能处于关闭状态。

(7)     配置SRv6 TE Policy关联的Flex-Algo算法。

sid-algorithm algorithm-id

缺省情况下,SRv6 TE Policy未关联Flex-Algo算法。

 

2.5.8  配置ODN创建的SRv6 TE Policy候选路径使用PCE计算SID列表

1. 配置准备

进行本配置前,需要先配置PCEP会话。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     进入SRv6 TE ODN视图。

on-demand color color-value

(5)     进入SRv6 TE ODN动态配置视图。

dynamic

(6)     开启使用PCE计算路径功能。

pcep

缺省情况下,PCE计算路径功能处于关闭状态。

2.5.9  配置通过PCE托管方式创建候选路径及SID列表

1. 功能简介

开启PCE托管后,SRv6 TE Policy将候选路径托管给PCE,PCC接受来自PCE的候选路径的创建或更新请求,来创建或更新候选路径信息。

如果设备上存在的多个SRv6 TE Policy中仅一部分由PCE托管,为了保证PCE准确计算全局的带宽信息,未托管的SRv6 TE Policy候选路径的信息也需要通过PCEP Report message消息上报给PCE。此时可以配置将无需托管的SRv6 TE Policy的候选路径信息上报给PCE,但不由PCE计算候选路径。

2. 配置限制和指导

SRv6 TE视图和SRv6 TE Policy视图下均可以配置PCE托管功能和上报但不由PCE托管功能。SRv6 TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6 TE视图的配置。

如果SRv6 TE视图下同时配置srv6-policy pce delegation enable命令和srv6-policy pce passive-delegate report-only enable命令,则srv6-policy pce passive-delegate report-only enable命令优先生效。

如果同一SRv6 TE Policy下同时配置pce delegation命令和pce passive-delegate report-only命令,则pce passive-delegate report-only命令优先生效。

3. 配置准备

进行本配置前,需要先配置PCEP会话。

4. 配置PCE托管参数

(1)     进入系统视图。

system-view

(2)     进入PCC视图。

pce-client

(3)     配置PCE的托管优先级。

pce peer ip-address delegation-priority priority

缺省情况下,PCE的托管优先级为65535。

数值越小,优先级越高。

(4)     配置PCC的重托管超时时间。

pce redelegation-timeout value

缺省情况下,PCC的重托管超时时间为30秒。

(5)     配置PCC的状态老化时间。

pce state-timeout value

缺省情况下,PCC的状态老化时间为60秒。

(6)     配置PCC设备保持PCE更新过的候选路径状态。

pce retain lsp-state

缺省情况下,状态老化时间超时之后PCC设备会将PCE更新过的候选路径回退到更新前的状态。

(7)     配置PCC设备保留PCE创建的候选路径。

pce retain initiated-lsp

缺省情况下,状态老化时间超时之后PCC设备会删除PCE创建的候选路径。

5. 配置PCE托管功能

(1)     进入系统视图。

system-view

(2)     进入PCC视图。

pce-client

(3)     配置PCEP设备类型。

pcep type { active-stateful | passive-stateful }

缺省情况下,PCEP设备为无状态(Stateless)类型。

(4)     退回系统视图。

quit

(5)     进入SRv6视图。

segment-routing ipv6

(6)     进入SRv6 TE视图。

traffic-engineering

(7)     全局开启SRv6 TE Policy的PCE托管功能。

srv6-policy pce delegation enable

缺省情况下,SRv6 TE Policy的PCE托管功能处于关闭状态。

(8)     全局开启将SRv6 TE Policy的候选路径信息上报给PCE,但候选路径不由PCE进行托管功能。

srv6-policy pce passive-delegate report-only enable

缺省情况下,将SRv6 TE Policy的候选路径信息上报给PCE,但候选路径不由PCE进行托管功能处于关闭状态。

(9)     进入SRv6 TE Policy视图。

policy policy-name

(10)     配置SRv6 TE Policy的PCE托管功能。

pce delegation { enable | disable }

缺省情况下,未配置SRv6 TE Policy的PCE托管功能,以SRv6 TE视图下的配置为准。

(11)     配置将SRv6 TE Policy的候选路径信息上报给PCE,但候选路径不由PCE进行托管。

pce passive-delegate report-only { enable | disable }

缺省情况下,未配置SRv6 TE Policy的仅上报不托管功能,以SRv6 TE视图下的配置为准。

2.6  开启在SID列表中封装严格SID功能

1. 功能简介

SRv6 TE Policy的SID列表可以由End SID和End.X SID组成。End SID不能唯一标识一条链路,当网络中链路频繁震荡时,会导致SRv6 TE Policy的转发路径发生变化,不能保证用户流量的稳定性。为了解决该问题,可以开启本功能严格约束SRv6 TE Policy的转发路径。开启本功能后,在SRv6 TE Policy动态计算SID列表时,计算出的SID列表只能包含End.X SID,保证SRv6 TE Policy转发路径的稳定性。

2. 配置限制和指导

请在SRv6 TE Policy的源节点开启本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     开启在SID列表中封装严格SID功能。

¡     依次执行以下命令,在SRv6 TE Policy Path Preference动态配置视图下开启本功能。

policy policy-name

candidate-paths

preference preference-value

dynamic

strict-sid-only enable

¡     依次执行以下命令,在SRv6 TE ODN动态配置视图下开启本功能。

on-demand color color-value

dynamic

strict-sid-only enable

缺省情况下,在SID列表中封装严格SID功能处于关闭状态。

2.7  配置动态路径计算的时间间隔

1. 功能简介

为SRv6 TE Policy动态计算路径时,通过本命令调节SRv6 TE Policy的路径计算时间,可以抑制网络频繁变化可能导致的带宽资源和设备资源被过多占用的问题。

配置本功能同时指定maximum-intervalminimum-intervalincremental-interval后:

·     第一次触发SRv6 TE Policy路径计算时,设备会将minimum-interval作为路径计算的时间间隔。

·     第n次(n>1)触发SRv6 TE Policy路径计算时,设备会将路径计算的时间间隔在minimum-interval的基础上,增加incremental-interval×2n-2,最大不超过maximum-interval

当(minimum-interval+incremental-interval×2n-2)的值≥maximum-interval值时,设备根据conservative参数配置情况和SRv6 TE Policy震荡情况,调整路径计算的时间间隔:

·     指定conservative参数时:

¡     如果SRv6 TE Policy震荡,则设备会将maximum-interval作为路径计算的时间间隔。

¡     如果SRv6 TE Policy未震荡,则设备按照最大时间间隔进行一次路径计算后,将按照最小时间间隔进行路径计算。

·     未指定conservative参数时:

¡     如果SRv6 TE Policy震荡,则设备连续三次按照最大时间间隔进行路径计算后,将按照最小时间间隔进行路径计算。

¡     如果SRv6 TE Policy未震荡,则设备按照最大时间间隔进行一次路径计算后,将按照最小时间间隔进行路径计算。

2. 配置限制和指导

配置的minimum-intervalincremental-interval不允许大于maximum-interval

在对路径计算速度要求较高的环境下,可以采用固定的时间间隔来提高路径计算的频率,从而加速路径计算。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     配置动态路径计算的时间间隔。

srv6-policy calc-schedule-interval { maximum-interval [ minimum-interval [ incremental-interval [ conservative ] ] ] | millisecond interval }

缺省情况下,动态路径计算的最大时间间隔为5秒,最小时间间隔为50毫秒,时间间隔惩罚增量为200毫秒。

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

1. 功能简介

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

2. 配置准备

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

3. 配置限制和指导

将SRv6 TE Policy的路由信息发布给BGP-LS,生成链路状态信息并传递给其他BGP-LS邻居时,建议配置te ipv6-router-id命令来设置链路状态信息中IPv6 TE Router-ID,用于区分不同的SRv6 TE Policy源节点。如果未配置te ipv6-router-id命令,则BGP-LS发布的链路状态信息中IPv6 TE Router-ID取值为0::0,该路由在不同厂商之间设备互通时,可能被丢弃,从而影响链路状态信息正常发布。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置TE IPv6 Router ID地址。

te ipv6-router-id router-id

缺省情况下,未配置TE IPv6 Router ID。

(3)     进入SRv6视图。

segment-routing ipv6

(4)     进入SRv6 TE视图。

traffic-engineering

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

distribute bgp-ls

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

 

2.9  关闭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.10  配置BGP发布BGP IPv6 SR Policy路由

2.10.1  配置限制和指导

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

2.10.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 | ipv4-address [ mask-length ] | 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 | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } enable

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

2.10.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.10.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.10.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.10.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.10.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 | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } next-hop-local

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

(5)     配置本地优先级的缺省值。

default local-preference value

缺省情况下,本地优先级的缺省值为100。

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

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

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

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

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

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

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

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

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

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

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

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

(10)     配置允许路由反射器反射路由时修改路由属性。

reflect change-path-attribute

缺省情况下,不允许路由反射器反射路由时修改路由属性。

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

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

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

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

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

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

(13)     为对等体/对等体组设置基于AS路径过滤列表的BGP路由过滤策略。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } as-path-acl { as-path-acl-number | as-path-acl-name } { export | import }

缺省情况下,未配置基于AS路径过滤列表的BGP路由过滤策略。

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

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

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

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

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

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

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

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

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

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

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

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

本命令在BGP选路规则中的具体优先级顺序,请参见“三层技术-IP路由配置指导”中的“BGP概述”。

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

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

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

本命令在BGP选路规则中的具体优先级顺序,请参见“三层技术-IP路由配置指导”中的“BGP概述”。

(19)     配置路由优选的延迟时间。

route-select delay delay-value

缺省情况下,路由优选的延迟时间为0秒,即路由优选不延迟。

2.10.8  维护BGP会话

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

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

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

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

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

2.11  配置SRv6 TE Policy引流

2.11.1  配置SRv6 TE的引流方式

1. 配置准备

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

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

2. 配置步骤

(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。

 

2.11.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 [ index vpn-index ]

(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.11.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 srv6-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”。

 

3. 配置PW引用隧道策略

(1)     ‍进入系统视图。

system-view

(2)     进入交叉连接组视图。

xconnect-group group-name

(3)     进入交叉连接视图。

connection connection-name

(4)     创建EVPN PW并引用隧道策略。

evpn local-service-id local-service-id remote-service-id remote-service-id tunnel-policy tunnel-policy-name

4. 配置EVPN实例引用隧道策略

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入EVPN实例视图。

evpn encapsulation srv6

(4)     指定引用的隧道策略。

tunnel-policy tunnel-policy-name

缺省情况下,未引用隧道策略。

本命令的详细介绍,请参见“EVPN命令参考”中的“EVPN”。

2.11.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标识的流量采用SRv6 BE方式转发。

可以通过color match dscp default命令来配置某个SRv6 TE Policy作为指定地址族报文的缺省SRv6 TE Policy。当SRv6 TE Policy组内某个DSCP没有关联到SRv6 TE Policy时,可以使用该缺省SRv6 TE Policy转发报文。也可以通过配置best-effort { ipv4 | ipv6 } default命令将SRv6 BE作为指定地址族报文的缺省转发方式,当不存在缺省SRv6 TE Policy或缺省SRv6 TE Policy无效时,采用SRv6 BE作为流量逃生的方式。

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

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

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

(3)     查找是否通过best-effort { ipv4 | ipv6 } default命令为本地址族指定SRv6 BE作为缺省转发方式。若是,则通过SRv6 BE方式转发流量

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

(5)     查找是否通过best-effort { ipv4 | ipv6 } default命令为另一地址族指定SRv6 BE作为缺省转发方式。若是,则通过SRv6 BE方式转发流量。

(6)     根据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关联。

一个SRv6 TE Policy组内,可以分别为IPv4和IPv6地址族指定不同的DSCP引流规则,但是对于同一个地址族的报文,每个DSCP只能关联SRv6 BE方式或一个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 BE方式转发,而没有配置任何SRv6 TE Policy用于转发流量;

对于基于DSCP的引流方式,配置drop-upon-mismatch enable命令仅会影响color match dscp命令配置的明细映射关系,不会影响color match dscp default命令配置的缺省映射关系。

·     如果某SRv6 TE Policy组内仅配置了明细映射关系,未配置缺省映射关系,那么当该SRv6 TE Policy组内配置drop-upon-mismatch enable后,未匹配明细映射关系的流量将无法通过该SRv6 TE Policy组进行转发。

·     如果某SRv6 TE Policy组内配置了缺省映射关系,则不论是否配置明细映射关系,该SRv6 TE Policy组内配置drop-upon-mismatch enable后,未匹配明细映射关系的流量仍可以通过匹配该该SRv6 TE Policy组内配置的缺省映射关系进行转发。

·     (特殊情况)在单归属场景中,如果SRv6 TE Policy组内仅配置了一个Color值和DSCP的映射关系,且未配置best-effort match dscp命令/best-effort { ipv4 | ipv6 } default命令时,不推荐配置drop-upon-mismatch enable命令,否则即使流量的DSCP匹配了这条映射关系也会被丢弃。以下三种映射关系配置情况均视为SRv6 TE Policy组内仅配置了一个Color值和DSCP的映射关系:

¡     SRv6 TE Policy组内仅有一条color match dscp命令。

¡     SRv6 TE Policy组内仅有一条color match dscp default命令。

¡     SRv6 TE Policy组内仅有color match dscpcolor match dscp default两条命令,但是这两个命令指定的Color值相同。

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组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

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

(8)     配置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值进行引流。

(9)     配置指定DSCP标识的报文通过SRv6 BE方式转发。

best-effort match dscp { ipv4 | ipv6 } dscp-value-list

best-effort { ipv4 | ipv6 } default

缺省情况下,DSCP标识的流量不会通过SRv6 BE方式转发。

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)     (可选)配置由ODN模板生成的SRv6 TE Policy组的延迟删除时间。

delete-delay delay-time

缺省情况下,由ODN模板生成的SRv6 TE Policy组的延迟删除时间为180000毫秒。

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

forward-type dscp

(9)     配置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值进行引流。

(10)     在SRv6 TE Policy组的ODN模板中配置指定DSCP标识的报文通过SRv6 BE方式转发。

best-effort match dscp { ipv4 | ipv6 } dscp-value-list

best-effort { ipv4 | ipv6 } default

缺省情况下,DSCP标识的流量不会通过SRv6 BE方式转发。

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组。

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

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

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

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

2.11.5  配置基于Dot1p引流

1. 功能简介

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

可以通过color match dot1p default命令来指定某个SRv6 TE Policy作为缺省SRv6 TE Policy。当SRv6 TE Policy组内某个802.1p优先级没有指定SRv6 TE Policy时,可以使用该缺省SRv6 TE Policy转发报文。

当流量引入SRv6 TE Policy组后,设备收到未匹配SRv6 TE Policy组内Color和802.1p优先级映射关系的报文时,依次按照如下原则选择报文转发方式:

(1)     如果已配置缺省的SRv6 TE Policy,且该SRv6 TE Policy有效,则采用该SRv6 TE Policy转发报文。

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

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

¡     如果未配置drop-upon-mismatch enable命令,但配置了Color和802.1p优先级映射关系,则查找802.1p优先级最小的映射关系,采用该映射关系中指定的SRv6 TE Policy转发报文。

2. 配置限制和指导

只有SRv6 TE Policy有效时,才能将其Color值与802.1p优先级关联。

在一个SRv6 TE Policy组内,每个802.1p优先级仅支持关联一个Color值。

一个SRv6 TE Policy组内,只能有一个缺省SRv6 TE Policy。

SRv6 TE Policy组中的所有SRv6 TE Policy均无效时,流量不会通过该SRv6 TE Policy组转发。

对于基于Dot1p的引流方式,配置drop-upon-mismatch enable命令仅会影响color match dot1p命令配置的明细映射关系,不会影响color match dot1p default命令配置的缺省映射关系。

·     如果某SRv6 TE Policy组内仅配置了明细映射关系,未配置缺省映射关系,那么当该SRv6 TE Policy组内配置drop-upon-mismatch enable后,未匹配明细映射关系的流量将无法通过该SRv6 TE Policy组进行转发。

·     如果某SRv6 TE Policy组内配置了缺省映射关系,则不论是否配置明细映射关系,该SRv6 TE Policy组内配置drop-upon-mismatch enable后,未匹配明细映射关系的流量仍可以通过匹配该该SRv6 TE Policy组内配置的缺省映射关系进行转发。

·     (特殊情况)在单归属场景中,如果SRv6 TE Policy组内仅配置了一个Color值和802.1p优先级的映射关系时,不推荐配置drop-upon-mismatch enable命令,否则即使流量的802.1p优先级匹配了这条映射关系也会被丢弃。以下三种映射关系配置情况均视为SRv6 TE Policy组内仅配置了一个Color值和802.1p优先级的映射关系:

¡     SRv6 TE Policy组内仅有一条color match dot1p命令。

¡     SRv6 TE Policy组内仅有一条color match dot1p default命令。

¡     SRv6 TE Policy组内仅有color match dot1pcolor match dot1p default两条命令,但是这两个命令指定的Color值相同。

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

表2-9 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

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组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

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

(8)     配置SRv6 TE Policy组的转发类型为Dot1p。

forward-type dot1p

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

(9)     配置SRv6 TE Policy组中Color和802.1p优先级的映射关系。

color color-value match dot1p dot1p-value-list

color color-value match dot1p default

缺省情况下,未配置SRv6 TE Policy组中Color和802.1p优先级的映射关系。

4. 引流到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组。

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

在路由策略中配置BGP路由的Color扩展团体属性时,指定的Color值必须与该SRv6 TE Policy组的Color值相同。

2.11.6  配置基于service-class引流

1. 功能简介

service-class是一种设备的本地标识,可以通过remark service-class命令来标识流量的service-class。当流量引入到SRv6 TE Policy组中转发之后,设备可以根据配置的service-class标识和转发策略的映射关系,将指定流量按照SRv6 TE Policy或SRv6 BE转发方式转发。

当指定某个service-class标识和Color属性映射时,Color属性对应的SRv6 TE Policy有效时,该service-class标识流量通过Color属性对应的SRv6 TE Policy转发。

当指定某个service-class标识和SRv6 BE转发方式映射时,该service-class标识流量通过SRv6 BE方式转发。设备将为报文封装新的IPv6报文头,其中新IPv6报文头中的目的地址为SRv6 TE Policy组的尾节点为公网或私网路由分配的VPN SID,封装后的报文查找IPv6路由表转发。如果该VPN SID可达,表示SRv6 BE转发方式有效,可以采用这个SRv6 BE转发流量,否则SRv6 BE转发方式无效,不能采用SRv6 BE转发方式转发流量。

当所有指定的SRv6 TE Policy均无效时,可以通过best-effort match service-class default命令指定SRv6 BE作为SRv6 TE Policy的逃生路径。

流量引入SRv6 TE Policy组后,基于service-class引流时,依次按照如下规则进行转发:

(1)     ‍将流量的service-class标识,与color match service-class命令、best-effort match service-class命令配置的映射关系进行匹配。如果匹配到某个映射关系,则采用匹配的SRv6 TE Policy或SRv6 BE转发流量。

(2)     如果流量的service-class值未匹配到SRv6 TE Policy或SRv6 BE,或者匹配的SRv6 TE Policy或SRv6 BE无效,则优先采用color match service-class default命令中指定的缺省SRv6 TE Policy转发流量。

(3)     如果color match service-class default命令未指定缺省SRv6 TE Policy,或者缺省SRv6 TE Policy无效,但配置了best-effort match service-class default命令,且SRv6 BE方式有效,则采用SRv6 BE方式转发报文。

(4)     如果未配置best-effort match service-class default命令,或SRv6 BE路径无效,则根据drop-upon-mismatch enable命令的配置情况,确定流量处理方式:

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

¡     如果未配置drop-upon-mismatch enable命令,但SRv6 TE Policy组内配置了service-class的映射关系,则查找service-class值最小的映射关系,采用该映射关系中指定的方式转发报文。

2. 配置限制和指导

一个SRv6 TE Policy组内,只能有一个缺省SRv6 TE Policy。

一个SRv6 TE Policy组内,每个service-class只能关联SRv6 BE方式或一个SRv6 TE Policy。

满足以下任一条件时,SRv6 TE Policy组无效,流量不会通过该SRv6 TE Policy组转发:

·     SRv6 TE Policy组中的所有SRv6 TE Policy均无效。

·     SRv6 TE Policy组中仅指定了流量通过SRv6 BE方式转发,而没有配置任何SRv6 TE Policy用于转发流量;

对于基于service-class的引流方式,配置drop-upon-mismatch enable命令仅会影响color match service-class命令配置的明细映射关系,不会影响color match service-class default命令配置的缺省映射关系。

·     如果某SRv6 TE Policy组内仅配置了明细映射关系,未配置缺省映射关系,那么当该SRv6 TE Policy组内配置drop-upon-mismatch enable后,未匹配明细映射关系的流量将无法通过该SRv6 TE Policy组进行转发。

·     如果某SRv6 TE Policy组内配置了缺省映射关系,则不论是否配置明细映射关系,该SRv6 TE Policy组内配置drop-upon-mismatch enable后,未匹配明细映射关系的流量仍可以通过匹配该该SRv6 TE Policy组内配置的缺省映射关系进行转发。

·     (特殊情况)在单归属场景中,如果SRv6 TE Policy组内仅配置了一个Color值和service-class的映射关系,且未配置best-effort match dscp [ default ]命令时,不推荐配置drop-upon-mismatch enable命令,否则即使流量的service-class标记匹配了这条映射关系也会被丢弃。以下三种映射关系配置情况均视为SRv6 TE Policy组内仅配置了一个Color值和service-class的映射关系:

¡     SRv6 TE Policy组内仅有一条color match service-class命令。

¡     SRv6 TE Policy组内仅有一条color match service-class default命令。

¡     SRv6 TE Policy组内仅有color match service-classcolor match service-class default两条命令,但是这两个命令指定的Color值相同。

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组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

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

(8)     配置SRv6 TE Policy组的转发类型为service-class。

forward-type service-class

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

(9)     配置SRv6 TE Policy组中Color和service-class的映射关系。

color color-value match service-class service-class-value-list

color color-value match service-class default

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

(10)     配置指定service-class标识的流量通过SRv6 BE方式转发。

best-effort match service-class service-class-value-list

best-effort match service-class default

缺省情况下,未配置指定service-class标识的流量通过SRv6 BE方式转发。

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)     (可选)配置由ODN模板生成的SRv6 TE Policy组的延迟删除时间。

delete-delay delay-time

缺省情况下,由ODN模板生成的SRv6 TE Policy组的延迟删除时间为180000毫秒。

(8)     创建DSCP转发类型,并进入service-class转发类型视图。

forward-type service-class

(9)     配置SRv6 TE Policy组的ODN模板中Color和service-class的映射关系。

color color-value match service-class service-class-value-list

color color-value match service-class default

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

(10)     配置指定service-class标识的流量通过SRv6 BE方式转发。

best-effort match service-class service-class-value-list

best-effort match service-class default

缺省情况下,未配置指定service-class标识的流量通过SRv6 BE方式转发。

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组。

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

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

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

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

 

2.11.7  配置基于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转发报文。

满足以下任一条件时,SRv6 TE Policy组无效,流量不会通过该SRv6 TE Policy组转发:

·     SRv6 TE Policy组中的所有SRv6 TE Policy均无效。

·     SRv6 TE Policy组中仅指定了流量通过SRv6 BE方式转发,而没有配置任何SRv6 TE Policy用于转发流量;

本功能仅在下表所列单板上配置生效。

表2-10 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

本功能仅在L3VPN组网中有效。

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组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

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

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

forward-type apn-id

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

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

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

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

(10)     ‍‍‍(可选)配置根据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组

(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)     (可选)配置由ODN模板生成的SRv6 TE Policy组的延迟删除时间。

delete-delay delay-time

缺省情况下,由ODN模板生成的SRv6 TE Policy组的延迟删除时间为180000毫秒。

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

forward-type apn-id

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

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

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

(10)     (可选)配置根据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组。

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

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

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

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

 

2.11.8  配置基于ARN ID引流

1. 功能简介

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

2. 配置限制和指导

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

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

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

当流量引入SRv6 TE Policy组后,设备收到的报文未携带ARN ID、报文的ARN ID未匹配任何映射关系或者报文的ARN 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命令,但通过index arn-id match命令配置了多个ARN ID和SRv6 TE Policy或SRv6 BE的映射关系,则查找其中SRv6 TE Policy或SRv6 BE有效且索引值最小的映射关系,采用该映射关系中指定的SRv6 TE Policy或SRv6 BE转发报文。

满足以下任一条件时,SRv6 TE Policy组无效,流量不会通过该SRv6 TE Policy组转发:

·     SRv6 TE Policy组中的所有SRv6 TE Policy均无效。

·     SRv6 TE Policy组中仅指定了流量通过SRv6 BE方式转发,而没有配置任何SRv6 TE Policy用于转发流量;

本功能仅在下表所列单板上配置生效。

表2-11 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

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组的转发类型为ARN ID。

forward-type arn-id

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

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

index index-value arn-id arn-id match { best-effort | srv6-policy color color-value }

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

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

default match best-effort

default match srv6-policy color color-value

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

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

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)     (可选)配置由ODN模板生成的SRv6 TE Policy组的延迟删除时间。

delete-delay delay-time

缺省情况下,由ODN模板生成的SRv6 TE Policy组的延迟删除时间为180000毫秒。

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

forward-type arn-id

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

index index-value arn-id arn-id match { best-effort | srv6-policy color color-value }

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

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

default match best-effort

default match srv6-policy color color-value

缺省情况下,未配置根据ARN 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组。

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

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

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

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

 

2.11.9  配置基于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转发不可以同时存在。

满足以下任一条件时,SRv6 TE Policy组无效,流量不会通过该SRv6 TE Policy组转发:

·     SRv6 TE Policy组中的所有SRv6 TE Policy均无效。

·     SRv6 TE Policy组中仅指定了流量通过SRv6 BE方式转发,而没有配置任何SRv6 TE Policy用于转发流量;

本功能仅在下表所列单板上配置生效。

表2-12 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

本功能仅在L3VPN组网中有效。

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组不匹配引流策略时丢弃流量的功能。

drop-upon-mismatch enable

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

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

forward-type te-class

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

(9)     配置指定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转发策略间的映射关系。

(10)     (可选)配置基于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)     (可选)配置由ODN模板生成的SRv6 TE Policy组的延迟删除时间。

delete-delay delay-time

缺省情况下,由ODN模板生成的SRv6 TE Policy组的延迟删除时间为180000毫秒。

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

forward-type te-class

(9)     配置指定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转发策略间的映射关系。

(10)     (可选)配置基于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组。

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

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

 

2.11.10  配置基于静态路由引流

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.11.11  配置基于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.11.12  配置基于Flowspec引流

1. 创建并激活IPv6 Flowspec路由

(1)     进入系统视图。

system-view

(2)     创建IPv6 Flowspec路由。

flow-route flowroute-name ipv6

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

if-match match-criteria

(4)     配置Flowspec路由的流量动作。请选择其中一项进行配置。

¡     配置流量重定向到SRv6 TE Policy动作。

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

¡     配置流量重定向到SRv6 BE隧道动作。

apply redirect next-hop ipv6-address sid sid-value [ prefix-length prefix-length ]

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

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

commit

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

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

(1)     进入系统视图。

system-view

(2)     进入Flowspec视图。

flowspec

(3)     创建Flowspec IPv6地址族。

address-family ipv6

(4)     应用已创建的IPv6 Flowspec路由,请选择其中一项进行配置。

¡     应用已创建的普通IPv6 Flowspec路由。

flow-route flowroute-name

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

¡     应用关联了Flowspec接口组的IPv6 Flowspec路由。

flow-route flowroute-name flow-interface-group group-id

缺省情况下, IPv6 Flowspec路由未关联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路由,请至少选择其中一项进行配置。

¡     应用已创建的普通IPv6 Flowspec路由。

flow-route flowroute-name

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

¡     应用关联Flowspec接口组的Flowspec路由。

flow-route flowroute-name flow-interface-group group-id

缺省情况下,IPv6 Flowspec路由未关联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.11.13  配置自引流功能

1. 配置限制和指导

SRv6 TE Policy组视图及SRv6 TE Policy视图都配置了autoroute enable命令,并且SRv6 TE Policy组和SRv6 TE Policy形成等价路由的情况下,流量优先通过SRv6 TE Policy组转发。

使用SRv6 TE Policy组的自动引流功能将去往公网目的IP地址的流量引入到SRv6 TE Policy组中转发时,如果该SRv6 TE Policy组中仅配置了SRv6 BE方式转发流量,或者SRv6 TE Policy组中配置的SRv6 TE Policy均不生效,即SRv6 TE Policy状态为Down,只能通过SRv6 BE方式转发流量时,流量无法正常转发到公网IP地址。

2. 配置自引流到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)     (可选)配置IS-IS自动引流功能的策略。

autoroute isis { host-only | include-ipv4 | route-policy route-policy-name } *

缺省情况下,所有IPv6 IS-IS路由都可以通过自动引流功能迭代到SRv6 TE Policy。IPv4 IS-IS路由不能自动引流并迭代到SRv6 TE Policy组或者SRv6 TE Policy隧道。

(8)     退回系统视图。

quit

quit

quit

(9)     配置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 ]

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

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

srv6-policy autoroute enable

缺省情况下,IS-IS和OSPFv3的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组的自动引流功能。

autoroute enable isis

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

(8)     配置SRv6 TE Policy组的度量值。

autoroute metric { absolute value | relative value }

缺省情况下,SRv6 TE Policy组参与IGP路由计算时采用的度量值等于IGP链路缺省的开销值。对于IS-IS路由,SRv6 TE Policy组的度量值为10。

(9)     (可选)配置IS-IS自动引流功能的策略。

autoroute isis { host-only | include-ipv4 | route-policy route-policy-name } *

缺省情况下,所有IPv6 IS-IS路由都可以通过自动引流功能迭代到SRv6 TE Policy组。

(10)     退回系统视图。

quit

quit

quit

(11)     进入IS-IS视图。

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

(12)     进入ISIS IPv6地址族视图

address-family ipv6 [ unicast ]

(13)     配置SRv6 TE Policy组参与IS-IS路由计算。

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

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

 

2.12  配置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视图的配置。

在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生效。

Insert方式和Insert.Red方式封装仅在下表所列单板上配置生效。

表2-13 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

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.13  配置SRv6 TE Policy的智能策略路由功能

2.13.1  配置限制和指导

只有SRv6 TE Policy组的转发类型为基于TE Class ID引流,并且指定了TE Class ID和IPR模板映射关系时,本功能才能生效。关于基于TE Class ID引流的详细介绍,请参见“配置基于TE Class ID引流”。

本功能仅在下表所列单板上配置生效。

表2-14 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

2.13.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.13.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.14  开启SRv6 TE Policy的SBFD功能

1. 功能简介

通过SBFD方式检测SRv6 TE Policy连通性时,缺省情况下,SBFD回程报文均通过IP路径转发,一旦中间设备故障,则回程报文会被丢弃,导致SBFD会话down,从而错误地认为所有SRv6 TE Policy的SID列表故障。为了解决上述问题,可以使SBFD回程报文按照SRv6 TE Policy的指定SID列表转发,实现去程和回程路径一致的功能,或者叫SBFD的来回路径一致功能。该功能的实现方式有两种:

·     指定反向BSID的方式:配置reverse-path reverse-binding-sid参数后,源节点将为SBFD报文封装Aux Path TLV(备用路径TLV),该TLV中包含反向BSID信息,该反向BSID可以通过explicit segment-list中的reverse-binding-sid参数或reverse-binding-sid命令来指定。尾节点收到SBFD报文后,解析Aux Path TLV获取反向BSID。如果反向BSID和尾节点某个SRv6 TE Policy的本地BSID相同(该本地BSID可以通过local-binding-sid命令指定),则为SBFD报文封装SRH,沿本地BSID所属SRv6 TE Policy的SID列表转发。本方式使用的Aux Path TLV携带在SBFD报文数据载荷中,可能与第三方产品不兼容。

·     指定Path Segment的方式:Path Segment也是一种BSID,配置reverse-path path-segment参数后,源节点将Path Segment即End.PSID封装在SBFD报文SRH头部SID列表中SRH[SL+1]位置,其中SL+1等于源节点上SID列表中SID数量之和,源节点的下一跳为SRH[SL]。该Path Segment可以通过explicit segment-list命令中的local-path-segment参数来指定。同时,将SRH报文头中的Flags字段的第五位即P-flag置位,表示该SRH报文头中携带了Path Segment。尾节点收到SBFD报文后,发现P-flag置位,因此获取Path Segment。如果SRH报文中的Path Segment和尾节点上某个SRv6 TE Policy的SID列表指定的反向Path Segment一致,则为SBFD报文封装SRH携带该SID列表,沿SID列表所代表的路径转发报文。Path Segment方式可以避免厂商间不兼容的问题。

通过SBFD方式检测SRv6 TE Policy连通性时,缺省情况下,SBFD回程报文通过IP路径转发。如果中间设备故障,则回程报文会被丢弃,导致SBFD会话down,从而错误地认为SID列表故障。

为了解决上述问题,可以使SBFD回程报文按照SRv6 TE Policy的指定SID列表转发,以确保连通性。具体实现机制为:

(1)     在源节点的SID列表视图下配置反向BSID,在尾节点的SID列表视图下配置本地BSID,二者值相同。

(2)     源节点发送SBFD报文时,将为SBFD报文封装Aux Path TLV(备用路径TLV),该TLV中包含反向BSID。

(3)     尾节点收到该SBFD报文,查找反向BSID信息,如果报文中的反向BSID与尾节点配置的本地BSID相同,则为BFD回程报文封装SRH,沿着本地BSID所在的SID列表转发。

通过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检测生效。

sbfd命令同时指定oam-sid和path-segment参数,且explicit segment-list命令指定local-path-segment时,指定的oam-sid参数不生效。

如果设备上的某个SID列表已经指定了本地Path Segment,则该本地Path Segment不能再分配给其他SID列表,也不能在其他候选路径下配置相同的SID列表且指定相同的本地Path Segment。否则,后配置本地Path Segment无法生效,在display segment-routing ipv6 te path segment命令中显示为冲突。例如,SRv6 TE Policy p1中优先级为100的候选路径下已配置了SID列表abc,且为该SID列表指定了本地Path Segment值100::1,在任意SRv6 TE Policy的任意候选路径下再次配置SID列表abc,且为该SID指定本地Path Segment值100::1时,后配置的本地Path Segment无法生效。

尾节点上可以通过display segment-routing ipv6 local-sid命令来查看反向Path Segment(即即End.PSID)的生效状态,如果state字段显示生效表示反向Path Segment申请成功。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置使用SBFD对SRv6转发路径进行故障检测时,SBFD报文的封装模式为Encap模式。

bfd srv6-encapsulation-mode encap

缺省情况下,使用SBFD对SRv6转发路径进行故障检测时,SBFD报文的封装模式为Insert模式。

(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 ] [ reverse-path { path-segment | reverse-binding-sid } ]

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

(7)     (可选)在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列表不能用于报文转发。

(8)     (可选)全局开启BFD down联动SRv6 TE Policy路径切换功能。

srv6-policy bfd trigger path-down enable

缺省情况下,BFD down联动SRv6 TE Policy路径切换功能处于关闭状态。

(9)     (可选)配置检测SRv6 TE Policy的SBFD会话首次建立失败时,通知SRv6 TE Policy的SBFD会话down的延迟时间。

srv6-policy bfd first-fail-timer seconds

缺省情况下,检测SRv6 TE Policy的SBFD会话首次建立失败时,通知SRv6 TE Policy的SBFD会话down的延迟时间为60秒。

(10)     进入SRv6 TE Policy视图。

policy policy-name

(11)     依次执行以下命令,在SID列表中配置本地BSID、反向BSID、本地Path Segment、反向Path Segment。

a.     创建SRv6 TE Policy候选路径,并进入SRv6 TE Policy候选路径视图。

candidate-paths

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

preference preference-value

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

explicit segment-list segment-list-name [ local-binding-sid ipv6 ipv6-address | local-path-segment ipv6 ipv6-address | reverse-binding-sid ipv6 ipv6-address | reverse-path-segment ipv6 reverse-ipv6-address ] *

(12)     配置SRv6 TE Policy的SBFD功能。

sbfd { disable | enable [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert ] [ reverse-path { path-segment | reverse-binding-sid }  ] }

缺省情况下,未配置SRv6 TE Policy的SBFD功能,以SRv6 TE视图下的配置为准。

如果未指定encapsinsert参数,则采用bfd srv6-encapsulation-mode encap命令配置的封装模式。

(13)     (可选)配置BFD down联动SRv6 TE Policy路径切换功能。

bfd trigger path-down { disable | enable }

缺省情况下,未配置BFD down联动SRv6 TE Policy路径切换功能,以SRv6 TE视图下的配置为准。

2.15  开启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的来回路径一致功能。该功能的实现方式有两种:

·     指定反向BSID的方式:配置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列表转发。

·     指定End.XSID的方式:End.XSID也是一种BSID,配置reverse-path xsid参数后,源节点将按照Encaps方式在BFD报文上直接封装IPv6报文头和SRH扩展头,并将End.XSID封装在新的SRH中SL=0的位置,该End.XSID可以通过explicit segment-list命令中的local-xsid参数来指定。尾节点收到BFD报文后,获取End.XSID信息。如果End.XSID和尾节点某个SRv6 TE Policy的本地BSID相同,则执行End.XSID的转发行为,即先将BFD报文的IPv6报文头和SRH扩展头解封装,再封装新的IPv6头和SRH扩展头,SRH扩展头中携带了尾节点本地SRv6 TE Policy的候选路径中的SID列表,流量将沿着该SID列表转发返程的BFD报文。

通过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参数不生效。

End.XSID的方式来实现来回路径一致功能时,BFD报文仅支持采用Encaps方式,配置的insert参数不生效。

目前,支持通过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会话源地址。

由于以下单板首Buffer空间最大仅支持256字节,使用BFD检测SRv6 TE Policy并指定回程路径时,回程报文中由于封装的SID数量过多,可能导致BFD报文头的前12字节无法封装在首Buffer的256字节空间中,引起BFD异常问题。因此,建议回程报文的携带SID数量之和不超过5层。

表2-15 单板信息一览表

单板类型

单板丝印

CSPEX单板

CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X

SPE单板

RX-SPE200

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L

 

如果BFD回程报文中还存在HBH扩展头(例如,封装了Slice ID网络切片信息)或DOH扩展头(例如,封装了iFIT相关信息),那么建议携带SID数量之和更少,甚至不能超过2层。由于IPv6报文的各种扩展报文头封装会进一步增加BFD报文头长度,建议携带SID数量之和更少,具体BFD回程报文中可以携带数量与实际应用场景有关,请根据实际情况计算,保证BFD报文头的前12字节可以封装到首个256字节的Buffer空间中。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置使用BFD对SRv6转发路径进行故障检测时,BFD报文的封装模式为Encap模式。

bfd srv6-encapsulation-mode encap

缺省情况下,使用BFD对SRv6转发路径进行故障检测时,BFD报文的封装模式为Insert模式。

(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 | xsid } ]

缺省情况下,SRv6 TE Policy的echo报文方式的BFD检测功能处于关闭状态。

(6)     (可选)全局开启BFD down联动SRv6 TE Policy路径切换功能。

srv6-policy bfd trigger path-down enable

缺省情况下,BFD down联动SRv6 TE Policy路径切换功能处于关闭状态。

(7)     (可选)在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列表不能用于报文转发。

(8)     (可选)配置检测SRv6 TE Policy的BFD会话首次建立失败时,通知SRv6 TE Policy的BFD会话down的延迟时间。

srv6-policy bfd first-fail-timer seconds

缺省情况下,检测SRv6 TE Policy的BFD会话首次建立失败时,通知SRv6 TE Policy的BFD会话down的延迟时间为60秒。

(9)     进入SRv6 TE Policy视图。

policy policy-name

(10)     配置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 | xsid } ] }

缺省情况下,未配置SRv6 TE Policy的echo报文方式的BFD检测功能,以SRv6 TE视图下的配置为准。

如果未指定encapsinsert参数,则采用bfd srv6-encapsulation-mode encap命令配置的封装模式。

(11)     (可选)配置BFD down联动SRv6 TE Policy路径切换功能。

bfd trigger path-down { disable | enable }

缺省情况下,未配置BFD down联动SRv6 TE Policy路径切换功能,以SRv6 TE视图下的配置为准。

(12)     引用SID列表时指定用于BFD检测的本地BSID、反向BSID、本地End.XSID、反向End.XSID。

a.     进入SRv6 TE Policy候选路径视图。

candidate-paths

b.     进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

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

c.     引用SID列表时指定用于BFD检测的本地BSID、反向BSID、本地End.XSID、反向End.XSID。

explicit segment-list segment-list-name [ local-binding-sid ipv6 ipv6-address | local-xsid ipv6 ipv6-address | reverse-binding-sid ipv6 ipv6-address | reverse-xsid ipv6 reverse-ipv6-address ] *

如果explicit segment-list命令中同时指定了reverse-binding-sidlocal-xsid参数,则具体生效的回程路径由SRv6 TE Policy视图下bfd echo或SRv6 TE视图下srv6-policy bfd echo命令指定中指定的回程路径来决定。

对于本地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.16  开启SRv6 TE Policy的No-Bypass功能

1. 功能简介

当SRv6 TE Policy主用候选路径上某个节点或链路故障,转发路径故障节点或链路的上游节点存在本地保护路径(例如中间节点保护路径或TI-LFA FRR备份路径),则流量可以绕行到本地保护路径进行转发,此时,流量可能会跳过故障节点。

如果不希望流量跳过SRv6 TE Policy中SID列表的某些特殊SID(例如通过SRv6 TE Policy实现SRv6 SFC服务链场景中,某些SID代表防火墙等应用服务节点,不希望流量通过本地保护路径绕行这些SID),则可以开启SRv6 TE Policy的No-Bypass功能,不允许数据流量绕行到本地保护路径进行转发。

在SRH的Flags字段中定义了两个标志位:No-Bypass flag和No-FRR flag。两个标志位同时置位时,表示该SRH中的所有SID均不能被绕行。

如果在SRv6 TE Policy的源节点上开启SRv6 TE Policy的Bypass功能,则数据报文封装SRH时,No-Bypass标志位和No-FRR标志位均不置位,即同时为0。如果在SRv6 TE Policy的源节点上开启SRv6 TE Policy的No-Bypass功能,则数据报文封装SRH时,No-Bypass标志位和No-FRR标志位均置位,即同时为1。

2. 配置限制和指导

·     在SRv6 TE视图下配置srv6-policy forward no-bypass命令全局开启SRv6 TE Policy的No-Bypass功能时,如果希望通过个别SRv6 TE Policy转发的流量仍允许通过本地保护路径转发,则可以执行forward bypass命令,开启SRv6 TE Policy的Bypass功能,简化配置。

·     SRv6 TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的Bypass功能和No-Bypass功能。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的Bypass功能和No-Bypass功能对于该SRv6 TE Policy的BFD/SBFD检测报文同样生效。对于BFD/SBFD检测报文,Bypass功能和No-Bypass功能命令生效的优先顺序依次为:SRv6 TE Policy视图下的forward { no-bypass | bypass }命令优先级最高,SRv6 TE视图下的srv6-policy forward no-bypass命令优先级次之,SRv6 TE Policy视图下的bfd { no-bypass | bypass }命令优先级再次之,SRv6 TE视图下的srv6-policy bfd no-bypass命令优先级最低。

·     在SRv6网络切片场景中,当SRv6 TE Policy的候选路径引用了网络切片实例,且配置了BFD/SBFD检测该SRv6 TE Policy连通性时,开启SRv6 TE Policy的Bypass功能和BFD的Bypass功能对SBFD报文无效,BFD/SBFD报文强制不通过本地保护路径转发。

·     对于SRv6 TE Policy通过BSID缝接另一个SRv6 TE Policy的场景,即第一个SRv6 TE Policy的SID列表中包含另一个SRv6 TE Policy的BSID,SRH将在第二个SRv6 TE Policy的源节点(缝接节点)修改No-Bypass flag和No-FRR flag标记位,此时,仅当第二个SRv6 TE Policy开启No-Bypass功能,这两个标记位才会置位。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     全局开启SRv6 TE Policy的No-Bypass功能。

srv6-policy forward no-bypass

缺省情况下,SRv6 TE Policy的No-Bypass功能处于关闭状态,即主用候选路径中任意Segment List故障时,报文均可以通过本地保护路径转发。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy的No-Bypass功能和Bypass功能。

forward { bypass | no-bypass }

缺省情况下,未配置SRv6 TE Policy的No-Bypass功能和Bypass功能,以SRv6 TE视图下的配置为准。

2.17  开启SRv6 TE Policy的BFD No-Bypass功能

1. 功能简介

通过BFD/SBFD检测SRv6 TE Policy的连通性,当主用候选路径中所有Segment List故障时,如果存在本地保护路径(例如TI-LFA计算的备份路径),则检测主用候选路径中所有Segment List的BFD/SBFD报文通过本地保护路径转发,BFD/SBFD会话保持up状态,主用候选路径也保持up状态,流量将通过本地保护路径转发。

在某些场景下,本地保护路径可能存在带宽或时延不稳定问题,无法满足专线业务需求。此时,本地保护路径仅用来临时为流量提供保护,不希望流量长时间通过本地保护路径转发。开启BFD No-Bypass功能后,在主用候选路径的所有Segment List故障时,BFD/SBFD报文不会通过本地保护路径转发,使得检测主用候选路径的所有Segment List的BFD/SBFD会话变为down,进而将主用候选路径置为down,触发流量切换到备份候选路径或者其他SRv6 TE Policy,使流量不会长时间通过本地保护路径转发。

为了使流量不长时间通过本地保护路径转发,BFD/SBFD报文不通过本地保护路径转发,需要在SRv6 TE Policy的源节点开启BFD No-Bypass功能,在SRv6 TE Policy的中间节点开启SRH标志检查功能。

在SRv6 TE Policy的源节点开启BFD No-Bypass功能后,源节点为报文封装SRH头时,会将SRH的Flag字段的No-Bypass和No-FRR标记位置位。

开启SRH标志检查功能后,设备收到携带SRH的报文时,将检查报文SRH中Flag字段的No-Bypass和No-FRR标记位是否置位:

·     如果No-Bypass和No-FRR标记位均置位,则BFD/SBFD报文不通过本地保护路径转发。

·     如果No-Bypass和No-FRR标记位均未置位,则BFD/SBFD报文通过本地保护路径转发。

2. 配置限制和指导

SRv6 TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的BFD No-Bypass功能。

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的Bypass功能和No-Bypass功能对于该SRv6 TE Policy的BFD/SBFD检测报文同样生效。对于BFD/SBFD检测报文,Bypass功能和No-Bypass功能命令生效的优先顺序依次为:SRv6 TE Policy视图下的forward { no-bypass | bypass }命令优先级最高,SRv6 TE视图下的srv6-policy forward no-bypass命令优先级次之,SRv6 TE Policy视图下的bfd { no-bypass | bypass }命令优先级再次之,SRv6 TE视图下的srv6-policy bfd no-bypass命令优先级最低。

在SRv6网络切片场景中,当SRv6 TE Policy的候选路径引用了网络切片实例,且配置了SBFD方式检测该SRv6 TE Policy连通性时,开启SRv6 TE Policy的Bypass功能和BFD的Bypass功能对SBFD报文无效,SBFD报文强制不通过本地保护路径转发。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     全局开启SRv6 TE Policy的BFD No-Bypass功能。

srv6-policy bfd no-bypass

缺省情况下,BFD No-Bypass功能处于关闭状态,即主用候选路径中所有Segment List故障时,BFD/SBFD报文可以通过本地保护路径转发。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy的BFD No-Bypass功能和BFD Bypass功能。

bfd { bypass | no-bypass }

缺省情况下,未配置SRv6 TE Policy的BFD No-Bypass功能和BFD Bypass功能,以SRv6 TE视图下的配置为准。

2.18  开启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.19  配置SRv6 TE Policy的慢切慢删功能

1. 功能简介

为了防止SID列表切换导致流量转发失败,在SRv6 TE Policy的SID列表切换过程中,流量先保持按照老的SID列表转发,切换延迟时间超时后再按照新的SID列表转发流量,并在删除延迟时间超时后将老的SID列表删除。

实现慢切慢删功能的前提是SRv6 TE Policy的新旧转发路径的SID列表均处于Up状态。如果原来旧的SID列表变为Down状态,则流量直接进行切换不会等待切换延迟时间超时。

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.20  配置SRv6 TE Policy延迟激活的时间

1. 功能简介

当SRv6 TE Policy故障恢复时,为了避免SRv6 TE Policy频繁震荡导致丢包,可以配置本功能,使SRv6 TE Policy延迟激活,即延迟一段时间再使用该SRv6 TE Policy转发流量,以确保SRv6 TE Policy的故障彻底消除。

配置本功能后,需要根据SRv6 TE Policy的BFD/SBFD功能的配置情况,启动不同类型的延迟激活定时器:

·     LSP类型定时器:未开启BFD/SBFD功能,且SID列表状态由Down变为Up时,启动LSP类型定时器。

·     BFD类型定时器:开启BFD功能,且BFD会话状态由Down变为Up时,启动BFD类型定时器。

·     SBFD类型定时器:开启SBFD功能,且SBFD会话状态由Down变为Up时,启动SBFD类型定时器。

2. 配置限制和指导

可以通过display segment-routing ipv6 te policy命令查看BFD/SBFD功能配置情况、SID列表状态和BFD/SBFD会话状态。

请根据网络规模合理配置SRv6 TE Policy延迟激活的时间,避免故障消除后SRv6 TE Policy长时间无法处理用户流量。

SRv6 TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的延迟UP时间。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不受影响。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     全局配置SRv6 TE Policy延迟激活的时间。

srv6-policy up-delay delay-time

缺省情况下,SRv6 TE Policy不延迟激活。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy的延迟激活时间。

up-delay delay-time

缺省情况下,未配置延迟激活时间,以SRv6 TE视图下的配置为准。

2.21  配置SRv6 TE Policy路径连通性检查功能

1. 功能简介

通常情况下,管理员通过控制器向设备下发SRv6 TE Policy的SID列表。如果头节点上未配置BFD检测SRv6 TE Policy,则当SID列表指示的路径故障时,头节点不能快速感知该故障,只能等待控制器感知拓扑变化并重新计算路径后通知头节点切换SRv6 TE Policy的SID列表。如果控制器故障或设备与控制器间链路故障,则头节点无法及时感知故障、切换SID列表,导致流量丢失。

为了提升故障时流量切换的速度、提高可靠性,可以在头节点开启SRv6 TE Policy路径连通性检查功能。开启该功能后,头节点收集网络的拓扑信息,根据如下信息校验SRv6 TE Policy中所有SID列表的有效性:

·     如果SID列表中所有SRv6 SID在拓扑中均存在,且其对应的Locator前缀均路由可达,则SID列表有效。

·     如果SID列表中任一SRv6 SID在拓扑中不存在,或者任一SRv6 SID对应的Locator前缀路由不可达,则SID列表无效。

头节点感知到SID列表无效,即SID列表故障时,根据不同的配置情况,触发不同路径切换方式:

(1)     当SRv6 TE Policy优选的有效候选路径下存在多个SID列表,如果某一SID列表故障,则不再使用该SID列表转发流量,流量在其他有效SID列表间负载分担。

(2)     当SRv6 TE Policy下存在有效的主备候选路径,如果主候选路径的所有SID列表均故障,则将流量切换到备候选路径转发。

(3)     当SRv6 TE Policy下所有有效候选路径均故障,则该SRv6 TE Policy故障,触发其他保护措施(如MPLS L3VPN快速重路由)。

在SRv6 TE Policy头节点配置本功能后,设备将校验Segment List中所有SID的有效性。当Segment List中存在域间SID,例如BGP EPE功能分配域间BGP Peer SID,或其他SRv6 TE Policy的BSID时,由于BSID或BGP Peer SID不在IGP拓扑中泛洪,所以路径校验会失败,影响报文转发。

为了解决上述问题,可以同时执行以下命令,指定进行SRv6 TE Policy路径连通性检查时,仅校验指定SID的有效性:

·     在执行index命令时,为需要检验的SID指定verification参数。Segment List中的BSID或BGP EPE SID不能指定verification参数。

·     在SRv6 TE Policy视图下执行命令path verification或在SRv6 TE视图下执行srv6-policy path verification enable命令时,指定specified-sid参数。

2. 配置限制和指导

需要在SRv6 TE Policy的头节点配置本功能。

Segment List中首个SID如果配置为SRv6 TE Policy源节点的本地End类型的SID时,该Segment List将校验失败。此时,不建议开启SRv6 TE Policy路径连通性检查功能,或者开启SRv6 TE Policy路径连通性检查功能时指定specified-sid参数,仅校验index命令中指定了verification参数的SID的有效性。

即使控制器上配置了本功能,并向设备下发BGP IPv6 SR Policy地址族的路由,本功能仍然需要先在SRv6 TE Policy的头节点配置才能生效。

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视图的配置。

由于SRv6 SID状态和路由状态感知都是在头节点进行的,所以头节点需要IGP域的所有SRv6 SID和路由。需要通过以下配置实现:

·     IGP域使用IS-ISv6传递路由信息。

·     在头节点的IS-IS视图下配置distribute link-state命令,上报链路状态信息。有关命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“IS-IS”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     全局开启SRv6 TE Policy路径连通性检查功能。

srv6-policy path verification [ specified-sid ] enable

缺省情况下,SRv6 TE Policy路径连通性检查功能处于关闭状态。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy路径连通性检查功能。

path verification { disable | [ specified-sid ] enable }

缺省情况下,未配置SRv6 TE Policy路径连通性检查功能,以SRv6 TE视图下的配置为准。

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

1. 功能简介

开启SRv6 TE FRR功能后,当SRv6 TE Policy的中间节点发生故障时,故障节点的上游节点可以代替故障节点完成报文转发,使报文绕过故障节点,实现中间节点故障的保护。这个上游节点称之为代理转发(Proxy Forwarding)节点。

在中间节点保护组网环境中,用户同时部署了SRv6压缩功能,由于SRv6 TE Policy的Segment List中的SRv6 SID存在前后关联,所以不能通过绕过故障节点(跳过故障节点的SRv6 SID)来实现保护,将导致中间节点保护功能失效。为了避免这种情况,用户可以在开启SRv6 TE FRR功能的节点上指定downgrade参数,同时保证Segment List中最后一个SRv6 SID不被压缩。在中间节点故障时,代理转发节点使用Segment List中最后一个SRv6 SID作为目的地址进行转发,实现中间节点保护功能。

在中间节点保护组网环境中,用户在中间节点开启SRv6 TE FRR功能并指定downgrade参数。在中间节点故障,触发中间节点保护后,如果使用BFD echo检测SRv6 TE Policy的连通性,则需要执行bfd echo命令执行encaps参数,配置BFD报文采用普通封装模式。

2. 配置限制和指导

组网环境复杂时,中间节点并不固定,所以,为了提供整网可靠性,建议在所有节点上开启SRv6 TE FRR功能。建议在源节点上同时开启备份路径功能。

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

表2-16 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     开启SRv6 TE FRR功能。

sr-te frr enable [ downgrade ]

缺省情况下,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.23  配置SRv6 TE Policy尾节点保护功能

2.23.1  配置限制和指导

在SRv6 TE Policy尾节点保护组网环境中,报文经过的所有节点均需支持SRv6功能。

IM-NGFWX-IV单板不支持本功能。

2.23.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.23.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.23.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.24  配置SRv6 TE Policy的候选路径重优化功能

1. 功能简介

当采用PCE计算的路径建立SID列表时,可以配置本命令使PCE周期性地计算路径,并通知PCC更新路径,以便将SRv6 TE Policy的候选路径切换到当前的最优路径。例如,如果在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 reoptimization [ frequency seconds ]

缺省情况下,SRv6 TE Policy的候选路径重优化功能处于关闭状态。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy的候选路径重优化功能。

reoptimization { disable | enable [ frequency seconds ] }

缺省情况下,未配置SRv6 TE Policy的候选路径重优化功能,以SRv6 TE视图下的配置为准。

(7)     退回用户视图。

quit

quit

quit

quit

(8)     立即对所有开启了重优化功能的SRv6 TE Policy进行重优化。

srv6-policy immediate-reoptimization

2.25  配置SRv6 TE Policy震荡抑制功能

1. 功能简介

通过开启本功能,可以在SRv6 TE Policy的SID列表频繁震荡时,抑制其up/down状态变化,以减少对流量转发影响。

开启本功能后,SRv6 TE Policy会启动一个震荡计数器,并对SRv6 TE Policy的SID列表震荡事件进行计数:

·     如果SID列表状态从down变为up的时间小于震荡发生的判断时间,则SID列表发生震荡,震荡计数加1。

·     在进入抑制状态前,如果SID列表状态从down变为up的时间大于震荡抑制的恢复时间,则震荡计数清零。

·     如果震荡计数超过震荡抑制的判断阈值,则SRv6 TE Policy进入震荡抑制状态,不再更新SID列表的状态,即SID列表持续处于down状态。在抑制状态其间,仍然继续统计震荡计数。

·     在进入抑制状态达到震荡抑制的恢复时间后,设备解除SRv6 TE Policy的抑制状态,震荡计数清零。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     全局关闭SRv6 TE Policy的震荡抑制功能。

srv6-policy suppress-flapping disable

缺省情况下,SRv6 TE Policy震荡抑制功能处于开启状态。

(5)     配置SRv6 TE Policy震荡抑制的检测参数。

srv6-policy suppress-flapping { detect-interval detect-interval | threshold threshold | resume-interval resume-interval } *

缺省情况下,SRv6 TE Policy的震荡发生的判断时间为60秒,进入震荡抑制阶段的阈值为10,震荡检测恢复门限为120秒。

2.26  配置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.27  配置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.28  配置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.29  开启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命令中Forwarding index字段显示为0(即SRv6 TE Policy无效)时,本功能不生效。

对于基于BGP SRv6 TE Policy路由生成的SRv6 TE Policy,不会受远端设备上drop-upon-invalid命令的影响,仅受本端设备drop-upon-invalid命令的控制。

SRv6 TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy在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在Policy失效时丢弃流量的功能。

srv6-policy drop-upon-invalid enable

缺省情况下,SRv6 TE Policy在Policy失效时丢弃流量的功能处于关闭状态。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy在Policy失效时丢弃流量的功能。

drop-upon-invalid { disable | enable }

缺省情况下,未配置SRv6 TE Policy在Policy失效时丢弃流量功能,以SRv6 TE视图下的配置为准。

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

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共存环境示意图

 

配置bestroute encap-type命令时,如果指定了preferred参数,则设备对指定VPN实例下的BGP路由进行选路时,如果存在Preferred-value相同的多条路由,则根据bestroute encap-type命令选优SRv6封装或MPLS封装的路由,之后继续根据BGP原有的选路流程进行选路。关于BGP选路规则的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP概述”。

配置bestroute encap-type命令时,如果未指定preferred参数,则设备对指定VPN实例下的BGP路由进行选路时,如果存在Preferred-value和LOCAL_PREF都相同的多条路由,则根据bestroute encap-type命令选优SRv6封装或MPLS封装的路由,之后继续根据BGP原有的选路流程进行选路。

2. 配置限制和指导

如果同时配置了bestroute encap-type preferred命令与bestroute nexthop-type preferred命令,则设备对指定VPN实例下的BGP路由进行选路时,会按照如下顺序:

(1)     丢弃下一跳(NEXT_HOP)不可达的路由

(2)     优选首选值(Preferred-value)最大的路由

(3)     根据bestroute encap-type命令的配置优选SRv6封装或MPLS封装的路由

(4)     根据bestroute nexthop-type命令的配置优选下一跳为隧道或IP地址的路由

(5)     优选本地优先级(LOCAL_PREF)最高的路由

(6)     根据BGP原有的选路流程进行选路

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

3. 配置步骤

(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.31  配置SRv6 TE Policy资源数量的告警阈值

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的转发表项ID数目:在SRv6转发表中,转发类型为SRv6Policy的表项的数量。

·     SRv6 TE Policy组的转发表项ID数目:在SRv6转发表中,转发类型为SRv6PGROUP的表项的数量。

·     SID列表的转发表项ID数目:在SRv6转发表中,转发类型为SRv6PSIDList的表项的数量。

SRv6转发表信息可以通过display segment-routing ipv6 forwarding命令查看。

2. 配置限制和指导

可通过display segment-routing ipv6 te policy statistics命令查看当前SRv6 TE Policy资源的使用信息。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

(4)     配置SRv6 TE Policy资源数量的告警阈值。

srv6-policy { forwarding-path | policy | policy-group | segment-list } alarm-threshold upper-limit upper-limit-value lower-limit lower-limit-value

缺省情况下,SRv6 TE Policy所有资源告警的上限阈值均为80%,下限阈值均为75%。

2.32  开启SRv6 TE Policy的日志功能

1. 功能简介

开启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 Policy的日志功能。

srv6-policy log enable

缺省情况下,SRv6 TE Policy的日志功能处于关闭状态。

2.33  开启SRv6 TE Policy的告警功能

1. 功能简介

开启SRv6 TE Policy的告警功能后,当SRv6 TE Policy的状态发生变化和SRv6 TE Policy的资源使用数量超限时,将生成告警信息并发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。

有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6 TE Policy的告警功能。

snmp-agent trap enable srv6-policy

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

2.34  配置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的流量转发统计功能处于关闭状态。

指定service-class参数后,不仅对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视图下的配置为准。

指定service-class参数后,不仅对SRv6 TE Policy隧道转发的总流量进行统计,还会对隧道转发的每个隧道转发类的流量分别进行统计。

2.35  SRv6 TE Policy显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后SRv6 TE Policy的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除SRv6 TE Policy的统计信息。

表2-17 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 ]

display bgp [ instance instance-name ] peer ipv6 sr-policy [ ipv4-address mask-length | ipv4-address log-info | [ ipv4-address ] verbose ]

显示BGP SRv6 TE Policy路由信息

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ sr-policy-prefix [ advertise-info ] ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ as-path-acl { as-path-acl-number | as-path-acl-name } | as-path-regular-expression regular-expression ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ peer { ipv4-address | ipv6-address } { advertised-routes | received-routes } [ sr-policy-prefix [ verbose ] | color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address | statistics [ color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address ] ] ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ statistics [ color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address ] ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy peer { ipv4-address | ipv6-address } { accepted-routes | not-accepted-routes }

display bgp [ instance instance-name ] routing-table ipv6 sr-policy time-range start-time end-time

显示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 [ ipv4-address | ipv6-address ]

显示EVPN SRv6组网中通过Mirror SID保护的远端SRv6 SID

display evpn srv6 mirror remote-sid [ sid | type { end-dt2u | end-dx2 } ]

显示PCE进程中的SRv6 TE Policy信息

display pce segment-routing ipv6 policy database [ color color-value endpoint ipv6 ipv6-address | policyname policy-name] [ verbose ]

显示PCE进程中缓存的SRv6 TE Policy的initiate消息

display pce segment-routing ipv6 policy initiate-cache

显示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 Policy的数据库信息

display segment-routing ipv6 te database [ link | node | prefix | srv6-sid ]

显示SRv6 TE的转发信息

display segment-routing ipv6 te forwarding [ binding-sid bsid | policy { name policy-name | { color color-value | end-point ipv6 ipv6-address } * } | xsid xsid ] [ verbose ]

显示SRv6 TE的流量统计信息

display segment-routing ipv6 te forwarding traffic-statistics

显示SRv6 TE Policy信息

display segment-routing ipv6 te policy [ odn | pce ] [ 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的统计信息

display segment-routing ipv6 te policy 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组最近一次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-group statistics

显示SRv6 TE Policy的SBFD信息

display segment-routing ipv6 te sbfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ]

显示Path Segment对应的SRv6 TE Policy信息

display segment-routing ipv6 te path-segment [ local | reverse ] [ ipv6-address ]

显示SRv6 TE的SID列表信息

display segment-routing ipv6 te segment-list [ name seglist-name | id id-value ]

显示从LS数据库中收集到的SRv6 SID的信息

display segment-routing ipv6 te source-sid [ end | end-x | sid ]

显示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流量转发统计信息

reset segment-routing ipv6 te forwarding statistics [ binding-sid binding-sid | color color-value endpoint endpoint-ipv6 | name name-value ]

 

2.36  SRv6 TE Policy典型配置举例‌

2.36.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

 

XGE3/1/1

1000::1/64

 

XGE3/1/1

1000::2/64

 

XGE3/1/2

4000::1/64

 

XGE3/1/2

2000::2/64

Device C

Loop1

3::3/128

Device D

Loop1

4::4/128

 

XGE3/1/1

3000::3/64

 

XGE3/1/1

3000::4/64

 

XGE3/1/2

2000::3/64

 

XGE3/1/2

4000::4/64

 

3. 配置步骤

(1)     请按照图2-2配置各接口的IPv6地址和前缀长度,具体配置过程略

(2)     配置Device A

# 配置SID列表。

<DeviceA> system-view

[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 no-flavor

[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] 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 ten-gigabitethernet 3/1/1

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

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

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

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

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

[DeviceA] interface loopback 1

[DeviceA-LoopBack1] isis ipv6 enable 1

[DeviceA-LoopBack1] quit

(3)     配置Device B

# 配置SRv6 End.SID。

<DeviceB> system-view

[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 no-flavor

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

[DeviceB-segment-routing-ipv6] quit

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

[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 ten-gigabitethernet 3/1/1

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

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

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

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

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

[DeviceB] interface loopback 1

[DeviceB-LoopBack1] isis ipv6 enable 1

[DeviceB-LoopBack1] quit

(4)     配置Device C

# 配置SRv6 End.SID。

<DeviceC> system-view

[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 no-flavor

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

[DeviceC-segment-routing-ipv6] quit

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

[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 ten-gigabitethernet 3/1/1

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

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

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

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

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

[DeviceC] interface loopback 1

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

(5)     配置Device D

# 配置SRv6 End.SID。

<DeviceD> system-view

[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 no-flavor

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

[DeviceD-segment-routing-ipv6] quit

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

[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 ten-gigabitethernet 3/1/1

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

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

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

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

[DeviceD-Ten-GigabitEthernet3/1/2] 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: Up

 Up time: 2020-04-02 16:08:03

 Down time: 2020-04-02 16:03:48

 Hot backup: Disabled

 Statistics: Disabled

  Statistics by service class: Disabled

 Path verification: Disabled

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Disabled

 BFD Echo: Disabled

 Forwarding index: 2150629377

 Association ID: 1

 Service-class: -

 Rate-limit: -

 PCE delegation: Disabled

 PCE delegate report-only: Disabled

 Reoptimization: Disabled

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0          ODN paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   ProtoOrigin: CLI        Discriminator: 10

   Instance ID: 0          Node address: 0.0.0.0

   Originator:  0, ::

   Optimal: Y              Flags: V/A

   Dynamic: Not configured

   PCEP: Not configured

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Verification State: -

    Path MTU: 1500            Path MTU Reserved: 0

    Local BSID: -

    Reverse BSID: -

# 在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: XGE3/1/1

       Nexthop: FE80::54CB:70FF:FE86:316

       Discriminator: 10

         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

              Attri-Val             Attri-Val

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

2148532225    SRv6PSIDList  NA      XGE3/1/1

                                    FE80::54CB:70FF:FE86:316

                                    {6000::1, 7000::1, 8000::1}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

              p1

2.36.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

XGE3/1/1

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

XGE3/1/1

10.2.1.1/24

 

XGE3/1/1

10.1.1.1/24

 

XGE3/1/2

2002::1/64

 

XGE3/1/2

2001::1/96

 

XGE3/1/3

2004::2/96

P

Loop0

2::2/128

PE 3

Loop0

4::4/128

 

XGE3/1/1

2001::2/96

 

XGE3/1/1

10.3.1.1/24

 

XGE3/1/2

2002::2/64

 

XGE3/1/2

2003::1/96

 

XGE3/1/3

2003::2/96

 

XGE3/1/3

2004::1/96

 

 

 

CE 2

XGE3/1/1

10.2.1.2/24

 

 

 

 

XGE3/1/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 ten-gigabitethernet 3/1/2

[PE1-Ten-GigabitEthernet3/1/2] ipv6 address 2001::1 96

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

[PE1-Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/1

[PE1-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.1 24

[PE1-Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/1

[P-Ten-GigabitEthernet3/1/1] ipv6 address 2001::2 96

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

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

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

[P-Ten-GigabitEthernet3/1/2] ipv6 address 2002::2 96

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

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

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

[P-Ten-GigabitEthernet3/1/3] ipv6 address 2003::2 96

[P-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[P-Ten-GigabitEthernet3/1/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 no-flavor

[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 ten-gigabitethernet 3/1/2

[PE2-Ten-GigabitEthernet3/1/2] ipv6 address 2002::1 96

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

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

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

[PE2-Ten-GigabitEthernet3/1/3] ipv6 address 2004::2 96

[PE2-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/1

[PE2-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet3/1/1] ip address 10.2.1.1 24

[PE2-Ten-GigabitEthernet3/1/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 no-flavor

[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 ten-gigabitethernet 3/1/2

[PE3-Ten-GigabitEthernet3/1/2] ipv6 address 2003::1 96

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

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

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

[PE3-Ten-GigabitEthernet3/1/3] ipv6 address 2004::1 96

[PE3-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE3-Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/1

[PE3-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE3-Ten-GigabitEthernet3/1/1] ip address 10.3.1.1 24

[PE3-Ten-GigabitEthernet3/1/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: Up

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Disabled

 Statistics: Disabled

  Statistics by service class: Disabled

 Path verification: Disabled

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Disabled

 BFD Echo: Disabled

 Forwarding index: 2150629377

 Association ID: 1

 Service-class: -

 Rate-limit: -

 PCE delegation: Disabled

 PCE delegate report-only: Disabled

 Reoptimization: Disabled

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0          ODN paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   ProtoOrigin: CLI        Discriminator: 10

   Instance ID: 0          Node address: 0.0.0.0

   Originator:  0, ::

   Optimal: Y              Flags: V/A

   Dynamic: Not configured

   PCEP: Not configured

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Verification State: -

    Path MTU: 1500            Path MTU Reserved: 0

    Local BSID: -

    Reverse BSID: -

# 在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: XGE3/1/2

       Nexthop: FE80::988A:B5FF:FED9:316

       Discriminator: 10

         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      XGE3/1/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::1:0/96

 Flag        : R/-/-                       Cost        : 10

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:BDFF:FEB6:417

 NexthopFlag  : -

 Interface   : XGE3/1/2

 Mirror FRR:

  Interface : XGE3/1/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 ten-gigabitethernet 3/1/2

[P-Ten-GigabitEthernet3/1/2] shut

[P-Ten-GigabitEthernet3/1/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::1:0/96

 Flag        : R/-/-                       Cost        : 20

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:BDFF:FEB6:417

 NexthopFlag  : -

 Interface   : XGE3/1/2

 Mirror FRR:

  Interface : XGE3/1/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

[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: Up

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Disabled

 Statistics: Disabled

  Statistics by service class: Disabled

 Path verification: Disabled

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Disabled

 BFD Echo: Disabled

 Forwarding index: 2150629377

 Association ID: 1

 Service-class: -

 Rate-limit: -

 PCE delegation: Disabled

 PCE delegate report-only: Disabled

 Reoptimization: Disabled

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0          ODN paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   ProtoOrigin: CLI        Discriminator: 10

   Instance ID: 0          Node address: 0.0.0.0

   Originator:  0, ::

   Optimal: Y              Flags: V/A

   Dynamic: Not configured

   PCEP: Not configured

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Verification State: -

    Path MTU: 1500            Path MTU Reserved: 0

    Local BSID: -

    Reverse BSID: -

2.36.3  由ODN生成SRv6 TE Policy配置举例

1. 组网需求

图2-4所示,在Device B和Device E之间通过ODN功能自动建立SRv6 TE Policy,承载Device A到Device F的业务流量。

2. 组网图

图2-4 由ODN生成SRv6 TE Policy配置组网图

设备

接口

IP地址

设备

接口

IP地址

Device A

XGE3/1/1

1000::1/64

Device F

XGE3/1/1

6000::2/64

Device B

Loop0

1::1/128

Device E

Loop0

3::3/128

 

XGE3/1/1

1000::2/64

 

XGE3/1/1

6000::1/64

 

XGE3/1/2

2000::1/64

 

XGE3/1/2

4000::/64

 

XGE3/1/3

3000::1/64

 

XGE3/1/3

5000::1/64

Device C

XGE3/1/1

4000::2/64

Device D

XGE3/1/1

5000::2/64

 

XGE3/1/2

2002::2/64

 

XGE3/1/2

3000::2/64

 

3. 配置准备

图2-4配置各设备的接口IP地址,配置过程略。

4. 配置步骤

(1)     配置Device A

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

<DeviceA> system-view

[DeviceA] isis 1

[DeviceA-isis-1] cost-style wide

[DeviceA-isis-1] network-entity 00.0000.0000.0001.00

[DeviceA-isis-1] address-family ipv6 unicast

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

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

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

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

(2)     配置Device B

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

<DeviceB> system-view

[DeviceB] isis 1

[DeviceB-isis-1] cost-style wide

[DeviceB-isis-1] network-entity 00.0000.0000.0002.00

[DeviceB-isis-1] address-family ipv6 unicast

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

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

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

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

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

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

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

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

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

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

[DeviceB] interface loopback 0

[DeviceB-LoopBack0] isis ipv6 enable 1

[DeviceB-LoopBack0] quit

# 与Device E建立BGP对等体。

[DeviceB] bgp 100

[DeviceB-bgp-default] router-id 1.1.1.1

[DeviceB-bgp-default] peer 3::3 as-number 100

[DeviceB-bgp-default] peer 3::3 connect-interface loopback 0

[DeviceB-bgp-default] address-family ipv6

[DeviceB-bgp-default-ipv6] peer 3::3 enable

[DeviceB-bgp-default-ipv6] quit

[DeviceB-bgp-default] address-family ipv6 sr-policy

[DeviceB-bgp-default-srpolicy-ipv6] peer 3::3 enable

[DeviceB-bgp-default-srpolicy-ipv6] quit

[DeviceB-bgp-default] quit

# 配置Locator段。

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] encapsulation source-address 1::1

[DeviceB-segment-routing-ipv6] locator b ipv6-prefix 20:1:: 96 static 24

[DeviceB-segment-routing-ipv6-locator-b] opcode 1 end no-flavor

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

[DeviceB-segment-routing-ipv6] quit

# 配置使用ODN功能自动创建SRv6 TE Policy。

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] traffic-engineering

[DeviceB-srv6-te] srv6-policy locator b

[DeviceB-srv6-te] on-demand color 1

# 开启使用PCE计算路径功能。

[DeviceB-srv6-te-odn-1] dynamic

[DeviceB-srv6-te-odn-1-dynamic] pcep

[DeviceB-srv6-te-odn-1] quit

[DeviceB-srv6-te] quit

[DeviceB-segment-routing-ipv6] quit

[DeviceB] isis 1

[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

(3)     配置Device C

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

<DeviceC> system-view

[DeviceC] isis 1

[DeviceC-isis-1] cost-style wide

[DeviceC-isis-1] network-entity 00.0000.0000.0003.00

[DeviceC-isis-1] address-family ipv6 unicast

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

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

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

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

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

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

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

[DeviceC] interface loopback 0

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

(4)     配置Device D

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

<DeviceD> system-view

[DeviceD] isis 1

[DeviceD-isis-1] cost-style wide

[DeviceD-isis-1] network-entity 00.0000.0000.0004.00

[DeviceD-isis-1] address-family ipv6 unicast

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

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

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

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

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

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

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

[DeviceD] interface loopback 0

[DeviceD-LoopBack0] isis ipv6 enable 1

[DeviceD-LoopBack0] quit

(5)     配置Device E

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

<DeviceE> system-view

[DeviceE] isis 1

[DeviceE-isis-1] cost-style wide

[DeviceE-isis-1] network-entity 00.0000.0000.0005.00

[DeviceE-isis-1] address-family ipv6 unicast

[DeviceE-isis-1-ipv6] quit

[DeviceE-isis-1] quit

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

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

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

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

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

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

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

[DeviceE-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[DeviceE-Ten-GigabitEthernet3/1/3] quit

[DeviceE] interface loopback 0

[DeviceE-LoopBack0] isis ipv6 enable 1

[DeviceE-LoopBack0] quit

[DeviceE] interface loopback 1

[DeviceE-LoopBack1] ipv6 address 2::2 128

[DeviceE-LoopBack1] quit

# 与Device B建立BGP对等体。

[DeviceE] bgp 100

[DeviceE-bgp-default] router-id 3.3.3.3

[DeviceE-bgp-default] peer 1::1 as-number 100

[DeviceE-bgp-default] peer 1::1 connect-interface loopback 0

[DeviceE-bgp-default] address-family ipv6

[DeviceE-bgp-default-ipv6] peer 1::1 enable

[DeviceE-bgp-default-ipv6] network 2::2 128

[DeviceE-bgp-default-ipv6] quit

[DeviceE-bgp-default] address-family ipv6 sr-policy

[DeviceE-bgp-default-srpolicy-ipv6] peer 1::1 enable

[DeviceE-bgp-default-srpolicy-ipv6] quit

[DeviceE-bgp-default] quit

# 配置路由策略,为出方向路由添加Color属性。

[DeviceE] route-policy 1 permit node 10

[DeviceE-route-policy-1-10] apply extcommunity color 01:1

[DeviceE-route-policy-1-10] quit

[DeviceE] bgp 100

[DeviceE-bgp-default] address-family ipv6 unicast

[DeviceE-bgp-default-ipv6] peer 1::1 route-policy 1 export

[DeviceE-bgp-default-ipv6] peer 1::1 advertise-community

[DeviceE-bgp-default-ipv6] peer 1::1 advertise-ext-community

[DeviceE-bgp-default-ipv6] quit

[DeviceE-bgp-default] quit

(6)     配置Device F

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

<DeviceF> system-view

[DeviceF] isis 1

[DeviceF-isis-1] network-entity 00.0000.0000.0006.00

[DeviceF-isis-1] cost-style wide

[DeviceF-isis-1] address-family ipv6 unicast

[DeviceF-isis-1-ipv6] quit

[DeviceF-isis-1] quit

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

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

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

5. 验证配置

# 在Device B上通过display segment-routing ipv6 te policy命令可以看到由ODN自动生成的SRv6 TE Policy的信息。

[DeviceB] display segment-routing ipv6 te policy

 

Name/ID: sr-1-3::3/0

 Color: 1

 End-point: 3::3

 Name from BGP: sr-1-3::3

 Name from PCE:

 BSID:

  Mode: Dynamic             Type: Type_2              Request state: Succeeded

  Current BSID: 20:1::100:0 Explicit BSID: -          Dynamic BSID: 20:1::100:0

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Up

 Up time: 2020-12-01 15:58:12

 Down time: 2020-12-01 15:58:12

 Hot backup: Disabled

 Statistics: Disabled

  Statistics by service class: Disabled

 Path verification: Disabled

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Disabled

 BFD Echo: Disabled

 Forwarding index: 2150629377

 Association ID: 1

 Service-class: -

 Rate-limit: -

 PCE delegation: Disabled

 PCE delegate report-only: Disabled

 Reoptimization: Disabled

 Encapsulation mode: -

 Candidate paths state: Not configured

 Candidate paths statistics:

  CLI paths: 0          BGP paths: 0          PCEP paths: 0          ODN paths: 2

 Candidate paths:

  Preference : 100

   CPathName: sr-1-3::3

   ProtoOrigin: BGP        Discriminator: 100

   Instance ID: 0          Node address: 0.0.0.0

   Originator:  0, ::

   Optimal: N              Flags: None

   Dynamic: Configured

   PCEP: Configured

 Candidate paths:

  Preference : 200

   CPathName: sr-1-3::3

   ProtoOrigin: BGP        Discriminator: 200

   Instance ID: 0          Node address: 0.0.0.0

   Originator:  0, ::

   Optimal: N              Flags: BN

   Dynamic: Not configured

   PCEP: Not configured

# 在Device B上查看SRv6转发路径信息,可以看到SRv6 TE Policy对应的转发路径信息。

[DeviceB] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 1

 

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

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

2150630377    SRv6Policy    TA      2149581800

# 在Device B上查看SRv6 TE Policy的转发信息。

[DeviceB] display segment-routing ipv6 te forwarding verbose

 

Total forwarding entries: 1

 

Policy name/ID: sr-1-3::3/1001

 Binding SID: 20:1::100:0

 Forwarding index: 2150630377

 Main path:

   Seglist ID: 4369

     Seglist forwarding index: 2149581800

     Weight: 1

     Outgoing forwarding index: 2148533223

       Interface: XGE3/1/3

       Nexthop: FE80::7AAA:12FF:FED8:309

       Discriminator: 100

         Path ID: 0

         SID list: {6:5::1:5}

# 在Device B上查看SRv6 TE Policy的BGP路由信息。

[DeviceB] display bgp routing-table ipv6 3::3 128

BGP local router ID: 1.1.1.1

 Local AS number: 100

 

 Paths:   1 available, 1 best

 

 BGP routing table information of 3::3/128:

 

 From            : 3::3 (2.2.2.2)

 Rely nexthop    : FE80::7AAA:12FF:FED8:309

 Original nexthop: 3::3

 Out interface   : Ten-GigabitEthernet3/1/3

 Route age       : 00h17m00s

 OutLabel        : NULL

 Ext-Community   : <CO-Flag:Color(01:1)>

 RxPathID        : 0x0

 TxPathID        : 0xffffffff

 AS-path         : (null)

 Origin          : incomplete

 Attribute value : MED 0, localpref 100, pref-val 0

 State           : valid, internal, not preferred for igp-cost, not ECMP for igp-cost

 IP precedence   : N/A

 QoS local ID    : N/A

 Traffic index   : N/A

 Tunnel policy   : gw

 Rely tunnel IDs : 2150630377

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

1. 组网需求

图2-5所示,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-5 SRv6 TE Policy的智能策略路由功能配置组网图

设备

接口

IP地址

设备

接口

IP地址

CE 1

XGE3/1/1

10.1.1.1/24

CE 2

XGE3/1/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

 

XGE3/1/1

10.1.1.2/24

 

XGE3/1/1

5001::2/96

 

XGE3/1/2

2001::1/96

 

XGE3/1/2

2001::2/96

 

XGE3/1/3

3001::1/96

P 2

Loop1

4::4/128

 

XGE3/1/4

4001::1/96

 

XGE3/1/1

6001::2/96

PE 2

Loop1

3::3/128

 

XGE3/1/2

3001::2/96

 

XGE3/1/1

5001::1/96

P 3

Loop1

5::5/128

 

XGE3/1/2

20.1.1.2/24

 

XGE3/1/1

7001::2/96

 

XGE3/1/3

6001::1/96

 

XGE3/1/2

4001::2/96

 

XGE3/1/4

7001::1/96

 

 

 

 

3. 配置步骤

(1)     请按照图2-5配置各接口的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 ten-gigabitethernet 3/1/2

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

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

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

[PE1-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet3/1/3] quit

[PE1] interface ten-gigabitethernet 3/1/4

[PE1-Ten-GigabitEthernet3/1/4] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/1

[PE1-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.2 24

[PE1-Ten-GigabitEthernet3/1/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 no-flavor

[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的接口Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/1

[PE1-Ten-GigabitEthernet3/1/1] qos apply policy aaa inbound

[PE1-Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/2

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

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

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

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

[P1-Ten-GigabitEthernet3/1/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 no-flavor

[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 ten-gigabitethernet 3/1/2

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

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

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

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

[P2-Ten-GigabitEthernet3/1/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 no-flavor

[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 ten-gigabitethernet 3/1/2

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

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

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

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

[P3-Ten-GigabitEthernet3/1/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 no-flavor

[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 ten-gigabitethernet 3/1/1

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

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

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

[PE2-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet3/1/3] quit

[PE2] interface ten-gigabitethernet 3/1/4

[PE2-Ten-GigabitEthernet3/1/4] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet3/1/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 ten-gigabitethernet 3/1/2

[PE2-Ten-GigabitEthernet3/1/2] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet3/1/2] ip address 20.1.1.2 24

[PE2-Ten-GigabitEthernet3/1/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 no-flavor

[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: XGE3/1/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: XGE3/1/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: XGE3/1/4

       Nexthop: FE80::E3A:FAFF:FED5:B987

       Discriminator: 10

       LoadShareWeight: 1

         Path ID: 0

         SID list: {500:1::1, 300:1::1}

2.36.5  基于Color引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

1. 组网需求

图2-6所示,核心网为IPv6网络,VPN私网为IPv4网络。PE 1、P和PE 2属于同一自治系统,它们之间通过IS-IS协议达到IPv6网络互通。在PE 1和PE 2之间静态配置SRv6 TE Policy p1和p2来承载IPv4 EVPN L3VPN业务。在PE 1和PE 2上配置路由策略来设置EVPN路由的Color属性,以便将流量引入到指定的SRv6 TE Policy中。

说明: 说明

·     简介:基于Color引流到SRv6 TE Policy的方式是SRv6 TE Policy引流的标准方式,各厂商均按标准支持,不同厂商设备之间均可互通。

·     适用场景:可以通过合理配置路由策略或者为VPN指定缺省Color来实现SRv6 TE Policy的引流。在通过路由策略为路由设置扩展团体属性Color值时,可以同时指定路由策略需要匹配的IP前缀信息。因此,使用Color引流方式可以适用于按照VPN实例粒度或IP前缀的粒度的引流场景。下面的配置举例中为VPN实例粒度的基于Color引流。

·     转发方式:当业务流量迭代到SRv6 TE Policy进行转发后,再根据BGP路由的Color扩展团体属性查找对应的SRv6 TE Policy进行转发。因此,排障时注意BGP路由的Color扩展团体属性和SRv6 TE Policy的Color是否匹配,携带了Color扩展团体的BGP路由未匹配Color属性时无法正常迭代到SRv6 TE Policy。

 

图2-6 基于Color引流的EVPN L3VPN over SRv6 TE Policy配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

CE 1

XGE3/1/1

10.1.1.1/24

CE 2

XGE3/1/1

20.1.1.1/24

PE 1

Loop1

1::1/128

PE 2

Loop1

3::3/128

 

XGE3/1/1

10.1.1.2/24

 

XGE3/1/1

20.1.1.2/24

 

XGE3/1/2

1001::1/96

 

XGE3/1/2

2001::1/96

 

XGE3/1/3

3001::1/96

 

XGE3/1/3

4001::1/96

P 1

Loop1

2::2/128

P 2

Loop1

4::4/128

 

XGE3/1/1

1001::2/96

 

XGE3/1/1

3001::2/96

 

XGE3/1/2

2001::2/96

 

XGE3/1/2

4001::2/96

 

2. 配置注意事项

如果网络中存在多种隧道,例如网络中存在多个SRv6 TE Policy和多个SR-MPLS TE Policy,且SRv6 TE Policy和SR-MPLS TE Policy存在相同Color值时,需要配置路由策略来设置路由的Color属性,并配置隧道策略来保证迭代隧道时,优先选择指定的SRv6 TE Policy。

3. 配置步骤

(1)     配置CE 1

<Sysname> system-view

[Sysname] sysname CE1

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

[CE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.1 24

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

[CE1] bgp 200

[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

(2)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE1

[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] ipv6 address 1::1 128

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

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

[PE1-Ten-GigabitEthernet3/1/2] ipv6 address 1001::1 96

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

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

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

[PE1-Ten-GigabitEthernet3/1/3] ipv6 address 3001::1 96

[PE1-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE1-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.2 24

[PE1-Ten-GigabitEthernet3/1/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之间建立BGP EVPN对等体。

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 enable

[PE1-bgp-default-evpn] 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 no-flavor

[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 l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 advertise encap-type srv6

[PE1-bgp-default-evpn] 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 evpn

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 在PE 1上配置SRv6 TE Policy p1,Color值为10,配置SRv6 TE Policy p2,Color值为20。

[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] 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 p1

[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] policy p2

[PE1-srv6-te-policy-p2] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-p2] candidate-paths

[PE1-srv6-te-policy-p2-path] preference 10

[PE1-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-p2-path-pref-10] quit

[PE1-srv6-te-policy-p2-path] quit

[PE1-srv6-te-policy-p2] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在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 100

[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上配置路由策略及隧道策略,标记向PE 2发布的EVPN路由的扩展团体属性Color值为00:10,匹配SRv6 TE Policy p1的Color值10。因此,VPN业务流量通过路由策略引流到指定的SRv6 TE Policy p1,并保证SRv6 TE Policy为优选隧道。

[PE1] route-policy a permit node 10

[PE1-route-policy-a-10] apply extcommunity color 00:10 additive

[PE1-route-policy-a-10] quit

[PE1] bgp 100

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 route-policy a export

[PE1-bgp-default-evpn] quit

[PE1-bgp-default] quit

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy 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

(3)     配置P 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P1

[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] ipv6 address 2::2 128

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

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

[P1-Ten-GigabitEthernet3/1/1] ipv6 address 1001::2 96

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

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

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

[P1-Ten-GigabitEthernet3/1/2] ipv6 address 2001::2 96

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

[P1-Ten-GigabitEthernet3/1/2] 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 no-flavor

[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

(4)     配置P 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P2

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0004.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] ipv6 address 4::4 128

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

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

[P2-Ten-GigabitEthernet3/1/1] ipv6 address 3001::2 96

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

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

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

[P2-Ten-GigabitEthernet3/1/2] ipv6 address 4001::2 96

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

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

# 在P上配置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 no-flavor

[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

(5)     配置PE 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE2

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0003.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] ipv6 address 3::3 128

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

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

[PE2-Ten-GigabitEthernet3/1/2] ipv6 address 2001::1 96

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

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

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

[PE2-Ten-GigabitEthernet3/1/3] ipv6 address 4001::1 96

[PE2-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE2-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.2 24

[PE2-Ten-GigabitEthernet3/1/1] 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之间建立BGP EVPN对等体。

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 enable

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

# 在PE 1和PE 2之间VPN路由迭代到SRv6 TE Policy。

[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 no-flavor

[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

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 advertise encap-type srv6

[PE2-bgp-default-evpn] 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 evpn

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# 在PE 2上配置SRv6 TE Policy p1,Color属性为10,配置SRv6 TE Policy p2,Color属性为20。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] traffic-engineering

[PE2-srv6-te] srv6-policy locator abc

[PE2-srv6-te] segment-list s1

[PE2-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] segment-list s2

[PE2-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] policy p1

[PE2-srv6-te-policy-p1] color 10 end-point ipv6 1::1

[PE2-srv6-te-policy-p1] candidate-paths

[PE2-srv6-te-policy-p1-path] preference 10

[PE2-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE2-srv6-te-policy-p1-path-pref-10] quit

[PE2-srv6-te-policy-p1-path] quit

[PE2-srv6-te-policy-p1] quit

[PE2-srv6-te] policy p2

[PE2-srv6-te-policy-p2] color 20 end-point ipv6 1::1

[PE2-srv6-te-policy-p2] candidate-paths

[PE2-srv6-te-policy-p2-path] preference 10

[PE2-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE2-srv6-te-policy-p2-path-pref-10] quit

[PE2-srv6-te-policy-p2-path] quit

[PE2-srv6-te-policy-p2] quit

[PE2-srv6-te] quit

[PE2-segment-routing-ipv6] quit

# 在PE 2上配置路由策略及隧道策略,标记向PE 1发布的EVPN路由的扩展团体属性Color值为00:10,匹配SRv6 TE Policy p1的Color值10。因此,VPN业务流量通过路由策略引流到指定的SRv6 TE Policy p1,并保证SRv6 TE Policy为优选隧道。

[PE2] route-policy a permit node 10

[PE2-route-policy-a-10] apply extcommunity color 00:10 additive

[PE2-route-policy-a-10] quit

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 route-policy a export

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

[PE2] tunnel-policy a

[PE2-tunnel-policy-a] select-seq srv6-policy load-balance-number 1

[PE2-tunnel-policy-a] quit

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] tnl-policy a

[PE2-vpn-instance-vpn1] quit

# 配置SBFD会话的Reflector端的本地标识符。

[PE2] sbfd local-discriminator 1000001

(6)     配置CE 2

<Sysname> system-view

[Sysname] sysname CE2

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

[CE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.1 24

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

[CE2] bgp 300

[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执行display segment-routing ipv6 te policy命令查看SRv6 TE Policy的详细信息,可以看到SRv6 TE Policy的Status字段为Up。

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Dynamic             Type: Type_2              Request state: Succeeded

  Current BSID: 100:1::1:3  Explicit BSID: -          Dynamic BSID: 100:1::1:3

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Up

 Up time: 2023-11-23 19:31:35

 Down time: 2023-11-23 19:27:37

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580802

    State: Up                 State(SBFD): Up

    Active path MTU: 1428 bytes

# 在PE 1执行display ip routing-table vpn-instance vpn1 20.1.1.0 24命令查看VPN路由的详细信息,可以看出VPN路由20.1.1.0/24的出接口为SRv6 TE Policy p1。

[PE1] display ip routing-table vpn-instance vpn1 20.1.1.0 24

 

Summary count : 1

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

20.1.1.0/24        BGP     255 0           3::3            p1

# CE 1和CE 2之间能够ping通。

[CE1] ping 20.1.1.1

Ping 20.1.1.1 (20.1.1.1): 56 data bytes, press CTRL_C to break

56 bytes from 20.1.1.1: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 20.1.1.1: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 20.1.1.1: icmp_seq=2 ttl=253 time=1.000 ms

56 bytes from 20.1.1.1: icmp_seq=3 ttl=253 time=1.000 ms

56 bytes from 20.1.1.1: icmp_seq=4 ttl=253 time=2.000 ms

 

--- Ping statistics for 20.1.1.1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.600/2.000/0.490 ms

 

2.36.6  基于CBTS引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

1. 组网需求

图2-7所示,核心网为IPv6网络,VPN私网为IPv4网络。PE 1、P和PE 2属于同一自治系统,它们之间通过IS-IS协议达到IPv6网络互通。在PE 1和PE 2之间静态配置SRv6 TE Policy p1和p2来承载IPv4 EVPN L3VPN业务。CE 1和CE 2上分别存在2个Loopback接口,代表着两个不同业务的地址。

在PE 1和PE 2上连接CE设备入接口上配置QoS策略,根据报文的五元组等信息,对不同业务流量标记不同的service-class值。同时,PE 1和PE 2上为SRv6 TE Policy p1和p2配置对应的service-class值,使具有相同service-class值的业务报文通过对应的SRv6 TE Policy隧道转发。

说明: 说明

·     简介:基于CBTS引流到SRv6 TE Policy的方式是从MPLS TE隧道引流方式继承的一种引流方式。SRv6 TE Policy的源节点上需要为报文标识本地service-class值,再根据本地service-class值引流到对应的SRv6 TE Policy。

·     适用场景:设备的service-class值为本地标识,仅在设备本地生效。可以通过ACL规则基于报文五元组等信息对业务报文进行细粒度的分类,并使用service-class值来标记业务。因此,基于CBTS引流适用于将细粒度的业务报文引流到特定的SRv6 TE Policy中。但service-class值的取值范围较小,一般不超过15,且需要每次在引流时都标记本地service-class值,因此,对于业务类型极其丰富的场景可以考虑其他引流方式。

·     转发方式:当业务流量迭代到SRv6 TE Policy进行转发后,再根据报文标记的本地service-class值查找对应的SRv6 TE Policy进行转发,没有匹配到对应的SRv6 TE Policy仍可以通过service-class值最小且有效的SRv6 TE Policy转发。

 

图2-7 基于CBTS引流的EVPN L3VPN over SRv6 TE Policy配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

CE 1

XGE3/1/1

10.1.1.1/24

CE 2

XGE3/1/1

20.1.1.1/24

 

Loopback 1

11.11.11.11/32

 

Loopback 1

22.22.22.22/32

 

Loopback 2

10.10.10.10/32

 

Loopback 2

20.20.20.20/32

PE 1

Loop1

1::1/128

PE 2

Loop1

3::3/128

 

XGE3/1/1

10.1.1.2/24

 

XGE3/1/1

20.1.1.2/24

 

XGE3/1/2

1001::1/96

 

XGE3/1/2

2001::1/96

 

XGE3/1/3

3001::1/96

 

XGE3/1/3

4001::1/96

P 1

Loop1

2::2/128

P 2

Loop1

4::4/128

 

XGE3/1/1

1001::2/96

 

XGE3/1/1

3001::2/96

 

XGE3/1/2

2001::2/96

 

XGE3/1/2

4001::2/96

 

2. 配置步骤

(1)     配置CE 1

<Sysname> system-view

[Sysname] sysname CE1

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

[CE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.1 24

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

[CE1] bgp 200

[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

(2)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE1

[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] ipv6 address 1::1 128

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

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

[PE1-Ten-GigabitEthernet3/1/2] ipv6 address 1001::1 96

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

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

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

[PE1-Ten-GigabitEthernet3/1/3] ipv6 address 3001::1 96

[PE1-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE1-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.2 24

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

# 配置ACL规则识别不同业务流量。

[PE1] acl advanced 3001

[PE1-acl-ipv4-adv-3001] rule 5 permit ip source 11.11.11.11 0 destination 22.22.22.22 0 vpn-instance vpn1

[PE1-acl-ipv4-adv-3001] quit

[PE1] acl advanced 3002

[PE1-acl-ipv4-adv-3002] rule 5 permit ip source 10.10.10.10 0 destination 20.20.20.20 0 vpn-instance vpn1

[PE1-acl-ipv4-adv-3002] quit

# 配置QoS策略,在PE 1和CE 1接口上对于入方向流量应用QoS策略标记不同类型业务流量的service-class值。

[PE1] traffic classifier service1

[PE1-classifier-service1] if-match acl 3001

[PE1-classifier-service1] quit

[PE1] traffic behavior service1

[PE1-behavior-service1] remark service-class 1

[PE1-behavior-service1] quit

[PE1] traffic classifier service2

[PE1-classifier-service2] if-match acl 3002

[PE1-classifier-service2] quit

[PE1] traffic behavior service2

[PE1-behavior-service2] remark service-class 2

[PE1-behavior-service2] quit

[PE1] qos policy service

[PE1-qospolicy-service] classifier service1 behavior service1

[PE1-qospolicy-service] classifier service2 behavior service2

[PE1-qospolicy-service] quit

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

[PE1-Ten-GigabitEthernet3/1/1] qos apply policy service inbound

[PE1-Ten-GigabitEthernet3/1/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之间建立BGP EVPN对等体。

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 enable

[PE1-bgp-default-evpn] 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 no-flavor

[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 l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 advertise encap-type srv6

[PE1-bgp-default-evpn] 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 evpn

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 在PE 1上配置SRv6 TE Policy p1,service-class值为1,配置SRv6 TE Policy p2,service-class值为2。

[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] 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 p1

[PE1-srv6-te-policy-p1] service-class 1

[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] policy p2

[PE1-srv6-te-policy-p2] service-class 2

[PE1-srv6-te-policy-p2] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-p2] candidate-paths

[PE1-srv6-te-policy-p2-path] preference 10

[PE1-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-p2-path-pref-10] quit

[PE1-srv6-te-policy-p2-path] quit

[PE1-srv6-te-policy-p2] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在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 100

[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上配置隧道策略,保证SRv6 TE Policy为优选隧道并且可以在多条不同的SRv6 TE Policy进行负载分担。

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy load-balance-number 2

[PE1-tunnel-policy-a] quit

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] tnl-policy a

[PE1-vpn-instance-vpn1] quit

(3)     配置P 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P1

[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] ipv6 address 2::2 128

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

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

[P1-Ten-GigabitEthernet3/1/1] ipv6 address 1001::2 96

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

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

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

[P1-Ten-GigabitEthernet3/1/2] ipv6 address 2001::2 96

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

[P1-Ten-GigabitEthernet3/1/2] 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 no-flavor

[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

(4)     配置P 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P2

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0004.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] ipv6 address 4::4 128

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

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

[P2-Ten-GigabitEthernet3/1/1] ipv6 address 3001::2 96

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

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

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

[P2-Ten-GigabitEthernet3/1/2] ipv6 address 4001::2 96

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

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

# 在P上配置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 no-flavor

[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

(5)     配置PE 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE2

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0003.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] ipv6 address 3::3 128

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

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

[PE2-Ten-GigabitEthernet3/1/2] ipv6 address 2001::1 96

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

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

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

[PE2-Ten-GigabitEthernet3/1/3] ipv6 address 4001::1 96

[PE2-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE2-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.2 24

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

# 配置ACL规则识别不同业务流量。

[PE2] acl advanced 3001

[PE2-acl-ipv4-adv-3001] rule 5 permit ip source 22.22.22.22 0 destination 11.11.11.11 0 vpn-instance vpn1

[PE2-acl-ipv4-adv-3001] quit

[PE2] acl advanced 3002

[PE2-acl-ipv4-adv-3002] rule 5 permit ip source 20.20.20.20 0 destination 10.10.10.10 0 vpn-instance vpn1

[PE2-acl-ipv4-adv-3002] quit

# 配置QoS策略,在PE 2和CE 2接口上对于入方向流量应用QoS策略标记不同类型业务流量的service-class值。

[PE2] traffic classifier service1

[PE2-classifier-service1] if-match acl 3001

[PE2-classifier-service1] quit

[PE2] traffic behavior service1

[PE2-behavior-service1] remark service-class 1

[PE2-behavior-service1] quit

[PE2] traffic classifier service2

[PE2-classifier-service2] if-match acl 3002

[PE2-classifier-service2] quit

[PE2] traffic behavior service2

[PE2-behavior-service2] remark service-class 2

[PE2-behavior-service2] quit

[PE2] qos policy service

[PE2-qospolicy-service] classifier service1 behavior service1

[PE2-qospolicy-service] classifier service2 behavior service2

[PE2-qospolicy-service] quit

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

[PE2-Ten-GigabitEthernet3/1/1] qos apply policy service inbound

[PE2-Ten-GigabitEthernet3/1/1] 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之间建立BGP EVPN对等体。

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 enable

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

# 在PE 1和PE 2之间VPN路由迭代到SRv6 TE Policy。

[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 no-flavor

[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

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 advertise encap-type srv6

[PE2-bgp-default-evpn] 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 evpn

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# 在PE 2上配置SRv6 TE Policy p1,Color属性为10,配置SRv6 TE Policy p2,Color属性为20。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] traffic-engineering

[PE2-srv6-te] srv6-policy locator abc

[PE2-srv6-te] segment-list s1

[PE2-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] segment-list s2

[PE2-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] policy p1

[PE2-srv6-te-policy-p1] service-class 1

[PE2-srv6-te-policy-p1] color 10 end-point ipv6 1::1

[PE2-srv6-te-policy-p1] candidate-paths

[PE2-srv6-te-policy-p1-path] preference 10

[PE2-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE2-srv6-te-policy-p1-path-pref-10] quit

[PE2-srv6-te-policy-p1-path] quit

[PE2-srv6-te-policy-p1] quit

[PE2-srv6-te] policy p2

[PE2-srv6-te-policy-p2] service-class 2

[PE2-srv6-te-policy-p2] color 20 end-point ipv6 1::1

[PE2-srv6-te-policy-p2] candidate-paths

[PE2-srv6-te-policy-p2-path] preference 10

[PE2-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE2-srv6-te-policy-p2-path-pref-10] quit

[PE2-srv6-te-policy-p2-path] quit

[PE2-srv6-te-policy-p2] quit

[PE2-srv6-te] quit

[PE2-segment-routing-ipv6] quit

# 在PE 2上配置隧道策略,保证SRv6 TE Policy为优选隧道并且可以在多条不同的SRv6 TE Policy进行负载分担。

[PE2] tunnel-policy a

[PE2-tunnel-policy-a] select-seq srv6-policy load-balance-number 2

[PE2-tunnel-policy-a] quit

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] tnl-policy a

[PE2-vpn-instance-vpn1] quit

# 配置SBFD会话的Reflector端的本地标识符。

[PE2] sbfd local-discriminator 1000001

(6)     配置CE 2

<Sysname> system-view

[Sysname] sysname CE2

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

[CE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.1 24

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

[CE2] bgp 300

[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

3. 验证配置

# 在PE 1执行display segment-routing ipv6 te policy命令查看SRv6 TE Policy的详细信息,可以看到SRv6 TE Policy的Status字段为Up。

<PE1> display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Dynamic             Type: Type_2              Request state: Succeeded

  Current BSID: 100:1::1:3  Explicit BSID: -          Dynamic BSID: 100:1::1:3

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Up

 Up time: 2023-11-23 19:31:35

 Down time: 2023-11-23 19:27:37

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580802

    State: Up                 State(SBFD): Up

    Active path MTU: 1428 bytes

# 在PE 1执行display ip routing-table vpn-instance vpn1命令查看VPN路由的详细信息,可以看出VPN路由的出接口存在等价的SRv6 TE Policy p1和p2。

 

<PE1> display ip routing-table vpn-instance vpn1

 

Destinations : 3       Routes : 3

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

20.1.1.0/24        BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

20.20.20.20/32     BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

22.22.22.22/32     BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

# CE 1和CE 2之间带源地址ping包仿真不同业务流量,通过抓包可以发现不同业务流量通过对应的SRv6 TE Policy进行转发,满足CBTS引流的需求。

<CE1> ping -a 11.11.11.11 22.22.22.22

Ping 22.22.22.22 (22.22.22.22) from 11.11.11.11: 56 data bytes, press CTRL+C to break

56 bytes from 22.22.22.22: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=2 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=3 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=4 ttl=253 time=2.000 ms

 

--- Ping statistics for 22.22.22.22 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 2.000/2.000/2.000/0.000 ms

 

<CE1> ping -a 10.10.10.10 20.20.20.20

Ping 20.20.20.20 (20.20.20.20) from 10.10.10.10: 56 data bytes, press CTRL+C to break

56 bytes from 20.20.20.20: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 20.20.20.20: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 20.20.20.20: icmp_seq=2 ttl=253 time=1.000 ms

56 bytes from 20.20.20.20: icmp_seq=3 ttl=253 time=1.000 ms

56 bytes from 20.20.20.20: icmp_seq=4 ttl=253 time=1.000 ms

 

--- Ping statistics for 20.20.20.20 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.400/2.000/0.490 ms

 

2.36.7  基于DSCP引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

1. 组网需求

图2-8所示,核心网为IPv6网络,VPN私网为IPv4网络。PE 1、P和PE 2属于同一自治系统,它们之间通过IS-IS协议达到IPv6网络互通。在PE 1和PE 2之间配置SRv6 TE Policy Group 10来承载IPv4 EVPN L3VPN业务,在其中建立如下映射关系:

·     DSCP值10和SRv6 TE Policy p1的Color 10进行映射。

·     DSCP值20和SRv6 TE Policy p2的Color 20进行映射。

·     其他DSCP值和SRv6 BE进行映射。

在PE 1和PE 2上配置路由策略来设置EVPN路由的Color属性,以便将流量引入到指定的SRv6 TE Policy Group 10中进行转发。

CE 1和CE 2上分别配置2个Loopback接口,代表着两个不同业务地址,通过QoS策略标记不同业务的DSCP值,使得携带不同DSCP值的业务报文通过对应SRv6 TE Policy转发。

说明: 说明

·     简介:基于DSCP引流到SRv6 TE Policy的方式是通过报文中携带的DSCP值的信息引流到对应的SRv6 TE Policy。

·     适用场景:由于报文自身携带了DSCP值,也可以基于ACL来标记报文的DSCP值。所以,仅需在网络边缘设备对不同业务报文的DSCP进行统一规划和标识以后,其他设备即无需再次标记,全网可以统一调度。DSCP取值范围较大,基本可以满足各类业务标识需求。因此,基于DSCP引流到SRv6 TE Policy也适用于需要细分业务类型的引流场景。

·     转发方式:通过在SRv6 TE Policy组中指定DSCP和SRv6 TE Policy的Color的映射关系,形成DSCP->Color->SRv6 TE Policy的关联关系,当业务流量迭代到SRv6 TE Policy组进行转发后,即可根据报文携带的DSCP值查找对应的SRv6 TE Policy进行转发。没有匹配到对应的SRv6 TE Policy仍可以通过DSCP值最小且有效的SRv6 TE Policy转发。

 

图2-8 基于DSCP引流的EVPN L3VPN over SRv6 TE Policy配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

CE 1

XGE3/1/1

10.1.1.1/24

CE 2

XGE3/1/1

20.1.1.1/24

 

Loopback 1

11.11.11.11/32

 

Loopback 1

22.22.22.22/32

 

Loopback 2

10.10.10.10/32

 

Loopback 2

20.20.20.20/32

PE 1

Loop1

1::1/128

PE 2

Loop1

3::3/128

 

XGE3/1/1

10.1.1.2/24

 

XGE3/1/1

20.1.1.2/24

 

XGE3/1/2

1001::1/96

 

XGE3/1/2

2001::1/96

 

XGE3/1/3

3001::1/96

 

XGE3/1/3

4001::1/96

P 1

Loop1

2::2/128

P 2

Loop1

4::4/128

 

XGE3/1/1

1001::2/96

 

XGE3/1/1

3001::2/96

 

XGE3/1/2

2001::2/96

 

XGE3/1/2

4001::2/96

 

2. 配置步骤

(1)     配置CE 1

<Sysname> system-view

[Sysname] sysname CE1

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

[CE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.1 24

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

[CE1] bgp 200

[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

(2)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE1

[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] ipv6 address 1::1 128

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

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

[PE1-Ten-GigabitEthernet3/1/2] ipv6 address 1001::1 96

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

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

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

[PE1-Ten-GigabitEthernet3/1/3] ipv6 address 3001::1 96

[PE1-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE1-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.2 24

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

# 配置ACL规则识别不同业务流量。

[PE1] acl advanced 3001

[PE1-acl-ipv4-adv-3001] rule 5 permit ip source 11.11.11.11 0 destination 22.22.22.22 0 vpn-instance vpn1

[PE1-acl-ipv4-adv-3001] quit

[PE1] acl advanced 3002

[PE1-acl-ipv4-adv-3002] rule 5 permit ip source 10.10.10.10 0 destination 20.20.20.20 0 vpn-instance vpn1

[PE1-acl-ipv4-adv-3002] quit

# 配置QoS策略,在PE 1和CE 1接口上对于入方向流量应用QoS策略标记不同类型业务流量的DSCP值。

[PE1] traffic classifier service1

[PE1-classifier-service1] if-match acl 3001

[PE1-classifier-service1] quit

[PE1] traffic behavior service1

[PE1-behavior-service1] remark dscp 10

[PE1-behavior-service1] quit

[PE1] traffic classifier service2

[PE1-classifier-service2] if-match acl 3002

[PE1-classifier-service2] quit

[PE1] traffic behavior service2

[PE1-behavior-service2] remark dscp 20

[PE1-behavior-service2] quit

[PE1] qos policy service

[PE1-qospolicy-service] classifier service1 behavior service1

[PE1-qospolicy-service] classifier service2 behavior service2

[PE1-qospolicy-service] quit

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

[PE1-Ten-GigabitEthernet3/1/1] qos apply policy service inbound

[PE1-Ten-GigabitEthernet3/1/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之间建立BGP EVPN对等体。

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 enable

[PE1-bgp-default-evpn] quit

[PE1-bgp-default] quit

# 在PE 1和PE 2之间VPN路由迭代到SRv6 TE Policy,并且使用SRv6 BE做逃生保护。

[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 no-flavor

[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 l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 advertise encap-type srv6

[PE1-bgp-default-evpn] 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 evpn

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 在PE 1上配置SRv6 TE Policy p1,Color值为10,配置SRv6 TE Policy p2,Color值为20。

[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] 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 p1

[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] policy p2

[PE1-srv6-te-policy-p2] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-p2] candidate-paths

[PE1-srv6-te-policy-p2-path] preference 10

[PE1-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-p2-path-pref-10] quit

[PE1-srv6-te-policy-p2-path] quit

[PE1-srv6-te-policy-p2] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在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 100

[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上配置SRv6 TE Policy Group 10,Color值为100,并且SRv6 TE Policy Group基于DSCP转发流量,建立DSCP和SRv6 TE Policy Color值之间的映射关系。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] policy-group 10

[PE1-srv6-te-policy-group-10] group-color 100

[PE1-srv6-te-policy-group-10] end-point ipv6 3::3

[PE1-srv6-te-policy-group-10] color 10 match dscp ipv4 10

[PE1-srv6-te-policy-group-10] color 20 match dscp ipv4 20

[PE1-srv6-te-policy-group-10] best-effort ipv4 default

[PE1-srv6-te-policy-group-10] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在PE 1上配置路由策略及隧道策略,标记向PE 2发布到的EVPN路由的扩展团体属性Color值为00:100,匹配SRv6 TE Policy Group 10的Color值100。VPN业务流量通过路由策略引流到指定的SRv6 TE Policy Group 10,并保证SRv6 TE Policy Group为优选隧道。

[PE1] route-policy a permit node 10

[PE1-route-policy-a-10] apply extcommunity color 00:100 additive

[PE1-route-policy-a-10] quit

[PE1] bgp 100

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 route-policy a export

[PE1-bgp-default-evpn] 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

(3)     配置P 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P1

[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] ipv6 address 2::2 128

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

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

[P1-Ten-GigabitEthernet3/1/1] ipv6 address 1001::2 96

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

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

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

[P1-Ten-GigabitEthernet3/1/2] ipv6 address 2001::2 96

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

[P1-Ten-GigabitEthernet3/1/2] 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 no-flavor

[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

(4)     配置P 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P2

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0004.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] ipv6 address 4::4 128

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

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

[P2-Ten-GigabitEthernet3/1/1] ipv6 address 3001::2 96

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

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

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

[P2-Ten-GigabitEthernet3/1/2] ipv6 address 4001::2 96

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

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

# 在P上配置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 no-flavor

[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

(5)     配置PE 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE2

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0003.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] ipv6 address 3::3 128

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

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

[PE2-Ten-GigabitEthernet3/1/2] ipv6 address 2001::1 96

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

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

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

[PE2-Ten-GigabitEthernet3/1/3] ipv6 address 4001::1 96

[PE2-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE2-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.2 24

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

# 配置ACL规则识别不同业务流量。

[PE2] acl advanced 3001

[PE2-acl-ipv4-adv-3001] rule 5 permit ip source 22.22.22.22 0 destination 11.11.11.11 0 vpn-instance vpn1

[PE2-acl-ipv4-adv-3001] quit

[PE2] acl advanced 3002

[PE2-acl-ipv4-adv-3002] rule 5 permit ip source 20.20.20.20 0 destination 10.10.10.10 0 vpn-instance vpn1

[PE2-acl-ipv4-adv-3002] quit

# 配置QoS策略,在PE 2和CE 2接口上对于入方向流量应用QoS策略标记不同类型业务流量的service-class值。

[PE2] traffic classifier service1

[PE2-classifier-service1] if-match acl 3001

[PE2-classifier-service1] quit

[PE2] traffic behavior service1

[PE2-behavior-service1] remark dscp 10

[PE2-behavior-service1] quit

[PE2] traffic classifier service2

[PE2-classifier-service2] if-match acl 3002

[PE2-classifier-service2] quit

[PE2] traffic behavior service2

[PE2-behavior-service2] remark dscp 20

[PE2-behavior-service2] quit

[PE2] qos policy service

[PE2-qospolicy-service] classifier service1 behavior service1

[PE2-qospolicy-service] classifier service2 behavior service2

[PE2-qospolicy-service] quit

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

[PE2-Ten-GigabitEthernet3/1/1] qos apply policy service inbound

[PE2-Ten-GigabitEthernet3/1/1] 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之间建立BGP EVPN对等体。

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 enable

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

# 在PE 1和PE 2之间VPN路由迭代到SRv6 TE Policy,并且使用SRv6 BE做逃生保护。

[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 no-flavor

[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

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 advertise encap-type srv6

[PE2-bgp-default-evpn] 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 evpn

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort  evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# 在PE 2上配置SRv6 TE Policy p1,Color属性为10,配置SRv6 TE Policy p2,Color属性为20。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] traffic-engineering

[PE2-srv6-te] srv6-policy locator abc

[PE2-srv6-te] segment-list s1

[PE2-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] segment-list s2

[PE2-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] policy p1

[PE2-srv6-te-policy-p1] color 10 end-point ipv6 1::1

[PE2-srv6-te-policy-p1] candidate-paths

[PE2-srv6-te-policy-p1-path] preference 10

[PE2-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE2-srv6-te-policy-p1-path-pref-10] quit

[PE2-srv6-te-policy-p1-path] quit

[PE2-srv6-te-policy-p1] quit

[PE2-srv6-te] policy p2

[PE2-srv6-te-policy-p2] color 20 end-point ipv6 1::1

[PE2-srv6-te-policy-p2] candidate-paths

[PE2-srv6-te-policy-p2-path] preference 10

[PE2-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE2-srv6-te-policy-p2-path-pref-10] quit

[PE2-srv6-te-policy-p2-path] quit

[PE2-srv6-te-policy-p2] quit

[PE2-srv6-te] quit

[PE2-segment-routing-ipv6] quit

# 在PE 2上配置SRv6 TE Policy Group 10,Color值为100,并且SRv6 TE Policy Group基于DSCP转发流量,建立DSCP和SRv6 TE Policy Color值之间的映射关系。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] traffic-engineering

[PE2-srv6-te] policy-group 10

[PE2-srv6-te-policy-group-10] group-color 100

[PE2-srv6-te-policy-group-10] end-point ipv6 1::1

[PE2-srv6-te-policy-group-10] color 10 match dscp ipv4 10

[PE2-srv6-te-policy-group-10] color 20 match dscp ipv4 20

[PE2-srv6-te-policy-group-10] best-effort ipv4 default

[PE2-srv6-te-policy-group-10] quit

[PE2-srv6-te] quit

[PE2-segment-routing-ipv6] quit

# 在PE 2上配置路由策略及隧道策略,标记向PE 1发布的EVPN路由的扩展团体属性Color值为00:100,匹配SRv6 TE Policy Group 10的Color值100。VPN业务流量通过路由策略引流到指定的SRv6 TE Policy Group 10,并保证SRv6 TE Policy Group为优选隧道。

[PE2] route-policy a permit node 10

[PE2-route-policy-a-10] apply extcommunity color 00:100 additive

[PE2-route-policy-a-10] quit

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 route-policy a export

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

[PE2] tunnel-policy a

[PE2-tunnel-policy-a] select-seq srv6-policy-group load-balance-number 1

[PE2-tunnel-policy-a] quit

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] tnl-policy a

[PE2-vpn-instance-vpn1] quit

# 配置SBFD会话的Reflector端的本地标识符。

[PE2] sbfd local-discriminator 1000001

(6)     配置CE 2

<Sysname> system-view

[Sysname] sysname CE2

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

[CE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.1 24

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

[CE2] bgp 300

[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

3. 验证配置

# 在PE 1执行display segment-routing ipv6 te policy-group命令查看SRv6 TE Policy组的详细信息,可以看到SRv6 TE Policy组的GroupState字段为Up,GroupNID取值为2151677953,SRv6 TE Policy组基于DSCP进行引流转发。

<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 DSCP

Group color: 100

StateChangeTime: 2024-01-28 16:22:03

Endpoint: 3::3

BSID:

  Explicit BSID: -                       Request state: -

Best-effort NID: 2160066561

Drop upon mismatch: Disabled

UP/Total Mappings: 3/3

IPv4 Best-effort: Configured      IPv6 Best-effort: Not configured

  Color       Type       DSCP

  10          IPv4       10

  20          IPv4       20

  Best-effort IPv4       default

# 在PE 1执行display bgp routing-table ipv4 vpn-instance vpn1命令查看VPN路由22.22.22.22的详细信息,可以看出VPN路由的迭代的隧道ID信息Rely tunnel IDs等于2151677953,与SRv6 TE Policy组的转发ID相同。

<PE1> display bgp routing-table ipv4 vpn-instance vpn1 22.22.22.22

 

 BGP local router ID: 1.1.1.1

 Local AS number: 100

 

 Paths:   1 available, 1 best

 

 BGP routing table information of 22.22.22.22/32:

 From            : 3::3 (3.3.3.3)

 Rely nexthop    : FE80::A2C3:E2FF:FEB5:306

 Original nexthop: 3::3

 Out interface   : Ten-GigabitEthernet3/1/2

 Route age       : 00h17m14s

 OutLabel        : 3

 Ext-Community   : <RT: 100:1>, <CO-Flag:Color(00:100)>

 RxPathID        : 0x0

 TxPathID        : 0x0

 PrefixSID       : End.DT4 SID <300:1::1:2>

  SRv6 Service TLV (37 bytes):

   Type: SRV6 L3 Service TLV (5)

   Length: 34 bytes, Reserved: 0x0

   SRv6 Service Information Sub-TLV (33 bytes):

    Type: 1 Length: 30, Rsvdl: 0x0

    SID Flags: 0x0  Endpoint behavior: 0x13 Rsvd2: 0x0

    SRv6 SID Sub-Sub-TLV:

     Type: 1 Len: 6

     BL: 64 NL: 0 FL: 64 AL: 0 TL: 0 TO: 0

 AS-path         : 300

 Origin          : incomplete

 Attribute value : MED 0, localpref 100, pref-val 0

 State           : valid, internal, best, remoteredist

 Source type     : evpn remote-import

 IP precedence   : N/A

 QoS local ID    : N/A

 Traffic index   : N/A

 Tunnel policy   : a

 Rely tunnel IDs : 2151677953

# CE 1和CE 2之间带源地址ping包仿真不同业务流量,通过抓包可以发现不同业务流量通过对应的SRv6 TE Policy进行转发,满足DSCP引流的需求。

<CE1> ping -a 11.11.11.11 22.22.22.22

Ping 22.22.22.22 (22.22.22.22) from 11.11.11.11: 56 data bytes, press CTRL+C to break

56 bytes from 22.22.22.22: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=2 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=3 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=4 ttl=253 time=2.000 ms

 

--- Ping statistics for 22.22.22.22 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 2.000/2.000/2.000/0.000 ms

 

<CE1> ping -a 10.10.10.10 20.20.20.20

Ping 20.20.20.20 (20.20.20.20) from 10.10.10.10: 56 data bytes, press CTRL+C to break

56 bytes from 20.20.20.20: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 20.20.20.20: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 20.20.20.20: icmp_seq=2 ttl=253 time=1.000 ms

56 bytes from 20.20.20.20: icmp_seq=3 ttl=253 time=1.000 ms

56 bytes from 20.20.20.20: icmp_seq=4 ttl=253 time=1.000 ms

 

--- Ping statistics for 20.20.20.20 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.400/2.000/0.490 ms

 

2.36.8  通过Flowspec引流的EVPN L3VPN over SRv6 TE Policy典型配置举例

1. 组网需求

图2-9所示,核心网为IPv6网络,VPN私网为IPv4网络。PE 1、P和PE 2属于同一自治系统,它们之间通过IS-IS协议达到IPv6网络互通。在PE 1和PE 2之间静态配置SRv6 TE Policy p1和p2来承载EVPN L3VPN业务。CE 1和CE 2上分别存在2个Loopback接口,代表着两个不同业务的地址。

PE 1作为Flowspec客户端,PE 2作为Flowspec控制器。在PE 2上配置Flowspec路由,应用到VPN实例下,并通过BGP VPNv4 Flowspec地址族将Flowspec路由传递给PE 1设备,PE 1设备接收到BGP VPNv4 Flowspec地址族后将其应用到数据转发层面,按照Flowspec路由中的转发规则,根据报文的五元组等信息,对不同业务重定向到不同的SRv6 TE Policy中转发。对于PE 1上的Flowspec路由,则PE 2作为Flowspec客户端,PE 1作为Flowspec控制器。

说明: 说明

·     简介:基于Flowspec引流到SRv6 TE Policy的方式是通过Flowspec控制器下发Flowspec路由给Flowspec客户端,Flowspec客户端基于Flowspec路由中定义的转发规则将流量重定向到对应的SRv6 TE Policy。非标准草案,不同厂商之间设备互通存在风险。

·     适用场景:Flowspec路由实际上是一种通过MP-BGP传递的转发层面的QoS策略。主要用于存在集中式控制器的攻击防范等安全场景中。Flowspec路由也可以对业务流量进行细分,用于业务分类较多的场景中。

·     转发方式:当业务流量迭代到SRv6 TE Policy进行转发后,Flowspec客户端再根据Flowspec路由规则查找对应的SRv6 TE Policy进行转发。一般Flowspec客户端需要校验Flowspec路由的有效性。

 

图2-9 通过Flowspec引流的EVPN L3VPN over SRv6 TE Policy配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

CE 1

XGE3/1/1

10.1.1.1/24

CE 2

XGE3/1/1

20.1.1.1/24

 

Loopback 1

11.11.11.11/32

 

Loopback 1

22.22.22.22/32

 

Loopback 2

10.10.10.10/32

 

Loopback 2

20.20.20.20/32

PE 1

Loop1

1::1/128

PE 2

Loop1

3::3/128

 

XGE3/1/1

10.1.1.2/24

 

XGE3/1/1

20.1.1.2/24

 

XGE3/1/2

1001::1/96

 

XGE3/1/2

2001::1/96

 

XGE3/1/3

3001::1/96

 

XGE3/1/3

4001::1/96

P 1

Loop1

2::2/128

P 2

Loop1

4::4/128

 

XGE3/1/1

1001::2/96

 

XGE3/1/1

3001::2/96

 

XGE3/1/2

2001::2/96

 

XGE3/1/2

4001::2/96

 

2. 配置步骤

(1)     配置CE 1

<Sysname> system-view

[Sysname] sysname CE1

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

[CE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.1 24

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

[CE1] bgp 200

[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

(2)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE1

[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] ipv6 address 1::1 128

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

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

[PE1-Ten-GigabitEthernet3/1/2] ipv6 address 1001::1 96

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

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

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

[PE1-Ten-GigabitEthernet3/1/3] ipv6 address 3001::1 96

[PE1-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE1-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.2 24

[PE1-Ten-GigabitEthernet3/1/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

[PE1-bgp-default] quit

# PE 1上创建并激活IPv4 Flowspec路由,通告给PE 2并生成流量转发策略:去往11.11.11.11的私网业务流量重定向到Color值为10的SRv6 TE Policy p1中转发,去往10.10.10.10的私网业务流量重定向到Color值为20的SRv6 TE Policy p2中转发。

[PE1] flow-route abc1

[PE1-flow-route-abc1] if-match destination-ip 11.11.11.11 32

[PE1-flow-route-abc1] if-match source-ip 22.22.22.22 32

[PE1-flow-route-abc1] apply redirect next-hop 1::1 color 00:10 sid 100:1::A

[PE1-flow-route-abc1] commit

[PE1-flow-route-abc] quit

[PE1] flow-route abc2

[PE1-flow-route-abc2] if-match destination-ip 10.10.10.10 32

[PE1-flow-route-abc2] if-match source-ip 20.20.20.20 32

[PE1-flow-route-abc2] apply redirect next-hop 1::1 color 00:20 sid 100:1::A

[PE1-flow-route-abc2] commit

[PE1-flow-route-abc2] quit

# 在VPN实例中应用IPv4 Flowspec路由。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] address-family ipv4 flowspec

[PE1-vpn-flowspec-ipv4-vpn1] route-distinguisher 100:1

[PE1-vpn-flowspec-ipv4-vpn1] vpn-target 100:1

[PE1-vpn-flowspec-ipv4-vpn1] quit

[PE1-vpn-instance-vpn1] quit

[PE1] flowspec

[PE1-flowspec] address-family ipv4 vpn-instance vpn1

[PE1-flowspec-ipv4-vpn1] flow-route abc1

[PE1-flowspec-ipv4-vpn1] flow-route abc2

[PE1-flowspec-ipv4-vpn1] quit

[PE1-flowspec] quit

# 在PE之间建立BGP VPNv4 Flowspec对等体,互相通告VPNv4 Flowspec路由。

[PE1] bgp 100

[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 flowspec

[PE1-bgp-default-flowspec-vpnv4] peer 3::3 enable

[PE1-bgp-default-flowspec-vpnv4] quit

[PE1-bgp-default] quit

# 在PE之间建立BGP EVPN对等体。

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 enable

[PE1-bgp-default-evpn] 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 no-flavor

[PE1-segment-routing-ipv6-locator-abc] opcode 10 end-dt4 vpn-instance vpn1 evpn

[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 l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 advertise encap-type srv6

[PE1-bgp-default-evpn] 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 evpn

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 在PE 1上配置SRv6 TE Policy p1,Color值为1,配置SRv6 TE Policy p2,Color值为2。

[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] 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 p1

[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] policy p2

[PE1-srv6-te-policy-p2] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-p2] candidate-paths

[PE1-srv6-te-policy-p2-path] preference 10

[PE1-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-p2-path-pref-10] quit

[PE1-srv6-te-policy-p2-path] quit

[PE1-srv6-te-policy-p2] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# 在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 100

[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上配置隧道策略,保证SRv6 TE Policy为优选隧道并且可以在多条不同的SRv6 TE Policy进行负载分担。

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy load-balance-number 2

[PE1-tunnel-policy-a] quit

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] tnl-policy a

[PE1-vpn-instance-vpn1] quit

(3)     配置P 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P1

[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] ipv6 address 2::2 128

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

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

[P1-Ten-GigabitEthernet3/1/1] ipv6 address 1001::2 96

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

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

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

[P1-Ten-GigabitEthernet3/1/2] ipv6 address 2001::2 96

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

[P1-Ten-GigabitEthernet3/1/2] 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 no-flavor

[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

(4)     配置P 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname P2

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0004.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] ipv6 address 4::4 128

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

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

[P2-Ten-GigabitEthernet3/1/1] ipv6 address 3001::2 96

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

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

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

[P2-Ten-GigabitEthernet3/1/2] ipv6 address 4001::2 96

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

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

# 在P上配置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 no-flavor

[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

(5)     配置PE 2

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<Sysname> system-view

[Sysname] sysname PE2

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0003.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] ipv6 address 3::3 128

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

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

[PE2-Ten-GigabitEthernet3/1/2] ipv6 address 2001::1 96

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

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

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

[PE2-Ten-GigabitEthernet3/1/3] ipv6 address 4001::1 96

[PE2-Ten-GigabitEthernet3/1/3] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet3/1/3] 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 ten-gigabitethernet 3/1/1

[PE2-Ten-GigabitEthernet3/1/1] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.2 24

[PE2-Ten-GigabitEthernet3/1/1] 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

[PE2-bgp-default] quit

# PE 2上创建并激活IPv4 Flowspec路由,通告给PE 1并生成流量转发策略:去往22.22.22.22的私网业务流量重定向到Color值为10的SRv6 TE Policy p1中转发,去往20.20.20.20的私网业务流量重定向到Color值为20的SRv6 TE Policy p2中转发。

[PE2] flow-route abc1

[PE2-flow-route-abc1] if-match destination-ip 22.22.22.22 32

[PE2-flow-route-abc1] if-match source-ip 11.11.11.11 32

[PE2-flow-route-abc1] apply redirect next-hop 3::3 color 00:10 sid 300:1::A

[PE2-flow-route-abc1] commit

[PE2-flow-route-abc1] quit

[PE2] flow-route abc2

[PE2-flow-route-abc2] if-match destination-ip 20.20.20.20 32

[PE2-flow-route-abc2] if-match source-ip 10.10.10.10 32

[PE2-flow-route-abc2] apply redirect next-hop 3::3 color 00:20 sid 300:1::A

[PE2-flow-route-abc2] commit

[PE2-flow-route-abc2] quit

# 在VPN实例中应用IPv4 Flowspec路由。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] address-family ipv4 flowspec

[PE2-vpn-flowspec-ipv4-vpn1] route-distinguisher 100:1

[PE2-vpn-flowspec-ipv4-vpn1] vpn-target 100:1

[PE2-vpn-flowspec-ipv4-vpn1] quit

[PE2-vpn-instance-vpn1] quit

[PE2] flowspec

[PE2-flowspec] address-family ipv4 vpn-instance vpn1

[PE2-flowspec-ipv4-vpn1] flow-route abc1

[PE2-flowspec-ipv4-vpn1] flow-route abc2

[PE2-flowspec-ipv4-vpn1] quit

[PE2-flowspec] quit

# 在PE之间建立BGP VPNv4 Flowspec对等体。

[PE2] bgp 100

[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 flowspec

[PE2-bgp-default-flowspec-vpnv4] peer 1::1 enable

[PE2-bgp-default-flowspec-vpnv4] quit

[PE2-bgp-default] quit

# 在PE之间建立BGP EVPN对等体。

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 enable

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

# 在PE 1和PE 2之间VPN路由迭代到SRv6 TE Policy。

[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 no-flavor

[PE2-segment-routing-ipv6-locator-abc] opcode 10 end-dt4 vpn-instance vpn1 evpn

[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

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 advertise encap-type srv6

[PE2-bgp-default-evpn] 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 evpn

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# 在PE 2上配置SRv6 TE Policy p1,Color属性为10,配置SRv6 TE Policy p2,Color属性为20。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] traffic-engineering

[PE2-srv6-te] srv6-policy locator abc

[PE2-srv6-te] segment-list s1

[PE2-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] segment-list s2

[PE2-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] policy p1

[PE2-srv6-te-policy-p1] color 10 end-point ipv6 1::1

[PE2-srv6-te-policy-p1] candidate-paths

[PE2-srv6-te-policy-p1-path] preference 10

[PE2-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE2-srv6-te-policy-p1-path-pref-10] quit

[PE2-srv6-te-policy-p1-path] quit

[PE2-srv6-te-policy-p1] quit

[PE2-srv6-te] policy p2

[PE2-srv6-te-policy-p2] color 20 end-point ipv6 1::1

[PE2-srv6-te-policy-p2] candidate-paths

[PE2-srv6-te-policy-p2-path] preference 10

[PE2-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE2-srv6-te-policy-p2-path-pref-10] quit

[PE2-srv6-te-policy-p2-path] quit

[PE2-srv6-te-policy-p2] quit

[PE2-srv6-te] quit

[PE2-segment-routing-ipv6] quit

# 配置SBFD会话的Reflector端的本地标识符。

[PE2] sbfd local-discriminator 1000001

(6)     配置CE 2

<Sysname> system-view

[Sysname] sysname CE2

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

[CE2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.1 24

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

[CE2] bgp 300

[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

3. 验证配置

# 在PE 1执行display segment-routing ipv6 te policy命令查看SRv6 TE Policy的详细信息,可以看到SRv6 TE Policy的Status字段为Up,注意记录SRv6 TE Policy的Forwarding index,检查转发表项索引和Flow-route中重定向的转发索引是否一致。

<PE1> display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Dynamic             Type: Type_2              Request state: Succeeded

  Current BSID: 100:1::1:3  Explicit BSID: -          Dynamic BSID: 100:1::1:3

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Up

 Up time: 2023-11-23 19:31:35

 Down time: 2023-11-23 19:27:37

Forwarding index: 2150629377

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580802

    State: Up                 State(SBFD): Up

    Active path MTU: 1428 bytes

# 在PE 1执行display ip routing-table vpn-instance vpn1命令查看VPN路由的详细信息,可以看出VPN路由的出接口存在等价的SRv6 TE Policy p1和p2。

 

<PE1> display ip routing-table vpn-instance vpn1

 

Destinations : 3       Routes : 3

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

20.1.1.0/24        BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

20.20.20.20/32     BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

22.22.22.22/32     BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

# 在PE 1执行display bgp routing-table ipv4 flowspec vpn-instance vpn1命令查看VPN Flowspec路由的简要信息和详细信息,PE 1上的收到PE 2发布的有效且最佳Flowspec路由,Flowspec路由中显示:源地址为11.11.11.11,目的地址为22.22.22.22的私网报文将重定向到3::3,并且携带VPN SID 300:1::A。

<PE1> display bgp routing-table ipv4 flowspec vpn-instance vpn1

 

 Total number of routes: 2

 

 BGP local router ID is 1.1.1.1

 Status codes: * - valid, > - best, d - dampened, h - history,

               s - suppressed, S - stale, i - internal, e - external

               a - additional-path

       Origin: i - IGP, e - EGP, ? - incomplete

 

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

 

* >  DEST:11.11.11.11/32,Source:22.22.22.22/32/96

                        1::1                                  32768   i

* >i DEST:22.22.22.22/32,Source:11.11.11.11/32/96

                        3::3                       100        0       i

<PE1> display bgp routing-table ipv4 flowspec vpn-instance vpn1 DEST:

22.22.22.22/32,Source:11.11.11.11/32/96

 

 BGP local router ID: 1.1.1.1

 Local AS number: 100

 

 Paths:   1 available, 1 best

 

 BGP routing table information of DEST:22.22.22.22/32,Source:11.11.11.11/32/96:

 From            : 3::3 (3.3.3.3)

 Original nexthop: 0.0.0.0

 Out interface   : NULL0

 Route age       : 01h03m24s

 OutLabel        : NULL

 Ext-Community   : <RT: 100:1>, <CO-Flag:Color(00:10)>

 Ext-comm-ipv6   : <FLOWSPEC REDIRECT-IP: 3::3 & 0>

 RxPathID        : 0x0

 TxPathID        : 0x0

 PrefixSID       : N/A SID <300:1::A>

  SRv6 Service TLV (37 bytes):

   Type: SRV6 L3 Service TLV (5)

   Length: 34 bytes, Reserved: 0x0

   SRv6 Service Information Sub-TLV (33 bytes):

    Type: 1 Length: 30, Rsvdl: 0x0

    SID Flags: 0x0  Endpoint behavior: 0x0 Rsvd2: 0x0

    SRv6 SID Sub-Sub-TLV:

     Type: 1 Len: 6

     BL: 0 NL: 0 FL: 0 AL: 0 TL: 0 TO: 0

 AS-path         : (null)

 Origin          : igp

 Attribute value : localpref 100, pref-val 0

 State           : valid, internal, best

 Source type     : local

 IP precedence   : N/A

 QoS local ID    : N/A

 Traffic index   : N/A

# 在PE 1执行display flow-route ipv4 vpn-instance vpn1命令查看本地生成的Flowspec流量规则。其中Forwarding ID表示转发表项的索引值。其中,去往20.20.20.20的私网路由转发索引等于SRv6 TE Policy p2的索引,去往22.22.22.22的私网路由转发索引等于SRv6 TE Policy p1的索引。

<PE1> display flow-route ipv4 vpn-instance vpn1

Total number of flow-routes: 4

Flow route (ID 0x3)

  BGP instance : default

  VPN instance : vpn1

  Traffic filtering rules:

   Destination IP   : 20.20.20.20 255.255.255.255

   Source IP        : 10.10.10.10 255.255.255.255

  Traffic filtering actions:

   Redirecting to SRv6-TE policy

     Forwarding ID: 2150629378

     SID          : 300:1::A

 

Flow route (ID 0x1)

  BGP instance : default

  VPN instance : vpn1

  Traffic filtering rules:

   Destination IP   : 22.22.22.22 255.255.255.255

   Source IP        : 11.11.11.11 255.255.255.255

  Traffic filtering actions:

   Redirecting to SRv6-TE policy

     Forwarding ID: 2150629377

     SID          : 300:1::A

# CE 1和CE 2之间带源地址ping包仿真不同业务流量,通过抓包可以发现不同业务流量通过对应的SRv6 TE Policy进行转发。

<CE1> ping -a 11.11.11.11 22.22.22.22

Ping 22.22.22.22 (22.22.22.22) from 11.11.11.11: 56 data bytes, press CTRL+C to break

56 bytes from 22.22.22.22: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=2 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=3 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=4 ttl=253 time=2.000 ms

 

--- Ping statistics for 22.22.22.22 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 2.000/2.000/2.000/0.000 ms

# ping包测试后,在PE 1上执行display flowspec statistics命令可见流量匹配到的Flowspec转发规则的报文统计信息。

3 附录

3.1  SRv6 TE Policy NLRI

1. SRv6 TE Policy NLRI

SRv6 TE Policy NLRI用于描述SRv6 SID的网络层可达信息。

SRv6 TE Policy NLRI的报文格式如图3-1所示。

图3-1 SRv6 Policy NLRI

 

SRv6 TE Policy NLRI包含字段如表3-1所示。

表3-1 SRv6 TE Policy NLRI的字段描述表

字段名称

长度

含义

NLRI Length

8比特

SRv6 Policy NLRI长度

Distinguisher

32比特

标识符,唯一标识一个SRv6 TE Policy

Policy Color

32比特

SRv6 TE Policy的Color属性

Endpoint

128比特

SRv6 TE Policy的目的节点地址

 

2. Tunnel Encapsulation Attribute

携带SRv6 TE Policy NLRI的BGP Update消息中,需要同时携带Tunnel Encapsulaton Attribute。如表3-2所示,在Tunnel Encapsulaton Attribute中通过定义以下子TLV来记录SRv6 TE Policy的相关信息。

表3-2 Tunnel Encapsulaton Attribute中子TLV描述表

TLV名称

作用

携带位置

Preference Sub-TLV

通告候选路径的优先级

Tunnel Encapsulation Attribute

SRv6 Binding SID Sub-TLV

通告候选路径的BSID

Tunnel Encapsulation Attribute

Segment List Sub-TLV

通告Segment List

Tunnel Encapsulation Attribute

Weight Sub-TLV

通告Segment List的权重

Segment List Sub-TLV

Policy Candidate Path Name Sub-TLV

通告候选路径的名称

Tunnel Encapsulation Attribute

 

3. Preference Sub-TLV

Preference Sub-TLV用于承载候选路径的优先级。

Preference Sub-TLV的报文格式如图3-2所示。

图3-2 Preference Sub-TLV

 

Preference Sub-TLV包含字段如表3-3所示。

表3-3 Preference Sub-TLV的字段描述表

字段名称

长度

含义

Type

8比特

类型,取值为12

Length

8比特

长度

Flags

8比特

标志位,目前无定义

Reserved

8比特

预留值,取值为0

Preference

32比特

SRv6 TE Policy的候选路径的Preference值

 

4. Binding SID Sub-TLV

Binding SID Sub-TLV用于标识SRv6 TE Policy的BSID。

Binding SID Sub-TLV的报文格式如图3-3所示。

图3-3 Binding SID Sub-TLV

 

Binding SID Sub-TLV包含字段如表3-4所示。

表3-4 Binding SID Sub-TLV的字段描述表

字段名称

长度

含义

Type

8比特

类型,取值为13

Length

8比特

长度

Flags

8比特

标志位,目前无定义

Reserved

8比特

预留值,取值为0

Binding SID

32比特

BSID值

 

5. Segment List Sub-TLV

Segment List Sub-TLV用于承载候选路径的SID列表。

Segment List Sub-TLV的报文格式如图3-4所示。

图3-4 Segment List Sub-TLV

 

Segment List Sub-TLV包含字段如表3-5所示。

表3-5 Segment List Sub-TLV的字段描述表

字段名称

长度

含义

Type

8比特

类型,取值为128

Length

16比特

长度

Reserved

8比特

预留值,取值为0

Sub-TLVS

32比特

·     一个可选的Weight sub-TLV

·     0到多个Segment sub-TLVs

 

6. Weight Sub-TLV

Weight Sub-TLV用于承载SID列表的权重。

Weight Sub-TLV的报文格式如图3-5所示。

图3-5 Weight Sub-TLV

 

Weight Sub-TLV包含字段如表3-6所示。

表3-6 Weight Sub-TLV的字段描述表

字段名称

长度

含义

Type

8比特

类型,取值为9

Length

8比特

长度

Flags

8比特

标志位

Reserved

8比特

预留值,取值为0

Weight

32比特

SID列表的权重值

 

3.2  BGP-LS路由的TE Policy NLRI

1. TE Policy NLRI

BGP-LS汇总IGP协议收集的拓扑信息上送给控制器,使得控制器可以了解全网拓扑,并基于全网拓扑计算最优路径。

BGP-LS特性产生前,控制器通过IGP(OSPF、OSPFv3或IS-IS)协议泛洪的方式收集网络的拓扑信息,对于跨IGP域的拓扑信息收集,IGP协议需要将各个域的拓扑信息单独上送给控制器,如果存在多种IGP协议的网络中,控制器还需要支持不同的IGP协议。使用BGP-LS收集的拓扑信息,对于控制器仅需支持BGP-LS,且由BGP-LS汇总各个域的拓扑信息,更加方便。

为了收集拓扑信息,BGP-LS在原有BGP的基础上,引入了一系列新的NLRI(Network Layer Reachability Information,网络层可达信息)来携带链路、节点和IPv4/IPv6前缀相关信息,这种新的NLRI叫做链路状态NLRI(Link-State NLRI)。在RFC7752中定义了:

·     Type值为1的Node NLRI;

·     Type值为2的Link NLRI;

·     Type值为3的IPv4 Topology Prefix NLRI;

·     Type值为4的IPv6 Topology Prefix NLRI。

根据draft-ietf-idr-te-lsp-distribution、draft-ietf-idr-bgp-ls-sr-policy草案,TE Policy(含SRv6 TE Policy、SR-MPLS TE Policy、RSVP-TE等)的信息也通过链路状态NLRI(Link-State NLRI)来携带,其NLRI的Type值为5。NLRI的报文格式如下:

图3-6 TE Policy NLRI的格式

 

TE Policy NLRI包含字段如表3-7所示。

表3-7 TE Policy NLRI的字段描述表

字段名称

长度

含义

Protocol-ID

8比特

协议ID,BGP-LS通过指定协议学习节点的TE Policy 信息:

·     8:RSVP-TE

·     9:Segment Routing

Identifier

64比特

节点标识符

Node Descriptors

长度可变

描述头端节点

TE Policy Descriptors

长度可变

TE Policy的相关信息,SRv6 TE Policy的NLRI中必须携带SR Policy Candidate Path Descriptor TLV

 

2. SR Policy Candidate Path Descriptor TLV

SRv6 TE Policy的NLRI中必须携带SR Policy Candidate Path Descriptor TLV,其格式如下:

图3-7 SR Policy Candidate Path Descriptor TLV的格式

 

SR Policy Candidate Path Descriptor TLV包含字段如表3-8所示。

表3-8 TE Policy NLRI的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为554

Length

16比特

长度,取值为24或36或48字节

Protocol

8比特

生成候选路径的协议类型,取值包括:

·     PCEP

·     BGP

·     静态配置(NETCONF或CLI配置)

Flags

8比特

标志位

Reserved

8比特

预留位,全为0

Endpoint

32或128比特

SRv6 TE Policy的目的节点

Color

32比特

SRv6 TE Policy的Color属性

Originator AS Number

32比特

生成候选路径的自治系统编号

Originator Address

32或128比特

生成候选路径的设备地址

Discriminator

32比特

候选路径的标识符

 

除SR Policy Candidate Path Descriptor TLV外,BGP-LS还为TE Policy NLRI定义了多种可选非传递的属性,以通告SRv6 TE Policy的候选路径状态等各种信息。

BGP-LS针对SRv6 TE Policy的扩展具体如表3-9所示。

表3-9 BGP-LS针对SRv6 TE Policy的扩展

TLV名称

作用

携带位置

SR Binding SID TLV

通告SRv6 TE Policy候选路径的BSID,BSID可以是4字节的MPLS标签或16字节的SRv6 SID

TE Policy NLRI

SRv6 Binding SID TLV

通告SRv6 TE Policy候选路径的BSID,BSID固定为16字节

TE Policy NLRI

SR Candidate Path State TLV

通告SRv6 TE Policy候选路径的属性和状态信息

TE Policy NLRI

SR Policy Name TLV

通告SRv6 TE Policy的名称

TE Policy NLRI

SR Candidate Path Name TLV

通告SRv6 TE Policy候选路径的名称

TE Policy NLRI

SR Candidate Path Constraints TLV

通告SRv6 TE Policy候选路径的约束条件,这些约束条件通常应用于由头端动态计算候选路径

TE Policy NLRI

SR Affinity Constraint Sub-TLV

通告SRv6 TE Policy候选路径的亲和属性

SR Candidate Path Constraints TLV

SR SRLG Constraint Sub-TLV

通告SRv6 TE Policy候选路径的共享风险链路组的值

SR Candidate Path Constraints TLV

SR Bandwidth Constraint Sub-TLV

通告SRv6 TE Policy候选路径的带宽要求

SR Candidate Path Constraints TLV

SR Disjoint Group Constraint Sub-TLV

通告SRv6 TE Policy候选路径的不相交约束组标识

SR Candidate Path Constraints TLV

SR Bidirectional Group Constraint Sub-TLV

通告SRv6 TE Policy候选路径的双向组标识

SR Candidate Path Constraints TLV

SR Metric Constraint Sub-TLV

通告SRv6 TE Policy候选路径的度量值

SR Candidate Path Constraints TLV

SR Segment List TLV

通告SRv6 TE Policy候选路径的SID列表

TE Policy NLRI

SR Segment Sub-TLV

通告SRv6 TE Policy候选路径的SID列表中的某个SID值

SR Segment List TLV

 

3. SR Binding SID TLV

SR Binding SID TLV用于通告SRv6 TE Policy候选路径的BSID。

图3-8 SR Binding SID TLV的格式

 

SR Binding SID TLV包含字段如表3-10所示。

表3-10 SR Binding SID TLV的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为1201

Length

16比特

长度

BSID Flags

16比特

候选路径BSID的标志位,长度2字节:

·     D-Flag:标识该BSID是一个SRv6 SID还是一个MPLS标签

·     B-Flag:标识BSID的值是否正常分配

·     U-Flag:标识Specified BSID是否可用

·     L-Flag:标识是从SRLB标签段中分配的或动态标签池中分配

·     F-Flag:标识指定的BSID不可用,需要动态分配

Reserved

16比特

预留值,取值为0

Binding SID

32或128比特

表示实际使用或分配的BSID值,这个值可能是预先指定的,指定后该BSID可用,也可能是动态分配的

Specified Binding SID

32或128比特

标识指定的BSID值,未指定BSID则显示为0,指定的BSID值即使不可用也会显示

 

4. SRv6 Binding SID TLV

SRv6 Binding SID TLV用于通告SRv6 TE Policy候选路径的BSID。

图3-9 SRv6 Binding SID TLV的格式

 

SRv6 Binding SID TLV包含字段如表3-11所示。

表3-11 SRv6 Binding SID TLV的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为1212

Length

16比特

长度

BSID Flags

16比特

候选路径BSID的标志位,长度2字节:

·     B-Flag:标识BSID的值是否正常分配

·     U-Flag:标识Specified BSID是否可用

·     F-Flag:标识指定的BSID不可用,需要动态分配

Reserved

16比特

预留值,取值为0

Binding SID

128比特

表示实际使用或分配的BSID值,这个值可能是预先指定的,指定后该BSID可用,也可能是动态分配的

Specified Binding SID

128比特

标识指定的BSID值,未指定BSID则显示为0,指定的BSID值即使不可用也会显示

 

5. SR Candidate Path State TLV

SR Candidate Path State TLV用于通告SRv6 TE Policy候选路径的属性和状态信息。

图3-10 SR Candidate Path State TLV的格式

 

SR Candidate Path State TLV包含字段如表3-12所示。

表3-12 SR Candidate Path State TLV的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为1202

Length

16比特

长度

Priority

8比特

拓扑变化时候选路径的重新计算的优先顺序

Reserved

8比特

预留值,取值为0

Flags

16比特

候选路径的状态和属性信息

·     S-Flag:标识候选路径shutdown状态

·     A-Flag:标识候选路径是否主用状态

·     B-Flag:标识候选路径是否备用状态

·     E-Flag:标识候选路径是否表经过有效性评估

·     V-Flag:标识候选路径是否至少有一个有效的SID列表

·     O-Flag:标识候选路径是否根据ODN按需下一跳模板计算

·     D-Flag:标识候选路径是否委托给PCE/控制器计算

·     C-Flag:标识候选路径是否由PCE/控制器下发

·     I-Flag:标识候选路径为优选的候选路径,SRv6 TE Policy不存在其他候选路径,本候选路径失效时丢弃流量的功能

·     T-Flag:标识头节点上该SRv6 TE Policy可以用于标签缝接

·     U-Flag:标识本候选路径所属的SRv6 TE Policy正处于所有候选路径失效时丢弃流量状态

Preference

32比特

候选路径的优先级

 

 

6. SR Policy Name TLV

SR Policy Name TLV用于通告SRv6 TE Policy的名称。

图3-11 SR Policy Name TLV的格式

 

SR Policy Name TLV包含字段如表3-13所示。

表3-13 SR Policy Name TLV的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为1213

Length

16比特

长度

SR Policy Name

可变

SRv6 TE Policy的名称

 

7. SR Candidate Path Name TLV

SR Candidate Path Name TLV用于通告SRv6 TE Policy候选路径的名称。

图3-12 SR Candidate Path Name TLV的格式

 

SR Candidate Path Name TLV包含字段如表3-14所示。

表3-14 SR Candidate Path Name TLV的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为1203

Length

16比特

长度

Candidate Path Name

可变

SRv6 TE Policy候选路径的名称

 

8. SR Candidate Path Constraints TLV

SR Candidate Path Constraints TLV用于通告SRv6 TE Policy候选路径的约束条件,这些约束条件通常应用于由头端动态计算候选路径。

图3-13 SR Candidate Path Constraints TLV的格式

 

SR Candidate Path Constraints TLV包含字段如表3-15所示。

表3-15 SR Candidate Path Constraints TLV的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为1204

Length

16比特

长度

Flags

16比特

候选路径的约束条件

·     D-Flag:标识候选路径的转发平面是基于SRv6还是SR-MPLS

·     P-Flag:标识候选路径的SID列表中优选保护类型的SID

·     U-Flag:标识候选路径的SID列表中优选非保护类型的SID

·     A-Flag:标识候选路径的SID列表中的SID属于指定的Flex-Algo Algorithm

·     T-Flag:标识候选路径的SID列表中的SID属于指定的拓扑

·     S-Flag:标识候选路径的SID列表中严格要求SID为保护类型SID或非保护类型SID,而不是偏好

·     F-Flag:标识候选路径在计算完成后是固定的,除非操作员干预,否则不会被修改

Reserved1

16比特

预留值,取值为0

MTID

16比特

如果T-Flag置位,表示只能采用指定的IGP拓扑ID计算候选路径,如果T-Flag未置位,表示优先采用指定的IGP拓扑ID计算候选路径,如果无法计算可以采用其他IGP拓扑ID计算候选路径

Algorithm

8比特

指定Flex-Algo算法ID,如果A-Flag置位,表示只能采用指定的Flex-Algo算法计算候选路径,如果A-Flag未置位,表示优先采用指定Flex-Algo算法计算候选路径,如果无法计算可以采用其他Flex-Algo算法计算候选路径

Reserved2

8比特

预留值,取值为0

Sub-TLVs

可变

候选路径的TE约束条件Sub-TLV

 

9. SR Segment List TLV

SR Segment List TLV用于通告SRv6 TE Policy候选路径中的一个SID列表。

图3-14 SR Segment List TLV的格式

 

SR Segment List TLV包含字段如表3-16所示。

表3-16 SR Segment List TLV的字段描述表

字段名称

长度

含义

Type

16比特

类型,取值为1205

Length

16比特

长度

Flags

16比特

SID列表的状态信息

·     D-Flag:标识SID列表是由SRv6 SID组成还是MPLS标签组成

·     E-Flag:标识SID列表是一个静态指定的显式路径或动态路径

·     C-Flag:如果置位,表示SID列表为动态路径时,已计算出一个SID列表,如果SID列表是静态指定的显式路径则一直置位

·     V-Flag:表示SID列表通过了路径校验,或者未设置SID列表的校验功能

·     R-Flag:表示SID列表的第一个SID是否可达

·     F-Flag:表示SID列表动态计算失败

·     A-Flag:表示SID列表中的所有SID均属于一个Flex-Algo算法

·     T-Flag:表示SID列表中的所有SID均属于一个拓扑实例

·     M-Flag:表示因BFD等检测失败,SID列表从转发表项中卸载

Reserved1

16比特

预留值,取值为0

MTID

16比特

如果T-Flag置位,表示只能采用指定的IGP拓扑ID计算SID列表,如果T-Flag未置位,表示优先采用指定的IGP拓扑ID计算SID列表,如果无法计算可以采用其他IGP拓扑ID计算SID列表

Algorithm

8比特

指定Flex-Algo算法ID,如果A-Flag置位,表示只能采用指定的Flex-Algo算法计算候选路径,如果A-Flag未置位,表示优先采用指定Flex-Algo算法计算候选路径,如果无法计算可以采用其他Flex-Algo算法计算候选路径

Reserved2

8比特

预留值,取值为0

Weight

32比特

SID列表的权重值

Sub-TLV

可变

SID列表的Sub-TLV

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们