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

11-Segment Routing配置指导

目录

12-SRv6网络切片配置

本章节下载 12-SRv6网络切片配置  (672.12 KB)

12-SRv6网络切片配置


1 SRv6网络切片

1.1  SRv6网络切片简介

SRv6网络切片将一个SRv6网络切分为多个虚拟网络,不同虚拟网络互相独立,可以根据租户的业务特点为不同的虚拟网络部署不同的策略,以满足不同租户的业务需求。虚拟网络属于Overlay网络,多个虚拟网络可以共享一个Underlay网络。

1.1.1  基本概念

在SRv6网络切片定义了以下概念:

·     网络切片实例:在部署了SRv6网络切片功能的网络中,每个独立的虚拟网络称为一个网络切片实例,每个虚拟网络均由唯一的网络切片实例ID标识。网络切片实例可以定义此切片的通用属性,例如网络切片的描述信息等。

·     网络切片报文:在网络切片实例中传输的IPv6报文称为网络切片报文,网络切片报文的头部会携带网络切片实例ID,用以标识该报文归属的网络切片实例。网络切片报文携带的网络切片实例ID(Slice ID)可以封装在IPv6报文中不同的位置。根据Slice ID在网络切片报文中封装的位置,基于Slice ID的网络切片报文封装方式分为:

¡     HBH切片方式:利用IPv6逐跳扩展头(Hop-by-Hop Extension Header)的选项字段来携带Slice ID信息。使用这种方式时,设备需要解析IPv6逐跳扩展头以便获取Slice ID信息,且需要增加IPv6报文长度,设备解析和转发报文的效率略低,但可扩展性好。缺省情况下,SRv6源节点采用HBH切片方式封装Slice ID,即携带的Slice ID封装在IPv6逐跳扩展头中。

¡     源地址切片方式:使用IPv6报文源地址中的低32位来携带Slice ID信息。使用这种方式时,网络管理员需要对128位的源地址进行合理规划。优点是设备仅需解析IPv6基本头即可获取Slice ID信息,也不需要额外增加IPv6报文长度,报文头开销较小,设备解析和转发报文的效率更高。

·     网络切片通道:设备接口上用来转发网络切片报文的逻辑通道称为网络切片通道。网络切片通道也通过网络切片实例ID标识并关联网络切片实例。每个接口上可以创建多个网络切片通道,并为每个网络切片通道分配独立的调度队列,不同的网络切片通道的调度队列之间互不影响。

在SRv6网络切片场景中,处理切片报文的接口有两种类型:

·     切片基础接口:网络切片报文转发时,根据报文的目的地址(SRv6 SID)查找FIB表,FIB表中的出接口就是切片基础接口。切片基础接口上必须配置IP地址,用于参与路由计算,但不一定参与切片报文的转发。

·     切片转发接口:切片转发接口就是用来转发网络切片报文的接口,网络切片报文从该接口的网络切片通道转发。

1.1.2  网络切片报文结构

1. HBH切片方式封装Slice ID

SRv6源节点采用HBH切片方式来封装Slice ID信息时,在报文转发层面,SRv6源节点为报文添加IPv6逐跳扩展头(Hop-by-Hop Extension Header),并且在IPv6逐跳扩展头中添加网络切片实例ID信息。如图1-1所示,IPv6逐跳扩展头(Hop-by-Hop Extension Header)中关键字段如下:

·     Option Type字段:选项类型,取值为0x1D,表示该选项为网络切片实例ID选项。

·     Flags字段:长度为8bits,其首比特位是D标志位(丢弃标志位)。

¡     当D标志位取值为0时,网络切片报文从出接口转发时,如果出接口上不存在与报文所属网络切片实例对应的网络切片通道,设备忽略网络切片报文中携带的网络切片实例ID信息,报文仍可以正常从出接口转发;

¡     当D标志位取值为1时,网络切片报文从出接口转发时,如果出接口上不存在与报文所属网络切片实例对应的网络切片通道,设备不能忽略网络切片报文中携带的网络切片实例ID信息,报文将被丢弃。

·     Slice Instance ID:长度为32bits,表示报文所属的网络切片实例的ID,也可以简写为Slice ID。

图1-1 携带网络切片实例ID的IPv6逐跳扩展头报文结构

 

2. 源地址切片方式封装Slice ID

SRv6源节点采用源地址切片方式来封装Slice ID信息时,需要管理员规划并合理配置IPv6源地址。报文结构如图1-2所示,其中IPv6源地址中的详细信息如图1-3所示。

图1-2 采用源地址切片方式来封装Slice ID的报文结构

 

图1-3 携带Slice ID的IPv6源地址详细组成示意图

 

携带Slice ID信息的IPv6源地址包括以下组成部分:

·     切片公共前缀(Slice Common Prefix):用于标识该IPv6源地址携带了Slice ID信息,为切片专用,位于IPv6源地址的最高若干位,用户可以指定切片公共前缀的长度。规划源地址时,通常同一区域网络内所有设备都使用相同的切片公共前缀。

·     节点ID(Node ID):用于标识同区域网络内不同设备,切片公共前缀和节点ID共同组成携带Slice ID的IPv6源地址前缀。可以通过IS-IS向其他域内设备通告携带Slice ID的IPv6源地址前缀,并将该IPv6源地址前缀用于设备间的路由寻址,同时在本地设备的FIB表中生成一条IPv6源地址前缀对应的直连路由表项。

·     网络切片实例ID(Slice ID):IPv6源地址的低32位。其中,首位为Strict-Flag标志位。网络切片报文中该标志位为1,表示网络切片报文转发时必须从Slice ID对应的网络切片通道转发,如果不存在Slice ID对应的网络切片通道,则直接丢弃报文。网络切片报文中该标志位为0,表示网络切片报文转发时查找与Slice ID对应的网络切片通道转发,如果不存在Slice ID对应的网络切片通道,则不丢弃报文,按照SRv6报文正常转发。根据网络IPv6地址规划的需求,还可以将32bit长度的Slice ID中最高4位长度配置为预留段,用于扩展标记为或者其他规划用途。

·     填充位(Padding):切片公共前缀、节点ID和网络切片实例ID的总长度小于128位时,在IPv6源地址前缀后,填充0来补齐。

1.1.3  SRv6 BE场景工作机制

1. 工作机制简介

SRv6网络切片方案可以应用在IP L3VPN over SRv6 BE、EVPN L3VPN over SRv6 BE、公网IP over SRv6 BE、EVPN VPLS over SRv6 BE和EVPN VPWS over SRv6 BE场景中。为了实现流量在Slice ID标识的网络切片中转发,本端PE设备需要从对端PE学习到携带Color扩展团体属性的BGP路由,并将BGP路由的Color扩展团体属性和Slice ID进行关联。当数据报文中的目的地址匹配到该BGP路由表项时,即可关联到对应的Slice ID,并通过Slice ID标识的网络切片转发。因此在SRv6 BE场景中,实现SRv6网络切片方案必须先完成控制平面BGP路由学习。下文以IP L3VPN over SRv6 BE场景下的报文转发为例,介绍SRv6网络切片的工作机制。

2. 控制平面的路由学习

图1-4所示,在SRv6网络中存在网络切片实例1和网络切片实例2。PE 1、P和PE 2的转发接口上均存在分别与网络切片实例1和网络切片实例2关联的网络切片通道1和网络切片通道2。VPN A中两个站点CE 1和CE 2之间的流量通过SRv6 BE隧道转发,CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGP或BGP,将本站点的Loopback0口的私网路由X发布给PE 2。

(2)     PE 2从CE 2学习到私网路由信息后,将私网路由存放到VPN A的路由表中。PE 2为私网路由增加RD和RT属性,并为私网路由分配End.DT4 SID,形成VPNv4路由RD:X。PE 2通过路由策略为VPNv4路由RD:X添加Color扩展团体属性,属性值为Blue,再通过MP-BGP把携带Color扩展团体属性的VPNv4路由发布给PE 1。

(3)     PE 1收到VPNv4路由后,将该路由加入到VPN A的路由表中,并记录其Color扩展团体属性为Blue。在PE 1上,Color扩展团体属性Blue映射为网络切片Slice ID 1。

(4)     PE 1将VPNv4路由RD:X转换成IPv4路由X发布给CE 1。

(5)     CE 1收到路由后,将其学习到路由表中。

图1-4 IP L3VPN over SRv6 BE控制平面的路由学习示意图

 

3. 数据平面的网络切片报文转发

图1-5所示,以HBH方式封装Slice ID为例,私网报文从CE 1到CE 2的转发过程如下:

(1)     CE 1发送目的地址为X的IPv4报文给PE 1。

(2)     PE 1从绑定了VPN A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配X的路由,找到对应的End.DT4 SID,同时发现该路由的Color属性Blue与Slice ID 1有映射关系,然后为报文封装IPv6报文头和HBH扩展报文头,在HBH扩展头中携带Slice ID 1信息,以标识该报文需要通过Slice ID 1的切片网络转发。

(3)     PE 1根据End.DT4查找IPv6 FIB表,其出接口为PE 1和P之间的接口,转发时PE 1根据Slice ID信息在出接口上查找与其对应的网络切片通道,并通过该通道转发报文。PE 1通过最优IGP路由将报文转发给P。

