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

29-应用感知型网络配置指导

目录

01-APN6配置

本章节下载 01-APN6配置  (403.64 KB)

01-APN6配置


1 APN6

1.1  APN6简介

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

APN6的应用信息目前包括两类:

·     APN ID:应用的标识,APN6网络的IPv6报文中必须携带该信息。

·     APN Parameters:应用对网络质量的需求信息,例如带宽要求、时延要求、抖动要求和丢包率要求等。APN6网络的IPv6报文中可以不携带该信息。

APN6的关键思想是借助IPv6扩展头部中携带的APN ID和APN Parameters,将原本位于TCP/IP协议栈不同层次、相互解耦的网络和应用信息重新耦合。

·     对于网络而言,设备通过解析IPv6报文感知应用信息。

·     对于应用而言,IPv6报文的可编程空间是面向应用开放的,应用可以自主定义其中的APN ID和APN Parameters等参数。

1.1.1  APN ID及APN6的报文格式

APN6应用信息的选项字段称为APN Header,根据draft-li-apn-header草案定义,APN Header位于IPv6的DOH(Destination Option Header,目的选项扩展头)中,该选项字段采用典型的Type-Length-Value的结构。APN6的报文结构如图1-1所示。需要注意的是携带APN ID等信息的DOH扩展报文头在IPv6报文头封装时,位于SRH之后。位于SRH之后的DOH扩展头仅能被目的节点解析,转发路径上的其他节点不能读取分析该DOH头。

说明: 说明

如果与iFIT功能配合使用时,iFIT使用逐跳模式时,则IPv6报文的封装中可能存在两个封装位置不同的DOH头。

 

图1-1 携带应用信息的报文结构图示

 

应用信息的报文结构中包括:

·     Next Header:8bits,用来标识DOH的下一个报文头的类型。

·     Hdr Ext Len:8bits,表示以8个字节为单位的DOH头的长度,不包括第一个8字节。

·     Option Type:8bits,应用信息的选项类型(即APN Header的选项类型值),目前取值为0x13。

·     Opt Data Len:8bits,应用信息的选项长度,即APN Header部分的长度。

·     APN Header:可变长度,包含了APN ID和APN Parameters等详细应用信息。

APN Header包括如下字段:

·     APN-ID-Type:8bits,APN ID的类型,当前设计了3类APN ID。

¡     取值为1时,表示Type 1 APN ID,APN ID占32bit。

¡     取值为2时,表示Type 2 APN ID,APN ID占64bit。

¡     取值为3时,表示Type 3 APN ID,APN ID占128bit。

·     Flags:8bits,当前未定义。

·     APN-Para-Type:16bits,表示APN Parameters中包含了哪些网络性能需求参数,例如带宽、时延、抖动、丢包率等。

·     APN ID:长度可变,APN标识信息,由三部分组成:

¡     APP-Group-ID:应用组的标识。

¡     User-Group-ID:用户组的标识

¡     Reserved:预留字段。

·     Intent(Optional):32bits可选部分,表示应用向网络提出的意图需求。

·     APN-Para(Optional):32bits可选部分,表示具体的网络性能需求参数。每个参数都可以使用4个字节。

1.1.2  APN ID模板和APN ID实例

目前采用APN ID实例引用APN ID模板的方式来灵活地定义一个具体的APN ID值,其中,

·     APN ID模板:用于灵活地规划APN ID。如图1-2所示,APN ID模板定义了APN ID的总长度、APP-Group-ID的最大长度和User-Group-ID的最大长度。Reserved字段的长度等于APN ID的总长度减去APP-Group-ID最大长度再减去User-Group-ID部分的最大长度。APN ID模板还将APP-Group-ID和User-Group-ID进一步细分,在APN ID模板中定义了名称(field name)不同、长度不一的块(field)按照索引(index)从小到大的顺序填充到APP-Group-ID和User-Group-ID字段中:

¡     填充到APP-Group-ID字段中的块称为APP-Group-ID块,可以认为是某个应用或业务的标识。一个APN ID可以标识多个应用或业务。

¡     填充到User-Group-ID字段中的块称为User-Group-ID块,可以认为是某个用户的标识。一个APN ID可以标识属于多个用户。

图1-2 APN ID模板的示意图

 

·     APN ID实例:通过引用APN ID模板,并且为APN ID模板中APP-Group-ID块和User-Group-ID块赋值,生成一个具体的APN ID值。

