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

11-Segment Routing配置指导

目录

03-SRv6 TE Policy配置

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

03-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 基于BSID引流

1.5.2 基于Color引流

1.5.3 基于DSCP引流

1.5.4 基于802.1p引流

1.5.5 基于service-class引流

1.5.6 基于CBTS引流

1.5.7 基于TE class ID引流

1.5.8 基于APN ID引流

1.5.9 自引流功

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

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 根据隧道的网络质量优选隧道

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

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

1.9 SRv6 TE Policy的应用

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

2 SRv6 TE Policy的配置

2.1 SRv6 TE Policy配置任务简介

2.2 创建SRv6 TE Policy

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

2.2.2 通过ODN自动创建SRv6 TE Policy

2.3 配置PCEP会话

2.3.1 配置限制和指导

2.3.2 配置PCE发现

2.3.3 开启PCC设备的SRv6能力

2.3.4 配置PCEP会话参数

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

2.4.1 配置限制和指导

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

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

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

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

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

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

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

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

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

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

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

2.8 关闭SRv6 TE Policy

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

2.9.1 配置限制和指导

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

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

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

2.9.5 开启Router ID过滤功能

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

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

2.9.8 维护BGP会话

2.10 配置SRv6 TE Policy引流

2.10.1 配置SRv6-TE的引流方式

2.10.2 配置基于Color引流

2.10.3 配置基于隧道策略引流

2.10.4 配置基于DSCP引流

2.10.5 配置基于Dot1p引流

2.10.6 配置基于service-class引流

2.10.7 配置基于TE Class ID引流

2.10.8 配置基于APN ID引流

2.10.9 配置基于静态路由引流

2.10.10 配置基于QoS策略引流

2.10.11 配置基于Flowspec引流

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

2.11 配置SRv6 TE Policy的封装方式

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

2.12.1 SRv6 TE Policy的智能策略路由配置任务简介

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

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

2.12.4 配置IPR模板的带宽采样功能

2.13 开启SRv6 TE Policy的SBFD功能

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

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

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

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

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

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

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

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

2.21.1 配置限制和指导

2.21.2 配置End.M SID

2.21.3 开启尾节点保护功能

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

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

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

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

2.25 配置SRv6 TE Policy CBTS

2.26 配置SRv6 TE Policy限速功能

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

2.28 配置通过SRv6 TE Policy转发时忽略SID列表最后一个SID功能

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

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

2.31 开启SRv6 TE Policy的日志功能

2.32 开启SRv6 TE Policy的告警功能

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

2.34 SRv6 TE Policy显示和维护

2.34.1 显示SRv6 TE Policy的运行状态和配置信息

2.34.2 显示SRv6 TE Policy组的运行状态和配置信息

2.34.3 显示BGP IPv6 SR Policy路由的运行状态和配置信息

2.34.4 显示SRv6 TE Policy的BFD和SBFD运行状态

2.34.5 显示SRv6 TE Policy尾节点保护的配置信息

2.34.6 显示和清除SRv6 TE Policy的流量转发统计信息

2.34.7 显示PCE进程SRv6 TE Policy的信息

2.34.8 显示SRv6 TE Policy的智能策略路由相关信息

2.34.9 显示SRv6 TE Policy模块的APN ID实例信息

2.35 SRv6 TE Policy典型配置举例‌

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

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

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

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

 

 


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

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

·     Binding SID

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

BSID可以通过手工配置的方式指定,也可以动态分配。作为一个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可以通过如下方式创建:

·     通过命令行手工创建

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

·     通过BGP IPv6 SR 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的有效性。

(1)     判断SID列表的有效性。如果存在以下任意情况,则该SID列表无效:

¡     SID列表中不存在任何SID;

¡     SID列表权重为零,静态配置的SID列表权重虽然不能为零,但动态计算的SID列表权重可能存在权重为零的情况;

¡     无需借助BFD/SBFD等检测手段,SRv6 TE Policy的头节点基于路由转发表项感知到SID列表中的首跳不可达。

¡     SID列表首跳可达,但通过BFD或SBFD等检测手段发现SID列表中存在其他SID不可达;

(2)     判断候选路径的有效性。通常情况下,要求SRv6 TE Policy候选路径下至少存在一条有效的SID列表,否则该候选路径无效。

只有SRv6 TE Policy中至少存在一条可用的候选路径时,该SRv6 TE Policy才有效。

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 TE Policy组由Group ID唯一标识,同时也存在BSID、Color和End-point属性:

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

·     Color:SRv6 TE Policy组携带的属性,可以用于将携带相同Color属性的BGP路由可以迭代到该SRv6 TE Policy组。

·     End-point:SRv6 TE Policy组目的节点的IPv6地址。End-point用于确认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组的目的节点地址。

·     通过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引流

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引流

1.5.1  基于BSID引流

如果接收到的报文的目的IPv6地址或出方向MPLS标签为某个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.2  基于Color引流

1. Color引流机制

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

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

图1-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.3  基于DSCP引流

1. DSCP引流机制

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

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

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

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

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

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

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

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

2. DSCP引流工作过程示例

图1-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.4  基于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.5  基于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.6  基于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.7  基于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.8  基于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.9  自引流功能

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

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

IGP Shortcut功能不会通过IGP路由协议将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.10  基于隧道策略、静态路由等方式引流

·     基于隧道策略引流:IP 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。

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

图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. 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的来回路径一致。

图1-18所示,可以通过指定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-18 SBFD检测SRv6 TE Policy指定回程路径示意图(Path Segment)

 

4. 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的来回路径一致。

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

 

5. 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-20所示,节点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-20 保护路径失效场景

 

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

 

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

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

(3)     节点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-22所示,以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-22 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 L3VPN/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

SRv6尾节点保护功能的示意图所示,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尾节点保护场景为例进行介绍。

SRv6尾节点保护功能的示意图所示,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列表的最后。

SRv6尾节点保护功能的示意图所示,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-23 SRv6 TE Policy尾节点保护转发示意图

 

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

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

(3)     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的智能策略路由功能

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

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

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

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

管理员可以根据业务需求进行配置,使优选的SRv6 TE Policy同时满足网络质量和隧道出接口的带宽使用率条件,也可以仅根据隧道的网络质量来优选SRv6 TE Policy,而不考虑隧道出接口的带宽使用率。SRv6 TE Policy的智能策略路由功能无法仅根据隧道出接口的带宽使用率来优选隧道。

1.8.1  根据隧道的网络质量优选隧道

图1-24所示,网络中两个节点间建立一个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-24 根据SRv6 TE Policy隧道的网络质量优选隧道示意图

 

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

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

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

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

 

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

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

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

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

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

1. 数据采集和统计

iFIT测量SRv6 TE Policy得到SRv6 TE Policy的隧道丢包率、时延和抖动数据等网络质量信息。

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

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

(2)     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报文的时间戳。

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

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

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

 

利用基于TE class ID的流量转发统计功能得到特定业务通过SRv6 TE Policy转发出接口的实时流量信息。

图1-27所示,开启SRv6 TE Policy组基于TE class ID的流量转发统计功能。当指定TE Class ID标识的业务流量引入到IPR模板中某个SRv6 TE Policy中转发后,头节点的IPR可以周期性采集SRv6 TE Policy中该业务的实时流量统计信息及SRv6 TE Policy转发出接口的流量统计信息。通过实时的业务流量占用带宽和SRv6 TE Policy转发出接口已占用的带宽信息,可以分析并计算业务切换SRv6 TE Policy隧道后,该SRv6 TE Policy隧道转发出接口的期望平均带宽利用率。

图1-27 流量统计功能

 

2. 路径优选和计算

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

¡     如果SRv6 TE Policy的最优候选路径存在多个SID列表,或者SID列表的首个SID存在多个等价出接口,SRv6 TE Policy的预期平均带宽利用率计算方式比较复杂,且这种情况的计算结果不能准确反映出各接口的带宽利用率。因此,在规划和创建SRv6 TE Policy时尽量避免这种情况。

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

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

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

说明: 注意

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

·     在使用SRv6 TE Policy的智能策略路由功能,基于带宽使用情况进行SRv6 TE Policy的优选时,如果不同业务复用同一SRv6 TE Policy时,可以使用基于TE class ID的流量转发统计来精准统计某一TE class ID标识的业务流量。如果未开启基于TE class ID的流量转发统计功能,则需要合理规划业务,建议创建IPR模板引用的SRv6 TE Policy仅用于承载单一业务,避免流量统计不准确。

 

3. 流量引入和转发

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

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

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

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

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

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

1.9  SRv6 TE Policy的应用

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

图1-29 基于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方式转发可以用于流量逃生。

 

2 SRv6 TE Policy的配置

2.1  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的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失效时丢弃流量的功能

¡     配置通过SRv6 TE Policy转发时忽略SID列表最后一个SID功能

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

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

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

¡     开启SRv6 TE Policy的日志功能

¡     开启SRv6 TE Policy的告警功能

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

2.2  创建SRv6 TE Policy

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

1. 功能简介

BSID是SRv6 TE Policy的入节点标识,通常用于将流量引入到该SRv6 TE Policy中转发。一个SRv6 TE Policy支持多个BSID。

最终生效的BSID可以通过display segment-routing ipv6 te policy命令查看。

2. 配置限制和指导

指定BSID为IPv6地址时:

·     该BSID必须在SRv6 TE视图下srv6-policy locator命令引用的SRv6 Locator的静态段范围内,且binding-sid命令指定的IPv6地址不能与SRv6 Locator视图下opcode命令已配置的SRv6 SID冲突。否则,该BSID不能正常生效,即通过该BSID不能将流量引入对应的SRv6 TE Policy中转发。

·     多次执行binding-sid命令指定IPv6地址作为BSID,最后一次执行的命令生效。

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

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

不同类型的Locator可携带的附加行为各不相同,配置本命令指定附加行为时,需要保证srv6-policy locator命令引用Locator段类型满足一定要求,例如:

·     只有引用Locator段为Default模式coc16类型的Locator才能分配携带COC&NEXT附加行为的BSID。

·     只有引用Locator段为coc16类型的Locator才能分配携带NEXT附加行为的BSID。

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

当配置SRv6 TE Policy的封装模式为Insert时,如果通过压缩的BSID引流到SRv6 TE Policy中,则封装方式实际为Encaps。

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。

¡     配置IPv6地址作为BSID

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

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

color color-value end-point { ipv4 ipv4-address | ipv6 ipv6-address }

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

2.2.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的候选路径下,手工指定引用的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.3  配置PCEP会话

2.3.1  配置限制和指导

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

2.3.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.3.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.3.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.4  配置候选路径并引用SID列表

2.4.1  配置限制和指导

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

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

1. 功能简介

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

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

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

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

可以为每个SID列表指定一个备份SID列表,当主用SID列表故障,则将流量切换到备份SID列表所表示的路径转发,以减少对业务的影响。如果存在多条有效候选路径时,当候选路径下所有主用和备用SID列表均故障时,流量才从当前候选路径切换到备份的候选路径中转发。