(4)     P根据End.DT4查找IPv6 FIB表,重复上述步骤(3)中的过程,通过最优IGP路由将报文转发给PE 2。

(5)     PE 2收到目的IPv6地址为End.DT4 SID的报文后,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN A,查找VPN A的路由表,将报文发送给CE 2。

图1-5 IP L3VPN over SRv6 BE场景网络切片报文的转发过程

 

1.1.4  SRv6 TE Policy场景工作机制

1. 工作机制简介

SRv6 TE Policy的候选路径需要与Slice ID进行关联。在源节点将流量引流到SRv6 TE Policy转发时,设备通过SRv6 TE Policy候选路径关联的Slice ID将流量导入相应的切片网络中转发。在SRv6 TE Policy场景中实现SRv6网络切片方案时,无需在BGP路由的Color扩展团体属性和Slice ID之间建立映射关系,只需要将流量引流到SRv6 TE Policy。下文以IP L3VPN over SRv6 TE Policy场景下的报文转发为例,介绍基于SRv6网络切片的工作机制。SRv6 TE Policy场景的网络切片功能有两种方式配置:

·     通过控制器下发SRv6 TE Policy及其关联的Slice ID。

·     设备上手工配置网络切片。

2. BGP IPv6 SR policy扩展

SRv6 TE Policy可以通过控制器下发BGP IPv6 SR Policy路由的方式创建。当控制器和转发设备间建立BGP IPv6 SR Policy对等体后,控制器将BGP IPv6 SR Policy路由发布到转发设备。此时BGP IPv6 SR Policy路由的NLRI(Network Layer Reachability Information,网络层可达性信息)通过VTN(Virtual Transport Network,虚拟传输网络)Sub-TLV来携带Slice ID信息,该Sub-TLV也称之为Slice ID Sub-TLV。其格式示例如下:

SRv6 TE Policy SAFI NLRI: <Distinguisher, Policy Color, Endpoint>

Attributes:

   Tunnel Encaps Attribute (23)

      Tunnel Type: SRv6 TE Policy

          Binding SID

          Preference

          Priority

          Policy Name

          ...

          Segment List

              Weight

              Segment

              Segment

              ...

          Slice ID

          ...

Slice ID Sub-TLV的格式如图1-6所示。

图1-6 Slice ID Sub-TLV

 

Slice ID Sub-TLV包含的字段如表1-1所示。

表1-1 Slice ID Sub-TLV的字段描述表

字段名称

长度

含义

Type

8比特

Sub-TLV类型,取值为123

Length

8比特

Sub-TLV中Flags和Slice ID的长度

Flags

8比特

标志位,预留以后使用

Reserved

8比特

预留,取值为全0

Slice ID

32比特

Slice ID值

 

3. 数据平面的网络切片报文转发

图1-7所示,在SRv6网络中存在网络切片实例1和网络切片实例2。PE 1、P和PE 2的转发接口上均存在分别与网络切片实例1和网络切片实例2关联的网络切片通道1和网络切片通道2。VPN A中两个站点CE 1和CE 2之间的流量通过SRv6 TE Policy隧道转发,SRv6 TE Policy关联了网络切片实例1。以HBH方式封装Slice ID为例,CE 1访问CE 2的报文转发过程为:

(1)     CE 1向PE 1发送IPv4单播报文。PE 1接收到CE 1发送的报文之后,查找VPN实例A的路由表,该路由的出接口为SRv6 TE Policy。PE 1为报文封装如下信息:

¡     封装SRH头,在SRH头中携带SRv6 TE Policy的SID List。

¡     封装HBH扩展头,在HBH扩展头中携带SRv6 TE Policy选中的候选路径关联的网络切片实例的ID(本例中,Slice ID字段取值为1)。

¡     封装IPv6基本报文头。

(2)     PE 1将报文转发给P,转发时根据Slice ID信息在出接口上查找与其对应的网络切片通道,并通过该通道转发报文。

(3)     中间P设备根据SRH信息转发报文,转发时根据Slice ID在出接口上查找与其对应的网络切片通道,并通过该通道转发报文。

(4)     报文到达尾节点PE 2之后,PE 2使用报文的IPv6目的地址查找Local SID表,匹配到End SID,PE 2将报文SL减1,IPv6的目的地址更新为End.DT4 SID。PE 2根据End.DT4 SID查找Local SID表,执行End.DT4 SID对应的转发动作,即解封装报文去掉IPv6报文头,并根据End.DT4 SID匹配VPN A,在VPN A的路由表中,查表转发,将报文发送给CE 2。

图1-7 IP L3VPN over SRv6 TE Policy场景网络切片报文的转发过程

 

1.2  SRv6网络切片配置限制和指导

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

型号

说明

MSR1008

支持

MSR1004-G

支持

MSR1004-G-5GCN

支持

MSR2630E-X1

支持

MSR3610E-X1、MSR3610E-X1-DP

支持

MSR3610-G-X3-DP、MSR3610-G-X3、MSR3610-G-X3-DP-DC、

MSR3610-G-X3-DC

支持

MSR3620-G-X3

支持

 

型号

说明

MSR2660-XS

不支持

MSR2680-XS

不支持

 

型号

说明

MSR2600-12X-WiNet

不支持

MSR2610-13X-WiNet

不支持

 

1.3  SRv6网络切片配置任务简介

1.3.1  控制器上网络切片配置任务简介

控制器上仅需本地创建SRv6 TE Policy,再配置SRv6 TE Policy候选路径引用的网络切片实例ID,并将携带Slice ID的BGP IPv6 SR Policy路由下发给转发设备,转发设备就可以实现网络切片功能。关于通过BGP IPv6 SR Policy路由学习创建SRv6 TE Policy的详细介绍,请参考“Segment Routing配置指导”中的“SRv6 TE Policy”。

SRv6 TE Policy场景的网络切片配置任务如下:

1. 控制器上的配置

(1)     在控制器上创建SRv6 TE Policy,并配置基本属性

配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

(2)     控制器和转发设备建立BGP邻居,通过BGP发布BGP IPv6 SR Policy路由

配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

(3)     配置SRv6 TE Policy候选路径引用的网络切片实例ID

2. 转发设备上的配置

(1)     转发设备和控制器建立BGP邻居,通过BGP学习BGP IPv6 SR Policy路由

配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

(2)     在转发设备上将流量引流到SRv6 TE Policy

配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

1.3.2  SRv6 BE场景的网络切片配置任务简介

1. SRv6 BE场景采用HBH切片方式的网络切片配置

(1)     配置网络切片的业务应用场景,并配置路由的迭代方式为SRv6 BE

配置方法请参见“Segment Routing配置指导”中的“IP L3VPN over SRv6”、“EVPN L3VPN over SRv6”、“公网IP over SRv6”、“EVPN VPLS over SRv6”或“EVPN VPWS over SRv6”。

(2)     创建SRv6网络切片实例,并配置基本属性

a.     创建SRv6网络切片实例

b.     配置IPv6逐跳扩展头的协议号

(3)     配置接口的网络切片通道

(4)     (可选)配置切片转发接口关联切片基础接口

(5)     配置网络切片实例与BGP路由的Color扩展团体属性的映射关系

(6)     (可选)配置静态BFD会话检测网络切片通道的连通性

(7)     (可选)配置网络切片的报文统计功能

2. SRv6 BE场景采用源地址切片方式的网络切片配置

(1)     配置网络切片的业务应用场景,并配置路由的迭代方式为SRv6 BE

配置方法请参见“Segment Routing配置指导”中的“IP L3VPN over SRv6”、“EVPN L3VPN over SRv6”、“公网IP over SRv6”、“EVPN VPLS over SRv6”或“EVPN VPWS over SRv6”。

(2)     创建SRv6网络切片实例

(3)     开启IPv6源地址携带Slice ID的功能

(4)     配置携带Slice ID的IPv6源地址前缀

(5)     配置通过IS-IS协议发布携带Slice ID的IPv6源地址前缀

(6)     置接口的网络切片通道

(7)     (可选)配置切片转发接口关联切片基础接口

(8)     配置网络切片实例与BGP路由的Color扩展团体属性的映射关系

(9)     (可选)配置静态BFD会话检测网络切片通道的连通性

(10)     (可选)配置网络切片的报文统计功能

1.3.3  SRv6 TE Policy场景的网络切片配置任务简介

1. SRv6 TE Policy场景采用HBH切片方式的网络切片配置

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

在SRv6网络的源节点上执行本配置,配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

(2)     将流量引流到SRv6 TE Policy

配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

(3)     创建SRv6网络切片实例,并配置基本属性

a.     创建SRv6网络切片实例

b.     配置IPv6逐跳扩展头的协议号

(4)     配置接口的网络切片通道

(5)     (可选)配置切片转发接口关联切片基础接口

(6)     配置SRv6 TE Policy候选路径引用的网络切片实例ID

(7)     (可选)配置网络切片的报文统计功能

2. SRv6 TE Policy场景采用源地址切片方式的网络切片配置

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

在SRv6网络的源节点上执行本配置,配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