一个具体的APN ID值的生成如图1-3所示,APN ID模板templatex总长度为64bit,APP-Group-ID最大长度是32bit,User-Group-ID最大长度是16bit,Reserved字段长度为16bit,APN ID模板中定义了:

·     索引值为1长度为8bit的APP-Group-ID块fieldname1。

·     索引值为2长度为4bit的APP-Group-ID块fieldname2。

·     索引值为1长度为4bit的User-Group-ID块fieldname4。

当APN ID实例引用该APN ID模板后:

为APP-Group-ID块fieldname1赋值为103,转换为十六进制为0x67。

为APP-Group-ID块fieldname2赋值为3,转换为十六进制为0x3。

为User-Group-ID块fieldname4赋值为10,转换为十六进制为0xa。

因此,执行display apn-id-ipv6 instance命令显示该APN ID值信息为:

·     APP-Group-ID值为0x67300000,对应的掩码为0xfff0000。

·     User-Group-ID值为0xa000,对应的掩码为0xf000。

图1-3 一个具体的APN ID值的生成示意图

 

1.1.3  APN6的网络架构

图1-4所示,网络中APN6区域(APN6 Domain)是指携带了应用信息的报文所经过的所有网络设备的集合,在APN6区域中包括以下几种设备角色:

·     APN-Edge:APN6边缘设备,用于接入应用终端或应用服务器。应用终端或应用服务器不具备为报文添加应用信息的能力时,APN-Edge可以通过QoS策略根据报文的五元组、外层SVLAN或内层C-VLAN等信息来标记报文的应用信息。当携带了应用信息的报文离开APN6区域时,APN6边缘设备用于删除报文中应用信息。

·     APN-Head:APN6头端节点,APN-Head到APN-Endpoint之间应具备一组满足不同SLA需求的隧道。APN-Head可以根据报文的应用信息,将流量引入到满足应用SLA需求的隧道中。APN-Edge和APN-Head的功能可以在同一设备上实现。

·     APN-Midpoint:APN6中间节点,APN-Midpoint为应用报文提供转发服务,并支持根据报文携带的应用信息提供iFIT、SRv6 SFC等增值服务。

·     APN-Endpoint:APN6尾节点,解封装应用报文的外层隧道封装。如果应用信息被复制到外层隧道封装中,则应用信息同时会被APN6尾节点解封装,如果应用信息的携带位置不在外层隧道封装中,则APN6尾节点可以继续转发携带应用信息的IPv6报文。APN-Edge和APN-Endpoint的功能可以在同一设备上实现。

·     APN-Controller:APN6网络的控制器,主要用于统一规划和维护APN ID、APN Parameters等信息,定义并下发APN ID相关的转发策略和标记策略。

¡     对于APN-Edge,APN-Controller下发APN ID的标记策略,建立应用报文的五元组、外层SVLAN或内层C-VLAN等信息和APN ID的映射关系。

¡     对于APN-Head,APN-Controller下发APN ID的转发策略,建立转发路径和携带APN ID的报文之间的映射关系,从而将指定APN ID的报文引入到合适的转发路径中转发。

图1-4 APN6的网络架构及设备角色示意图

 

图1-4所示,在APN6的网络架构中,根据应用信息生成的方式可将APN6的网络分为两种类型:

·     应用端方案:包括APN ID和APN Parameters的应用信息由应用终端或应用服务器生成,并封装在报文中。应用端方案要求终端设备可以感知不同应用,并且网络和应用由同一个组织管理和规划,网络设备可以信任应用端生成的应用信息。

·     网络侧方案:包括APN ID和APN Parameters的应用信息由网络中APN6边缘设备生成,通过APN6边缘设备感知识别报文类型,并为报文封装应用信息。这种方案无需应用端支持,直接由网络运营商和行业网络管理者统一规划部署,比较方便。

1.1.4  基于APN ID的SRv6 TE Policy组引流

在SRv6 TE Policy组中可以设置转发类型为APN ID,即基于APN ID引流,可以将指定APN ID标识的流量引入对应的SRv6 TE Policy或者通过SRv6 BE转发。关于基于APN ID引流的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

1.2  APN6配置限制和指导

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

型号

说明

MSR610

不支持

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

支持

MSR810-LMS、MSR810-LUS

不支持

MSR810-SI、MSR810-LM-SI

不支持

MSR810-LMS-EA、MSR810-LME

不支持

