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

01-接入分册

08-QinQ配置

本章节下载 08-QinQ配置  (290.65 KB)

08-QinQ配置


第1章  QinQ配置

下表列出了本章所包含的内容。

如果您需要……

请阅读……

了解QinQ的基本原理和概念

QinQ简介

了解QinQ的配置任务及配置过程

配置端口的VLAN VPN特性功能

配置基于流分类的Nested VLAN

配置端口的QinQ报文TPID值可调功能

配置端口的QinQ报文TPID值可调功能

了解QinQ的典型配置

配置举例1:基于流分类的Nested VLAN配置过程举例

配置举例2:端口的QinQ报文TPID值可调功能配置过程举例

配置举例3:VLAN-VPN Tunnel典型配置举例

 

1.1  QinQ简介

1.1.1  原理介绍

QinQ是指将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Tag穿越运营商的骨干网络(公网)。在公网中报文只根据外层VLAN Tag(即公网VLAN Tag)传播,用户的私网VLAN Tag被屏蔽。

单层VLAN Tag、双层VLAN Tag的报文结构如下所示:

图1-1 单/双层VLAN Tag报文结构

相对基于MPLS的二层VPN,QinQ具有如下特点:

l              为用户提供了一种更为简单的二层VPN隧道。

l              不需要信令协议的支持,可以通过纯静态配置实现。

由于QinQ的实现是基于802.1Q协议中的Trunk端口概念,要求隧道上的设备都必须支持802.1Q协议,所以QinQ只适用于小型的、以三层交换机为骨干的企业网或小规模的城域网。

QinQ主要可以解决如下几个问题:

l              缓解日益紧缺的公网VLAN ID资源问题。

l              用户可以规划自己的私网VLAN ID,不会导致和公网VLAN ID冲突。

l              为小型城域网或企业网提供一种较为简单的二层VPN解决方案。

1.1.2  QinQ的实现方式

S9500系列路由交换机通过以下两种方式实现QinQ:

(1)        开启端口的VLAN VPN特性功能

开启端口的VLAN VPN功能后,当该端口接收到报文,无论报文是否带有VLAN Tag,交换机都会为该报文打上本端口缺省VLAN的VLAN Tag。这样,如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是Untagged的报文,该报文就成为带有端口缺省VLAN Tag的报文。

(2)        配置基于流分类的Nested VLAN

基于流分类的Nested VLAN,即灵活QinQ,是对QinQ的一种更灵活的实现。用户可以对端口下匹配特定ACL流规则的报文进行如下操作:

l              设置报文的外层VLAN Tag

l              修改报文的外层VLAN Tag

1.1.3  QinQ报文的TPID值可调功能

TPID(Tag Protocol Identifier,标签协议标识)是VLAN Tag中的一个字段,IEEE 802.1Q协议规定该字段的取值为0x8100。

IEEE 802.1Q协议定义的以太网帧的Tag报文结构如下:

图1-2 以太网帧的VLAN Tag报文结构

S9500系列交换机缺省采用协议规定的TPID值(0x8100)。某些厂商的设备将QinQ报文外层Tag的TPID值设置为0x9100或0x9200。为了和这些设备兼容,S9500系列交换机提供了基于端口的QinQ报文TPID值可调功能。

用户可以将连接公网侧的端口设置为VLAN-VPN Uplink端口,这些端口的TPID值可以由用户自行配置。VLAN-VPN Uplink端口收到报文时会将报文外层VLAN Tag中的TPID值替换为用户设定值再进行发送,从而使发送到公网中的QinQ报文可以被其他厂商的设备识别。

1.2  配置端口的VLAN VPN特性功能

1.2.1  配置准备

l              端口的GVRP、STP或802.1x协议均未启动

l              端口所属的VLAN关闭了IGMP Snooping

l              端口所属的VLAN接口上未开启IGMP

1.2.2  配置过程

表1-1 配置端口的VLAN VPN特性

配置步骤

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

开启端口的VLAN VPN特性

vlan-vpn enable

缺省情况下,端口VLAN VPN特性是关闭的

显示系统中所有端口的VLAN VPN配置信息

display port vlan-vpn