如果SID列表中携带了G-SID节点且该SID列表是通过控制器下发给转发设备,则请在控制器上配置index index-number ipv6 ipv6-address flavor flavor-number lb-length ln-length functiong-length args-length命令在SID列表中添加G-SID节点,形成一条包括G-SID节点的显式路径,并通过BGP IPv6 SR Policy地址族路由将该路径下发到转发设备上。转发设备上流量可以依次经过SID列表中的G-SID节点转发。

2. 配置限制和指导

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

·     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 ]

¡     在控制器上添加G-SID节点,指定SRv6 G-SID的类型及其附加行为及SRv6 G-SID的各部分长度。

index index-number ipv6 ipv6-address flavor flavor-number lb-length ln-length functiong-length args-length [ 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 [ local-binding-sid ipv6 ipv6-address | local-path-segment ipv6 ipv6-address | path-mtu mtu-value | reverse-binding-sid ipv6 ipv6-address | reverse-path-segment ipv6 reverse-ipv6-address | weight weight-value ] *

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

local-binding-sidreverse-binding-sid参数用于BFD echo方式检测SRv6 TE Policy。

local-path-segmentreverse-path-segment参数用于SBFD方式检测SRv6 TE Policy。

2.4.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列表中的SID最大数目。

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

2.4.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.4.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.4.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标签栈深度。

为以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.4.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标签栈深度。

为以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.4.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.4.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)     配置PCEP设备类型。

pcep type { active-stateful | passive-stateful }

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

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

pce peer ip-address delegation-priority priority

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

数值越小,优先级越高。

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

pce redelegation-timeout value

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

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

pce state-timeout value

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

5. 配置PCE托管功能

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

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

srv6-policy pce delegation enable

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

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

srv6-policy pce passive-delegate report-only enable

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

(6)     进入SRv6 TE Policy视图。

policy policy-name

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

pce delegation { enable | disable }

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

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

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

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

2.5  开启在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.6  配置动态路径计算的时间间隔

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.7  配置设备允许将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 [ srv6bindingtlv ]

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

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

2.9.1  配置限制和指导

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

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

(1)     ‍进入系统视图。

system-view

(2)     配置全局Router ID。

router id router-id

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

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

bgp as-number [ instance instance-name ]

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

(4)     配置对等体。

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

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

address-family ipv6 sr-policy

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

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

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

2.9.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 [ srv6bindingtlv ]

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

2.9.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.9.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.9.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.9.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)     配置路由的NEXT_HOP属性,请选择其中一项进行配置。

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

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

¡     向对等体/对等体组发布路由时,不修改路由的下一跳属性。

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

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

peer next-hop-local命令与peer next-hop-invariable命令互斥。

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

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

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

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

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

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

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

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

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

(8)     配置BGP路由反射。

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

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

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

b.     (可选)允许路由反射器在客户机之间反射BGP IPv6 SR Policy路由。

reflect between-clients

缺省情况下,允许路由反射器在客户机之间反射路由。

c.     (可选)配置路由反射器的集群ID。

reflector cluster-id { cluster-id | ipv4-address }

缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。

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

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

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

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

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

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

(11)     配置设备将BGP路由的MED属性传递给指定的EBGP对等体/对等体组。

peer { group-name | ipv6-address [ prefix-length ] } transmit-med-to-ebgp

缺省情况下,设备无法将收到的BGP路由中的MED属性传递给任何EBGP对等体。

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

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

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

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

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

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

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

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

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

(15)     配置路由优选延迟,请至少选择其中的一项进行配置。

¡     配置对地址族下的所有BGP路由延迟优选。

route-select delay delay-value

¡     配置邻居状态由Down变为Up后,在指定的持续时间内仅对来自该邻居的BGP路由延迟优选。

route-select suppress on-peer-up milliseconds

缺省情况下,路由优选不延迟。

2.9.8  维护BGP会话

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

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

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

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

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

2.10  配置SRv6 TE Policy引流

2.10.1  配置SRv6-TE的引流方式

1. 配置限制和指导

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

2. 配置准备

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

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

3. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

sr-policy steering { disable | policy-based }

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

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

2.10.2  配置基于Color引流

1. 功能简介

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

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

·     为路由指定缺省Color值。

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

缺省情况下,一条路由被发送给多个BGP对等体时,只有其携带的一个Color扩展团体属性可以被用于路由迭代,这可能导致部分对等体可以使用该Color扩展团体属性成功将路由迭代到SRv6 TE Policy隧道,而部分对等体无法通过该Color扩展团体属性将路由成功迭代。但是无法迭代的这部分对等体仍有可能存在其他可用的SRv6 TE Policy隧道到达BGP路由的目的地址。

多Color迭代功能用于解决上述问题,使得BGP路由在携带多个Color扩展团体属性时,这些Color扩展团体属性都可以用于BGP路由迭代到SRv6 TE Policy,增加BGP路由通过Color扩展团体属性迭代到SRv6 TE Policy隧道的成功率。

Color扩展团体属性的形式为CO(Color-Only)标记位:color-value,开启多Color迭代功能后,对于BGP路由携带的多个Color扩展团体属性,优先选择color-value值最大的Color扩展团体属性进行迭代;如果color-value值相同,则选择CO标记位值最大的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 }&<1-32> [ 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值。

6. 开启多Color迭代功能

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     开启多Color迭代功能。

sr-policy multi-color enable

多Color迭代功能处于关闭状态,如果BGP路由携带多个Color扩展团体属性,只有值最大的Color扩展团体属性可以用于路由迭代。

2.10.3  配置基于隧道策略引流

1. 创建隧道策略

(1)     ‍进入系统视图。

system-view

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

tunnel-policy tunnel-policy-name [ default ]

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

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

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

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

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

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

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

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

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

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

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

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

(1)     ‍进入系统视图。

system-view

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

¡     进入VPN实例视图。

ip vpn-instance vpn-instance-name

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

ip vpn-instance vpn-instance-name

address-family ipv4

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

ip vpn-instance vpn-instance-name

address-family ipv6

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

tnl-policy tunnel-policy-name

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

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

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.10.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。

2. 配置限制和指导

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

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

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

当设备收到未匹配Color和DSCP映射关系的IPv4/IPv6地址族报文时,依次按照如下原则选择报文转发方式:

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

(2)     如果另一地址族已配置缺省的SRv6 TE Policy,且该SRv6 TE Policy有效,则采用该SRv6 TE Policy转发报文。

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

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

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

(6)     上述条件均未满足时,报文不通过SRv6 TE Policy转发,查找IPv6路由表转发。

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 { ipv4 ipv4-address | ipv6 ipv6-address }

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

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

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

group-color color-value

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

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

binding-sid ipv6 ipv6-address

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

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

drop-upon-mismatch enable

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

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

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

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

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

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

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

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

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

on-demand-group color color-value

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

description text

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

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

drop-upon-mismatch enable

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

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

forward-type dscp

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

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

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

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

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

5. 引流到SRv6 TE Policy组

(1)     进入系统视图。

system-view

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

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

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

tunnel-policy tunnel-policy-name [ default ]

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

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

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

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

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

请参见“配置基于Color引流

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

2.10.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组内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优先级最小且该802.1p优先级对应的SRv6 TE Policy有效的映射关系,采用该映射关系中指定的SRv6 TE Policy转发报文。

(3)     上述条件均未满足时,报文不通过SRv6 TE Policy转发,查找IPv6路由表转发。

2. 配置限制和指导

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

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

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

3. 手工创建SRv6 TE Policy组

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

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

policy-group group-id

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

end-point { ipv4 ipv4-address | 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组的转发类型为Dot1p。

forward-type dot1p

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

(10)     配置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.10.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的逃生路径。

基于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组内配置了Color和service-class的映射关系,则查找service-class值最小且该service-class值对应的SRv6 TE Policy有效的映射关系,采用该映射关系中指定的SRv6 TE Policy转发报文。

(5)     上述条件均未满足时,报文不通过SRv6方式转发,而是直接查找IPv6路由表转发。

2. 配置限制和指导

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

一个SRv6 TE Policy组内,每个service-class只能关联SRv6 BE方式或一个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 { ipv4 ipv4-address | 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组的转发类型为service-class。

forward-type service-class

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

(10)     配置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的映射关系。

(11)     配置指定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)     创建DSCP转发类型,并进入service-class转发类型视图。

forward-type service-class

(8)     配置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的映射关系。

(9)     配置指定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.10.7  配置基于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命令指定的默认转发策略进行转发。

流量按照默认转发策略转发时,按如下优先顺序选取转发策略:

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

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

(3)     根据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转发报文。当SRv6 TE Policy组内未配置任何TE Class ID和IPR模板、SRv6 TE Policy或SRv6 BE的映射关系,或者最小索引值指定的IPR模板、SRv6 TE Policy或SRv6 BE无效时,继续下一步来选择报文转发方式。

(4)     上述条件均不满足时,报文直接查找IPv6路由表转发。

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转发不可以同时存在。

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

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     (可选)全局开启SRv6 TE Policy组基于TE class ID的流量转发统计功能。

srv6-policy policy-group forwarding statistics te-class enable

缺省情况下,SRv6 TE Policy组基于TE class ID的流量转发统计功能处于关闭状态。

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

policy-group group-id

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

end-point { ipv4 ipv4-address | ipv6 ipv6-address }

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

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

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

group-color color-value

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

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

binding-sid ipv6 ipv6-address

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

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

drop-upon-mismatch enable

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

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

forward-type te-class

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

(11)     (可选)配置SRv6 TE Policy组基于TE class ID的流量转发统计功能。

forwarding statistics { disable | enable }

缺省情况下,未配置SRv6 TE Policy组基于TE class ID的流量转发统计功能,以SRv6 TE视图下的配置为准。

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

(13)     (可选)配置基于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组基于TE class ID的流量转发统计功能。

srv6-policy policy-group forwarding statistics te-class enable

缺省情况下,SRv6 TE Policy组基于TE class ID的流量转发统计功能处于关闭状态。

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

on-demand-group color color-value

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

description text

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

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

drop-upon-mismatch enable

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

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

forward-type te-class

(9)     (可选)配置SRv6 TE Policy组基于TE class ID的流量转发统计功能。

forwarding statistics { disable | enable }

缺省情况下,未配置SRv6 TE Policy组基于TE class ID的流量转发统计功能,以SRv6 TE视图下的配置为准。

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

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

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

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

default match best-effort

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

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

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.10.8  配置基于APN ID引流

1. 功能简介

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

2. 配置限制和指导

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

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

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

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

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

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

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

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

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

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

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

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

policy-group group-id

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

end-point { ipv4 ipv4-address | ipv6 ipv6-address }

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

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

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

group-color color-value

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

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

binding-sid ipv6 ipv6-address

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

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

drop-upon-mismatch enable

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

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

forward-type apn-id

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

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

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

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

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

default match best-effort

default match srv6-policy color color-value

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

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

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

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6 TE视图。

traffic-engineering

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

on-demand-group color color-value

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

description text

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

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

drop-upon-mismatch enable

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

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

forward-type apn-id

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

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

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

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

default match best-effort

default match srv6-policy color color-value

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

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

5. 引流到SRv6 TE Policy组

(1)     进入系统视图。

system-view

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

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

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

tunnel-policy tunnel-policy-name [ default ]

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

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

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

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

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

请参见“配置基于Color引流

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

2.10.9  配置基于静态路由引流

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 } [ sid sid ] [ 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 } [ sid sid ] [ 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 } [ sid sid ] [ 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 } [ sid sid ] [ preference preference ] [ tag tag-value ] [ description text ]

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

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

2.10.10  配置基于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.10.11  配置基于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 ]