MSR1004S-5G、MSR1004S-5G-CN

支持

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

不支持

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

支持

MSR2600-10-X1

不支持

MSR 2630

不支持

MSR3600-28、MSR3600-51

不支持

MSR3600-28-SI、MSR3600-51-SI

不支持

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

支持

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

支持

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

支持

MSR-iMC

支持

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

支持

MSR3610、MSR3620、MSR3620-DP、MSR3640、MSR3660

支持

MSR3610-G、MSR3620-G

不支持

MSR3640-G

支持

MSR3640-X1-HI

支持

 

型号

说明

MSR810-W-WiNet、MSR810-LM-WiNet

支持

MSR830-4LM-WiNet

不支持

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

支持

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

支持

MSR2600-6-WiNet

支持

MSR2600-10-X1-WiNet

不支持

MSR2630-WiNet

不支持

MSR3600-28-WiNet

不支持

MSR3610-X1-WiNet

支持

MSR3620-X1-WiNet

支持

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

支持

 

型号

说明

MSR860-6EI-XS

支持

MSR860-6HI-XS

支持

MSR2630-XS

支持

MSR3600-28-XS

支持

MSR3610-XS

支持

MSR3620-XS

支持

MSR3610-I-XS

支持

MSR3610-IE-XS

支持

MSR3620-X1-XS

支持

MSR3640-XS

支持

MSR3660-XS

支持

 

型号

说明

MSR810-LM-GL

支持

MSR810-W-LM-GL

支持

MSR830-6EI-GL

支持

MSR830-10EI-GL

支持

MSR830-6HI-GL

支持

MSR830-10HI-GL

支持

MSR1004S-5G-GL

支持

MSR2600-6-X1-GL

支持

MSR3600-28-SI-GL

不支持

 

1.3  APN6配置任务简介

APN6的配置任务如下:

(1)     (可选)配置APN6的基本功能

¡     配置APN ID的继承方式

(2)     配置APN ID模板

(3)     配置APN ID实例

1.4  配置APN ID的继承方式

1. 功能简介

对于APN6网络中的中间节点,其下游设备APN6尾节点仍需要识别应用信息。此时,可以执行apn-id inherit enable命令,使得设备封装和解封装报文头时,APN ID都将继承到新的报文中。

对于APN6边缘设备或者APN6尾节点,下游设备无需识别应用信息,此时可以执行apn-id inherit disable命令,使得设备封装和解封装报文头时,APN ID都不再继承到新的报文中。

2. 配置步骤

(1)     进入系统视图。

system-view

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

apn

(3)     开启APN6功能,并进入APN6视图。

ipv6

(4)     配置APN ID的继承方式。

apn-id inherit { enable | disable }

缺省情况下,APN ID的继承方式如下:

¡     当设备接收到报文头中携带了APN ID的报文后,在本设备上将要解封装报文头时,APN ID不继承到新的报文中。

¡     当设备接收到报文头中携带了APN ID的报文后,在本设备上将要封装新的外层报文头时,APN ID将继承到新的报文外层头中。例如,采用BSID缝接SRv6 TE Policy的场景中的缝接节点。

1.5  配置APN ID模板

1. 配置限制和指导

·     目前仅支持总长度为64bits的APN ID模板。

·     创建APN ID模板时,APP-Group-ID的总长度加User-Group-ID的总长度不能超过APN ID模板的总长度。

·     在已创建的APN ID模板中,如果配置了user-group index命令创建User-Group-ID块,则不允许再新增、修改或删除该APN ID模板APP-Group-ID的总长度。如果需要新增、修改或删除APP-Group-ID的总长度,请先执行undo user-group index命令删除APN ID模板中所有配置的User-Group-ID块。

·     在已创建的APN ID模板中,修改APP-Group-ID的总长度或User-Group-ID的总长度时,请保证修改后的APP-Group-ID的总长度大于该APN ID模板下已创建的APP-Group-ID块的长度和,User-Group-ID的总长度大于该APN ID模板下已创建的User-Group-ID块的长度和,否则,修改失败。

·     APN ID模板如果已被APN ID实例引用,则不能被删除。请先在对应的APN ID实例下解除对模板APN ID模板,再执行删除操作。

·     不同APN ID模板里可以指定相同的APP-Group-ID块或User-Group-ID块的名称。

·     所有APP-Group-ID块的总长度不能超过APN ID模板中APP-Group-ID字段的总长度。所有User-Group-ID块的总长度不能超过APN ID模板中User-Group-ID字段的总长度。