(2)     将流量引流到SRv6 TE Policy

配置方法请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

(3)     创建SRv6网络切片实例

(4)     开启IPv6源地址携带Slice ID的功能

(5)     配置携带Slice ID的IPv6源地址前缀

(6)     配置通过IS-IS协议发布携带Slice ID的IPv6源地址前缀

(7)     配置接口的网络切片通道

(8)     (可选)配置切片转发接口关联切片基础接口

(9)     (可选)配置网络切片的报文统计功能

1.4  创建SRv6网络切片实例

1. 配置限制和指导

如果接口下执行slice-id { data-plane | flex-channel }命令关联了某个网络切片实例,则删除该网络切片实例前,需要先执行undo slice-id { data-plane | flex-channel }命令取消接口和网络切片实例ID的关联,再执行undo instance命令删除指定的网络切片实例。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启网络切片功能,并进入Network Slice视图。

network-slice

缺省情况下,网络切片功能处于关闭状态。

(3)     创建网络切片实例,并进入Network Slice实例视图。

instance slice-instance-id

(4)     (可选)配置网络切片实例的描述信息。

description text

缺省情况下,未配置网络切片实例的描述信息。

1.5  配置IPv6逐跳扩展头的协议号

1. 功能简介

在SRv6网络切片场景中,SRv6源节点为报文添加IPv6逐跳扩展头(Hop-by-Hop extension header),并且在IPv6逐跳扩展头中添加该报文所属的网络切片实例ID。缺省情况下,IPv6逐跳扩展头的协议号为0,即IPv6逐跳扩展头前一个IPv6报文头部的Next Header字段取值为0。不支持网络切片的设备接收到协议号为0的IPv6逐跳扩展头的报文会出现设备无法解析扩展头内容,处理速度变慢或者直接丢弃报文的现象。为了避免这种情况,可以配置本功能修改IPv6逐跳扩展头的协议号为非0,不支持网络切片的设备收到该报文后将忽略IPv6逐跳扩展头,根据IPv6基本头的信息正常转发报文。不同厂商设备使用的IPv6逐跳扩展头的协议号不同时,也可以使用本命令来修改IPv6逐跳扩展头的协议号,以实现不同厂商设备的互通。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入Network Slice视图。

network-slice

(3)     配置IPv6逐跳扩展头的协议号。

protocol-number number

缺省情况下,IPv6逐跳扩展头的协议号为0。

1.6  开启IPv6源地址携带Slice ID的功能

1. 功能简介

网络切片报文携带的Slice ID可以封装在IPv6报文中不同的位置。根据Slice ID在网络切片报文中封装的位置,基于Slice ID的网络切片报文封装方式分为:

·     HBH切片方式。

·     源地址切片方式。

缺省情况下,SRv6源节点采用HBH切片方式封装Slice ID,即携带的Slice ID封装在IPv6逐跳扩展头中。配置本功能后,SRv6源节点采用源地址切片方式封装Slice ID。

源地址切片方式的网络切片报文不支持插入封装模式处理,如果配置了插入封装模式处理报文,则将按照对应的Encaps方式处理报文。关于插入封装模式的详细介绍,请参考“Segment Routing配置指导”中的“SRv6 TE Policy”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入Network Slice视图。

network-slice

(3)     开启IPv6源地址携带Slice ID的功能。

slice-encapsulation ipv6-source

缺省情况下,网络切片报文携带的Slice ID封装在IPv6逐跳扩展头(Hop-by-Hop Extension Header)中。

1.7  配置携带Slice ID的IPv6源地址前缀

1. 功能简介

在基于Slice ID的网络切片场景中,SRv6源节点采用源地址切片方式来封装Slice ID信息时,需要配置携带Slice ID的IPv6源地址前缀用于为报文封装IPv6源地址。在SRv6转发路径经过的其他节点上配置携带Slice ID的IPv6源地址前缀,这些节点将比对接收到报文的IPv6源地址中高common-length位与配置的IPv6源地址前缀中的切片公共前缀是否完全相同,如果完全一致,则表示该IPv6报文为网络切片报文,其源地址中携带了Slice ID信息。

2. 配置限制和指导

·     通过多次执行index prefix-name命令指定不同的IPv6源地址前缀的索引值,可以配置多个IPv6源地址前缀。IPv6源地址前缀的索引值和IPv6源地址前缀的名称均不相同的两个IPv6源地址前缀不能完全相同,也不能存在互相覆盖的关系。

·     多次执行index prefix-name命令指定相同的IPv6源地址前缀的索引值时,最后一次配置的命令生效。

·     SRv6的源节点上配置index prefix-name命令时,必须指定prefix-length prefix-length参数,保证IPv6源地址前缀可以由IGP发布,回程报文可以通过该IPv6源地址前缀对应的路由返回SRv6的源节点。SRv6隧道的中间节点可以不指定prefix-length prefix-length参数,仅使用切片公共前缀来识别收到的IPv6报文是否为网络切片报文。

·     同一台设备上最多只能存在一个指定了default参数的IPv6源地址前缀。

·     源地址切片方式的组网中,如果encapsulation source-address配置的SRv6 VPN封装的源地址和index prefix-name命令配置的IPv6源地址前缀重叠,会导致VPN私网报文走该网络切片通道转发,因此,请合理规划携带Slice ID的IPv6源地址

注意

携带Slice ID的IPv6源地址前缀由需要IS-IS发布,并完成全网IS-IS路由收敛。IS-IS路由收敛和BFD的时序不同步会造成BFD业务异常。例如:

在使用BFD/SBFD探测SRv6 TE Policy时,如果该SRv6 TE Policy的候选路径下引用网络切片实例ID,且SliceID采用源地址切片封装时,由于携带Slice ID的IPv6源地址需要通过IGP协议发布给SRv6 TE Policy尾节点,尾节点才能生成路由表项,基于IPv6源地址指导BFD/SBFD报文回程。当IGP协议收敛时间和BFD报文抵达尾节点的时序不同步时,即尾节点先收到源节点的BFD/SBFD报文,但未学习到IGP协议发布的携带Slice ID的IPv6源地址时,BFD/SBFD的回程报文可能由于地址不可达会被丢弃,导致BFD/SBFD会话Down,并引起SRv6 TE Policy Down。

 

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入Network Slice视图。

network-slice

(3)     (可选)为源地址切片方式配置网络切片实例ID的预留段。

slice-id-reserved bit length

缺省情况下,采用源地址切片方式时,网络切片实例ID中不存在预留段。

(4)     进入切片前缀视图。

slice-prefix

(5)     配置携带Slice ID的IPv6源地址前缀。

index index-number prefix-name prefix-name ipv6-prefix ipv6-address common-length common-length [ prefix-length prefix-length [ default ] ]

缺省情况下,网络切片报文携带的Slice ID封装在IPv6逐跳扩展头(Hop-by-Hop Extension Header)中。

 

1.7.2  配置通过IS-IS协议发布携带Slice ID的IPv6源地址前缀

1. 功能简介

当Slice ID通过源地址方式封装在网络切片报文中,并且设备上执行了index prefix-name命令配置携带Slice ID的IPv6源地址时,可以通过配置本功能,通过IS-IS协议将本地设备上index prefix-name命令中配置的IPv6源地址前缀发布给其他设备,以便其他设备通过该路由将回程报文返回给SRv6源节点。

注意

携带Slice ID的IPv6源地址前缀由可以由IS-IS发布,并完成全网IS-IS路由收敛。IS-IS路由收敛和BFD的时序不同步会造成BFD业务异常。例如:

在使用BFD/SBFD探测SRv6 TE Policy时,如果该SRv6 TE Policy的候选路径下引用网络切片实例ID,且SliceID采用源地址切片封装时,由于携带Slice ID的IPv6源地址需要通过IGP协议发布给SRv6 TE Policy尾节点,尾节点才能生成路由表项,基于IPv6源地址指导BFD/SBFD报文回程。当IGP协议收敛时间和BFD报文抵达尾节点的时序不同步时,即尾节点先收到源节点的BFD/SBFD报文,但未学习到IGP协议发布的携带Slice ID的IPv6源地址时,BFD/SBFD的回程报文可能由于地址不可达会被丢弃,导致BFD/SBFD会话Down,并引起SRv6 TE Policy Down。

 

2. 配置步骤