缺省情况下,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.10.12  配置SRv6 TE Policy自动引流功能

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     进入SRv6 TE Policy视图。

policy policy-name

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

autoroute enable [ isis | ospfv3 ]

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

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

autoroute metric { absolute value | relative value }

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

(7)     退回系统视图。

quit

quit

quit

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

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

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

address-family ipv6 [ unicast ]

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

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

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

srv6-policy autoroute enable

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

2.11  配置SRv6 TE Policy的封装方式

1. 功能简介

报文通过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信息。

引流到SRv6 TE Policy时,缺省情况下,如果头节点的SRv6 SID是End.X SID,则不会将该SID封装到SRH中。为了通过报文中的SRH获取完整的路径信息,即获取到SRv6转发路径上所有SRv6节点的信息,在封装SRH时可以添加本地的End.X SID。

2. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的封装方式。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

普通封装模式与插入封装模式互斥:配置普通封装模式后,系统会自动删除已配置的插入封装模式;配置插入封装模式后,系统会自动删除已配置的普通封装模式。

配置Insert方式或Insert.Red方式后,如果设备收到IPv4报文,则设备将按照Encaps方式封装报文。

在SRv6-TE视图下,同时配置了普通封装的简化模式和普通封装模式时SRH中包含本地End.X SID,普通封装模式时SRH中包含本地End.X SID生效。

在SRv6-TE视图下,同时配置了插入封装的简化模式和插入封装模式时SRH中包含本地End.X SID,插入封装模式时SRH中包含本地End.X SID生效。

在SRv6 TE Policy视图下,同时配置了普通封装的简化模式和普通封装模式时SRH中包含本地End.X SID,普通封装模式时SRH中包含本地End.X SID生效。

在SRv6 TE Policy视图下,同时配置了插入封装的简化模式和插入封装模式时SRH中包含本地End.X SID,插入封装模式时SRH中包含本地End.X SID生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     全局配置SRv6 TE Policy的封装模式。请选择其中一项进行配置。

¡     全局配置SRv6 TE Policy的封装模式为普通封装的简化模式。

srv6-policy encapsulation-mode encaps reduced

¡     全局配置SRv6 TE Policy的封装模式为插入封装模式或插入封装的简化模式。

srv6-policy encapsulation-mode insert

srv6-policy encapsulation-mode insert reduced

缺省情况下,SRv6 TE Policy的封装模式为Encaps模式。

(5)     全局配置通过SRv6 TE Policy转发报文时SRH中包含本地End.X SID。请选择其中一项进行配置。

¡     全局配置通过SRv6 TE Policy转发报文采用普通封装模式时SRH中包含本地End.X SID。

srv6-policy encapsulation-mode encaps include local-end.x

¡     全局配置通过SRv6 TE Policy转发报文采用插入封装模式时SRH中包含本地End.X SID。

srv6-policy encapsulation-mode insert include local-end.x

缺省情况下,通过SRv6 TE Policy转发报文时封装的SRH中不包含本地End.X SID。

(6)     进入SRv6 TE Policy视图。

policy policy-name

(7)     配置SRv6 TE Policy的封装模式。请选择其中一项进行配置。

¡     配置SRv6 TE Policy的封装模式为普通封装的简化模式。

encapsulation-mode encaps reduced [ disable ]

¡     配置SRv6 TE Policy的封装模式为插入封装模式或插入封装的简化模式。

encapsulation-mode insert

encapsulation-mode insert reduced [ disable ]

缺省情况下,未配置SRv6 TE Policy的封装模式,以SRv6-TE视图下的配置为准。

(8)     配置通过SRv6 TE Policy转发报文时SRH中是否包含本地End.X SID。请选择其中一项进行配置。

¡     配置通过SRv6 TE Policy转发报文采用普通封装模式时SRH中是否包含本地End.X SID。

encapsulation-mode encaps include local-end.x [ disable ]

¡     配置通过SRv6 TE Policy转发报文采用插入封装模式时SRH中是否包含本地End.X SID。

encapsulation-mode insert include local-end.x [ disable ]

缺省情况下,未配置通过SRv6 TE Policy转发报文时封装的SRH中是否包含本地End.X SID,以SRv6-TE视图下的配置为准。

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

SRv6 TE Policy头节点上部署SRv6 TE Policy的智能策略路由功能后,使得设备可以根据SRv6 TE Policy隧道的网络质量和转发出接口的带宽利用率,从SRv6 TE Policy组中的多个SRv6 TE Policy隧道中动态优选SRv6 TE Policy隧道作为业务承载隧道,从而保证业务质量。

只有SRv6 TE Policy组的转发类型为基于TE Class ID引流,并且指定了TE Class ID和IPR模板映射关系时,本功能才能生效。关于基于TE Class ID引流的详细介绍,请参见“配置基于TE Class ID引流”。

2.12.1  SRv6 TE Policy的智能策略路由配置任务简介

SRv6 TE Policy的智能策略路由配置任务如下:

(1)     配置SRv6 TE Policy的iFIT测量功能

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

(3)     (可选)配置IPR模板的带宽采样功能

如果未开启IPR模板的带宽采样功能,则智能策略路由在路径优选时仅要求SRv6 TE Policy的时延、抖动和丢包等网络质量符合IPR模板定义的SLA标准。

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

1. 配置限制和指导

·     iFIT是一种随流OAM检测技术,当存在流量通过该SRv6 TE Policy转发时,iFIT才能测量该SRv6 TE Policy的丢包率、时延和抖动信息,因此,为了保证SRv6 TE Policy可实现iFIT测量功能,可以开启SRv6 TE Policy的SBFD或echo方式的BFD检测功能,使用SBFD或echo方式的BFD报文作为背景流量用于iFIT测量。关于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,网络时间协议)可用于实现设备间的时间同步。

·     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.12.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模板的时延、抖动、丢包率等网络质量标准,请选择其中一项或多选配置。

¡     配置IPR模板的时延标准。

delay threshold time-value

缺省情况下,IPR模板的时延标准为5000毫秒。

¡     配置IPR模板的抖动标准。

jitter threshold time-value

缺省情况下,IPR模板的抖动标准为3000毫秒。

¡     配置IPR模板的丢包率标准。

loss threshold threshold-value

缺省情况下,IPR模板的丢包率标准为1000‰。

¡     配置IPR模板的CMI标准。

cmi threshold threshold-value

缺省情况下,IPR模板的CMI标准为9000。

(10)     (可选)配置IPR模板中SRv6 TE Policy之间的切换时延。

switch-period time-value

缺省情况下,IPR模板中SRv6 TE Policy之间的切换时延为6秒。

(11)     (可选)配置IPR模板的回切时延。

wait-to-restore-period time-value

缺省情况下,IPR模板的回切时延为6秒。

2.12.4  配置IPR模板的带宽采样功能

1. 功能简介

开启IPR模板的带宽采样功能后,IPR算路并选取的最优SRv6 TE Policy的过程中,不仅需要满足IPR模板中定义的时延、抖动和丢包等网络质量要求,还需要满足对带宽利用率的要求。只有时延、抖动和丢包等网络质量符合IPR模板定义的SLA标准,且带宽利用率不超出bandwidth-threshold upper命令定义的带宽利用率阈值上限的SRv6 TE Policy,能参与最优SRv6 TE Policy计算。

如果未开启IPR模板的带宽采样功能,则智能策略路由在路径优选时仅要求SRv6 TE Policy的时延、抖动和丢包等网络质量符合IPR模板定义的SLA标准。

关于根据隧道出接口的带宽利用率计算和优选路径的详细机制,请参见“SRv6 TE Policy的智能策略路由功能”。

2. 配置限制和指导

请在SRv6 TE Policy组视图或TE Class转发类型视图下先执行forwarding statistics命令或在SRv6 TE视图下先执行srv6-policy policy-group forwarding statistics te-class enable命令开启SRv6 TE Policy组基于TE class ID的流量转发统计功能,SRv6 TE Policy智能策略路由基于带宽使用情况进行路径调优才能更加准确。

SRv6 TE视图可以配置srv6-policy bandwidth sample enable命令开启全局带宽采样功能,也可以在SRv6 TE IPR模板视图配置bandwidth sample命令开启带宽采样功能。SRv6 TE视图的配置对所有IPR模板都有效,而SRv6 TE IPR视图的配置只对该IPR模板有效。对于一个IPR模板来说,以SRv6 TE IPR模板视图下的配置为准,只有该SRv6 TE IPR模板视图内未进行配置时,才采用SRv6 TE视图的配置。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     开启全局带宽采样功能。

srv6-policy bandwidth sample

缺省情况下,全局带宽采样功能处于关闭状态。

(5)     (可选)配置SRv6 TE Policy转发出接口的带宽利用率采样周期。

srv6-policy bandwidth sample interval time-value

缺省情况下,SRv6 TE Policy转发出接口的带宽利用率采样周期为30秒。

(6)     (可选)配置带宽阈值下限。

srv6-policy bandwidth-threshold lower lower-value

IPR周期性进行路径调优时,如果发现存在至少一个SRv6 TE Policy的选路优先级高于当前承载业务的SRv6 TE Policy,且该SRv6 TE Policy的预期平均带宽利用率小于等于Min(bandwidth-threshold switch-back命令配置IPR模板的业务回切带宽利用率阈值,srv6-policy bandwidth-threshold lower命令配置带宽阈值下限),Min(a,b)表示a和b之间的较小值。则可以启动业务回切流程。

(7)     开启智能策略路由功能,并进入SRv6 TE IPR视图。

intelligent-policy-route

缺省情况下,智能策略路由功能处于关闭状态。

(8)     配置IPR模板,并进入对应的SRv6 TE IPR模板视图。

ipr-policy ipr-name

缺省情况下,未配置IPR模板。

(9)     配置IPR模板的带宽采样功能。

bandwidth sample { disable | enable }

缺省情况下,SRv6 TE IPR模板下未配置带宽采样功能,SRv6 TE IPR模板的带宽采样功能的状态以SRv6 TE视图下的配置为准。

(10)     配置SRv6 TE IPR模板的业务期望带宽。

expect-bandwidth bandwidth-value

缺省情况下,SRv6 TE IPR模板承载业务的期望带宽为0kbps。

如果没有统计到TE Class ID标识的业务流量时,则选择该SRv6 TE Policy视图下expect-bandwidth命令配置的SRv6 TE Policy业务期望带宽。如果SRv6 TE Policy视图下未配置业务期望带宽时,则选择SRv6 TE IPR模板视图下expect-bandwidth命令指定的SRv6 TE IPR模板的业务期望带宽。