·     APN ID模板中APP-Group-ID块和User-Group-ID块之和不能超过8个。

·     同一个APN ID模板中APP-Group-ID块和User-Group-ID块的名称需要保持唯一,不能重复。

·     同一个APN ID模板中任意APP-Group-ID块的索引值不能重复。同一个APN ID模板中任意User-Group-ID块的索引值也不能重复。

·     APN ID模板被APN ID实例引用后,如果已执行apn-field命令为APN ID实例下引用的APN ID模板中的APP-Group-ID块或User-Group-ID块赋值,则不能修改该APN ID模板中已赋值的APP-Group-ID块和User-Group-ID块的名称和长度,也不允许删除该APN ID模板中这些APP-Group-ID块和User-Group-ID块。

2. 配置步骤

(1)     进入系统视图。

system-view

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

apn

(3)     开启APN6功能,并进入APN6视图。

ipv6

(4)     创建APN ID模板,并进入APN ID模板视图。

apn-id template template-name [ length total-length { app-group app-group-length | user-group user-group-length } * ]

缺省情况下,不存在APN ID模板。

(5)     配置APN ID模板中APP-Group-ID块。

app-group index index-value field-name length field-length

可以多次执行本命令来创建多个APP-Group-ID块。

缺省情况下,APN ID模板中不存在APP-Group-ID块。

(6)     APN ID模板中的User-Group-ID块。

user-group index index-value field-name length field-length

可以多次执行本命令来创建多个User-Group-ID块。

缺省情况下,APN ID模板中不存在User-Group-ID块。

1.6  配置APN ID实例

1. 配置限制和指导

·     APN ID实例引用的APN ID模板必须已经创建。

·     每个APN ID实例能且仅能引用一个APN ID模板。

·     如果该APN ID实例下已执行apn-field命令为实例下引用的APN ID模板中的APP-Group-ID块或User-Group-ID块赋值,则无法删除引用的APN ID模板。请先执行undo apn-field命令删除APP-Group-ID块或User-Group-ID块的赋值,再执行undo template命令删除指定的APN ID模板。

·     如果APN ID实例被引用,则无法删除该APN ID实例,请先解除APN ID实例的引用后,再删除APN ID实例。

·     apn-field命令指定的APP-Group-ID块或User-Group-ID块的名称需要在该APN ID实例引用的APN ID模板中存在。

·     为指定名称的APP-Group-ID块或User-Group-ID块赋予的值不能超出该APN ID实例引用的APN ID模板中对应的APP-Group-ID块或User-Group-ID块的长度。例如,APN ID模板中定义的APP-Group-ID块长度为4,则apn-field命令为该APP-Group-ID块赋值最大不超过2的4次方减1,即15。

·     如果没有通过apn-field命令为引用APN ID模板中的某些APP-Group-ID块或User-Group-ID块赋值,则这些APP-Group-ID块或User-Group-ID块的取值为0。

2. 配置步骤

(1)     进入系统视图。

system-view

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

apn

(3)     开启APN6功能,并进入APN6视图。

ipv6

(4)     创建APN ID实例,并进入APN ID实例视图。

apn-id instance instance-name

缺省情况下,不存在APN ID实例。

(5)     配置APN ID实例引用的APN ID模板。

template template-name

缺省情况下,APN ID实例未引用APN ID模板。

(6)     配置APN ID实例引用的APN ID模板中APP-Group-ID块或User-Group-ID块的值。

apn-field field-name field-value

缺省情况下,未配置APN ID实例引用的APN ID模板中APP-Group-ID块或User-Group-ID块的值。

1.7  APN6显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后APN6的运行情况,通过查看显示信息验证配置的效果。

表1-1 APN6显示和维护

操作

命令

显示APN的全局配置信息

display apn-id-ipv6 brief

显示APN ID实例的信息

display apn-id-ipv6 instance [ name instance-name ]

 

1.8  APN6典型配置举例

1.8.1  IPv4 L3VPN over SRv6 TE Policy场景中基于APN ID实现引流配置举例

1. 组网需求