显示信息包括:当前的TPID值、VLAN-VPN端口信息、VLAN-VPN Uplink端口信息

 

  注意:

l      如果某端口的GVRP、STP、NTP、802.1x、RRPP协议中的任一个已经启动,则不允许用户开启端口的VLAN VPN特性。

l      如果端口所属的VLAN已经使能了IGMP Snooping或者端口所属的VLAN接口下使能了IGMP,则不允许开启端口的VLAN VPN特性。反之亦然。

l      使能了VLAN VPN的端口如果要加入VLAN,此VLAN上不能开启IGMP Snooping,其VLAN接口也不能开启IGMP。

l      VLAN内如果有端口使能了VLAN VPN,则不允许删除此VLAN。

l      配置QinQ功能后则已经配置的ACL可能会失效。

 

1.3  配置基于流分类的Nested VLAN

1.3.1  配置准备

l              要引用的访问控制列表和子规则已经定义

l              nested-vlanid指定的VLAN已经存在

1.3.2  配置过程

表1-2 基于流分类的Nested VLAN配置过程

配置步骤

命令

说明

进入系统视图

system-view

-

进入以太网端口视图或端口组视图

interface interface-type interface-numberport-group index

-

对匹配ACL流规则的报文设置外层VLAN Tag

下发三层流分类规则的命令形式

traffic-redirect inbound ip-group { acl-number | acl-name } [ rule rule [ system-index index ] ] nested-vlan nested-vlanid [ interface interface-type interface-number destination-vlan [ l2-vpn ] | link-aggregation group groupid destination-vlan | smart-link group groupid destination-vlan ]

Nested-VLAN必须是已存在的VLAN,否则报文将因找不到出口而被丢弃

同时下发二层和三层流分类规则的命令形式

traffic-redirect inbound ip-group { acl-number | acl-name } rule rule link-group { acl-number | acl-name } [ rule rule ] nested-vlan nested-vlanid [ interface interface-type interface-number destination-vlan [ l2-vpn ] | link-aggregation group groupid destination-vlan | smart-link group groupid destination-vlan ]

traffic-redirect inbound ip-group { acl-number | acl-name } link-group { acl-number | acl-name } rule rule nested-vlan nested-vlanid [ interface interface-type interface-number destination-vlan [ l2-vpn ] | link-aggregation group groupid destination-vlan | smart-link group groupid destination-vlan ]

下发二层流分类规则的命令形式

traffic-redirect inbound link-group { acl-number | acl-name } [ rule rule [ system-index index ] ] nested-vlan nested-vlanid [ interface interface-type interface-number destination-vlan [ l2-vpn ] | link-aggregation group groupid destination-vlan | smart-link group groupid destination-vlan ]

对匹配ACL流规则的报文修改外层VLAN Tag

下发三层流分类规则的命令形式

traffic-redirect inbound ip-group { acl-number | acl-name } [ rule rule [ system-index index ] ] modified-vlan modified-vlanid

该命令修改的是报文最外层的VLAN Tag

同时下发二层和三层流分类规则的命令形式

traffic-redirect inbound ip-group { acl-number | acl-name } rule rule link-group { acl-number | acl-name } [ rule rule ] modified-vlan modified-vlanid

traffic-redirect inbound ip-group { acl-number | acl-name } link-group { acl-number | acl-name } rule rule modified-vlan modified-vlanid

下发二层流分类规则的命令形式

traffic-redirect inbound link-group { acl-number | acl-name } [ rule rule [ system-index index ] ] modified-vlan modified-vlanid

 

  注意:

目前只有后缀为DB或者DC的单板支持traffic-redirect { nested-vlan | modified-vlan }命令。

 

1.4  配置端口的QinQ报文TPID值可调功能

1.4.1  配置准备

由于VLAN-VPN Uplink端口通常与VLAN VPN端口配合使用,因此配置前请确认,要使能VLAN-VPN Uplink端口满足条件:端口上未使能VLAN VPN。

1.4.2  配置过程

表1-3 配置QinQ报文的TPID值可调功能

配置步骤

命令

说明

进入系统视图

system-view

-

设置端口采用的TPID值