(11)     (可选)配置IPR模板的带宽利用率的阈值上限。

bandwidth-threshold upper upper-value

缺省情况下,IPR模板的带宽利用率的阈值上限为90%。

(12)     (可选)配置IPR模板的业务回切的带宽利用率阈值。

bandwidth-threshold switch-back threshold-value

缺省情况下,IPR模板的业务回切带宽利用率阈值为70%。

(13)     (可选)配置IPR模板的切换调度优先级。

schedule-priority priority-value

缺省情况下,未配置IPR的切换调度优先级。

(14)     (可选)依次执行以下命令,配置SRv6 TE Policy的业务期望带宽。

a.     退回到SRv6 TE视图。

quit

quit

b.     进入IPR模板中对应的SRv6 TE Policy视图。

policy policy-name

c.     配置SRv6 TE Policy的业务期望带宽。

expect-bandwidth bandwidth-value

缺省情况下,SRv6 TE Policy承载业务的期望带宽为0kbps。

2.13  开启SRv6 TE Policy的SBFD功能

1. 功能简介

通过SBFD检测SRv6 TE Policy时,需要为SBFD报文封装SRv6 TE Policy的SID列表,封装模式包括:

·     Encaps方式:普通封装模式。在原始报文的基础上封装新的IPv6头和SRH。

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

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

·     Insert方式:含Endpoint的插入封装模式。为了减少报文头部的长度,可以采用这类封装方式,即无需封装新的IPv6报文头,仅在原始SBFD报文头中插入SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

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

¡     SRH中包含待检测的SRv6 TE Policy的SID列表中所有SID信息以及SRv6 TE Policy的End-point,且End-point处于SID列表的最后一位。

·     Insert no-endpoint方式:无Endpoint的插入封装模式。当SRH中SID列表的最后一个SID和SRv6 TE Policy的End-point指定的是同一节点时,SBFD报文中可以不用封装End-point,此时可以指定这种封装方式,即在原始IPv6报文头后插入不含End-point的SRH,且SRv6 TE Policy的SID列表中的所有SID均封装在SRH中。

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

¡     SRH中仅包含待检测的SRv6 TE Policy的SID列表中所有SID信息,但不包含SRv6 TE Policy的End-point。

通过SBFD方式检测SRv6 TE Policy连通性时,缺省情况下,SBFD回程报文均通过IP路径转发,一旦中间设备故障,则回程报文会被丢弃,导致SBFD会话down,从而错误地认为所有SRv6 TE Policy的SID列表故障。为了解决上述问题,可以使SBFD回程报文按照SRv6 TE Policy的指定SID列表转发,实现去程和回程路径一致的功能,或者叫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方式可以避免厂商间不兼容的问题。

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会话,报文按如下优先顺序选取报文源地址:

(1)     source-address命令指定的报文源地址;

(2)     sbfd source-ipv6命令指定的地址。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置使用SBFD对SRv6转发路径进行故障检测时SBFD报文的封装模式。

bfd srv6-encapsulation-mode insert [ no-endpoint ]

缺省情况下,使用Encap模式封装BFD/SBFD报文,在原始报文基础上添加新的IPv6基本头和SRH,添加的SRH中包含SRv6 TE Policy的SID列表。如果SID列表长度为0,则不添加SRH。

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

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

(7)     (可选)全局开启BFD down联动SRv6 TE Policy路径切换功能。

srv6-policy bfd trigger path-down enable

缺省情况下,BFD down联动SRv6 TE Policy路径切换功能处于关闭状态。

(8)     (可选)配置检测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秒。

(9)     (可选)开启SRv6 TE Policy的BFD/SBFD会话合一功能。

srv6-policy bfd session optimization

缺省情况下,SRv6 TE Policy的BFD/SBFD会话合一功能处于关闭状态。

(10)     进入SRv6 TE Policy视图。

policy policy-name

(11)     (可选)配置SRv6 TE Policy SBFD报文的源地址。

source-address { ipv4 ipv4-address | ipv6 ipv6-address }

缺省情况下,未配置SRv6 TE Policy SBFD报文的源地址。

(12)     依次执行以下命令,在SID列表中配置本地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-path-segment ipv6 ipv6-address | reverse-path-segment ipv6 reverse-ipv6-address | backup-segment-list backup-segment-list-name [ backup-local-path-segment ipv6 ipv6-address | backup-reverse-path-segment ipv6 reverse-ipv6-address ] * ] *

(13)     配置SRv6 TE Policy的SBFD功能。

sbfd { disable | enable [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert [ no-endpoint ] ] [ reverse-path path-segment ] }

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

(14)     (可选)开启BFD down联动SRv6 TE Policy路径切换功能。

bfd trigger path-down { disable | enable }

缺省情况下,未配置BFD down联动SRv6 TE Policy路径切换功能,以SRv6-TE视图下的配置为准。

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

1. 功能简介

通过BFD echo方式检测SRv6 TE Policy连通性时,缺省情况下,BFD回程报文通过IP路径转发。如果中间设备故障,则回程报文会被丢弃,导致BFD会话down,从而错误地认为SID列表故障。

为了解决上述问题,可以使BFD回程报文按照SRv6 TE Policy的指定SID列表转发,以确保连通性。具体实现机制为:

(1)     在源节点的SID列表视图下配置反向BSID,在尾节点的SID列表视图下配置本地BSID,二者值相同。

(2)     源节点发送BFD报文时,SRH中除了封装SID列表外,还会将该SID列表的反向BSID封装到SL=1的位置。

(3)     尾节点收到该BFD报文,查找SRH信息时,如果报文中SL=1对应的SID与尾节点配置的本地BSID相同,则为BFD回程报文封装SRH,沿着本地BSID所在的SID列表转发。

通过echo报文方式的BFD检测SRv6 TE Policy时,需要为BFD报文封装SRv6 TE Policy的SID列表,封装模式包括:

·     Encaps方式:普通封装模式。在原始报文的基础上封装新的IPv6头和SRH。

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

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

·     Insert方式:插入封装模式。为了减少报文头部的长度,可以采用这类封装方式,即无需封装新的IPv6报文头,仅在原始BFD echo报文头后插入SRH。

¡     原始BFD echo报文头的目的IPv6地址改为SRv6 TE Policy的SID列表中的第一个IPv6地址,BFD echo报文的源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视图的配置。

对于echo报文方式的BFD会话,echo报文按如下优先顺序选取报文源地址:

(1)     source-address命令指定的报文源地址;

(2)     bfd echo-source-ip命令或bfd echo-source-ipv6命令指定的报文源地址;

(3)     bfd echo命令指定的BFD会话源地址;

(4)     srv6-policy bfd echo命令指定的BFD会话源地址。

SRv6 TE Policy的头节点上通过执行bfd echo命令或者srv6-policy bfd echo命令指定的BFD会话的源地址即echo报文的目的地址,当echo报文的源地址和目的地址相同时,部署了安全功能(例如uRPF)的网络设备会将该echo报文视为非法报文而拦截,导致BFD echo会话无法建立。因此请合理配置echo报文的源地址,避免出现echo报文的源地址和目的地址相同情况。

当在SRv6 TE Policy视图下执行bfd echo命令未指定source-ipsource-ipv6参数时,则必须在SRv6-TE视图下通过本命令开启SRv6 TE Policy的echo BFD功能,否则无法建立BFD会话。

目前,支持通过BFD echo报文和SBFD两种方式检测SRv6 TE Policy。在同一SRv6 TE Policy下同时配置以上两种检测方式时,SBFD检测生效。

配置本功能前,需要先在本端设备上执行bfd echo-source-ip命令或bfd echo-source-ipv6命令配置echo报文的源地址。

当SRv6 TE Policy的Endpoint目的节点地址为IPv4地址,即BFD echo报文采用IPv4地址作为源地址时,只能采用Encaps方式封装报文:

·     本命令即使指定了insert参数配置BFD报文插入封装模式也不生效,BFD echo会话也无法建立。

BFD echo报文采用IPv4地址作为源地址封装报文时,需要在IPv6报文头之后封装一层IPv4报文头,并将指定的IPv4目的地址作为IPv4报文头的目的地址。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置使用BFD对SRv6转发路径进行故障检测时BFD报文的封装模式。

bfd srv6-encapsulation-mode insert [ no-endpoint ]

缺省情况下,使用Encap模式封装BFD/SBFD报文,在原始报文基础上添加新的IPv6基本头和SRH,添加的SRH中包含SRv6 TE Policy的SID列表。如果SID列表长度为0,则不添加SRH。

(3)     进入SRv6视图。

segment-routing ipv6

(4)     进入SRv6-TE视图。

traffic-engineering

(5)     全局开启SRv6 TE Policy的echo报文方式的BFD检测功能并配置相关参数。

srv6-policy bfd echo { source-ip ipv4-address | source-ipv6 ipv6-address } [ template template-name ] [ backup-template backup-template-name ] [ reverse-path reverse-binding-sid ]

缺省情况下,SRv6 TE Policy的echo报文方式的BFD检测功能处于关闭状态。

(6)     (可选)在SID列表中配置本地BSID和反向BSID。

a.     进入SID列表视图。

segment-list segment-list-name

b.     在SRv6 TE Policy尾节点配置本地BSID。

local-binding-sid ipv6 ipv6-address

c.     在SRv6 TE Policy源节点配置反向BSID。

reverse-binding-sid ipv6 ipv6-address

d.     退回SRv6 TE视图。

quit

配置的本地BSID、反向BSID不能和SRv6 TE Policy的BSID相同,否则会导致SID列表无效,无法转发报文。

配置的本地BSID、反向BSID必须在SRv6 TE视图下引用的Locator的静态段范围内。否则,BSID对应的SID列表不能用于报文转发。

(7)     (可选)全局开启BFD down联动SRv6 TE Policy路径切换功能。

srv6-policy bfd trigger path-down enable

缺省情况下,BFD down联动SRv6 TE Policy路径切换功能处于关闭状态。