图1-5所示,在IPv4 L3VPN over SRv6 TE Policy网络中存在VPN实例VPN A,PE 1和PE 2之间通过SRv6隧道互通,PE 1连接了VPN A的分支站点CE 1,PE 2连接了VPN A的分支站点CE 2。在PE 1和PE 2之间存在一个SRv6 TE Policy组,SRv6 TE Policy组中有SRv6 TE Policy A和SRv6 TE Policy B两条转发路径不同的隧道。VPN A中存在两种业务流量分别使用APN ID 0x1122000033440000和APN ID 0x5566000077880000来标识。根据APN ID值的不同将这两种流量引入不同的SRv6 TE Policy隧道转发,其中,APN ID 0x112200003344000标识的流量通过SRv6 TE Policy A转发,APN ID 0x5566000077880000标识的流量通过SRv6 TE Policy B转发,通过部署以下功能可以实现该需求:

·     PE 1、P 1、P 2和PE 2设备之间运行IS-IS实现三层互通,PE和CE之间通过EBGP交换VPN路由信息。PE 2本地SRv6 Locator为200::1:0前缀长度为96。

·     PE 1和PE 2之间创建SRv6 TE Policy组,基于APN ID引流,建立APN ID和SRv6 TE Policy的关联关系。

·     在PE 1上创建ACL规则和QoS策略,在PE 1连接VPN A的私网接口上应用该QoS策略,为匹配到ACL规则的不同业务流量标记APN ID实例值。

2. 组网图

图1-5 IPv4 L3VPN over SRv6 TE Policy场景中基于APN ID实现引流组网图

设备

接口

IP地址

设备

接口

IP地址

CE 1

Loop0

1.1.1.1/32

CE 2

Loop0

2.2.2.2/32

 

GE1/0/1

10.1.1.2/24

 

GE1/0/1

10.2.1.2/24

PE 1

Loop0

3::3/128

PE 2

Loop0

4::4/128

 

GE1/0/1

10.1.1.1/24

 

GE1/0/1

10.2.1.1/24

 

GE1/0/2

1000::1/96

 

GE1/0/2

4000::2/96

 

GE1/0/3

2000::1/96

 

GE1/0/3

3000::2/96

P 1

Loop0

5::5/128

P 2

Loop0

6::6/128

 

GE1/0/2

1000::2/96

 

GE1/0/2

4000::1/96

 

GE1/0/3

3000::1/96

 

GE1/0/3

2000::2/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 1/0/2

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

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

[PE1-GigabitEthernet1/0/2] quit

[PE1] interface gigabitethernet 1/0/3

[PE1-GigabitEthernet1/0/3] ipv6 address 2000::1 96

[PE1-GigabitEthernet1/0/3] isis ipv6 enable

[PE1-GigabitEthernet1/0/3] quit

# 配置P 1。

<P1> system-view

[P1] isis 1

[P1-isis-1] is-level level-1

[P1-isis-1] cost-style wide

[P1-isis-1] network-entity 10.2222.2222.2222.00

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

[P1-isis-1-ipv6] quit

[P1-isis-1] quit

[P1] interface loopback 0

[P1-LoopBack0] ipv6 address 5::5 128

[P1-LoopBack0] isis ipv6 enable

[P1-LoopBack0] quit

[P1] interface gigabitethernet 1/0/2

[P1-GigabitEthernet1/0/2] ipv6 address 1000::2 96

[P1-GigabitEthernet1/0/2] isis ipv6 enable

[P1-GigabitEthernet1/0/2] quit

[P1] interface gigabitethernet 1/0/3

[P1-GigabitEthernet1/0/3] ipv6 address 3000::1 96

[P1-GigabitEthernet1/0/3] isis ipv6 enable

[P1-GigabitEthernet1/0/3] quit

# 配置P 2。

<P2> system-view

[P2] isis 1

[P2-isis-1] is-level level-1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 10.3333.3333.3333.00

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

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 0

[P2-LoopBack0] ipv6 address 6::6 128

[P2-LoopBack0] isis ipv6 enable

[P2-LoopBack0] quit

[P2] interface gigabitethernet 1/0/2

[P2-GigabitEthernet1/0/2] ipv6 address 4000::1 96

[P2-GigabitEthernet1/0/2] isis ipv6 enable

[P2-GigabitEthernet1/0/2] quit

[P2] interface gigabitethernet 1/0/3

[P2-GigabitEthernet1/0/3] ipv6 address 2000::2 96

[P2-GigabitEthernet1/0/3] isis ipv6 enable

[P2-GigabitEthernet1/0/3] quit

# 配置PE 2。

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

[P2] interface gigabitethernet 1/0/2