vlan-vpn tpid value

value取值范围是1~0xFFFF,缺省值为0x8100

请不要设置可能引起冲突的TPID值,比如已知的协议类型

TPID值只能在VLAN-VPN Uplink出口被更改

进入以太网端口视图

interface interface-type interface-number

-

将端口设置为VLAN-VPN Uplink端口

vlan-vpn uplink enable

缺省情况下,端口的VLAN-VPN Uplink特性是关闭的

显示系统中所有端口的VLAN VPN配置信息

display port vlan-vpn

显示信息包括:当前的TPID值、VLAN-VPN端口信息、VLAN-VPN Uplink端口信息

 

  注意:

l      LSB1XP4以及LSB1TGX1型单板目前不支持该命令。

l      vlan-vpn uplink enable命令和vlan-vpn enable命令互斥,即端口执行了vlan-vpn enable就不能执行vlan-vpn uplink enable,反之亦然。

 

1.5  配置VLAN-VPN Tunnel

1.5.1  VLAN-VPN Tunnel简介

VLAN-VPN Tunnel功能主要是实现在不同地域的用户网络,通过运营商网络内指定的VLAN VPN进行BPDU报文的透明传输。

图1-3中上面为运营商网络,下面为用户网络。其中运营商网络包括报文输入输出设备,用户网络分别为用户网络A和用户网络B两个部分。通过在运营商网络两端报文输入输出设备上的配置,在一端将BPDU报文的目的MAC地址格式替换成为特殊格式的MAC地址,在另一端还原为目的MAC地址格式,从而使报文在运营商网络中实现了透明传输。

图1-3 VLAN-VPN Tunnel网络层次示意图

1.5.2  VLAN-VPN Tunnel配置

VLAN-VPN Tunnel的主要配置包括:

表1-4 VLAN-VPN Tunnel的配置

操作

命令

说明

进入系统视图

system-view

-

启动系统VLAN-VPN Tunnel功能

vlan-vpn tunnel

必选

进入以太网端口视图

interface interface-type interface-number

-

启动以太网端口VLAN VPN功能

vlan-vpn enable

必选

端口VLAN VPN特性是关闭的

 

1.6  QinQ的显示与维护

在完成QinQ配置后,在任意视图下执行display命令可以显示配置后QinQ的运行情况,通过查看显示信息验证配置的效果;在任意视图下执行traceuser命令,用来监视指定端口入方向的特定用户报文,如果有符合条件的报文,屏幕终端上会有显示。

表1-5 QinQ的显示与维护

操作

命令

显示ATM主端口或者子接口下使能了VLAN VPN的PVC配置信息

display atm vlan-vpn [ interface atm interface-number [ pvc { pvc-name | vpi/vci } ] ]

显示VLAN VPN的相关配置信息

display port vlan-vpn

监视指定端口入方向的特定用户报文

traceuser interface interface-type interface-number [ mac mac-address ] [ vlan vlan-id ] [ number number ]

 

1.7  QinQ典型配置举例

1.7.1  基于流分类的Nested VLAN配置过程举例

1. 组网需求

l              图1-4所示的组网环境中,S9512上主要包括两种业务:一种是普通用户上网,另一种是组播视频点播,灵活QinQ根据DSLAM(Digital Subscriber Line Access Multiplexer,数字用户线接入复接器)上送报文的Tag标记,在外层封装不同的Tag来区分这两种业务。

l              VLAN 100~512属于家庭上网用户,对于这个VLAN范围内的报文,S9512需要再封装一层VLAN 1000的外层Tag,交给BRAS处理。

l              VLAN 600是组播VLAN,S9512如果收到带VLAN 600的Tag报文,则不作任何处理。

2. 组网图

图1-4 灵活QinQ配置组网图

3. 配置步骤

# 在VLAN 600使能igmp-snooping。

<H3C> system-view

[H3C] vlan 600

[H3C-vlan600] igmp-snooping enable

[H3C-vlan600] quit

# 将下行端口GigabitEthernet4/1/2配置为Hybrid端口,配置VLAN 1000为Untagged,VLAN 600为Tagged。