(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的BFD/SBFD会话合一功能。

srv6-policy bfd session optimization

缺省情况下,SRv6 TE Policy的BFD/SBFD会话合一功能处于关闭状态。

(10)     进入SRv6 TE Policy视图。

policy policy-name

(11)     (可选)配置SRv6 TE Policy echo报文的源地址。

source-address { ipv4 ipv4-address | ipv6 ipv6-address }

缺省情况下,未配置SRv6 TE Policy echo报文的源地址。

(12)     配置SRv6 TE Policy的echo报文方式的BFD检测功能。

bfd echo { disable | enable [ source-ip ipv4-address | source-ipv6 ipv6-address ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert ] [ reverse-path reverse-binding-sid ] }

缺省情况下,未配置SRv6 TE Policy的echo报文方式的BFD检测功能,以SRv6-TE视图下的配置为准。

指定reverse-path参数后,BFD报文仅支持采用Insert方式,配置的encaps参数不生效。

(13)     (可选)开启BFD down联动SRv6 TE Policy路径切换功能。

bfd trigger path-down { disable | enable }

缺省情况下,未配置BFD down联动SRv6 TE Policy路径切换功能,以SRv6-TE视图下的配置为准。

(14)     引用SID列表时指定用于BFD检测的IP-in IP封装、本地BSID和反向BSID。

a.     进入SRv6 TE Policy候选路径视图。

candidate-paths

b.     进入SRv6 TE Policy候选路径优先级视图。

preference preference-value

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

c.     引用SID列表时指定用于BFD检测的本地BSID和反向BSID。

explicit segment-list segment-list-name [ local-binding-sid ipv6 ipv6-address | reverse-binding-sid ipv6 ipv6-address ] *

对于本地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.15  开启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视图的配置。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     开启SRH标志检查功能。

sr-te srh-flag-check enable

 

缺省情况下,SRH标志检查功能处于关闭状态。

(4)     进入SRv6 TE视图。

traffic-engineering

(5)     全局开启SRv6 TE Policy的BFD No-Bypass功能。

srv6-policy bfd no-bypass

缺省情况下,BFD No-Bypass功能处于关闭状态,即主用候选路径中所有Segment List故障时,BFD/SBFD报文可以通过本地保护路径转发。

(6)     进入SRv6 TE Policy视图。

policy policy-name

(7)     配置SRv6 TE Policy的BFD No-Bypass功能和BFD Bypass功能。

bfd { bypass | no-bypass }

缺省情况下,未配置SRv6 TE Policy的BFD No-Bypass功能和BFD Bypass功能,以SRv6 TE视图下的配置为准。

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

1. 功能简介

开启本功能后,如果一个SRv6 TE Policy下面存在多条候选路径,SRv6 TE Policy的主备路径存在以下两种情况:

·     一主一备:SRv6 TE Policy中优先级最高的有效路径是主路径,优先级次高的有效路径是备份路径。如果主路径下所有Segment List都发生故障,则将流量切换到备路径转发,以减少对业务的影响。

·     一主两备:SRv6 TE Policy中优先级最高的有效路径是主路径,优先级次高的有效路径作为第一条备份路径,优先级第三高的有效候选路径作为第二条备份路径。如果主路径下所有Segment List都发生故障,则将流量切换到第一条备路径转发;如果第一条备份路径下所有Segment List都发生故障,则将流量切换到第二条备路径转发。

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 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.17  配置SRv6 TE Policy的慢切慢删功能

1. 功能简介

为了防止SID列表切换导致流量转发失败,在SRv6 TE Policy的SID列表切换过程中,流量先保持按照老的SID列表转发,切换延迟时间超时后再按照新的SID列表转发流量,并在删除延迟时间超时后将老的SID列表删除。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     进入SRv6-TE视图。

traffic-engineering

(4)     配置SRv6 TE Policy中转发路径的切换延迟时间和删除延迟时间。

srv6-policy switch-delay switch-delay-time delete-delay delete-delay-time

缺省情况下,SRv6 TE Policy中转发路径的切换延迟时间为5000毫秒,删除延迟时间为20000毫秒。

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

1. 功能简介

当SRv6 TE Policy故障恢复时,为了避免SRv6 TE Policy频繁震荡导致丢包,可以配置本功能,使SRv6 TE Policy延迟激活,即延迟一段时间再使用该SRv6 TE Policy转发流量,以确保SRv6 TE Policy的故障彻底消除。

配置本功能后,需要根据SRv6 TE Policy的SBFD功能的配置情况,启动不同类型的延迟激活定时器:

·     LSP类型定时器:未开启SBFD功能,且SID列表状态由Down变为Up时,启动LSP类型定时器。

·     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.19  配置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的头节点配置本功能。

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

当Segment List路径中存在Binding SID时,由于Binding SID不在IGP拓扑中泛洪,所以路径校验会失败,因此,在部署Binding SID场景,不能配置头节点故障感知功能。

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 [ rib-check-only ]

缺省情况下,SRv6 TE Policy路径连通性检查功能处于关闭状态。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置SRv6 TE Policy路径连通性检查功能。

path verification { [ specified-sid ] enable [ rib-check-only ] | disable }

缺省情况下,未配置SRv6 TE Policy路径连通性检查功能,以SRv6-TE视图下的配置为准。

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

1. 功能简介

开启SRv6 TE FRR功能后,当SRv6 TE Policy的中间节点发生故障时,故障节点的上游节点可以代替故障节点完成报文转发,使报文绕过故障节点,实现中间节点故障的保护。这个上游节点称之为代理转发(Proxy Forwarding)节点。

2. 配置限制和指导

组网环境复杂时,中间节点并不固定,所以,为了提供整网可靠性,建议在所有节点上开启SRv6 TE FRR功能。建议在源节点上同时开启备份路径功能。

在中间节点保护组网环境中,用户同时部署了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命令,配置BFD报文采用普通封装模式。

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.21  配置SRv6 TE Policy尾节点保护功能

2.21.1  配置限制和指导

在SRv6 TE Policy尾节点保护组网环境中,报文经过的所有节点均需支持SRv6功能。

2.21.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.21.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.21.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.22  配置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.23  配置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.24  配置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.25  配置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的转发类。

2.26  配置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.27  开启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无效)时,drop-upon-invalid enable命令不生效。

对于基于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.28  配置通过SRv6 TE Policy转发时忽略SID列表最后一个SID功能

1. 功能简介

在SRv6 VPN场景中,如果公网通过SRv6 TE Policy转发,则为报文封装的SRH需要包括SRv6 TE Policy的SID列表和为VPN实例或公网实例分配的SID(下文End.DT4 SID为例进行介绍)。因为SID列表最后一个SID和End.DT4 SID均在尾节点上,所以可以忽略SID列表中最后一个SID,使用End.DT4 SID定位尾节点,以减少SRv6报文大小。

2. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置通过SRv6 TE Policy转发时忽略SID列表最后一个SID功能。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转发时忽略SID列表最后一个SID功能。

srv6-policy forwarding ignore-last-sid

缺省情况下,通过SRv6 TE Policy转发时忽略SID列表最后一个SID功能处于关闭状态。

(5)     进入SRv6 TE Policy视图。

policy policy-name

(6)     配置通过SRv6 TE Policy转发时忽略SID列表最后一个SID功能。

forwarding ignore-last-sid { disable | enable }

缺省情况下,未配置通过SRv6 TE Policy转发时忽略SID列表最后一个SID功能,以SRv6-TE视图下的配置为准。

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

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.30  配置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.31  开启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.32  开启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.33  配置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.34  SRv6 TE Policy显示和维护

2.34.1  显示SRv6 TE Policy的运行状态和配置信息

·     显示SRv6 TE Policy信息。

display segment-routing ipv6 te policy [ odn | pce ] [ name policy-name | down | up | { color color-value | end-point { ipv4 ipv4-address | ipv6 ipv6-address } } * ]

·     显示SRv6 TE Policy的状态。

display segment-routing ipv6 te policy status [ policy-name policy-name ]

·     显示SRv6 TE Policy的统计信息。

display segment-routing ipv6 te policy statistics

·     显示SRv6 TE Policy最近一次down的原因。

display segment-routing ipv6 te policy last-down-reason [ binding-sid ipv6-address | color color-value endpoint { ipv4 ipv4-address | ipv6 ipv6-address } | policy-name policy-name ]

·     显示SRv6-TE的SID列表信息。

display segment-routing ipv6 te segment-list [ name seglist-name | id id-value ]

·     显示SRv6 TE Policy的数据库信息。

display segment-routing ipv6 te database [ link | node | prefix | srv6-sid ]

·     显示从LS数据库中收集到的SRv6 SID的信息。

display segment-routing ipv6 te source-sid [ end | end-x | sid ]

·     显示Path Segment对应的SRv6 TE Policy信息。

display segment-routing ipv6 te path-segment [ local | reverse ] [ ipv6-address ]

2.34.2  显示SRv6 TE Policy组的运行状态和配置信息

·     可在任意视图下执行以下命令,显示SRv6 TE Policy组的信息。

display segment-routing ipv6 te policy-group [ group-id ] [ 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

2.34.3  显示BGP IPv6 SR Policy路由的运行状态和配置信息

·     显示BGP IPv6 SR Policy路由信息。

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ sr-policy-prefix [ advertise-info | as-path | cluster-list | community | ext-community ] | { color color-value | end-point ipv6 ipv6-address } * | peer ipv6-address { advertised-routes | received-routes } [ [ statistics ] { color color-value | end-point ipv6 ipv6-address } * | sr-policy-prefix [ verbose ] ] | statistics { color color-value | end-point ipv6 ipv6-address } * ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy peer ipv6-address { accepted-routes | not-accepted-routes }

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ statistics ] community [ community-number&<1-32> | aa:nn&<1-32> ] [ internet | no-advertise | no-export | no-export-subconfed ] [ whole-match ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ statistics ] community-list { basic-community-list-number | comm-list-name | adv-community-list-number } [ whole-match ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ statistics ] ext-community [ bandwidth link-bandwidth-value | color color | rt route-target | soo site-of-origin ]&<1-32> [ whole-match ]

·     显示BGP IPv6 SR Policy对等体或对等体组的状态和统计信息。

display bgp [ instance instance-name ] peer ipv6 sr-policy [ ipv6-address prefix-length | { ipv6-address | group-name group-name } log-info | [ ipv6-address ] verbose ]

·     显示BGP IPv6 SR Policy对等体组的信息。

display bgp [ instance instance-name ] group ipv6 sr-policy [ group-name group-name ]

·     显示BGP IPv6 SR Policy打包组的相关信息。

display bgp [ instance instance-name ] update-group ipv6 sr-policy [ ipv6-address ]

2.34.4  显示SRv6 TE Policy的BFD和SBFD运行状态

可在任意视图下执行以下命令:

·     显示SRv6 TE Policy的BFD信息。

display segment-routing ipv6 te bfd [ down | policy { { color color-value | end-point { ipv4 ipv4-address | ipv6 ipv6-address } } * | name policy-name } | up ]

·     显示SRv6 TE Policy的SBFD信息。

display segment-routing ipv6 te sbfd [ down | policy { { color color-value | end-point { ipv4 ipv4-address | ipv6 ipv6-address } } * | name policy-name } | up ]

2.34.5  显示SRv6 TE Policy尾节点保护的配置信息

可在任意视图下执行以下命令:

·     显示通过Mirror SID保护的远端SRv6 SID。

display bgp [ instance instance-name ] mirror remote-sid [ end-dt4 | end-dt46 | end-dt6 ] [ sid ]

·     显示EVPN SRv6组网中通过Mirror SID保护的远端SRv6 SID。

display evpn srv6 mirror remote-sid [ sid | type { end-dt2u | end-dx2 } ]

2.34.6  显示和清除SRv6 TE Policy的流量转发统计信息

可在任意视图下执行以下命令:

·     显示SRv6 TE的转发信息。

display segment-routing ipv6 te forwarding [ binding-sid bsid | path-segment psid | policy { name policy-name | { color color-value | end-point { ipv4 ipv4-address | ipv6 ipv6-address } } * } ] [ verbose ]

·     显示SRv6 TE Policy组的流量转发统计信息。