[P2-GigabitEthernet1/0/2] ipv6 address 4000::2 96

[P2-GigabitEthernet1/0/2] isis ipv6 enable

[P2-GigabitEthernet1/0/2] quit

[PE2] interface gigabitethernet 1/0/3

[PE2-GigabitEthernet1/0/3] ipv6 address 3000::2 96

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

[PE2-GigabitEthernet1/0/3] quit

配置完成后,PE 1、P 1、P 2、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-vpna] route-distinguisher 100:1

[PE1-vpn-instance-vpna] vpn-target 111:1

[PE1-vpn-instance-vpna] quit

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] ip binding vpn-instance vpna

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

[PE1-GigabitEthernet1/0/1] quit

# 配置PE 2。

[PE2] ip vpn-instance vpna

[PE2-vpn-instance-vpna] route-distinguisher 100:1

[PE2-vpn-instance-vpna] vpn-target 111:1

[PE2-vpn-instance-vpna] quit

[PE2] interface gigabitethernet 1/0/1

[PE2-GigabitEthernet1/0/1] ip binding vpn-instance vpna

[PE2-GigabitEthernet1/0/1] ip address 10.2.1.1 24

[PE2-GigabitEthernet1/0/1] quit

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

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

# 配置CE 1。

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] router-id 2.2.2.2

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

[PE1-bgp-default-vpna] peer 10.1.1.2 as-number 65410

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

[PE1-bgp-default-ipv4-vpna] peer 10.1.1.2 enable

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

[PE1-bgp-default-vpna] quit

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

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

(4)     在PE之间建立MP-IBGP对等体。

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

[PE2-bgp-default] quit

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

(5)     在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

(6)     在PE 1、PE 2、P 1和P 2上配置SRv6 Locator,并由IS-IS发布该SRv6 Locator。

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

