目 录
1.1.3 SRv6-TE Policy创建方式·· 1-2
1.1.4 SRv6-TE Policy有效性判断·· 1-2
1.1.6 SRv6-TE Policy选路原则·· 1-3
1.1.7 SRv6-TE Policy报文转发过程·· 1-4
1.1.8 SRv6-TE Policy与SBFD联动·· 1-5
1.1.9 SRv6-TE Policy热备份功能·· 1-6
1.1.10 MPLS L3VPN/EVPN L3VPN over SRv6-TE Policy· 1-7
1.2 SRv6-TE Policy配置限制和指导·· 1-8
1.3 SRv6-TE Policy配置任务简介·· 1-8
1.9 配置BGP发布IPv6 SR Policy路由·· 1-12
1.9.2 开启BGP发布IPv6 SR Policy路由能力·· 1-12
1.9.3 配置BGP引入SRv6-TE Policy路由·· 1-12
1.9.4 配置将SRv6-TE Policy路由发布给EBGP对等体·· 1-13
1.9.6 控制BGP IPv6 SR Policy路由的优选和发布·· 1-14
1.10 配置SRv6-TE Policy引流·· 1-15
1.11 开启SRv6-TE Policy的SBFD功能·· 1-19
1.12 开启SRv6-TE Policy的echo报文方式的BFD检测功能·· 1-20
1.13 开启SRv6-TE Policy的热备份功能·· 1-21
1.14 配置SRv6-TE Policy的慢切慢删功能·· 1-21
1.15 配置SRv6-TE Policy的转发类·· 1-22
1.16 配置SRv6-TE Policy的流量转发统计功能·· 1-23
1.17 配置MPLS L3VPN/EVPN L3VPN over SRv6-TE Policy· 1-23
1.17.1 配置L3VPN业务迭代到SRv6-TE Policy隧道·· 1-23
1.18 配置SRv6-TE Policy资源数量的告警阈值·· 1-25
1.19 开启SRv6-TE Policy的日志功能·· 1-26
1.20 开启SRv6-TE Policy的告警功能·· 1-27
1.21 SRv6-TE Policy显示和维护·· 1-27
SRv6-TE Policy是基于IPv6 SR的SR-TE Policy(Segment Routing Traffic Engineering Policy,段路由流量工程策略),它提供了灵活的转发路径选择方法,可以满足用户不同的转发需求。当Segment Routing网络的源节点和目的节点之间存在多条路径时,合理利用SRv6-TE Policy选择转发路径,不仅可以方便管理员对网络进行管理和规划,还可以有效地减轻网络设备的转发压力。
SRv6-TE Policy由三部分标识:
· BSID:入节点的SID。
· Color:转发路径的Color属性,用于在相同的源和目的节点之间区分多个SRv6-TE Policy。
· End-point:SRv6-TE Policy目的节点的IPv6地址。
如图1-1所示,一个SRv6-TE Policy由多条具有不同优先级的Candidate Paths(候选路径)组成,每个候选路径包括由Segment List(SID列表)标识的一条或多条转发路径。
一个SRv6-TE Policy包含一条或多条候选路径。通过SRv6-TE Policy转发流量时,设备根据候选路径的优先级从多条候选路径中选择最优路径。
不同SRv6-TE Policy不能共享同一条候选路径。
· SID列表
SID列表包含报文转发路径信息,由转发路径上各个节点的SID(IPv6地址)组成。
候选路径由一个SID列表或者多个带权重的SID列表组成。SRv6-TE Policy选择某条候选路径后,会根据SID列表的权重,在候选路径的多个SID列表间进行负载分担。
SRv6-TE Policy可以通过如下方式创建:
· 通过命令行手工创建
采用该方式时,需要手工配置候选路径、候选路径的优先级、候选路径的SID列表及其权重。
· 通过SRv6-TE Policy路由学习
为了支持SRv6-TE Policy,MP-BGP定义了新的子地址族——BGP IPv6 SR Policy地址族,并新增了SRv6-TE Policy NLRI(Network Layer Reachability Information,网络层可达性信息),即SRv6-TE Policy路由(也称为BGP IPv6 SR Policy路由)。SRv6-TE Policy路由中包含SRv6-TE Policy的相关配置,包括BSID、Color、Endpoint、候选路径优先级、SID列表和SID列表的权重等。
在设备间建立BGP IPv6 SR 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有效性判断规则如图1-2所示。
图1-2 SRv6-TE Policy有效性判断示意图
判断SID列表是否有效时,存在以下情况SID列表无效:
· SID列表为空;
· SID列表的权重为0;
· SR节点无法与SID列表中的第一跳IPv6地址互通。
可以通过如下方式将数据报文引流到SRv6-TE Policy,通过SRv6-TE Policy转发该报文:
· 基于BSID引流:如果接收到的报文的目的IPv6地址为某个SRv6-TE Policy的BSID,则通过该SRv6-TE Policy转发该报文。
· 基于Color引流:查找是否存在Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址完全相同的SRv6-TE policy。若存在,则将该BGP路由迭代到SRv6-TE Policy。当设备收到匹配该BGP路由的报文时,会通过SRv6-TE Policy转发该报文。
· 基于隧道策略引流:MPLS L3VPN、EVPN L3VPN、EVPN VPLS或EVPN VPWS组网中,通过部署隧道策略,将SRv6-TE Policy作为公网隧道来转发私网报文。隧道策略的详细介绍请参见“MPLS配置指导”中的“隧道策略”。
· 基于DSCP引流:根据报文的目的地址匹配隧道绑定策略,关联到SRv6-TE Policy组后,根据报文的DSCP值查找与其关联的Color属性,再通过Color属性匹配到SRv6-TE Policy组中的某个SRv6-TE Policy。这样,携带指定DSCP的报文可以通过指定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-3所示,根据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-3 SRv6-TE Policy转发流量时选路过程示意图
如图1-4所示,以基于BSID引流为例,SRv6-TE Policy的报文转发过程为:
(1) Device A收到目的地址为100::1的IPv6报文后,查找IPv6路由表,判断该报文的目的地址为BSID,需要通过SRv6-TE Policy转发。Device A根据SRv6-TE Policy为报文封装SRH头,SRH头携带的SID列表为{10::2, 20::2, 30::2}。其中,10::2为Device B的SID;20::2为Device C的SID;30::2为Device D的SID。
(2) Device A将封装后的报文发送给下一跳Device B。
(3) Device B收到报文后,根据SRH获取到下一跳为Device C,将报文发送给Device C。
(4) Device C收到报文后,根据SRH获取到下一跳为Device D,将报文发送给Device D。
(5) Device D收到报文后,检查SRH头中的SL值,发现SL=0。对报文进行解封装,删除封装报文头,根据原始报文的目的地址进行报文转发。
图1-4 SRv6-TE Policy转发过程示意图
SRv6-TE Policy不会通过设备之间互相发送的消息来维持自身状态,所以SRv6-TE Policy路径故障检测需要依靠SBFD(Seamless BFD,无缝BFD)完成。通过SBFD检测SRv6-TE Policy的连通性,为其提供毫秒级的故障检测速度,并实现快速的故障切换。
如图1-5所示,在Device A上配置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列表故障。
图1-5 SBFD for SRv6-TE Policy检测过程
对于同一源节点和目的节点之间不同的SRv6-TE Policy,由于SBFD回应报文时根据IP路由表进行转发,所以SBFD回应报文的转发路径是相同的。SBFD回应报文的转发路径故障将引起所有SBFD会话Down,进而导致源节点和目的节点间所有SRv6-TE Policy Down。
当SRv6-TE Policy中存在多条有效候选路径时,设备通过优先级最大的候选路径转发报文。如果该候选路径发生故障,则SRv6-TE Policy需要重新选择有效候选路径转发报文。由于选择新的有效候选路径会耗费一些时间,所以在切换转发路径的过程中会造成丢包,影响业务流量转发。
SRv6-TE Policy的热备份功能可以解决上述问题。SRv6-TE Policy的热备份是指通过备份候选路径对主候选路径进行保护。如果一个SRv6-TE Policy下存在多条候选路径,则优先级最高的有效候选路径作为主路径,优先级次高的有效候选路径作为备份路径。如图1-6所示,如果主路径下所有SID列表对应的转发路径都发生故障,则将流量立即切换到备份候选路径转发,以减少对业务的影响。
图1-6 SR-TE Policy热备份示意图
SRv6-TE Policy热备份功能和SRv6-TE Policy与SBFD联动配合使用时,SBFD可以同时检测SRv6-TE Policy中优先级最高和次高的两条候选路径里的所有SID列表对应的转发路径。如果优先级最高的候选路径里所有SID列表对应的转发路径都发生故障,则将流量切换到备份路径。当流量切换到备份路径后,会再次重新计算主备路径。原备份路径将作为主路径,并重新选择一个有效的候选路径作为新的备份路径。当主备路径同时故障时,SRv6-TE Policy将重新计算主备路径。
在MPLS L3VPN over SRv6和EVPN L3VPN over SRv6组网中,PE可以将私网报文引流到SRv6-TE Policy,通过SRv6-TE Policy转发私网报文。
如图1-7所示,以IPv4 MPLS L3VPN over SRv6为例,MPLS L3VPN/EVPN L3VPN over SRv6-TE Policy的工作机制为:
(1) PE 2为私网路由3000::/64分配私网标签End.DT4 SID(3::300),路由的下一跳为3000::1、Color属性为123。
(2) PE 2通过BGP VPNv4路由将私网标签等信息发布给PE 1。
(3) PE 1上部署SRv6-TE Policy,并基于Color属性或隧道策略等方式,将访问3000::/64的流量引入到SRv6-TE Policy。
(4) PE 1接收到访问私网3000::/64的报文后,为其添加End.DT4 SID,并为其添加SRv6-TE Policy的SID列表,并通过该列表指定的路径将其转发到PE 2。
(5) PE 2根据End.DT4 SID匹配VPN实例,解封装报文后,在VPN实例的路由表中查表转发该报文。
图1-7 MPLS L3VPN/EVPN L3VPN over SRv6-TE Policy路由发布和报文转发过程
standard工作模式下,仅CSPEX-1802X单板支持本功能。
sdn-wan工作模式下,仅CSPEX类单板(CSPEX-1104-E除外)、SPE类单板和CEPC类单板支持本功能。
SRv6-TE Policy配置任务如下:
(1) 配置通过IGP扩展通告SID
需要在所有SRv6节点执行本配置,配置方法请参见“Segment Routing配置指导”中的“IPv6 SR”。
(2) 配置SID列表
(3) 配置SRv6-TE Policy
a. 创建SRv6-TE Policy
b. 配置SRv6-TE Policy属性
c. 创建候选路径并引用SID列表
(4) (可选)配置BGP发布IPv6 SR Policy路由
a. 开启BGP发布IPv6 SR Policy路由能力
b. 配置BGP引入SRv6-TE Policy路由
c. (可选)配置将SRv6-TE Policy路由发布给EBGP对等体
d. (可选)开启Router ID过滤功能
e. (可选)控制BGP IPv6 SR Policy路由的优选和发布
f. (可选)维护BGP会话
(5) 配置SRv6-TE Policy引流
(6) (可选)配置SRv6-TE Policy高可靠性
¡ 开启SRv6-TE Policy的SBFD功能
¡ 开启SRv6-TE Policy的echo报文方式的BFD检测功能
¡ 开启SRv6-TE Policy的热备份功能
¡ 配置SRv6-TE Policy的慢切慢删功能
(7) (可选)配置SRv6-TE Policy的转发类
(8) (可选)配置SRv6-TE Policy的流量转发统计功能
(9) (可选)配置MPLS L3VPN/EVPN L3VPN over SRv6-TE Policy
(10) (可选)维护SRv6-TE Policy
¡ 配置SRv6-TE Policy资源数量的告警阈值
¡ 开启SRv6-TE Policy的日志功能
¡ 开启SRv6-TE Policy的告警功能
在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配置指导”中的“IPv6 SR”。
在SID列表中添加多个节点时,若指定的IPv6地址是End类型SRv6 SID或是BSID,则不允许是同一个设备的。
在SID列表中添加节点时,第一个节点不能是32bits G-SID。
(1) 进入系统视图。
system-view
(2) 开启SRv6功能,并进入SRv6视图。
segment-routing ipv6
缺省情况下,SRv6功能处于关闭状态。
(3) 创建SRv6-TE,并进入SRv6-TE视图。
traffic-engineering
(4) 创建SID列表,并进入SID列表视图。
segment-list segment-list-name
(5) 在SID列表中添加节点。
¡ 添加普通128bits SRv6 SID。
index index-number ipv6 ipv6-address
¡ 添加COC标识的128bits SRv6 SID,并指定下一个G-SID的公共前缀长度。
index index-number coc32 ipv6 ipv6-address common-prefix-length
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 创建SRv6-TE,并进入SRv6-TE视图。
traffic-engineering
(4) 创建SRv6-TE Policy,并进入SRv6-TE Policy视图。
policy policy-name
SRv6-TE Policy由BSID(入节点的SID)、Color和End-point(目的节点IP地址)标识。
BSID获取方式如下:
· 手工配置。
· 动态获取:SRv6-TE Policy下仅配置Color和End-point时,SRv6-TE Policy会自动申请一个BSID。
手工配置优先生效。
BSID必须在SRv6-TE视图下引用的Locator的静态段范围内。否则,BSID对应的SRv6-TE Policy不能用于报文转发。有关Locator的详细描述,请参见“Segment Routing配置指导”中的“IPv6 SR”。
不同SRv6-TE Policy不能配置相同Color和目的节点地址。
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 进入SRv6-TE视图。
traffic-engineering
(4) 配置SRv6-TE引用Locator段。
srv6-policy locator locator-name
缺省情况下,SRv6-TE未引用Locator段。
(5) 进入SRv6-TE Policy视图。
policy policy-name
(6) 手工配置BSID。
binding-sid ipv6 ipv6-address
(7) 配置Color属性和目的节点地址。
color color-value end-point ipv6 ipv6-address
缺省情况下,未配置SRv6-TE Policy的Color属性和目的节点地址。
通过本功能控制SRv6-TE Policy的开启和关闭状态,从而控制该SRv6-TE Policy是否可以转发流量。
当设备存在多个SRv6-TE Policy时,可以配置本命令,关闭一些不需要的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。
shutdown
缺省情况下,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候选路径,并进入SRv6-TE Policy候选路径视图。
candidate-paths
(6) 配置候选路径的优先级,并进入SRv6-TE Policy候选路径优先级视图。
preference preference-value
不同的优先级代表不同的候选路径。
(7) 为指定优先级的SRv6-TE Policy候选路径配置SID列表。
explicit segment-list segment-list-name [ weight weight-value ]
一条候选路径可以引用多个SID列表。
BGP相关命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
(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路由。
通过配置本功能,设备可以将本地的SRv6-TE Policy路由引入到BGP路由表中,并将SRv6-TE Policy路由发布给IBGP对等体,以便对等体根据SRv6-TE Policy转发流量。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6 SR Policy地址族视图。
address-family ipv6 sr-policy
(4) 将SRv6-TE Policy路由引入到BGP路由表中。
import-route sr-policy
缺省情况下,BGP不会引入SRv6-TE Policy路由。
缺省情况下,SRv6-TE Policy路由只能在IBGP对等体之间发布。如果需要将SRv6-TE Policy路由发布给EBGP对等体,则需要执行本配置。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6 SR Policy地址族视图。
address-family ipv6 sr-policy
(4) 配置将SRv6-TE Policy路由发布给EBGP对等体。
advertise ebgp enable
缺省情况下,BGP SRv6-TE Policy路由不发布给EBGP对等体。
当网络中存在大量的SRv6-TE Policy路由,而设备仅希望处理部分路由时,可以通过本配置过滤接收到的SRv6-TE Policy路由。
执行本配置后,设备将检查接收到的SRv6-TE Policy路由中携带的Route Target属性,如果该属性中包含本地设备的Router ID,则接收该路由;否则,丢弃该路由。
为了正确使用本功能,需要通过路由策略等方式为SRv6-TE Policy路由合理添加Route Target属性。否则,可能会导致错误地学习或丢弃SRv6-TE Policy路由。
(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
缺省情况下,Router ID过滤功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6 SR Policy地址族视图。
address-family ipv6 sr-policy
(4) 配置向对等体/对等体组发布路由时,将下一跳属性修改为自身的地址。
peer { group-name | ipv6-address [ prefix-length ] } next-hop-local
缺省情况下,向EBGP对等体/对等体组发布路由时,将下一跳属性修改为自身的地址;向IBGP对等体/对等体组发布路由时,不修改下一跳属性。
(5) 配置对于从对等体/对等体组接收的BGP消息,允许本地AS号在该消息的AS_PATH属性中出现,并配置允许出现的次数。
peer { group-name | ipv6-address [ prefix-length ] } allow-as-loop [ number ]
缺省情况下,不允许本地AS号在接收消息的AS_PATH属性中出现。
(6) 为从对等体/对等体组接收的路由分配首选值。
peer { group-name | ipv6-address [ prefix-length ] } preferred-value value
缺省情况下,从对等体/对等体组接收的路由的首选值为0。
(7) 配置允许从对等体/对等体组接收的路由的最大数量。
peer { group-name | ipv6-address [ prefix-length ] } route-limit prefix-number [ { alert-only | discard | reconnect reconnect-time } | percentage-value ] *
缺省情况下,不限制从对等体/对等体组接收的路由数量。
(8) 配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。
peer { group-name | ipv6-address [ prefix-length ] } reflect-client
缺省情况下,没有配置路由反射器及其客户机。
(9) 为对等体/对等体组设置基于IPv6地址前缀列表的路由发布和接收过滤策略。
peer { group-name | ipv6-address [ prefix-length ] } prefix-list ipv6-prefix-list-name { export | import }
缺省情况下,不对发布和接收的路由信息进行过滤。
(10) 对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。
peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }
缺省情况下,没有为对等体/对等体组指定路由策略。
(11) 配置向对等体/对等体组发布团体属性。
peer { group-name | ipv6-address [ prefix-length ] } advertise-community
缺省情况下,不向对等体/对等体组发布团体属性。
(12) 配置向对等体/对等体组发布扩展团体属性。
peer { group-name | ipv6-address [ prefix-length ] } advertise-ext-community
缺省情况下,不向对等体/对等体组发布扩展团体属性。
请在用户视图下执行如下命令,复位或软复位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
采用基于Color的引流方式时,需要通过路由策略等方式为IPv6单播路由添加Color扩展团体属性。路由策略的配置方法请参见“三层技术-IP路由配置指导”中的“路由策略”。
采用基于隧道策略的引流方式时,需要配置首选隧道策略或负载分担隧道策略,详细配置方法请参见“MPLS配置指导”中的“隧道策略”。
(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。
(1) 进入系统视图。
system-view
(2) 进入路由策略视图。
route-policy route-policy-name { deny | permit } node node-number
(3) 配置BGP路由的Color扩展团体属性。
apply extcommunity color color [ additive ]
缺省情况下,未配置BGP路由属性。
(4) 退回系统视图。
quit
(5) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(6) 进入BGP IPv4单播地址族视图、BGP IPv6单播地址族视图、BGP VPNv4地址族视图、BGP VPNv6地址族视图或BGP EVPN地址族视图。
¡ 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
¡ 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
¡ 进入BGP VPNv4地址族视图。
address-family vpnv4
¡ 进入BGP VPNv6地址族视图。
address-family vpnv6
¡ 进入BGP EVPN地址族视图。
address-family l2vpn evpn
(7) 对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。
peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }
缺省情况下,没有为对等体/对等体组指定路由策略。
(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命令参考”中的“隧道策略”。
(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”。
(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
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入EVPN实例视图。
evpn encapsulation srv6
(4) 指定引用的隧道策略。
tunnel-policy tunnel-policy-name
缺省情况下,未引用隧道策略。
本命令的详细介绍,请参见“EVPN命令参考”中的“EVPN”。
SRv6-TE Policy组中不同SRv6-TE Policy的Color属性不同。配置Color与DSCP的映射关系后,在一个SRv6-TE Policy组内,可以形成DSCP->Color->SRv6-TE Policy的映射关系,从而实现通过IP报文的DSCP值将报文引流到指定的SRv6-TE Policy。
只有SRv6-TE Policy有效时,才能将其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。
当设备收到未匹配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) 如果本地址族下配置了Color和DSCP映射关系,且最小DSCP对应的SRv6-TE Policy有效,则采用该SRv6-TE Policy转发。
(4) 如果另一地址族下配置了Color和DSCP映射关系,且最小DSCP对应的SRv6-TE Policy有效,则采用该SRv6-TE Policy转发。
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 进入SRv6-TE视图。
traffic-engineering
(4) 创建SRv6-TE Policy组,并进入SRv6-TE Policy组视图。
policy-group group-id
(5) 配置SRv6-TE Policy组的目的节点地址。
end-point ipv6 ipv6-address
缺省情况下,未配置SRv6-TE Policy组的目的节点地址。
加入到SRv6-TE Policy组的SRv6-TE Policy的目的节点地址必须与该SRv6-TE Policy组的目的节点地址相同。
(6) 配置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值进行引流。
(7) 退回系统视图。
quit
(8) 创建隧道策略,并进入隧道策略视图。
tunnel-policy tunnel-policy-name [ default ]
(9) 配置隧道绑定策略,指定目的地址与SRv6-TE Policy组绑定。
binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]
缺省情况下,未将目的IP地址与任何隧道绑定。
本命令的详细描述,请参见“MPLS命令参考”中的“隧道策略”。
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检测生效。
(1) 进入系统视图。
system-view
(2) 配置Initiator发送SBFD报文使用的源IPv6地址。
sbfd source-ipv6 ipv6-address
缺省情况下,未配置Initiator发送SBFD报文使用的源IPv6地址。
本命令的详细介绍,请参见“可靠性命令参考”中的“SBFD”。
(3) 进入SRv6视图。
segment-routing ipv6
(4) 进入SRv6-TE视图。
traffic-engineering
(5) 全局开启SRv6-TE Policy的SBFD功能并配置相关参数。
srv6-policy sbfd remote remote-id [ template template-name ] [ backup-template backup-template-name ]
缺省情况下,SRv6-TE Policy的SBFD功能处于关闭状态。
(6) 进入SRv6-TE Policy视图。
policy policy-name
(7) 配置SRv6-TE Policy的SBFD功能。
sbfd { disable | enable [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] }
缺省情况下,未配置SRv6-TE Policy的SBFD功能,以SRv6-TE视图下的配置为准。
SRv6-TE视图和SRv6-TE Policy视图下均可以配置SRv6-TE Policy的echo报文方式的BFD功能。SRv6-TE视图的配置对所有SRv6-TE Policy都有效,而SRv6-TE Policy视图的配置只对当前SRv6-TE Policy有效。对于一个SRv6-TE Policy来说,优先采用该SRv6-TE Policy内的配置,只有该SRv6-TE Policy内未进行配置时,才采用SRv6-TE视图的配置。
目前,支持通过BFD echo报文和SBFD两种方式检测SRv6-TE Policy。在同一SRv6-TE Policy下同时配置以上两种检测方式时,SBFD检测生效。
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 进入SRv6-TE视图。
traffic-engineering
(4) 全局开启SRv6-TE Policy的echo报文方式的BFD检测功能并配置相关参数。
srv6-policy bfd echo source-ipv6 ipv6-address [ template template-name ] [ backup-template backup-template-name ]
缺省情况下,SRv6-TE Policy的SBFD功能处于关闭状态。
(5) 进入SRv6-TE Policy视图。
policy policy-name
(6) 配置SRv6-TE Policy的echo报文方式的BFD检测功能。
bfd echo { disable | enable [ source-ipv6 ipv6-address ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] }
缺省情况下,未配置SRv6-TE Policy的echo报文方式的BFD检测功能,以SRv6-TE视图下的配置为准。
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视图的配置。
(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视图下的配置为准。
配置步骤—commit
为了防止SID列表切换导致流量转发失败,在SRv6-TE Policy的SID列表切换过程中,流量先保持按照老的SID列表转发,切换延迟时间超时后再按照新的SID列表转发流量,并在删除延迟时间超时后将老的SID列表删除。
(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毫秒。
通过配置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转发流量。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的转发类。
service-class service-class-value
缺省情况下,未配置SRv6-TE Policy的转发类。
配置本功能后,可以统计通过SRv6-TE Policy转发的流量的信息。
SRv6-TE视图和SRv6-TE Policy视图下均可以配置SRv6-TE Policy的流量转发统计功能。SRv6-TE视图的配置对所有SRv6-TE Policy都有效,而SRv6-TE Policy视图的配置只对当前SRv6-TE Policy有效。对于一个SRv6-TE Policy来说,优先采用该SRv6-TE Policy内的配置,只有该SRv6-TE Policy内未进行配置时,才采用SRv6-TE视图的配置。
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 进入SRv6-TE视图。
traffic-engineering
(4) 全局开启SRv6-TE Policy的流量转发统计功能。
srv6-policy forwarding statistics enable
缺省情况下,SRv6-TE Policy的流量转发统计功能处于关闭状态。
(5) (可选)全局配置SRv6-TE Policy流量转发统计信息收集的时间间隔。
srv6-policy forwarding statistics interval interval
缺省情况下,SRv6-TE Policy流量转发统计信息收集的时间间隔为30秒。
(6) 进入SRv6-TE Policy视图。
policy policy-name
(7) 配置SRv6-TE Policy的流量转发统计功能。
forwarding statistics { disable | enable }
缺省情况下,未配置SRv6-TE Policy的流量转发统计功能,以SRv6-TE视图下的配置为准。
在MPLS L3VPN over SRv6或EVPN L3VPN over SRv6组网中,执行本配置后,L3VPN业务可以迭代到SRv6-TE Policy隧道,采用SRv6-TE Policy隧道作为公网隧道转发私网流量。
执行本配置前,需要完成MPLS L3VPN/EVPN L3VPN over SRv6相关配置,详细介绍请参见“Segment Routing配置指导”中的“IPv6 SR”。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP-VPN实例视图。
ip vpn-instance vpn-instance-name
(4) 进入BGP-VPN IPv4单播地址族视图或BGP-VPN IPv6单播地址族视图。
¡ 进入BGP-VPN IPv4单播地址族视图。
address-family ipv4 [ unicast ]
¡ 进入BGP-VPN IPv6单播地址族视图。
address-family ipv6 [ unicast ]
(5) 配置L3VPN业务迭代到SRv6-TE Policy隧道。
segment-routing ipv6 traffic-engineering [ best-effort ] [ evpn ]
缺省情况下,L3VPN业务不会迭代到SRv6-TE Policy隧道。
如图1-8所示,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之间同时存在MPL3 L3VPN和EVPN L3VPN over SRv6,处理PE 1和PE 3之间的业务流量时优选SRv6封装的路由。
图1-8 MPLS L3VPN和EVPN L3VPN over SRv6共存环境示意图
配置本功能后,对指定VPN实例下的BGP路由进行选路时,如果存在Preferred-value和LOCAL_PREF都相同的多条路由,则根据bestroute encap-type命令选优SRv6封装或MPLS封装的路由,之后继续根据BGP原有的选路流程进行选路。关于BGP选路规则的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP概述”。
(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 }
缺省情况下,不根据报文封装进行路由优选。
可通过本功能配置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下有效的转发路径的数量。
· SRv6-TE Policy的转发表项ID数目:在SRv6转发表中,转发类型为SRv6Policy的表项的数量。
· SRv6-TE Policy组的转发表项ID数目:在SRv6转发表中,转发类型为SRv6PGROUP的表项的数量。
· SID列表的转发表项ID数目:在SRv6转发表中,转发类型为SRv6PSIDList的表项的数量。
SRv6转发表信息可以通过display segment-routing ipv6 forwarding命令查看。
可通过display segment-routing ipv6 te policy statistics命令查看当前SRv6-TE Policy资源的使用信息。
(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%。
开启SRv6-TE Policy的日志功能后,设备将记录SRv6-TE Policy的状态变化和SRv6-TE Policy的资源使用情况,以便管理员对SRv6-TE Policy运行情况进行审计。设备生成的SRv6-TE Policy日志信息将被发送到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输出方向)。有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 进入SRv6-TE视图。
traffic-engineering
(4) 开启SRv6-TE Policy的日志功能。
srv6-policy log enable
缺省情况下,SRv6-TE Policy的日志功能处于关闭状态。
开启SRv6-TE Policy的告警功能后,当SRv6-TE Policy的状态发生变化和SRv6-TE Policy的资源使用数量超限时,将生成告警信息并发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启SRv6-TE Policy的告警功能。
snmp-agent trap enable srv6-policy
缺省情况下,SRv6-TE Policy的告警功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后SRv6-TE Policy的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除SRv6-TE Policy的统计信息。
表1-1 SRv6-TE Policy显示和维护
操作 | 命令 |
显示BGP对等体或对等体组的状态和统计信息 | display bgp [ instance instance-name ] peer ipv6 [ sr-policy ] [ ipv6-address prefix-length | { ipv6-address | group-name group-name } log-info | [ ipv6-address ] verbose ] |
显示BGP IPv6 SR Policy路由信息 | display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ sr-policy-prefix [ advertise-info ] | peer ipv6-address { advertised-routes | received-routes } [ statistics ] | statistics ] |
显示SRv6-TE Policy的BFD信息 | display segment-routing ipv6 te bfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ] |
显示SRv6 TE的转发信息 | display segment-routing ipv6 te forwarding [ policy { name policy-name | { color color-value | end-point ipv6 ipv6-address } * } ] [ verbose ] |
显示SRv6-TE Policy信息 | display segment-routing ipv6 te policy [ name policy-name | down | up | { color color-value | end-point ipv6 ip-address } * ] |
显示SRv6-TE Policy最近一次down的原因 | display segment-routing ipv6 te policy last-down-reason [ binding-sid bsid | color color-value endpoint ipv6 ipv6-address | policy-name policy-name ] |
显示SRv6-TE Policy的统计信息 | display segment-routing ipv6 te policy statistics |
显示SRv6-TE Policy的状态 | display segment-routing ipv6 te policy status [ policy-name policy-name ] |
显示SRv6-TE Policy组的信息 | display segment-routing ipv6 te policy-group [ group-id ] [ verbose ] |
显示SRv6-TE Policy的SBFD信息 | display segment-routing ipv6 te sbfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ] |
显示SRv6-TE的SID列表信息 | display segment-routing ipv6 te segment-list [ name seglist-name | id id-value ] |
清除SRv6-TE Policy流量转发统计信息 | reset segment-routing ipv6 te forwarding statistics |
通过在IGP网络中部署SRv6-TE Policy,实现根据用户需求制定合理的转发路径。如图1-9所示,用户需要流量分别经过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。
图1-9 SRv6-TE Policy基本转发配置组网图
设备 | 接口 | IP地址 | 设备 | 接口 | IP地址 |
Device A | Loop1 | 1::1/128 | Device B | Loop1 | 2::2/128 |
GE3/1/1 | 1000::1/64 | GE3/1/1 | 1000::2/64 | ||
GE3/1/2 | 4000::1/64 | GE3/1/2 | 2000::2/64 | ||
Device C | Loop1 | 3::3/128 | Device D | Loop1 | 4::4/128 |
GE3/1/1 | 3000::3/64 | GE3/1/1 | 3000::4/64 | ||
GE3/1/2 | 2000::3/64 | GE3/1/2 | 4000::4/64 |
(1) 请按照图1-9配置各接口的IPv6地址和前缀长度,具体配置过程略
(2) 配置Device A
# 配置SID列表。
[DeviceA] segment-routing ipv6
[DeviceA-segment-routing-ipv6] locator a ipv6-prefix 5000:: 64 static 32
[DeviceA-segment-routing-ipv6-locator-a] opcode 1 end
[DeviceA-segment-routing-ipv6-locator-a] quit
[DeviceA-segment-routing-ipv6] traffic-engineering
[DeviceA-srv6-te] srv6-policy locator a
[DeviceA-srv6-te] segment-list s1
[DeviceA-srv6-te-sl-s1] index 10 ipv6 6000::1
[DeviceA-srv6-te-sl-s1] index 20 ipv6 7000::1
[DeviceA-srv6-te-sl-s1] index 30 ipv6 8000::1
[DeviceA-srv6-te-sl-s1] quit
# 创建SRv6-TE Policy,并配置SRv6-TE Policy属性。
[DeviceA-srv6-te] policy p1
[DeviceA-srv6-te-policy-p1] binding-sid ipv6 5000::2
[DeviceA-srv6-te-policy-p1] color 10 end-point ipv6 4::4
[DeviceA-srv6-te-policy-p1] candidate-paths
[DeviceA-srv6-te-policy-p1-path] preference 10
[DeviceA-srv6-te-policy-p1-path-pref-10] explicit segment-list s1
[DeviceA-srv6-te-policy-p1-path-pref-10] quit
[DeviceA-srv6-te-policy-p1-path] quit
[DeviceA-srv6-te-policy-p1] quit
[DeviceA-srv6-te] quit
[DeviceA-segment-routing-ipv6] quit
# 配置IS-IS协议实现网络层互通,开销值类型为wide。
<DeviceA> system-view
[DeviceA] isis 1
[DeviceA-isis-1] network-entity 00.0000.0000.0001.00
[DeviceA-isis-1] cost-style wide
[DeviceA-isis-1] address-family ipv6 unicast
[DeviceA-isis-1-ipv6] segment-routing ipv6 locator a
[DeviceA-isis-1-ipv6] quit
[DeviceA-isis-1] quit
[DeviceA] interface gigabitethernet 3/1/1
[DeviceA-GigabitEthernet3/1/1] isis ipv6 enable 1
[DeviceA-GigabitEthernet3/1/1] quit
[DeviceA] interface gigabitethernet 3/1/2
[DeviceA-GigabitEthernet3/1/2] isis ipv6 enable 1
[DeviceA-GigabitEthernet3/1/2] quit
[DeviceA] interface loopback 1
[DeviceA-LoopBack1] isis ipv6 enable 1
[DeviceA-LoopBack1] quit
(3) 配置Device B
# 配置SRv6 End.SID。
[DeviceB] segment-routing ipv6
[DeviceB-segment-routing-ipv6] locator b ipv6-prefix 6000:: 64 static 32
[DeviceB-segment-routing-ipv6-locator-b] opcode 1 end
[DeviceB-segment-routing-ipv6-locator-b] quit
[DeviceB-segment-routing-ipv6] quit
# 配置IS-IS协议实现网络层互通,开销值类型为wide。
<DeviceB> system-view
[DeviceB] isis 1
[DeviceB-isis-1] network-entity 00.0000.0000.0002.00
[DeviceB-isis-1] cost-style wide
[DeviceB-isis-1] address-family ipv6 unicast
[DeviceB-isis-1-ipv6] segment-routing ipv6 locator b
[DeviceB-isis-1-ipv6] quit
[DeviceB-isis-1] quit
[DeviceB] interface gigabitethernet 3/1/1
[DeviceB-GigabitEthernet3/1/1] isis ipv6 enable 1
[DeviceB-GigabitEthernet3/1/1] quit
[DeviceB] interface gigabitethernet 3/1/2
[DeviceB-GigabitEthernet3/1/2] isis ipv6 enable 1
[DeviceB-GigabitEthernet3/1/2] quit
[DeviceB] interface loopback 1
[DeviceB-LoopBack1] isis ipv6 enable 1
[DeviceB-LoopBack1] quit
(4) 配置Device C
# 配置SRv6 End.SID。
[DeviceC] segment-routing ipv6
[DeviceC-segment-routing-ipv6] locator c ipv6-prefix 7000:: 64 static 32
[DeviceC-segment-routing-ipv6-locator-c] opcode 1 end
[DeviceC-segment-routing-ipv6-locator-c] quit
[DeviceC-segment-routing-ipv6] quit
# 配置IS-IS协议实现网络层互通,开销值类型为wide。
<DeviceC> system-view
[DeviceC] isis 1
[DeviceC-isis-1] network-entity 00.0000.0000.0003.00
[DeviceC-isis-1] cost-style wide
[DeviceC-isis-1] address-family ipv6 unicast
[DeviceC-isis-1-ipv6] segment-routing ipv6 locator c
[DeviceC-isis-1-ipv6] quit
[DeviceC-isis-1] quit
[DeviceC] interface gigabitethernet 3/1/1
[DeviceC-GigabitEthernet3/1/1] isis ipv6 enable 1
[DeviceC-GigabitEthernet3/1/1] quit
[DeviceC] interface gigabitethernet 3/1/2
[DeviceC-GigabitEthernet3/1/2] isis ipv6 enable 1
[DeviceC-GigabitEthernet3/1/2] quit
[DeviceC] interface loopback 1
[DeviceC-LoopBack1] isis ipv6 enable 1
[DeviceC-LoopBack1] quit
(5) 配置Device D
# 配置SRv6 End.SID。
[DeviceD] segment-routing ipv6
[DeviceD-segment-routing-ipv6] locator d ipv6-prefix 8000:: 64 static 32
[DeviceD-segment-routing-ipv6-locator-d] opcode 1 end
[DeviceD-segment-routing-ipv6-locator-d] quit
[DeviceD-segment-routing-ipv6] quit
# 配置IS-IS协议实现网络层互通,开销值类型为wide。
<DeviceD> system-view
[DeviceD] isis 1
[DeviceD-isis-1] network-entity 00.0000.0000.0004.00
[DeviceD-isis-1] cost-style wide
[DeviceD-isis-1] address-family ipv6 unicast
[DeviceD-isis-1-ipv6] segment-routing ipv6 locator d
[DeviceD-isis-1-ipv6] quit
[DeviceD-isis-1] quit
[DeviceD] interface gigabitethernet 3/1/1
[DeviceD-GigabitEthernet3/1/1] isis ipv6 enable 1
[DeviceD-GigabitEthernet3/1/1] quit
[DeviceD] interface gigabitethernet 3/1/2
[DeviceD-GigabitEthernet3/1/2] isis ipv6 enable 1
[DeviceD-GigabitEthernet3/1/2] quit
[DeviceD] interface loopback 1
[DeviceD-LoopBack1] isis ipv6 enable 1
[DeviceD-LoopBack1] quit
# 在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
BgpName:
BSID:
Mode: Explicit Type: Type_2 Request state: Succeeded
Current BSID: 5000::2 Explicit BSID: 5000::1 Dynamic BSID: -
Reference counts: 4
Flags: A/BS/NC
Status: Up
Up time: 2020-04-02 16:08:03
Down time: 2020-04-02 16:03:48
Hot backup: Not configured
Statistics: Not configured
SBFD: Not configured
BFD Echo: Not configured
Forwarding index: 2150629377
Candidate paths state: Configured
Candidate paths statistics:
CLI paths: 1 BGP paths: 0 PCEP paths: 0
Candidate paths:
Preference : 10
CPathName:
Instance ID: 0 ASN: 0 Node address: 0.0.0.0
Peer address: ::
Optimal: Y Flags: V/A
Explicit SID list:
ID: 1 Name: s1
Weight: 1 Forwarding index: 2149580801
State: Up State(SBFD): Down
# 在Device A上查看SRv6-TE Policy的转发信息。
[DeviceA] display segment-routing ipv6 te forwarding verbose
Total forwarding entries: 1
Policy name/ID: p1/0
Binding SID: 5000::2
Policy forwording index: 2150629377
Main path:
Seglist ID: 1
Seglist forwording index: 2149580801
Weight: 1
Outgoing forwording index: 2148532225
Interface: GE1/0/1
Nexthop: FE80::54CB:70FF:FE86:316
Path ID: 0
SID list: {6000::1, 7000::1, 8000::1}
# 在Device A上查看LSP转发路径信息,可以看到SRv6-TE Policy对应的转发路径信息。
[DeviceA] display segment-routing ipv6 forwarding
Total SRv6 forwarding entries: 3
Flags: T - Forwarded through a tunnel
N - Forwarded through the outgoing interface to the nexthop IP address
A - Active forwarding information
B - Backup forwarding information
ID Flags Forwarding info
--------------------------------------------------------------------------------
2148532225 NA GE3/1/1
FE80::6CCE:CBFF:FE91:206
{2::2, 3::3, 4::4}
2149580801 TA 2148532225
2150629377 TA 2149580801