display segment-routing ipv6 te forwarding statistics policy-group [ group-id ]

·     请在用户视图下执行以下命令清除SRv6 TE Policy流量转发统计信息。

reset segment-routing ipv6 te forwarding statistics [ binding-sid binding-sid | color color-value endpoint endpoint-ipv6 | name name-value ]

·     清除SRv6 TE Policy或SRv6 TE Policy组的流量转发统计信息。

reset segment-routing ipv6 te forwarding statistics policy-group [ group-id ]

2.34.7  显示PCE进程SRv6 TE Policy的信息

可在任意视图下执行以下命令:

·     显示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

2.34.8  显示SRv6 TE Policy的智能策略路由相关信息

可在任意视图下执行以下命令:

·     显示IPR模板的信息。

display segment-routing ipv6 te ipr [ name ipr-name ] [ end-point ipv6 ipv6-address ]

·     显示SRv6 TE Policy的iFIT检测信息。

display segment-routing ipv6 te policy ifit [ name policy-name | { color color-value | end-point ipv6 ipv6-address } * ]

·     显示SRv6 TE Policy转发出接口的带宽使用信息。

display segment-routing ipv6 te ipr bandwidth interface [ interface-type interface-number ] [ verbose ]

2.34.9  显示SRv6 TE Policy模块的APN ID实例信息

可在任意视图下执行以下命令:

·     SRv6 TE Policy模块的APN ID实例信息。

display segment-routing ipv6 te policy-group apn-id-ipv6 instance [ name inatnce-name ]

2.35  SRv6 TE Policy典型配置举例‌

2.35.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

 

GE0/0/1

1000::1/64

 

GE0/0/1

1000::2/64

 

GE0/0/2

4000::1/64

 

GE0/0/2

2000::2/64

Device C

Loop1

3::3/128

Device D

Loop1

4::4/128

 

GE0/0/1

3000::3/64

 

GE0/0/1

3000::4/64

 

GE0/0/2

2000::3/64

 

GE0/0/2

4000::4/64

 

3. 配置步骤

(1)     请按照图2-2配置各接口的IPv6地址和前缀长度,具体配置过程略

(2)     配置Device A

# 配置SID列表。

[DeviceA] segment-routing ipv6

[DeviceA-segment-routing-ipv6] encapsulation source-address 1::1

[DeviceA-segment-routing-ipv6] locator a ipv6-prefix 5000:: 64 static 32

[DeviceA-segment-routing-ipv6-locator-a] opcode 1 end 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> system-view

[DeviceA] isis 1

[DeviceA-isis-1] network-entity 00.0000.0000.0001.00

[DeviceA-isis-1] cost-style wide

[DeviceA-isis-1] address-family ipv6 unicast

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

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

[DeviceA] interface gigabitethernet 0/0/1

[DeviceA-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceA-GigabitEthernet0/0/1] quit

[DeviceA] interface gigabitethernet 0/0/2

[DeviceA-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceA-GigabitEthernet0/0/2] quit

[DeviceA] interface loopback 1

[DeviceA-LoopBack1] isis ipv6 enable 1

[DeviceA-LoopBack1] quit

(3)     配置Device B

# 配置SRv6 End.SID。

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] locator b ipv6-prefix 6000:: 64 static 32

[DeviceB-segment-routing-ipv6-locator-b] opcode 1 end no-flavor

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

[DeviceB-segment-routing-ipv6] quit

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

<DeviceB> system-view

[DeviceB] isis 1

[DeviceB-isis-1] network-entity 00.0000.0000.0002.00

[DeviceB-isis-1] cost-style wide

[DeviceB-isis-1] address-family ipv6 unicast

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

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

[DeviceB] interface gigabitethernet 0/0/1

[DeviceB-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceB-GigabitEthernet0/0/1] quit

[DeviceB] interface gigabitethernet 0/0/2

[DeviceB-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceB-GigabitEthernet0/0/2] quit

[DeviceB] interface loopback 1

[DeviceB-LoopBack1] isis ipv6 enable 1

[DeviceB-LoopBack1] quit

(4)     配置Device C

# 配置SRv6 End.SID。

[DeviceC] segment-routing ipv6

[DeviceC-segment-routing-ipv6] locator c ipv6-prefix 7000:: 64 static 32

[DeviceC-segment-routing-ipv6-locator-c] opcode 1 end no-flavor

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

[DeviceC-segment-routing-ipv6] quit

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

<DeviceC> system-view

[DeviceC] isis 1

[DeviceC-isis-1] network-entity 00.0000.0000.0003.00

[DeviceC-isis-1] cost-style wide

[DeviceC-isis-1] address-family ipv6 unicast

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

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

[DeviceC] interface gigabitethernet 0/0/1

[DeviceC-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceC-GigabitEthernet0/0/1] quit

[DeviceC] interface gigabitethernet 0/0/2

[DeviceC-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceC-GigabitEthernet0/0/2] quit

[DeviceC] interface loopback 1

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

(5)     配置Device D

# 配置SRv6 End.SID。

[DeviceD] segment-routing ipv6

[DeviceD-segment-routing-ipv6] locator d ipv6-prefix 8000:: 64 static 32

[DeviceD-segment-routing-ipv6-locator-d] opcode 1 end no-flavor

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

[DeviceD-segment-routing-ipv6] quit

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

<DeviceD> system-view

[DeviceD] isis 1

[DeviceD-isis-1] network-entity 00.0000.0000.0004.00

[DeviceD-isis-1] cost-style wide

[DeviceD-isis-1] address-family ipv6 unicast

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

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

[DeviceD] interface gigabitethernet 0/0/1

[DeviceD-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceD-GigabitEthernet0/0/1] quit

[DeviceD] interface gigabitethernet 0/0/2

[DeviceD-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceD-GigabitEthernet0/0/2] quit

[DeviceD] interface loopback 1

[DeviceD-LoopBack1] isis ipv6 enable 1

[DeviceD-LoopBack1] quit

4. 验证配置

# 在Device A上查看SRv6 TE Policy的配置情况,可以看到SRv6 TE Policy处于激活状态,设备可以通过SRv6 TE Policy转发流量。

[DeviceA] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 Endpoint: 4::4

 Name from BGP:

 BSID:

  Mode: Explicit           Type: Type_2              Request state: Succeeded

  Current BSID: 5000::2    Explicit BSID: 5000::2    Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: 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

 Forwarding ignore last SID: 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: 15000 kbps

 PCE delegation: Disabled

 PCE delegate report-only: Disabled

 Encaps reduced: Disabled

 Encaps include local End.X: Disabled

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   ProtoOrigin: CLI        Discriminator: 30

   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: -

    Active path MTU: 1280 bytes

# 在Device A上查看SRv6 TE Policy的转发信息。

[DeviceA] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: p1/0

 Binding SID: 5000::2

 Policy forwarding index: 2150629377

 Main path:

   Seglist Name/ID: 1

     Seglist forwarding index: 2149580801

     Weight: 1

     Outgoing forwarding index: 2148532225

       Interface: GE0/0/1

       Nexthop: FE80::54CB:70FF:FE86:316

         Path ID: 0

         SID list: {6000::1, 7000::1, 8000::1}

# 在Device A上查看LSP转发路径信息,可以看到SRv6 TE Policy对应的转发路径信息。

[DeviceA] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

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

2148532225    SRv6PSIDList  NA      GE0/0/1

                                    FE80::54CB:70FF:FE86:316

                                    {6000::1, 7000::1, 8000::1}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

2.35.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

GE0/0/1

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

GE0/0/1

10.2.1.1/24

 

GE0/0/1

10.1.1.1/24

 

GE0/0/2

2002::1/64

 

GE0/0/2

2001::1/96

 

GE0/0/3

2004::2/96

P

Loop0

2::2/128

PE 3

Loop0

4::4/128

 

GE0/0/1

2001::2/96

 

GE0/0/1

10.3.1.1/24

 

GE0/0/2

2002::2/64

 

GE0/0/2

2003::1/96

 

GE0/0/3

2003::2/96

 

GE0/0/3

2004::1/96

 

 

 

CE 2

GE0/0/1

10.2.1.2/24

 

 

 

 

GE0/0/2

10.3.1.2/24

 

3. 配置准备

图2-3配置各CE的接口IP地址,配置过程略。

4. 配置步骤

(1)     配置CE 1

# 与PE建立EBGP对等体,引入VPN路由。

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] peer 10.1.1.1 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.1 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

(2)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网互通。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] is-level level-1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 10.1111.1111.1111.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 0

[PE1-LoopBack0] ipv6 address 1::1 128

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface gigabitethernet 0/0/2

[PE1-GigabitEthernet0/0/2] ipv6 address 2001::1 96

[PE1-GigabitEthernet0/0/2] isis ipv6 enable 1

[PE1-GigabitEthernet0/0/2] quit

# 配置VPN实例,将CE接入PE。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 111:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 0/0/1

[PE1-GigabitEthernet0/0/1] ip binding vpn-instance vpn1

[PE1-GigabitEthernet0/0/1] ip address 10.1.1.1 24

[PE1-GigabitEthernet0/0/1] quit

# 与CE建立EBGP对等体,引入VPN路由。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.2 as-number 65410

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.2 enable

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# 在PE之间建立MP-IBGP对等体。

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 4::4 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] peer 4::4 connect-interface loopback 0

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] peer 4::4 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 配置L3VPN over SRv6 TE Policy。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] opcode 1 end-dt4 vpn-instance vpn1

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

[PE1-segment-routing-ipv6] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator aaa

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

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

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

# 配置SRv6 TE Policy。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator aaa

[PE1-srv6-te] segment-list s1

[PE1-srv6-te-s1-s1] index 10 ipv6 100:abc:1::1

[PE1-srv6-te-s1-s1] index 20 ipv6 6:5::1:2

[PE1-srv6-te-s1-s1] quit

[PE1-srv6-te] policy p1

[PE1-srv6-te-policy-p1] binding-sid ipv6 1:2::1:2

[PE1-srv6-te-policy-p1] color 10 end-point ipv6 3::3

[PE1-srv6-te-policy-p1] candidate-paths

[PE1-srv6-te-policy-p1-path] preference 10

[PE1-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE1-srv6-te-policy-p1-path-pref-10] quit

[PE1-srv6-te-policy-p1-path] quit

[PE1-srv6-te-policy-p1] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

(3)     配置P

# 配置IPv6 IS-IS,实现骨干网互通。

<P> system-view

[P] isis 1

[P-isis-1] is-level level-1

[P-isis-1] cost-style wide

[P-isis-1] network-entity 10.2222.2222.2222.00

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] quit

[P-isis-1] quit

[P] interface loopback 0

[P-LoopBack0] ipv6 address 2::2 128

[P-LoopBack0] isis ipv6 enable 1

[P-LoopBack0] quit

[P] interface gigabitethernet 0/0/1

[P-GigabitEthernet0/0/1] ipv6 address 2001::2 96

[P-GigabitEthernet0/0/1] isis ipv6 enable 1

[P-GigabitEthernet0/0/1] quit