[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

# 配置P 1。

[P1] segment-routing ipv6

[P1-segment-routing-ipv6] locator ccc ipv6-prefix 300::1:0 96 static 8

[P1-segment-routing-ipv6-locator-ccc] opcode 1 end-x interface gigabitethernet 1/0/3 nexthop 3000::2

[P1-segment-routing-ipv6-locator-ccc] quit

[P1-segment-routing-ipv6] quit

[P1] isis 1

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

[P1-isis-1-ipv6] segment-routing ipv6 locator ccc

[P1-isis-1-ipv6] quit

[P1-isis-1] quit

# 配置P 2。

[P2] segment-routing ipv6

[P2-segment-routing-ipv6] locator ddd ipv6-prefix 400::1:0 96 static 8

[P2-segment-routing-ipv6-locator-ddd] opcode 1 end-x interface gigabitethernet 1/0/2 nexthop 4000::2

[P2-segment-routing-ipv6-locator-ddd] quit

[P2-segment-routing-ipv6] quit

[P2] isis 1

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

[P2-isis-1-ipv6] segment-routing ipv6 locator ddd

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

配置完成后,在PE设备上执行display ipv6 routing-table命令,可以看到已学习到其他设备的SRv6 Locator路由。

(7)     在PE 1上配置SRv6 TE Policy A和SRv6 TE Policy B,SRv6 TE Policy A的候选路径是从PE 1经过P 1设备到达PE 2,SRv6 TE Policy B的候选路径是从PE 1经过P 2设备到达PE 2。

# 配置SRv6 TE Policy A。

[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-sl-s1] index 10 ipv6 300::1:1

[PE1-srv6-te-sl-s1] index 20 ipv6 200::1:1

[PE1-srv6-te-sl-s1] quit

[PE1-srv6-te] policy A

[PE1-srv6-te-policy-A] color 10 end-point ipv6 4::4

[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

# 配置SRv6 TE Policy B。

[PE1-srv6-te] segment-list s2

[PE1-srv6-te-sl-s2] index 10 ipv6 400::1:1

[PE1-srv6-te-sl-s2] index 20 ipv6 200::1:1

[PE1-srv6-te-sl-s2] quit

[PE1-srv6-te] policy B

[PE1-srv6-te-policy-B] color 20 end-point ipv6 4::4

[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

(8)     在PE 1上配置APN ID模板a,定义APN ID模板中的APP-Group-ID块和User-Group-ID块。

[PE1] apn

[PE1-apn] ipv6

[PE1-apn-ipv6] apn-id template a length 64 app-group 32 user-group 32

[PE1-apn-ipv6-template-a] app-group index 1 app-group1 length 8

[PE1-apn-ipv6-template-a] app-group index 2 app-group2 length 8

[PE1-apn-ipv6-template-a] user-group index 1 user-group1 length 8

[PE1-apn-ipv6-template-a] user-group index 2 user-group2 length 8

[PE1-apn-ipv6-template-a] quit

(9)     在PE 1上配置APN ID实例a和APN ID实例b,APN ID实例a引用APN ID模板a,并赋值为0x1122000033440000,APN ID实例b引用APN ID模板a,并赋值为0x5566000077880000。

[PE1-apn-ipv6] apn-id instance a

[PE1-apn-ipv6-instance-a] template a

[PE1-apn-ipv6-instance-a] apn-field app-group1 17

[PE1-apn-ipv6-instance-a] apn-field app-group2 34

[PE1-apn-ipv6-instance-a] apn-field user-group1 51

[PE1-apn-ipv6-instance-a] apn-field user-group2 68

[PE1-apn-ipv6-instance-a] quit

[PE1-apn-ipv6] apn-id instance b

[PE1-apn-ipv6-instance-b] template a

[PE1-apn-ipv6-instance-b] apn-field app-group1 85

[PE1-apn-ipv6-instance-b] apn-field app-group2 102

[PE1-apn-ipv6-instance-b] apn-field user-group1 119

[PE1-apn-ipv6-instance-b] apn-field user-group2 136

[PE1-apn-ipv6-instance-b] quit

[PE1-apn-ipv6] quit

[PE1-apn] quit

配置完成后,在PE设备上执行display apn-id-ipv6 instance命令查看配置APN ID实例的信息。

(10)     配置通过ODN自动创建SRv6 TE Policy组,引流方式为基于APN ID引流,并且建立APN ID实例和SRv6 TE Policy的关联关系。当所有SRv6 TE Policy无效时,可以通过SRv6 BE方式逃生。

[PE1] segment-routing ipv6

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

[PE1-srv6-te] on-demand-group color 100

[PE1-srv6-te-odn-group-100] forward-type apn-id

[PE1-srv6-te-odn-group-100-apn-id] index 1 apn-id instance a match srv6-policy color 10

[PE1-srv6-te-odn-group-100-apn-id] index 2 apn-id instance b match srv6-policy color 20

[PE1-srv6-te-odn-group-100-apn-id] default match best-effort

[PE1-srv6-te-odn-group-100-apn-id] quit

[PE1-srv6-te-odn-group-100] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

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

# 配置PE 1。

[PE1] bgp 100

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

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

[PE1-bgp-default-ipv4-vpna] segment-routing ipv6 locator aaa

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

[PE1-bgp-default-vpna] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

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

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

[PE2-bgp-default-ipv4-vpna] segment-routing ipv6 locator bbb

[PE2-bgp-default-ipv4-vpna] quit

[PE2-bgp-default-vpna] quit

[PE2-bgp-default] quit

(12)     在PE 2向PE 1发送MP-BGP路由时配置路由策略来携带扩展团体属性Color,使BGP扩展团体属性Color值与SRv6 TE Policy组ODN模板的Color属性值相同,PE 1将自动建立SRv6 TE Policy组,目的地址为MP-BGP路由的下一跳,即PE 2的Loopback0接口IPv6地址。VPN业务流量通过路由策略引流到SRv6 TE Policy组。

# 配置PE 2。

[PE2] route-policy a permit node 10

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

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

[PE2] bgp 100

[PE2-bgp-default] address-family vpnv4

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

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

# 配置PE 1。

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

[PE1-vpn-instance-vpna] tnl-policy a

[PE1-vpn-instance-vpna] quit

(13)     在PE设备上配置MP-BGP对等体之间发布路由时允许携带Prefix 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-vpna] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpna] segment-routing ipv6 traffic-engineering

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

[PE1-bgp-default-vpna] 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-vpna] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpna] segment-routing ipv6 best-effort

[PE2-bgp-default-ipv4-vpna] quit

[PE2-bgp-default-vpna] quit

[PE2-bgp-default] quit

配置完成后,在PE设备上执行display bgp routing-table vpnv4命令查看对端PE发送的路由详细信息,可以看到对端PE发送的路由携带SID属性数据。