(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协议发布携带Slice ID的IPv6源地址前缀。

advertise slice-prefix-route

1.8  配置接口的网络切片通道

1. 功能简介

本功能用来在接口上创建网络切片通道。网络切片通道存在以下不同类型:

·     独享模式的网络切片通道:配置本功能指定flex-channel参数,且不指定shared参数时,设备在接口上为网络切片通道分配独享模式的调度队列资源,其他网络切片通道中的网络切片报文和非切片网络切片报文不能抢占本切片的调度队列的资源。当网络切片报文携带的Slice ID和创建的网络切片通道的网络切片实例ID匹配时,则通过该通道来转发网络切片报文。例如,指定了网络切片实例ID 10的网络切片通道为独享模式,且为该网络切片通道分配了100Mpbs的带宽资源,那么即使该网络切片通道中不存在任何流量,其他网络切片报文和非网络切片也不可占用该网络切片通道的资源,即独享模式的带宽资源为刚性带宽。

·     共享模式的网络切片通道:配置本功能指定flex-channel参数,且指定shared参数时,设备在接口上为网络切片通道分配共享模式的调度队列资源,但网络拥塞时,非网络切片报文可以竞争本切片的调度队列的资源。当网络切片报文携带的Slice ID和创建的网络切片通道的网络切片实例ID匹配时,可以通过该通道来转发网络切片报文。例如,指定了网络切片实例ID 20的网络切片通道为共享模式,且为该网络切片通道分配了100Mpbs的带宽资源,如果该网络切片通道中不存在任何流量,但接口上其他流量拥塞时,可占用该网络切片通道的资源,即共享模式的带宽资源为弹性带宽。共享模式的网络切片通道还可以指定pir峰值速率,表示该网络切片通道采用bandwidth-value指定的速率和峰值速率实现双速率双桶三色算法,关于双速率双桶三色算法的详细介绍请参见“ACL和QoS配置指导”中的“QoS”。共享模式的网络切片通道可以提供更加灵活的流量调度方式。

·     Data Plane模式的网络切片通道:配置本功能指定data-plane参数时,设备在接口上不会为网络切片通道分配独立的调度队列资源,建议接口的该网络切片通道用于关联切片转发口,不作为带宽资源隔离的网络切片通道。接口的该网络切片通道的带宽值由设备动态计算,且该网络切片通道中业务和其他非网络切片通道中业务共享接口剩余带宽资源,无法达到带宽资源隔离的效果。因此,如果希望网络切片通道中的业务和其他非网络切片通道中的业务带宽资源隔离,则建议配置本命令时指定flex-channel参数。

图1-8 不同类型网络切片通道示意图

 

2. 配置限制和指导

开启接口的网络切片功能前,需要先通过instance命令创建网络切片实例。

同一接口下可以配置多个网络切片通道。

与切片基础口和转发口相关的配置限制如下:

·     在子接口上先配置basic slice-id命令,然后再配置本功能为该子接口配置网络切片通道。如果子接口下先配置了本命令,则无法再配置basic slice-id命令。

·     切片转发接口通过basic slice-id命令与切片基础接口关联后,则该切片基础接口上对应的网络切片通道不能直接删除,必须先在切片转发接口执行undo basic slice-id命令解除关联后,才能删除该网络切片通道。

·     在切片转发接口上执行本命令创建网络切片通道时,最多只能存在一个通过指定data-plane参数创建的网络切片通道。

本功能配合mode channel-bandwidth命令可以实现层次化的切片能力。在子接口上必须先执行mode channel-bandwidth命令来配置子接口切片功能来实现一级切片业务的带宽资源隔离,然后在切片子接口上再通过本功能配置网络切片通道,在一级切片业务的带宽资源内隔离出二级业务的带宽资源。因此,子接口上配置本命令指定的所有网络切片通道带宽之和不能大于该子接口上mode channel-bandwidth命令配置的带宽值。

多次执行slice-id { data-plane | flex-channel }为同一接口配置相同的通道、指定不同的带宽,则最后一次执行的命令生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启接口的网络切片功能,并进入接口的Network Slice视图。

network-slice enable

缺省情况下,接口上的网络切片功能处于关闭状态。

(4)     配置接口的网络切片通道,并指定网络切片通道的带宽值。

slice-id slice-instance-id { data-plane | flex-channel flex-channel-value [ shared [ flex-channel-pir peak-information-rate ] ] }

缺省情况下,接口上未配置网络切片通道。

1.9  配置切片转发接口关联切片基础接口

1. 功能简介

在子接口上执行本配置后,该子接口即可作为切片转发接口并通过本命令指定的match-slice-id与切片基础接口进行关联。例如,切片基础口上执行slice-id { data-plane | flex-channel }命令创建了Slice ID为10的网络切片通道,则子接口上通过执行basic slice-id命令指定match-slice-id为10,则可以实现该子接口作为切片转发接口与切片基础接口进行关联。在切片转发接口上还需要执行slice-id { data-plane | flex-channel }命令创建网络切片通道,该网络切片通道的Slice ID不能与match-slice-id相同。

配置切片转发接口关联切片基础接口后,网络切片报文转发流程如下:

(1)     设备根据网络切片报文的目的地址(SRv6 SID)查找FIB表,匹配的FIB表项的出接口为切片基础接口。

(2)     设备检查切片基础接口上是否存在与网络切片报文携带的Slice ID对应的网络切片通道。

¡     如果存在,则网络切片报文直接通过切片基础接口上的网络切片通道转发。此时切片基础接口也是切片转发接口,这种网络切片报文的转发机制称为无接口模式。

¡     如果不存在,则设备根据切片基础接口上的网络切片通道ID查找切片基础接口关联的切片转发接口。

-     如果未查找到关联的切片转发接口,则设备默认忽略报文携带的Slice ID,按照正常的SRv6报文转发流程转发该报文。

-     如果查找到切片基础接口关联的切片转发接口,则设备继续查找切片转发接口上是否存在与网络切片报文携带的Slice ID对应的网络切片通道。如果报文携带的Slice ID与切片转发接口上配置的任一网络切片通道ID相同,则网络切片报文将通过切片转发接口上的网络切片通道转发。否则,设备默认忽略报文携带的Slice ID,按照正常的SRv6报文转发流程转发该报文。这种网络切片报文的转发机制称为有接口模式。

2. 配置限制和指导

·     本功能仅支持在子接口下配置。

·     在子接口上配置本命令前,先在该子接口配置mode channel-bandwidth命令为该子接口分配带宽上限,否则子接口下配置slice-id data-plane时,网络切片通道不生效。

·     切片转发口的限制:

¡     切片基础接口与切片转发接口必须同属于一个主接口。

¡     切片转发接口不能关联其他切片转发接口,只能关联切片基础接口。即切片转发接口上basic slice-id命令指定match-slice-id,不能与其他切片转发接口上slice-id { data-plane | flex-channel }命令指定的Slice ID相同。

¡     同一接口下多次执行本命令,最后一次生效。即同一接口只能关联一个切片基础接口。

¡     通过执行本命令将子接口配置为切片转发接口后,建议不要再为该子接口配置IP地址,该子接口不要作为切片基础接口参与路由计算,否则将影响网络切片报文的转发。

·     配置先后顺序限制:

¡     在子接口上先配置本命令,然后再配置slice-id { data-plane | flex-channel }命令为该子接口配置网络切片通道。如果子接口下先配置了slice-id { data-plane | flex-channel }命令,则无法再配置本命令。

¡     切片转发接口上配置slice-id { data-plane | flex-channel }命令后,如果需要执行undo basic slice-id命令,请先执行undo slice-id { data-plane | flex-channel }命令删除网络切片通道。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启接口的网络切片功能,并进入接口的Network Slice视图。

network-slice enable

缺省情况下,接口上的网络切片功能处于关闭状态。

(4)     配置接口的网络切片通道,并指定网络切片通道的带宽值。

slice-id slice-instance-id { data-plane | flex-channel flex-channel-value }

缺省情况下,接口上未配置网络切片通道。

(5)     退回系统视图。

quit

quit

(6)     进入子接口视图。

interface interface-type interface-number.subnumber

(7)     开启接口的网络切片功能,并进入接口的Network Slice视图。

network-slice enable

缺省情况下,接口上的网络切片功能处于关闭状态。

(8)     配置子接口关联的切片基础接口的网络切片实例ID。

basic slice-id match-slice-id

缺省情况下,未配置子接口关联的切片基础接口的网络切片实例ID。

 

1.10  配置SRv6 TE Policy候选路径引用的网络切片实例ID

1. 功能简介

SRv6 TE Policy的候选路径下引用了网络切片实例ID,且该候选路径被优选后,设备会为通过该候选路径转发的报文封装携带网络切片实例ID的IPv6逐跳扩展头。如果该报文转发路径上的节点的出接口配置了与该网络切片实例对应的网络切片通道,则报文会通过网络切片通道转发。

报文转发过程如下:

·     采用HBH切片方式的网络切片报文封装:SRv6源节点为数据报文封装携带Slice ID的HBH扩展头和SRH扩展头,再根据报文目的地址(SRv6 SID)查找FIB表并获取路由出接口,在该路由出接口下查找Slice ID标识的切片通道,从切片通道转发报文。

·     采用源地址切片方式的网络切片报文封装:SRv6源节点修改数据报文的源IPv6地址。源IPv6地址由IPv6源地址前缀名称对应的IPv6源地址前缀、本命令中指定的Slice ID及填充位(Padding)组成。SR节点再根据报文目的地址(SRv6 SID)查找FIB表并获取路由出接口,在该路由出接口下查找Slice ID标识的切片通道,从切片通道转发报文。

2. 配置限制和指导

在采用HBH切片方式的网络切片方案中,指定的slice-prefixstrict-mode参数不生效。

在采用源地址切片方式的网络切片方案中:

·     SRv6 TE Policy的封装方式不支持插入封装模式及插入封装的简化模式,如果配置了插入封装模式或插入封装的简化模式将分别按照Encaps方式和 Encaps.Red方式处理。关于插入封装模式的详细介绍,请参考“Segment Routing配置指导”中的“SRv6 TE Policy”。

·     如果网络切片报文转发路径上的节点的出接口不存在与该网络切片实例对应的网络切片通道,则根据本命令中是否指定strict-mode参数来决定如何转发网络切片报文。

·     未指定slice-prefix-name时,按照如下顺序选取IPv6源地址前缀来修改网络切片报文的IPv6源地址:

a.     优先使用index prefix-name命令中指定了default参数的IPv6源地址前缀。

b.     如果不存在指定了default参数的IPv6源地址前缀,则使用index prefix-name命令中指定了prefix-length参数且索引值最小的IPv6源地址前缀。

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候选路径,并进入SRv6 TE Policy候选路径视图。

candidate-paths

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

preference preference-value

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

(7)     配置SRv6 TE Policy候选路径引用的网络切片实例ID。

network-slice slice-instance-id [ slice-prefix slice-prefix-name ] [ strict-mode ]

缺省情况下,SRv6 TE Policy候选路径未引用网络切片实例ID。

1.11  配置网络切片实例与BGP路由的Color扩展团体属性的映射关系

1. 功能简介

在IP L3VPN over SRv6、EVPN L3VPN over SRv6、公网IP over SRv6、EVPN VPLS over SRv6 和EVPN VPWS over SRv6场景中配置本功能后,SRv6节点上会生成BGP路由的Color扩展团体属性值与Slice ID的映射关系。SRv6节点学习到携带Color扩展团体属性值的BGP路由之后,匹配该BGP路由的流量将通过Color属性对应的Slice ID标识的网络切片转发。

2. 配置限制和指导

配置网络切片实例与BGP路由的Color扩展团体属性的映射关系时,需要注意:

·     同一个Color属性值只能与一个网络切片实例建立映射关系。

·     不同的Color属性值可以与同一个网络切片实例建立映射关系。

采用HBH切片方式的网络切片报文封装时,指定的slice-prefixstrict-mode参数不生效。

采用源地址切片方式的网络切片报文封装时未指定slice-prefix-name时,按照如下顺序选取IPv6源地址前缀来修改网络切片报文的IPv6源地址:

(1)     优先使用index prefix-name命令中指定了default参数的IPv6源地址前缀。

(2)     如果不存在指定了default参数的IPv6源地址前缀,则使用index prefix-name命令中指定了prefix-length参数且索引值最小的IPv6源地址前缀。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启网络切片功能,并进入Network Slice视图。

network-slice

缺省情况下,网络切片功能处于关闭状态。

(3)     创建网络切片实例与Color映射视图,并进入网络切片实例与Color映射视图。

network-slice color-mapping

(4)     配置网络切片实例与BGP路由的Color扩展团体属性的映射关系

color color-value network-slice slice-instance-id [ slice-prefix slice-prefix-name ] [ strict-mode ]

缺省情况下,未配置网络切片实例与BGP路由的Color扩展团体属性的映射关系。

本命令指定的slice-instance-id,需要先通过instance命令创建。

1.12  配置静态BFD会话检测网络切片通道的连通性

1. 功能简介

在SRv6 BE场景的网络切片组网中,可以配置本功能使用静态BFD会话快速检测报文转发路径上的网络切片通道的连通性,实现FRR。

在本端PE设备和对端PE分别创建控制报文方式的静态BFD会话并且配置静态BFD会话引用的网络切片实例ID后,BFD报文中将封装本命令指定的Slice ID信息,并通过转发路径中对应Slice ID标识的网络切片通道转发该BFD报文。携带Slice ID的BFD报文有两种封装方式:

·     如果未配置slice-encapsulation ipv6-source命令,则设备采用HBH切片方式封装携带Slice ID的BFD报文,即利用IPv6逐跳扩展头的选项字段来携带Slice ID信息。

·     如果配置了slice-encapsulation ipv6-source命令,则设备采用源地址切片封装携带Slice ID的BFD报文,即使用IPv6报文源地址中的低32位来携带Slice ID信息。BFD报文的源IPv6地址由IPv6源地址前缀名称对应的IPv6源地址前缀、Slice ID及填充位(Padding)组成。

2. 配置限制和指导

·     执行bfd static命令创建静态BFD会话时,请指定peer-ipv6对端BFD会话的目的地址为对端PE设备为路由前缀分配的VPN SID或者该SID所属的SRv6 Locator段。

·     执行bfd static命令创建静态BFD会话时必须满足以下条件:

¡     不支持自动分配BFD会话的本地标识符,必须手工指定本地标识符及远端标识符。

¡     如果采用源地址切片封装携带Slice ID的BFD报文,则不能指定BFD报文的源IPv6地址参数,否则静态BFD会话视图下无法配置本功能。

·     采用源地址切片封装携带Slice ID的BFD报文时,指定的slice-instance-id超过2147483647时,本功能不生效。

·     采用源地址切片封装携带Slice ID的BFD报文时,如果静态BFD会话视图下的network-slice命令未指定slice-prefix prefix-name参数时,按照如下顺序选取IPv6源地址前缀:

a.     优先使用切片前缀视图下的index prefix-name命令中指定了default参数的IPv6源地址前缀。

b.     如果切片前缀视图下的index prefix-name命令未指定default参数的IPv6源地址前缀,则使用index prefix-name命令中指定了prefix-length参数且索引值最小的IPv6源地址前缀。

·     采用HBH方式封装携带Slice ID的BFD报文时,静态BFD会话视图下的network-slice命令指定的slice-prefix prefix-name参数和strict-mode参数不生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建静态BFD会话,并进入静态BFD会话视图。

bfd static session-name peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] [ source-ipv6 ipv6-address ] [ discriminator local local-value remote remote-value ]