[H3C] interface GigabitEthernet4/1/2

[H3C-GigabitEthernet4/1/2] port link-type hybrid

[H3C-GigabitEthernet4/1/2] port hybrid vlan 600 tagged

[H3C-GigabitEthernet4/1/2] port hybrid vlan 1000 untagged

[H3C-GigabitEthernet4/1/2] quit

# 配置流模板。

[H3C] flow-template user-defined slot 4 s-tag-vlan

[H3C-GigabitEthernet4/1/2] flow-template user-defined

[H3C-GigabitEthernet4/1/2] quit

# 配置灵活QinQ,对于Tag是100~512的报文,从上行端口GigabitEthernet4/1/1出去时打上1000的外层Tag。

[H3C] acl number 4000

[H3C-acl-link-4000] rule 0 permit s-tag-vlan 100 to 512

[H3C-GigabitEthernet4/1/2] traffic-redirect inbound link-group 4000 rule 0 nested-vlan 1000

[H3C-GigabitEthernet4/1/2] vlan filter disable

[H3C-GigabitEthernet4/1/2] quit

# 配置上行端口GigabitEthernet4/1/1为Trunk端口,允许VLAN 1000和VLAN 600通过。

[H3C] interface GigabitEthernet4/1/1

[H3C-GigabitEthernet4/1/1] port link-type trunk

[H3C-GigabitEthernet4/1/1] port trunk permit vlan 600 1000

1.7.2  端口的QinQ报文TPID值可调功能配置过程举例

1. 组网需求

l              Switch A、Switch C为S9500路由交换机,Switch B为其他厂商的交换机(假设采用的TPID值为0x9100);

l              Switch A和Switch C的端口GigabitEthernet2/1/1分别与两侧的用户网络相连;

l              Switch B只允许VLAN 10的报文通过;

l              要求Switch A和Switch C所连接的用户网络之间能够互通非VLAN 10的报文。

2. 组网图

图1-5 配置端口的QinQ报文TPID值可调

3. 配置步骤

(1)        配置Switch A、Switch C(由于Switch A和Switch C的配置完全相同,以下仅以Switch A上的配置为例)

# 配置Switch A上VLAN-VPN Uplink端口的TPID值为0x9100。

<SwitchA> system-view

System View: return to User View with Ctrl+Z.

[SwitchA] vlan-vpn tpid 9100

[SwitchA] vlan 10

[SwitchA-vlan10] quit

# 配置Switch A的端口GigabitEthernet2/1/2为VLAN-VPN Uplink端口,端口属于VLAN 10。

[SwitchA] interface GigabitEthernet2/1/2

[SwitchA-GigabitEthernet2/1/2] port link-type trunk

[SwitchA-GigabitEthernet2/1/2] port trunk permit vlan 10

[SwitchA-GigabitEthernet2/1/2] vlan-vpn uplink enable

# 配置Switch A的端口GigabitEthernet2/1/1为VLAN VPN端口,端口属于VLAN 10。

[SwitchA] interface GigabitEthernet2/1/1

[SwitchA-GigabitEthernet2/1/1] port access vlan 10

[SwitchA-GigabitEthernet2/1/1] vlan-vpn enable

[SwitchA-GigabitEthernet2/1/1] quit

(2)        配置Switch B

由于Switch B为其他厂商的设备,此处只介绍一下配置要求:将Switch B的端口GigabitEthernet3/1/1和GigabitEthernet3/1/3配置为Trunk端口,且都属于VLAN 10。

&  说明:

报文从Switch A=>Switch C的转发过程如下:

l      来自用户私网侧的报文进入Switch A的端口GigabitEthernet2/1/1后,由于此端口为VLAN VPN端口,报文外层被打上了端口缺省的VLAN Tag(VLAN ID为10),然后转发至GigabitEthernet2/1/2。

l      由于GigabitEthernet2/1/2为VLAN-VPN Uplink端口,交换机将报文外层VLAN Tag中的TPID值改为用户设定值0x9100,然后发送到公网网络。

l      报文进入公网中Switch B的端口GigabitEthernet3/1/2。Switch B将该报文在VLAN 10内转发,发送到端口GigabitEthernet3/1/1。