(14)     在PE 1上配置ACL规则和QoS策略,分别匹配TCP报文目的端口号为8090的业务流量,标记APN ID实例值a,匹配UDP报文目的端口号为2000的业务流量,标记APN ID实例值b。将QoS策略应用在PE 1绑定VPN实例的私网接口的入方向上。

[PE1] acl advanced 3001

[PE1-acl-ipv4-adv-3001] rule 10 permit tcp destination-port eq 8090

[PE1-acl-ipv4-adv-3001] quit

[PE1] acl advanced 3002

[PE1-acl-ipv4-adv-3002] rule 10 permit udp destination-port eq 2000

[PE1-acl-ipv4-adv-3002] quit

[PE1] traffic classifier a

[PE1-classifier-a] if-match acl 3001

[PE1-classifier-a] quit

[PE1] traffic classifier b

[PE1-classifier-b] if-match acl 3002

[PE1-classifier-b] quit

[PE1] traffic behavior a

[PE1-behavior-a] remark apn-id-ipv6 instance a

[PE1-behavior-a] quit

[PE1] traffic behavior b

[PE1-behavior-b] remark apn-id-ipv6 instance b

[PE1-behavior-b] quit

[PE1] qos policy abc

[PE1-qospolicy-abc] classifier a behavior a

[PE1-qospolicy-abc] classifier b behavior b

[PE1-qospolicy-abc] quit

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] qos apply policy abc inbound

[PE1-GigabitEthernet1/0/1] quit

4. 验证配置

# 在PE 1设备上执行display segment-routing ipv6 te policy-group verbose命令,显示所有SRv6 TE Policy组的详细信息。ODN方式生成的SRv6 TE Policy组状态为UP,记录转发表项的GroupNID。

[PE1] display segment-routing ipv6 te policy-group verbose

Total number of policy groups: 1

 

GroupID: 1                          GroupState: Up

GroupNID: 2151677955                Referenced: 1

Flags:  None                        Group type: Dynamic APN-ID

Group color: 100

StateChangeTime: 2023-10-18 09:51:39

Endpoint: 4::4

BSID:

  Explicit BSID: -                       Request state: -

Best-effort NID: 2160066563

Drop upon mismatch: Disabled

Delete delay time(ms): 180000

Delete remain time(ms): -

UP/Total Mappings: 3/3

  Index       APN-ID      Color/Best-effort

  --          default     best-effort

  1           10          10

  2           20          20

# 在PE 1设备上执行display bgp routing-table vpnv4命令,显示私网路由的详细信息。私网路由携带了扩展团体属性Color,迭代的隧道与SRv6 TE Policy组GroupNID一致,表示私网路由迭代到了SRv6 TE Policy组中转发。

[PE1] display bgp routing-table vpnv4 2.2.2.2

 

 BGP local router ID: 1.1.1.1

 Local AS number: 100

 

 

 Route distinguisher: 100:1(vpna)

 Total number of routes: 1

 Paths:   1 available, 1 best

 

 BGP routing table information of 2.2.2.2/32:

 From            : 4::4 (3.3.3.3)

 Rely nexthop    : FE80::661B:AEFF:FE1A:307

 Original nexthop: 4::4

 Out interface   : GigabitEthernet1/0/2

 Route age       : 13h48m28s

 OutLabel        : 3

 Ext-Community   : <RT: 111:1>, <CO-Flag:Color(00:100)>

 RxPathID        : 0x0

 TxPathID        : 0x0

 PrefixSID       : End.DT4 SID <200::100>

  SRv6 Service TLV (37 bytes):

   Type: SRV6 L3 Service TLV (5)

   Length: 34 bytes, Reserved: 0x0

   SRv6 Service Information Sub-TLV (33 bytes):

    Type: 1 Length: 30, Rsvdl: 0x0

    SID Flags: 0x0  Endpoint behavior: 0x13 Rsvd2: 0x0

    SRv6 SID Sub-Sub-TLV:

     Type: 1 Len: 6

     BL: 96 NL: 0 FL: 32 AL: 0 TL: 0 TO: 0

 AS-path         : 65420

 Origin          : igp

 Attribute value : MED 0, localpref 100, pref-val 0

 State           : valid, internal, best

 Source type     : local

 IP precedence   : N/A

 QoS local ID    : N/A

 Traffic index   : N/A

 Tunnel policy   : a

 Rely tunnel IDs : 2151677955

在CE 1上使用ping命令带源地址1.1.1.1测试与CE 2上的地址2.2.2.2的连通性正常。

 

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

新华三官网
联系我们