[P] interface gigabitethernet 0/0/2

[P-GigabitEthernet0/0/2] ipv6 address 2002::2 96

[P-GigabitEthernet0/0/2] isis ipv6 enable 1

[P-GigabitEthernet0/0/2] quit

[P] interface gigabitethernet 0/0/3

[P-GigabitEthernet0/0/3] ipv6 address 2003::2 96

[P-GigabitEthernet0/0/3] isis ipv6 enable 1

[P-GigabitEthernet0/0/3] quit

# 配置SRv6功能。

[P] segment-routing ipv6

[P-segment-routing-ipv6] locator p ipv6-prefix 100:abc:1::0 96 static 8

[P-segment-routing-ipv6-locator-p] opcode 1 end 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 gigabitethernet 0/0/2

[PE2-GigabitEthernet0/0/2] ipv6 address 2002::1 96

[PE2-GigabitEthernet0/0/2] isis ipv6 enable 1

[PE2-GigabitEthernet0/0/2] quit

[PE2] interface gigabitethernet 0/0/3

[PE2-GigabitEthernet0/0/3] ipv6 address 2004::2 96

[PE2-GigabitEthernet0/0/3] isis ipv6 enable 1

[PE2-GigabitEthernet0/0/3] quit

# 配置VPN实例,将CE接入PE。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 111:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 0/0/1

[PE2-GigabitEthernet0/0/1] ip binding vpn-instance vpn1

[PE2-GigabitEthernet0/0/1] ip address 10.2.1.1 24

[PE2-GigabitEthernet0/0/1] quit

# 与CE建立EBGP对等体,引入VPN路由。

[PE2] bgp 100

[PE2-bgp-default] router-id 2.2.2.2

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] peer 10.2.1.2 as-number 65420

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] peer 10.2.1.2 enable

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

# 在PE之间建立MP-IBGP对等体。

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 4::4 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] peer 4::4 connect-interface loopback 0

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] peer 4::4 enable

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

# 配置L3VPN over SRv6 TE Policy。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] opcode 1 end-dt4 vpn-instance vpn1

[PE2-segment-routing-ipv6-locator-bbb] opcode 2 end 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 gigabitethernet 0/0/2

[PE3-GigabitEthernet0/0/2] ipv6 address 2003::1 96

[PE3-GigabitEthernet0/0/2] isis ipv6 enable 1

[PE3-GigabitEthernet0/0/2] quit

[PE3] interface gigabitethernet 0/0/3

[PE3-GigabitEthernet0/0/3] ipv6 address 2004::1 96

[PE3-GigabitEthernet0/0/3] isis ipv6 enable 1

[PE3-GigabitEthernet0/0/3] quit

# 配置VPN实例,将CE接入PE。

[PE3] ip vpn-instance vpn1

[PE3-vpn-instance-vpn1] route-distinguisher 100:1

[PE3-vpn-instance-vpn1] vpn-target 111:1

[PE3-vpn-instance-vpn1] quit

[PE3] interface gigabitethernet 0/0/1

[PE3-GigabitEthernet0/0/1] ip binding vpn-instance vpn1

[PE3-GigabitEthernet0/0/1] ip address 10.3.1.1 24

[PE3-GigabitEthernet0/0/1] quit

# 与CE建立EBGP对等体,引入VPN路由。

[PE3] bgp 100

[PE3-bgp-default] router-id 3.3.3.3

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] peer 10.3.1.2 as-number 65420

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] peer 10.3.1.2 enable

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

# 在PE之间建立MP-IBGP对等体。

[PE3] bgp 100

[PE3-bgp-default] peer 1::1 as-number 100

[PE3-bgp-default] peer 3::3 as-number 100

[PE3-bgp-default] peer 1::1 connect-interface loopback 0

[PE3-bgp-default] peer 3::3 connect-interface loopback 0

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 enable

[PE3-bgp-default-vpnv4] peer 3::3 enable

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] quit

# 配置SRv6封装的IPv6报文头的源地址。

[PE3] segment-routing ipv6

[PE3-segment-routing-ipv6] encapsulation source-address 4::4

# 配置End.M SID来保护PE 2。

[PE3-segment-routing-ipv6] locator ccc ipv6-prefix 9:7::1:0 96 static 8

[PE3-segment-routing-ipv6-locator-ccc] opcode 1 end-m mirror-locator 6:5::1:0 96

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

[PE3-segment-routing-ipv6] quit

# 配置将私网路由迭代到End.M SID的路由条目上。

[PE3] bgp 100

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE3-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] segment-routing ipv6 locator ccc

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

[PE3-bgp-default] quit

[PE3] isis 1

[PE3-isis-1] address-family ipv6 unicast

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

[PE3-isis-1-ipv6] quit

[PE3-isis-1] quit

(6)     配置CE 2

# 与PE建立EBGP对等体,引入VPN路由。

<CE2> system-view

[CE2] bgp 65420

[CE2-bgp-default] peer 10.2.1.1 as-number 100

[CE2-bgp-default] peer 10.3.1.1 as-number 100

[CE2-bgp-default] address-family ipv4 unicast

[CE2-bgp-default-ipv4] peer 10.2.1.1 enable

[CE2-bgp-default-ipv4] peer 10.3.1.1 enable

[CE2-bgp-default-ipv4] import-route direct

[CE2-bgp-default-ipv4] quit

[CE2-bgp-default] quit

5. 验证配置

# 在PE 1上查看SRv6 TE Policy的配置情况,可以看到SRv6 TE Policy处于激活状态,设备可以通过SRv6 TE Policy转发流量。

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Explicit            Type: Type_2              Request state: Succeeded

  Current BSID: 1:2::1:2    Explicit BSID: 1:2::1:2   Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: 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

 Forwarding ignore last SID: 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

 Encaps reduced: Disabled

 Encaps include local End.X: Disabled

 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: 30

   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: -

    Active path MTU: 1280 bytes

# 在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 Name/ID: 1

     Seglist forwarding index: 2149580801

     Weight: 1

     Outgoing forwarding index: 2148532225

       Interface: GE0/0/2

       Nexthop: FE80::988A:B5FF:FED9:316

         Path ID: 0

         SID list: {100:ABC:1::1, 6:5::1:2}

# 在PE 1上查看转发路径信息,可以看到SRv6 TE Policy对应的转发路径信息。

[PE1] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

              Attri-Val             Attri-Val

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

2148532225    SRv6PSIDList  NA      GE0/0/2

                                    FE80::988A:B5FF:FED9:316

                                    {100:ABC:1::1, 6:5::1:2}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

              p1

# 在PE 3上查看End.M SID所保护的远端SRv6 SID信息。

[PE3] display bgp mirror remote-sid

 

Remote SID: 6:5::1:1

Remote SID type: End.DT4

Mirror locator: 6:5::1:0/96

Vpn instance name: vpn1

# 在P上查看IS-IS IPv6路由中End.M SID信息。

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

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

 

                         Level-1 IPv6 forwarding table

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

 

 IPv6 dest   : 6:5::1:0/96

 Flag        : R/-/-                       Cost        : 10

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:BDFF:FEB6:417

 NxthopFlag: -

 Interface   : GE0/0/2

 Mirror FRR:

  Interface : GE0/0/3

  BkNextHop : FE80::988A:C6FF:FE0D:517

  LsIndex    : 0x80000001

  Backup label stack(top->bottom): {9:7::1:1}

 Nib ID      : 0x24000006

 

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

# 正常情况下,流量经过路径CE 1-PE 1-P-PE 2-CE 2发布到私网。当PE 2节点故障时,P设备上感知PE 2下一跳不可达,切换为FRR路径,使SRv6 TE Policy正常转发路由表项。将设备P与PE 2的接口断开,可以发现P设备上下一跳接口变为备用接口,PE 1上的SRv6 TE Policy仍然处于激活状态。

[P] interface gigabitethernet 0/0/2

[P-GigabitEthernet0/0/2] shut

[P-GigabitEthernet0/0/2] quit

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

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

 

                         Level-1 IPv6 forwarding table

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

 

 IPv6 dest   : 6:5::1:0/96

 Flag        : R/-/-                       Cost        : 20

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:BDFF:FEB6:417

 NxthopFlag: -

 Interface   : GE0/0/2

 Mirror FRR:

  Interface : GE0/0/3

  BkNextHop : FE80::988A:C6FF:FE0D:517

  LsIndex    : 0x80000001

  Backup label stack(top->bottom): {9:7::1:1}

 Nib ID      : 0x24000006

 

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