在本端PE和对端PE分别创建对应的静态BFD会话时,必须手工指定本地标识符及远端标识符,且采用源地址切片封装携带Slice ID的BFD报文时不能指定BFD报文的源IPv6地址。

(3)     配置静态BFD会话引用的网络切片实例ID。

network-slice slice-instance-id [ slice-prefix prefix-name ] [ strict-mode ]

缺省情况下,静态BFD会话未引用的网络切片实例ID。

1.13  配置网络切片的报文统计功能

1. 功能简介

开启网络切片的报文统计功能后,用户可以通过执行display network-slice statistics命令来查看通过指定网络切片转发的报文的统计信息。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入Network Slice视图。

network-slice

(3)     开启网络切片的报文统计功能。

statistics enable

缺省情况下,网络切片的报文统计功能处于关闭状态。

(4)     (可选)配置网络切片的报文统计时间间隔。

statistics interval time

缺省情况下,网络切片的报文统计时间间隔为30秒。

1.14  SRv6网络切片显示和维护

·     显示BGP模块下发的携带Slice ID的IPv6源地址前缀信息

display bgp [ instance instance-name ] slice-prefix [ name prefix-name ]

·     可在任意视图下执行以下命令,显示网络切片实例和接口的关联关系

display network-slice binding-list [ slice-id slice-instance-id ] [ interface interface-type interface-number ]

·     可在任意视图下执行以下命令,显示配置的网络切片实例与Color扩展团体属性值映射关系

display network-slice color-mapping [ color color-value | slice-id slice-instance-id ] *

·     可在任意视图下执行以下命令,显示网络切片功能的配置信息

display network-slice configuration

·     显示配置的携带Slice ID的IPv6源地址前缀信息。

display network-slice slice-prefix [ name prefix-name ]

·     显示SRv6 TE Policy候选路径引用的携带Slice ID的IPv6源地址前缀。

display segment-routing ipv6 te policy slice-prefix [ name prefix-name ]

·     显示接口下SRv6网络切片带宽使用率。

display network-slice bandwidth usage statistics [ interface interface-type interface-number ]

·     可在任意视图下执行以下命令,显示网络切片的报文统计信息

display network-slice statistics [ slice-id slice-instance-id ] [ interface interface-type interface-number ] [ verbose ]

·     可在任意视图下执行以下命令,显示接口上网络切片通道的调度队列和流量统计信息

display qos network-slice [ default | slice-id slice-instance-id ] interface interface-type interface-number[ slot slot-number ]

·     在用户视图下执行以下命令,清除网络切片的报文统计信息

reset network-slice statistics [ slice-id slice-instance-id ] [ interface interface-type interface-number ]

1.15  SRv6网络切片典型配置举例

1.15.1  SRv6 TE Policy场景中的SRv6网络切片配置举例(HBH切片方式)

1. 组网需求

图1-9所示,用户需要流量分别经过Device A、Device B、Device C、Device D上的网络切片转发。通过部署以下功能可以实现该需求:

·     Device A~Device D设备之间运行IS-IS实现三层互通。

·     Device A~Device D上部署网络切片实例,并在报文转发的出接口上配置网络切片通道。

·     在Device A上配置关联了网络切片实例的SRv6 TE Policy,限定用户流量的转发路径为Device A->Device B->Device C->Device D。

2. 组网图

图1-9 SRv6 TE Policy场景中的SRv6网络切片配置组网图

 

设备

接口

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)     请按照图1-9配置各接口的IPv6地址和前缀长度,具体配置过程略。