l      报文从Switch B的端口GigabitEthernet3/1/1发送到另一侧的用户网络,进入Switch C的端口GigabitEthernet2/1/2。Switch C将该报文在VLAN 10内转发,发送至端口GigabitEthernet2/1/1。由于端口GigabitEthernet2/1/1为Access端口,交换机去掉报文的外层VLAN Tag,恢复原来的报文。

反方向的转发过程类似。

 

4. 配置验证

配置完成以后,如果Switch A和Switch C所连接的用户网络彼此能够收到对端发来的数据包,则说明配置成功。

1.7.3  VLAN-VPN Tunnel典型配置举例

1. 组网需求

l              S9500系列交换机作为运营商网络接入设备,即组网图中的Switch C、Switch D;

l              S2000系列交换机为用户网络接入设备,即组网图中的Switch A、Switch B;

l              Switch C与Switch D设备之间通过Trunk端口实现连接,通过配置使能VLAN-VPN Tunnel功能,从而使用户网络与运营商网络之间实现透明传输。

2. 组网图

图1-6 VLAN-VPN Tunnel配置示意图

3. 配置步骤

(1)        Switch A的配置

# 启动MSTP。

<H3C> system-view

[H3C] stp enable

# 将端口设置为Trunk端口并且允许VLAN 10通过。

[H3C] vlan 10

[H3C-Ethernet0/1] port link-type trunk

[H3C-Ethernet0/1] port trunk permit vlan 10

(2)        Switch B的配置

# 启动MSTP。

<H3C> system-view

[H3C] stp enable

# 将端口设置为Trunk 端口并且容许VLAN 10通过。

[H3C] vlan 10

[H3C-Ethernet0/1] port  link-type trunk

[H3C-Ethernet0/1] port trunk permit vlan 10

(3)        Switch C的配置

# 启动MSTP。

<H3C> system-view

[H3C] stp enable

# 启动VLAN-VPN Tunnel。

[H3C] vlan-vpn tunnel

# 将Ethernet4/1/1加入VLAN 20。

[H3C] vlan 20

[H3C-Vlan20] port Ethernet4/1/1

[H3C-Vlan20] quit

# 关闭Ethernet4/1/1的STP协议并打开VLAN-VPN。

[H3C] interface Ethernet4/1/1

[H3C-Ethernet4/1/1] stp disable

[H3C-Ethernet4/1/1] vlan-vpn enable

[H3C-Ethernet4/1/1] quit

# 将Ethernet4/1/3端口设置为Trunk端口,并把该端口加入到所有的VLAN。

[H3C] interface Ethernet4/1/3

[H3C-Ethernet4/1/3] port link-type trunk

[H3C-Ethernet4/1/3] port trunk permit vlan all

(4)        Switch D的配置

# 启动MSTP。

<H3C> system-view

[H3C] stp enable

# 启动VLAN-VPN Tunnel。

[H3C] vlan-vpn tunnel

# 将Ethernet3/1/1加入VLAN 20。

[H3C] vlan 20

[H3C-Vlan20] port Ethernet3/1/1

[H3C-Vlan20] quit

# 关闭Ethernet3/1/1的STP协议并打开VLAN-VPN。

[H3C] interface Ethernet3/1/1

[H3C-Ethernet3/1/1] stp disable

[H3C-Ethernet3/1/1] vlan-vpn enable

[H3C-Ethernet3/1/1] quit

# 将Ethernet3/1/3端口设置为Trunk端口,并把该端口加入到所有的VLAN。

[H3C] interface Ethernet3/1/3

[H3C-Ethernet3/1/3] port link-type trunk

[H3C-Ethernet3/1/3] port trunk permit vlan all

  注意:

l      使能VLAN-VPN Tunnel的设备上一定要启动STP协议;否则客户网络的BPDU进入交换机后,无法透传;

l      使能VLAN-VPN的端口要配置为Access端口;中间运营商网络要配置为Trunk链路;

l      在使能了DOT1X,GVRP,STP,NTDP,GMRP协议的端口上不能配置VLAN-VPN Tunnel。

 

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

新华三官网
联系我们