[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

 Forwarding ignore last SID: 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

 Encaps reduced: Disabled

 Encaps include local End.X: Disabled

 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: 30

   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: -

    Active path MTU: 1280 bytes

2.35.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

GE0/0/1

1000::1/64

Device F

GE0/0/1

6000::2/64

Device B

Loop0

1::1/128

Device E

Loop0

3::3/128

 

GE0/0/1

1000::2/64

 

GE0/0/1

6000::1/64

 

GE0/0/2

2000::1/64

 

GE0/0/2

4000::/64

 

GE0/0/3

3000::1/64

 

GE0/0/3

5000::1/64

Device C

GE0/0/1

4000::2/64

Device D

GE0/0/1

5000::2/64

 

GE0/0/2

2002::2/64

 

GE0/0/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 gigabitethernet 0/0/1

[DeviceA-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceA-GigabitEthernet0/0/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 gigabitethernet 0/0/1

[DeviceB-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceB-GigabitEthernet0/0/1] quit

[DeviceB] interface gigabitethernet 0/0/2

[DeviceB-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceB-GigabitEthernet0/0/2] quit

[DeviceB] interface gigabitethernet 0/0/3

[DeviceB-GigabitEthernet0/0/3] isis ipv6 enable 1

[DeviceB-GigabitEthernet0/0/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 gigabitethernet 0/0/1

[DeviceC-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceC-GigabitEthernet0/0/1] quit

[DeviceC] interface gigabitethernet 0/0/2

[DeviceC-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceC-GigabitEthernet0/0/2] quit

[DeviceC] interface loopback 0

[DeviceC-LoopBack0] isis ipv6 enable 1

[DeviceC-LoopBack0] 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 gigabitethernet 0/0/1

[DeviceD-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceD-GigabitEthernet0/0/1] quit

[DeviceD] interface gigabitethernet 0/0/2

[DeviceD-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceD-GigabitEthernet0/0/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 gigabitethernet 0/0/1

[DeviceE-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceE-GigabitEthernet0/0/1] quit

[DeviceE] interface gigabitethernet 0/0/2

[DeviceE-GigabitEthernet0/0/2] isis ipv6 enable 1

[DeviceE-GigabitEthernet0/0/2] quit

[DeviceE] interface gigabitethernet 0/0/3

[DeviceE-GigabitEthernet0/0/3] isis ipv6 enable 1

[DeviceE-GigabitEthernet0/0/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 gigabitethernet 0/0/1

[DeviceF-GigabitEthernet0/0/1] isis ipv6 enable 1

[DeviceF-GigabitEthernet0/0/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

 Forwarding ignore last SID: 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

 Encaps reduced: Disabled

 Encaps include local End.X: Disabled

 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 Name/ID: 4369

     Seglist forwarding index: 2149581800

     Weight: 1

     Outgoing forwarding index: 2148533223

       Interface: GE0/0/3

       Nexthop: FE80::7AAA:12FF:FED8:309

         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   : GigabitEthernet0/0/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.35.4  SRv6 TE Policy的智能策略路由功能配置举例

1. 组网需求

如下图所示,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

GE0/0/1

10.1.1.1/24

CE 2

GE0/0/2

20.1.1.1/24

 

Loop0

11.11.11.11/32

 

Loop0

22.22.22.22/32

PE 1

Loop1

1::1/128

P 1

Loop1

2::2/128

 

GE0/0/1

10.1.1.2/24

 

GE0/0/1

5001::2/96

 

GE0/0/2

2001::1/96

 

GE0/0/2

2001::2/96

 

GE0/0/3

3001::1/96

P 2

Loop1

4::4/128

 

GE0/0/4

4001::1/96

 

GE0/0/1

6001::2/96

PE 2

Loop1

3::3/128

 

GE0/0/2

3001::2/96

 

GE0/0/1

5001::1/96

P 3

Loop1

5::5/128

 

GE0/0/2

20.1.1.2/24

 

GE0/0/1

7001::2/96

 

GE0/0/3

6001::1/96

 

GE0/0/2

4001::2/96

 

GE0/0/4

7001::1/96

 

 

 

 

3. 配置步骤

(1)     请按照图中配置各接口的IPv6地址和前缀长度,具体配置过程略。

(2)     配置CE 1

# 配置通过EBGP发布私网路由PE 1。

<CE1> system-view

[CE1] bgp 200

[CE1-bgp-default] router-id 11.11.11.11

[CE1-bgp-default] peer 10.1.1.2 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.2 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

(3)     配置CE 2

# 配置通过EBGP发布私网路由PE 2。

[CE2] bgp 300

[CE2-bgp-default] router-id 22.22.22.22

[CE2-bgp-default] peer 20.1.1.2 as-number 100

[CE2-bgp-default] address-family ipv4 unicast

[CE2-bgp-default-ipv4] peer 20.1.1.2 enable

[CE2-bgp-default-ipv4] import-route direct

[CE2-bgp-default-ipv4] quit

[CE2-bgp-default] quit

(4)     配置PE 1

# 配置IPv6 IS-IS,实现骨干网PE之间的互通。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 00.0000.0000.0001.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 1

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

[PE1] interface gigabitethernet 0/0/2

[PE1-GigabitEthernet0/0/2] isis ipv6 enable 1

[PE1-GigabitEthernet0/0/2] quit

[PE1] interface gigabitethernet 0/0/3

[PE1-GigabitEthernet0/0/3] isis ipv6 enable 1

[PE1-GigabitEthernet0/0/3] quit

[PE1] interface gigabitethernet 0/0/4

[PE1-GigabitEthernet0/0/4] isis ipv6 enable 1

[PE1-GigabitEthernet0/0/4] quit

# 配置VPN实例,将CE 1接入PE 1。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 100:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 0/0/1

[PE1-GigabitEthernet0/0/1] ip binding vpn-instance vpn1

[PE1-GigabitEthernet0/0/1] ip address 10.1.1.2 24

[PE1-GigabitEthernet0/0/1] quit

# 在PE 1与CE 1之间建立EBGP对等体,引入VPN路由。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.1 as-number 200

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.1 enable

[PE1-bgp-default-ipv4-vpn1] import-route direct

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# 在PE 1和PE 2之间建立MP-IBGP对等体。

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 在PE 1和PE 2之间VPN路由迭代到SRv6 TE Policy组。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

[PE1-segment-routing-ipv6] locator abc ipv6-prefix 100:1:: 64 static 16

[PE1-segment-routing-ipv6-locator-abc] opcode 1 end 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 101

[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的接口GigabitEthernet0/0/1入方向上对从CE 1发送到CE 2源地址为11.11.11.11/32,目的地址为22.22.22.22/32的私网业务流量标记TE Class ID为10。

[PE1] acl advanced 3000

[PE1-acl-ipv4-adv-3000] rule 10 permit ip source 11.11.11.11 0 destination 22.22.22.22  0

[PE1-acl-ipv4-adv-3000] quit

[PE1] traffic classifier aaa

[PE1-classifier-aaa] if-match acl 3000

[PE1-classifier-aaa] quit

[PE1] traffic behavior aaa

[PE1-behavior-aaa] remark te-class 10

[PE1-behavior-aaa] quit

[PE1] qos policy aaa

[PE1-qospolicy-aaa] classifier aaa behavior aaa

[PE1-qospolicy-aaa] quit

[PE1] interface gigabitethernet 0/0/1

[PE1-GigabitEthernet0/0/1] qos apply policy aaa inbound

[PE1-GigabitEthernet0/0/1] quit

# 在PE 1上配置SRv6 TE Policy组10,指定SRv6 TE Policy组10的转发类型为基于TE Class ID转发,并建立TE Class ID 10和IPR模板ipr1的映射关系,同时设置缺省SRv6 BE作为基于TE Class ID转发的默认转发策略,用于流量逃生。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] policy-group 10

[PE1-srv6-te-policy-group-10] end-point ipv6 3::3

[PE1-srv6-te-policy-group-10] group-color 100

[PE1-srv6-te-policy-group-10] forward-type te-class

[PE1-srv6-te-policy-group-10] index 1 te-class 10 match ipr-policy ipr1

[PE1-srv6-te-policy-group-10] default match best-effort

# 在PE 1上配置路由策略及隧道策略,将VPN业务流量通过路由策略引流到指定的SRv6 TE Policy组,并优选SRv6 TE Policy组。

[PE1] route-policy a permit node 10

[PE1-route-policy-a-10] apply extcommunity color 00:100

[PE1-route-policy-a-10] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 route-policy a import

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy-group load-balance-number 1

[PE1-tunnel-policy-a] quit

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] tnl-policy a

[PE1-vpn-instance-vpn1] quit

(5)     配置P 1

# 配置IPv6 IS-IS,实现骨干网的互通。

<P1> system-view

[P1] isis 1

[P1-isis-1] cost-style wide

[P1-isis-1] network-entity 00.0000.0000.0002.00

[P1-isis-1] address-family ipv6 unicast

[P1-isis-1-ipv6] quit

[P1-isis-1] quit

[P1] interface loopback 1

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

[P1] interface gigabitethernet 0/0/2

[P1-GigabitEthernet0/0/2] isis ipv6 enable 1

[P1-GigabitEthernet0/0/2] quit

[P1] interface gigabitethernet 0/0/1

[P1-GigabitEthernet0/0/1] isis ipv6 enable 1

[P1-GigabitEthernet0/0/1] quit

# 在P 1上配置Locator,并由IS-IS发布该Locator。

[P1] segment-routing ipv6

[P1-segment-routing-ipv6] locator abc ipv6-prefix 200:1:: 64 static 16

[P1-segment-routing-ipv6-locator-abc] opcode 1 end 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 gigabitethernet 0/0/2

[P2-GigabitEthernet0/0/2] isis ipv6 enable 1

[P2-GigabitEthernet0/0/2] quit

[P2] interface gigabitethernet 0/0/1

[P2-GigabitEthernet0/0/1] isis ipv6 enable 1

[P2-GigabitEthernet0/0/1] quit

# 在P 2上配置Locator,并由IS-IS发布该Locator。

[P2] segment-routing ipv6

[P2-segment-routing-ipv6] locator abc ipv6-prefix 400:1:: 64 static 16

[P2-segment-routing-ipv6-locator-abc] opcode 1 end 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 gigabitethernet 0/0/2

[P3-GigabitEthernet0/0/2] isis ipv6 enable 1

[P3-GigabitEthernet0/0/2] quit

[P3] interface gigabitethernet 0/0/1

[P3-GigabitEthernet0/0/1] isis ipv6 enable 1

[P3-GigabitEthernet0/0/1] quit

# 在P 3上配置Locator,并由IS-IS发布该Locator。

[P3] segment-routing ipv6

[P3-segment-routing-ipv6] locator abc ipv6-prefix 500:1:: 64 static 16

[P3-segment-routing-ipv6-locator-abc] opcode 1 end 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 gigabitethernet 0/0/1

[PE2-GigabitEthernet0/0/1] isis ipv6 enable 1

[PE2-GigabitEthernet0/0/1] quit

[PE2] interface gigabitethernet 0/0/3

[PE2-GigabitEthernet0/0/3] isis ipv6 enable 1

[PE2-GigabitEthernet0/0/3] quit

[PE2] interface gigabitethernet 0/0/4

[PE2-GigabitEthernet0/0/4] isis ipv6 enable 1

[PE2-GigabitEthernet0/0/4] quit

# 配置VPN实例,将CE 2接入PE 2。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 100:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 0/0/2

[PE2-GigabitEthernet0/0/2] ip binding vpn-instance vpn1

[PE2-GigabitEthernet0/0/2] ip address 20.1.1.2 24

[PE2-GigabitEthernet0/0/2] quit

# 在PE 2与CE 2之间建立EBGP对等体,引入VPN路由。

[PE2] bgp 100

[PE2-bgp-default] router-id 3.3.3.3

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] peer 20.1.1.1 as-number 300

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] peer 20.1.1.1 enable

[PE2-bgp-default-ipv4-vpn1] import-route direct

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

# 在PE 1和PE 2之间建立MP-IBGP对等体。

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator abc

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# PE 2上配置Locator,并由IS-IS发布该Locator。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

[PE2-segment-routing-ipv6] locator abc ipv6-prefix 300:1:: 64 static 16

[PE2-segment-routing-ipv6-locator-abc] opcode 1 end 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 101

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。

<Sysname> display segment-routing ipv6 te policy-group verbose

Total number of policy groups: 1

 

GroupID: 10                       GroupState: Up

GroupNID: 2151677963              Best-effort NID: 2156920832

Referenced: 1                     Flags: A

Group type: Static TE Class

Group color: 100

StateChangeTime: 2022-11-11 01:50:17

Endpoint: 3::3

UP/Total Mappings: 1/1

  Default Match Type: SRv6 BE

    Default SRv6 TE Policy Color: -

    Default IPR Policy   : -

  Index : 1                TE Class : 10

    Match Type           : IPR Policy(active)

    SRv6 TE Policy Color : 10

    IPR Policy           : ipr1

    Color : 10             Priority : 1

    Color : 20             Priority : 2

    Color : 30             Priority : 3

# 在PE 1上查看SRv6 TE Policy的转发信息。

[PE1] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: A/0

 Binding SID: 100:1::10:1

 Policy forwarding index: 2150629377

 Main path:

   Seglist Name/ID: 1

     Seglist forwarding index: 2149580801

     Weight: 1

     Outgoing forwarding index: 2148532225

       Interface: GE0/0/2

       Nexthop: FE80::54CB:70FF:FE86:316

         Path ID: 0

         SID list: {200:1::1, 300:1::1}

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们