(2)     配置Device A

# 创建网络切片实例,并配置IPv6逐跳扩展头的协议号,开启网络切片的报文统计功能。

<DeviceA> system-view

[DeviceA] network-slice

[DeviceA-network-slice] protocol-number 160

[DeviceA-network-slice] statistics enable

[DeviceA-network-slice] instance 1

[DeviceA-network-slice-instance-1] quit

# 配置转发出接口的网络切片通道。

[DeviceA] interface gigabitethernet 0/0/1

[DeviceA-GigabitEthernet0/0/1] network-slice enable

[DeviceA-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceA-GigabitEthernet0/0/1-network-slice] quit

[DeviceA-GigabitEthernet0/0/1] quit

# 配置SRv6 VPN封装的IPv6报文头的源地址。

[DeviceA] segment-routing ipv6

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

# 配置SRv6 SID的节点路由段,并静态配置End类型的SRv6 SID。

[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

# 配置SRv6 TE Policy的BSID引用的Locator段。

[DeviceA-segment-routing-ipv6] traffic-engineering

[DeviceA-srv6-te] srv6-policy locator a

# 配置SID列表。

[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] network-slice 1

[DeviceA-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[DeviceA-srv6-te-policy-p1-path-pref-10] quit

[DeviceA-srv6-te-policy-p1-path] quit

[DeviceA-srv6-te-policy-p1] quit

[DeviceA-srv6-te] quit

[DeviceA-segment-routing-ipv6] quit

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

[DeviceA] isis 1

[DeviceA-isis-1] network-entity 00.0000.0000.0001.00

[DeviceA-isis-1] cost-style wide

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

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

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

[DeviceA] interface 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

# 创建网络切片实例,并配置IPv6逐跳扩展头的协议号,开启网络切片的报文统计功能。

<DeviceB> system-view

[DeviceB] network-slice

[DeviceB-network-slice] protocol-number 160

[DeviceB-network-slice] statistics enable

[DeviceB-network-slice] instance 1

[DeviceB-network-slice-instance-1] quit

# 配置转发出接口的网络切片通道。

[DeviceB] interface gigabitethernet 0/0/1

[DeviceB-GigabitEthernet0/0/1] network-slice enable

[DeviceB-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceB-GigabitEthernet0/0/1-network-slice] quit

[DeviceB-GigabitEthernet0/0/1] quit

[DeviceB] interface gigabitethernet 0/0/2

[DeviceB-GigabitEthernet0/0/2] network-slice enable

[DeviceB-GigabitEthernet0/0/2-network-slice] slice-id 1 flex-channel 100

[DeviceB-GigabitEthernet0/0/2-network-slice] quit

[DeviceB-GigabitEthernet0/0/2] quit

# 配置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] 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

# 创建网络切片实例,并配置IPv6逐跳扩展头的协议号,开启网络切片的报文统计功能。

<DeviceC> system-view

[DeviceC] network-slice

[DeviceC-network-slice] protocol-number 160

[DeviceC-network-slice] statistics enable

[DeviceC-network-slice] instance 1

[DeviceC-network-slice-instance-1] quit

# 配置转发出接口的网络切片通道。

[DeviceC] interface gigabitethernet 0/0/1

[DeviceC-GigabitEthernet0/0/1] network-slice enable

[DeviceC-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceC-GigabitEthernet0/0/1-network-slice] quit

[DeviceC-GigabitEthernet0/0/1] quit

 [DeviceC] interface gigabitethernet 0/0/2

[DeviceC-GigabitEthernet0/0/2] network-slice enable

[DeviceC-GigabitEthernet0/0/2-network-slice] slice-id 1 flex-channel 100

[DeviceC-GigabitEthernet0/0/2-network-slice] quit

[DeviceC-GigabitEthernet0/0/2] quit

# 配置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] 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

# 创建网络切片实例,并配置IPv6逐跳扩展头的协议号,开启网络切片的报文统计功能。

<DeviceD> system-view

[DeviceD] network-slice

[DeviceD-network-slice] protocol-number 160

[DeviceD-network-slice] statistics enable

[DeviceD-network-slice] instance 1

[DeviceD-network-slice-instance-1] quit

# 配置转发出接口的网络切片通道。

[DeviceD] interface gigabitethernet 0/0/1

[DeviceD-GigabitEthernet0/0/1] network-slice enable

[DeviceD-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceD-GigabitEthernet0/0/1-network-slice] quit

[DeviceD-GigabitEthernet0/0/1] quit

# 配置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] 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

 Status: Up

 Candidate paths:

  Preference : 10

   Network slice ID: 1

# 显示ID为1的网络切片实例的简要报文统计信息。

<Sysname> display network-slice statistics slice-id 1 interface gigabitethernet 0/0/1

 

Network slice statistics

 Interface  : GE0/0/1

 Slice ID   : 1

 

 [total]

  Pass:               42,430,945 packets,                 7,298,122,540 bytes

  Discard:            2,368,695,114 packets,              407,415,559,608 bytes

  Last 50 seconds pass rate:

                      72,498 pps,                         99,757,056 bps

  Last 50 seconds discard rate:

                      4,048,135 pps,                      5,570,233,752 bps

  Last 5 seconds pass rate:

                      7298 pps,                           99,757,056 bps

  Last 5 seconds discard rate:

                      4148,135 pps,                       5,570,233,752 bps

1.15.2  SRv6 TE Policy场景中的SRv6网络切片配置举例(源地址切片方式)

1. 组网需求

图1-10所示,采用源地址切片方式封装网络切片报文的Slice ID,网络切片的业务流量通过SRv6 TE Policy依次经过Device A、Device B、Device C、Device D上的网络切片通道转发。通过部署以下功能可以实现该需求:

·     Device A~Device D设备之间运行IS-IS实现三层互通。

·     Device A~Device D上部署网络切片实例,并在报文转发的出接口上配置网络切片通道。

·     在Device A上配置关联了网络切片实例的SRv6 TE Policy,限定用户流量的转发路径为Device A->Device B->Device C->Device D。

·     Device A~Device D上开启IPv6源地址携带Slice ID功能,并配置携带Slice ID的IPv6源地址前缀。在SRv6 TE Policy的源节点Device A上必须通过IS-IS发布携带Slice ID的IPv6源地址前缀。

2. 组网图

图1-10 SRv6 TE Policy场景中的SRv6网络切片配置组网图

 

设备

接口

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)     请按照组网图配置各接口的IPv6地址和前缀长度,具体配置过程略。

(2)     配置Device A

# 创建网络切片实例,开启IPv6源地址携带Slice ID功能和网络切片的报文统计功能。

<DeviceA> system-view

[DeviceA] network-slice

[DeviceA-network-slice] slice-encapsulation ipv6-source

[DeviceA-network-slice] statistics enable

[DeviceA-network-slice] instance 1

[DeviceA-network-slice-instance-1] quit

# 进入切片前缀视图,配置携带Slice ID的IPv6源地址。

[DeviceA-network-slice] slice-prefix

[DeviceA-network-slice-prefix] index 1 prefix-name SrcPrefix1 ipv6-prefix 1001:0:1:1:: common-length 48 prefix-length 64

[DeviceA-network-slice-prefix] quit

[DeviceA-network-slice] quit

# 配置通过IS-IS协议发布携带Slice ID的IPv6源地址前缀。

[DeviceA] isis 1

[DeviceA-isis-1] address-family ipv6

[DeviceA-isis-1-ipv6] advertise slice-prefix-route

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

# 配置转发出接口的网络切片通道。

[DeviceA] interface gigabitethernet 0/0/1

[DeviceA-GigabitEthernet0/0/1] network-slice enable

[DeviceA-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceA-GigabitEthernet0/0/1-network-slice] quit

[DeviceA-GigabitEthernet0/0/1] quit

# 配置SRv6 VPN封装的IPv6报文头的源地址。

[DeviceA] segment-routing ipv6

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

# 配置SRv6 SID的节点路由段,并静态配置End类型的SRv6 SID。

[DeviceA-segment-routing-ipv6] locator a ipv6-prefix 5000:: 96 static 16

[DeviceA-segment-routing-ipv6-locator-a] opcode 1 end no-flavor

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

# 配置SRv6 TE Policy的BSID引用的Locator段。

[DeviceA-segment-routing-ipv6] traffic-engineering

[DeviceA-srv6-te] srv6-policy locator a

# 配置SID列表。

[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] network-slice 1 slice-prefix SrcPrefix1

[DeviceA-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[DeviceA-srv6-te-policy-p1-path-pref-10] quit

[DeviceA-srv6-te-policy-p1-path] quit

[DeviceA-srv6-te-policy-p1] quit

[DeviceA-srv6-te] quit

[DeviceA-segment-routing-ipv6] quit

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

[DeviceA] isis 1

[DeviceA-isis-1] network-entity 00.0000.0000.0001.00

[DeviceA-isis-1] cost-style wide

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

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

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

[DeviceA] interface 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

# 创建网络切片实例,开启IPv6源地址携带Slice ID功能和网络切片的报文统计功能。

<DeviceB> system-view

[DeviceB] network-slice

[DeviceB-network-slice] slice-encapsulation ipv6-source

[DeviceB-network-slice] statistics enable

[DeviceB-network-slice] instance 1

[DeviceB-network-slice-instance-1] quit

# 进入切片前缀视图,配置携带Slice ID的IPv6源地址。

[DeviceB-network-slice] slice-prefix

[DeviceB-network-slice-prefix] index 1 prefix-name SrcPrefix2 ipv6-prefix 1001:0:1:2:: common-length 48 prefix-length 64

[DeviceB-network-slice-prefix] quit

[DeviceB-network-slice] quit

# 配置通过IS-IS协议发布携带Slice ID的IPv6源地址前缀。

[DeviceB] isis 1

[DeviceB-isis-1] address-family ipv6

[DeviceB-isis-1-ipv6] advertise slice-prefix-route

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

# 配置转发出接口的网络切片通道。

[DeviceB] interface gigabitethernet 0/0/1

[DeviceB-GigabitEthernet0/0/1] network-slice enable

[DeviceB-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceB-GigabitEthernet0/0/1-network-slice] quit

[DeviceB-GigabitEthernet0/0/1] quit

[DeviceB] interface gigabitethernet 0/0/2

[DeviceB-GigabitEthernet0/0/2] network-slice enable

[DeviceB-GigabitEthernet0/0/2-network-slice] slice-id 1 flex-channel 100

[DeviceB-GigabitEthernet0/0/2-network-slice] quit

[DeviceB-GigabitEthernet0/0/2] quit

# 配置SRv6 End.SID。

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] locator b ipv6-prefix 6000:: 96 static 16

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

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

[DeviceB-segment-routing-ipv6] quit

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

[DeviceB] isis 1

[DeviceB-isis-1] network-entity 00.0000.0000.0002.00

[DeviceB-isis-1] cost-style wide

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

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

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

[DeviceB] interface 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

# 创建网络切片实例,开启IPv6源地址携带Slice ID功能和网络切片的报文统计功能。

<DeviceC> system-view

[DeviceC] network-slice

[DeviceC-network-slice] slice-encapsulation ipv6-source

[DeviceC-network-slice] statistics enable

[DeviceC-network-slice] instance 1

[DeviceC-network-slice-instance-1] quit

# 进入切片前缀视图,配置携带Slice ID的IPv6源地址。

[DeviceC-network-slice] slice-prefix

[DeviceC-network-slice-prefix] index 1 prefix-name SrcPrefix3 ipv6-prefix 1001:0:1:3:: common-length 48 prefix-length 64

[DeviceC-network-slice-prefix] quit

[DeviceC-network-slice] quit

# 配置通过IS-IS协议发布携带Slice ID的IPv6源地址前缀。

[DeviceC] isis 1

[DeviceC-isis-1] address-family ipv6

[DeviceC-isis-1-ipv6] advertise slice-prefix-route

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

# 配置转发出接口的网络切片通道。

[DeviceC] interface gigabitethernet 0/0/1

[DeviceC-GigabitEthernet0/0/1] network-slice enable

[DeviceC-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceC-GigabitEthernet0/0/1-network-slice] quit

[DeviceC-GigabitEthernet0/0/1] quit

 [DeviceC] interface gigabitethernet 0/0/2

[DeviceC-GigabitEthernet0/0/2] network-slice enable

[DeviceC-GigabitEthernet0/0/2-network-slice] slice-id 1 flex-channel 100

[DeviceC-GigabitEthernet0/0/2-network-slice] quit

[DeviceC-GigabitEthernet0/0/2] quit

# 配置SRv6 End.SID。

[DeviceC] segment-routing ipv6

[DeviceC-segment-routing-ipv6] locator c ipv6-prefix 7000:: 96 static 16

[DeviceC-segment-routing-ipv6-locator-c] opcode 1 end no-flavor

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

[DeviceC-segment-routing-ipv6] quit

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

[DeviceC] isis 1

[DeviceC-isis-1] network-entity 00.0000.0000.0003.00

[DeviceC-isis-1] cost-style wide

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

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

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

[DeviceC] interface 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

# 创建网络切片实例,开启IPv6源地址携带Slice ID功能和网络切片的报文统计功能。

<DeviceD> system-view

[DeviceD] network-slice

[DeviceD-network-slice] slice-encapsulation ipv6-source

[DeviceD-network-slice] statistics enable

[DeviceD-network-slice] instance 1

[DeviceD-network-slice-instance-1] quit

# 进入切片前缀视图,配置携带Slice ID的IPv6源地址。

[DeviceD-network-slice] slice-prefix

[DeviceD-network-slice-prefix] index 1 prefix-name SrcPrefix4 ipv6-prefix 1001:0:1:4:: common-length 48 prefix-length 64

[DeviceD-network-slice-prefix] quit

[DeviceD-network-slice] quit

# 配置通过IS-IS协议发布携带Slice ID的IPv6源地址前缀。

[DeviceD] isis 1

[DeviceD-isis-1] address-family ipv6

[DeviceD-isis-1-ipv6] advertise slice-prefix-route

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

# 配置转发出接口的网络切片通道。

[DeviceD] interface gigabitethernet 0/0/1

[DeviceD-GigabitEthernet0/0/1] network-slice enable

[DeviceD-GigabitEthernet0/0/1-network-slice] slice-id 1 flex-channel 100

[DeviceD-GigabitEthernet0/0/1-network-slice] quit

[DeviceD-GigabitEthernet0/0/1] quit

# 配置SRv6 End.SID。

[DeviceD] segment-routing ipv6

[DeviceD-segment-routing-ipv6] locator d ipv6-prefix 8000:: 96 static 16

[DeviceD-segment-routing-ipv6-locator-d] opcode 1 end no-flavor

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

[DeviceD-segment-routing-ipv6] quit

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

[DeviceD] isis 1

[DeviceD-isis-1] network-entity 00.0000.0000.0004.00

[DeviceD-isis-1] cost-style wide

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

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

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

[DeviceD] interface 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

 Status: Up

 Candidate paths:

  Preference : 10

   Network slice ID: 1

# 显示ID为1的网络切片实例的简要报文统计信息。

<DeviceA> display network-slice statistics slice-id 1 interface gigabitethernet 0/0/1

 

Network slice statistics

 Interface  : GE0/0/1

 Slice ID   : 1

 

 [total]

  Pass:               42,430,945 packets,                 7,298,122,540 bytes

  Discard:            2,368,695,114 packets,              407,415,559,608 bytes

  Last 50 seconds pass rate:

                      72,498 pps,                         99,757,056 bps

  Last 50 seconds discard rate:

                      4,048,135 pps,                      5,570,233,752 bps

  Last 5 seconds pass rate:

                      7298 pps,                           99,757,056 bps

  Last 5 seconds discard rate:

                      4148,135 pps,                       5,570,233,752 bps

 

1.15.3  IPv4 L3VPN over SRv6 BE场景中的SRv6网络切片配置举例(HBH切片方式)

1. 组网需求

图1-11所示,在SRv6网络中存在网络切片实例1和网络切片实例2。PE 1、P和PE 2的转发接口上均存在分别与网络切片实例1和网络切片实例2关联的网络切片通道1和网络切片通道2。VPN A中的CE 1和CE 2私网业务流量通过SRv6 BE隧道承载。为了保证私网业务流量在骨干网中获得独立的调度和带宽资源,要求CE 1和CE 2私网业务流量通过骨干网络中的网络切片实例1承载。通过部署以下功能可以实现该需求:

·     CE 1和CE 2属于VPN A。

·     PE 1、P和PE 2设备之间运行IS-IS实现三层互通,PE和CE之间通过EBGP交换VPN路由信息。

·     PE 1和PE 2设备建立MP-BGP邻接关系,交换携带Color扩展团体属性的VPNv4路由。

·     PE 1、P和PE 2上部署网络切片实例,并在报文转发的出接口上配置网络切片通道。

·     PE 1和PE 2设备上建立Color扩展团体属性和网络切片实例的映射关系。

2. 组网图

图1-11 IPv4 L3VPN over SRv6 BE场景中的SRv6网络切片配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

CE 1

Loop0

1.1.1.1/32

PE 2

Loop0

4::4/128

 

GE0/0/1

10.1.1.2/24

 

GE0/0/1

10.2.1.1/24

CE 2

Loop0

2.2.2.2/32

 

GE0/0/3

2000::2/96

 

GE0/0/1

10.2.1.2/24

P

Loop0

5::5/128

PE 1

Loop0

3::3/128

 

GE0/0/2

1000::2/96

 

GE0/0/1

10.1.1.1/24

 

GE0/0/3

2000::1/96

 

GE0/0/2

1000::1/96

 

 

 

 

3. 配置步骤

(1)     在PE和P设备上配置IPv6 IS-IS,实现骨干网PE和P的互通

# 配置PE 1。

<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 3::3 128

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface gigabitethernet 0/0/2

[PE1-GigabitEthernet0/0/2] ipv6 address 1000::1 96

[PE1-GigabitEthernet0/0/2] isis ipv6 enable

[PE1-GigabitEthernet0/0/2] quit

# 配置P。

<P> system-view

[P] isis

[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 5::5 128

[P-LoopBack0] isis ipv6 enable

[P-LoopBack0] quit

[P] interface gigabitethernet 0/0/2

[P-GigabitEthernet0/0/2] ipv6 address 1000::2 96

[P-GigabitEthernet0/0/2] isis ipv6 enable

[P-GigabitEthernet0/0/2] quit

[P] interface gigabitethernet 0/0/3

[P-GigabitEthernet0/0/3] ipv6 address 2000::1 96

[P-GigabitEthernet0/0/3] isis ipv6 enable

[P-GigabitEthernet0/0/3] quit

# 配置PE 2。

<PE2> system-view

[PE2] isis

[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 4::4 128

[PE2-LoopBack0] isis ipv6 enable

[PE2-LoopBack0] quit

[PE2] interface gigabitethernet 0/0/3

[PE2-GigabitEthernet0/0/3] ipv6 address 2000::2 96

[PE2-GigabitEthernet0/0/3] isis ipv6 enable

[PE2-GigabitEthernet0/0/3] quit

配置完成后,PE 1、P、PE 2之间应能建立IPv6 IS-IS邻居,执行display isis peer命令可以看到邻居达到Up状态。执行display isis route ipv6命令可以看到PE之间学习到对方的Loopback接口的路由。

(2)     在PE设备上配置VPN实例,将CE接入PE

# 配置PE 1。

[PE1] ip vpn-instance vpna

[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 vpna

[PE1-GigabitEthernet0/0/1] ip address 10.1.1.1 24

[PE1-GigabitEthernet0/0/1] quit

# 配置PE 2。

[PE2] ip vpn-instance vpna

[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

# 按图1-11配置各CE的接口IP地址,配置过程略。

(3)     在PE与CE之间建立EBGP对等体,引入VPN路由

# 配置CE 1。

<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] network 1.1.1.1 255.255.255.255

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

# CE 2配置与CE 1设备配置类似,配置过程省略。

# 配置PE 1。

[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 2配置与PE 1设备配置类似,配置过程省略。

配置完成后,在PE设备上执行display bgp peer ipv4 vpn-instance命令,可以看到PE与CE之间的BGP对等体关系已建立,并达到Established状态。

(4)     在PE 1和PE 2上创建IPv4地址前缀列表,并配置路由策略为符合IPv4地址前缀列表的BGP路由配置Color扩展团体属性

# 配置PE 1。

[PE1] ip prefix-list p1 permit 1.1.1.1 32

[PE1] route-policy color permit node 10

[PE1-route-policy-color-10] if-match ip address prefix-list p1

[PE1-route-policy-color-10] apply extcommunity color 00:10

[PE1-route-policy-color-10] quit

# 配置PE 2。

[PE2] ip prefix-list p1 permit 2.2.2.2 32

[PE2] route-policy color permit node 10

[PE2-route-policy-color-10] if-match ip address prefix-list p1

[PE2-route-policy-color-10] apply extcommunity color 00:10

[PE2-route-policy-color-10] quit

(5)     在PE之间建立MP-IBGP对等体,PE之间交互携带扩展团体属性Color的VPNv4路由

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] peer 4::4 as-number 100

[PE1-bgp-default] peer 4::4 connect-interface loopback 0

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 4::4 enable

[PE1-bgp-default-vpnv4] peer 4::4 route-policy color export

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] peer 3::3 as-number 100

[PE2-bgp-default] peer 3::3 connect-interface loopback 0

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 3::3 enable

[PE2-bgp-default-vpnv4] peer 3::3 route-policy color export

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

配置完成后,在PE设备上执行display bgp peer vpnv4命令,可以看到PE之间的BGP对等体关系已建立,并达到Established状态。

(6)     在PE设备上配置IP L3VPN over SRv6封装的IPv6报文头的源地址

# 配置PE 1。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 3::3

# 配置PE 2。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 4::4

(7)     在PE设备上配置IP L3VPN over SRv6封装的IPv6报文头的目的地址End.DT4 SID

# 配置PE 1。

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 100::1:0 96 static 8

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

[PE1-segment-routing-ipv6] 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

# 配置PE 2。

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 200::1:0 96 static 8

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

[PE2-segment-routing-ipv6] 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

配置完成后,在PE设备上执行display ipv6 routing-table命令,可以看到已经将End.DT4 SID引入路由表中,并生成SRv6路由。

(8)     在PE设备上配置为私网路由添加End.DT4 SID

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] ip vpn-instance vpna

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[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

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] ip vpn-instance vpna

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[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

(9)     在PE设备上配置IPv6对等体之间交换End.DT4 SID,同时允许将私网路由迭代到End.DT4 SID的路由条目上

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpna

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpna

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[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设备上执行display bgp routing-table vpnv4命令查看对端PE发送的路由详细信息,可以看到对端PE发送的路由携带SID属性数据。

(10)     在PE 1、P和PE 2设备上配置网络切片实例、IPv6逐跳扩展头的协议号并开启网络切片的报文统计功能

# 配置PE 1。

[PE1] network-slice

[PE1-network-slice] protocol-number 160

[PE1-network-slice] statistics enable

[PE1-network-slice] instance 1

[PE1-network-slice-instance-1] quit

[PE1-network-slice] instance 2

[PE1-network-slice-instance-2] quit

[PE1-network-slice] instance 10

[PE1-network-slice-instance-10] quit

# P和PE 2上的配置与PE 1类似,配置过程省略。

(11)     在PE 1、P和PE 2设备上将主接口配置为切片基础接口,将子接口配置为切片转发接口,并为切片转发接口创建网络切片通道。

# 配置PE 1。

[PE1] interface gigabitethernet 0/0/2

[PE1-GigabitEthernet0/0/2] network-slice enable

[PE1-GigabitEthernet0/0/2-network-slice] slice-id 10 data-plane

[PE1-GigabitEthernet0/0/2-network-slice] quit

[PE1-GigabitEthernet0/0/2] quit

[PE1] interface gigabitethernet 0/0/2.1

[PE1-GigabitEthernet0/0/2.1] network-slice enable

[PE1-GigabitEthernet0/0/2.1-network-slice] basic slice-id 10

[PE1-GigabitEthernet0/0/2.1-network-slice] slice-id 1 flex-channel 100

[PE1-GigabitEthernet0/0/2.1-network-slice] quit

[PE1-GigabitEthernet0/0/2.1] quit

[PE1] interface gigabitethernet 0/0/2.2

[PE1-GigabitEthernet0/0/2.2] network-slice enable

[PE1-GigabitEthernet0/0/2.2-network-slice] basic slice-id 10

[PE1-GigabitEthernet0/0/2.2-network-slice] slice-id 2 flex-channel 100

[PE1-GigabitEthernet0/0/2.2-network-slice] quit

[PE1-GigabitEthernet0/0/2.2] quit

# P和PE 2上的配置与PE 1类似,配置过程省略。

配置完成后,在设备上执行display network-slice binding-list命令查看网络切片实例和接口的关联关系。

(12)     在PE 1和PE 2设备上配置网络切片实例与BGP路由的Color扩展团体属性的映射关系

# 配置PE 1。

[PE1] network-slice

[PE1-network-slice] network-slice color-mapping

[PE1-network-slice-color-mapping] color 10 network-slice 1

[PE1-network-slice-color-mapping] quit

[PE1-network-slice] quit

# PE 2上的配置与PE 1类似,配置过程省略。

配置完成后,在设备上执行display network-slice color-mapping命令用来显示配置的网络切片实例与Color扩展团体属性值映射关系。

4. 验证配置

# 在PE设备上执行display ip routing-table vpn-instance命令,可以看到去往对端CE的路由,并且路由下一跳值为路由携带的End.DT4 SID。

以PE 1为例:

[PE1] display ip routing-table vpn-instance vpn1

 

Destinations : 12       Routes : 12

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

10.1.1.0/24        Direct  0   0           10.1.1.1        GE0/0/1

10.1.1.0/32        Direct  0   0           10.1.1.1        GE0/0/1

10.1.1.1/32        Direct  0   0           127.0.0.1       InLoop0

10.1.1.255/32      Direct  0   0           10.1.1.1        GE0/0/1

10.2.1.0/24        BGP     255 0           200::1:0        GE0/0/2

2.2.2.2/32         BGP     255 0           200::1:0        GE0/0/2

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

CE 1和CE 2之间能够ping通。

# 显示ID为1的网络切片实例的简要报文统计信息。

[PE1] display network-slice statistics slice-id 1 interface gigabitethernet 0/0/2.1

 

Network slice statistics

 Interface  : GE0/0/2.1

 Slice ID   : 1

 

 [total]

  Pass:               42,430,945 packets,                 7,298,122,540 bytes

  Discard:            2,368,695,114 packets,              407,415,559,608 bytes

  Last 50 seconds pass rate:

                      72,498 pps,                         99,757,056 bps

  Last 50 seconds discard rate:

                      4,048,135 pps,                      5,570,233,752 bps

  Last 5 seconds pass rate:

                      7298 pps,                           99,757,056 bps

  Last 5 seconds discard rate:

                      4148,135 pps,                       5,570,233,752 bps

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们