07-QinQ配置
本章节下载: 07-QinQ配置 (231.74 KB)
目 录
IEEE 802.1Q定义的VLAN ID域有12个比特,最多可以提供4094个VLAN。但在实际应用中,尤其是在城域网中,需要大量的VLAN来隔离用户,4094个VLAN远远不能满足需求。QinQ使整个网络最多可以提供4094×4094个VLAN,满足了城域网对VLAN数量的需求。
QinQ是802.1Q in 802.1Q的简称,是基于IEEE 802.1Q技术的一种比较简单的二层VPN协议。通过将一层VLAN Tag封装到私网报文上,使其携带两层VLAN Tag穿越运营商的骨干网络(又称公网),从而使运营商能够利用一个VLAN为包含多个VLAN的用户网络提供服务。
QinQ具备以下优点:
l 缓解公网VLAN资源日益紧缺的问题。
l 用户可以规划自己的私网VLAN,不会导致与公网VLAN冲突。
l 为用户提供了一种简单、灵活的二层VPN解决方案。
l 当运营商进行VLAN规划时,用户网络不必更改原有配置,使用户网络具有了较强的独立性。
如图1-1所示,QinQ报文在运营商网络中传输时带有双层VLAN Tag:
l 内层VLAN Tag:为用户的私网VLAN Tag,对应图中的Customer VLAN Tag(简称CVLAN)。设备依靠该Tag在私网中传送报文。
l 外层VLAN Tag:为运营商分配给用户的公网VLAN Tag,对应图中的Service VLAN Tag(简称SVLAN)。设备依靠该Tag在公网中传送QinQ报文。
图1-1 QinQ的报文结构
接口的MTU(Maximum Transmission Unit,最大传输单元)值默认为1500字节。由于为报文加上外层VLAN Tag后,报文长度将增加4个字节,因此建议用户适当增加运营商网络中各接口的MTU值(至少为1504字节)。有关接口MTU值的相关配置,请参见“接口管理配置指导”中的“以太网接口”。
在公网的传输过程中,设备只根据外层VLAN Tag转发报文,而内层VLAN Tag将被当作报文的数据部分进行传输。
图1-2 QinQ典型应用组网图
如图1-2所示,用户网络A和B的私网VLAN分别为VLAN 1~10和VLAN 1~20。运营商为用户网络A和B分配的公网VLAN分别为VLAN 3和VLAN 4。
(1) 当用户网络A和B中带私网VLAN Tag的报文进入运营商网络时,报文外面就会被分别封装上VLAN 3和VLAN 4的公网VLAN Tag。
(2) 来自不同用户网络的报文在运营商网络中传输时被隔离,即使这些用户网络各自的VLAN范围存在重叠,在运营商网络中传输时也不会产生冲突。
(3) 当报文穿过运营商网络,到达运营商网络另一侧PE(Provider Edge,服务提供商网络边缘)设备后,报文被剥离公网VLAN Tag,然后再传送给用户网络的CE(Customer Edge,用户网络边缘)设备。
当端口上配置了QinQ功能后,不论从该端口收到的报文是否带有VLAN Tag,设备都会为该报文添加本端口缺省VLAN的Tag:
l 如果收到的是带有VLAN Tag的报文,该报文就成为带两层Tag的报文;
l 如果收到的是不带VLAN Tag的报文,该报文就成为带有本端口缺省VLAN Tag的报文。
QinQ功能是以端口来划分用户或用户网络,但当多个不同用户以不同的VLAN接入到同一个端口时则无法区分用户。在运营商接入环境中往往需要根据用户的应用或接入地点(设备)来区分用户,这种应用可以通过VLAN映射功能实现,有关VLAN映射的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN映射”。
与QinQ相关的协议规范有:
l IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks
l IEEE 802.1ad:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Amendment 4: Provider Bridges
QinQ功能应在PE设备的用户网络侧接口上进行配置。
使能了QinQ功能的端口将为其收到的报文添加该端口缺省VLAN的Tag。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网接口或二层聚合接口视图 |
interface interface-type interface-number |
- |
使能端口的QinQ功能 |
qinq enable |
缺省情况下,端口的QinQ功能处于关闭状态 |
TPID(Tag Protocol Identifier,标签协议标识符)值可以用来判断报文中是否携带有VLAN Tag,例如,在设备上配置运营商VLAN Tag中携带的TPID值为0x9100,如果收到的报文实际携带的外层VLAN Tag的TPID值为0x8100,由于该报文外层VLAN Tag的TPID值与配置值不同,该设备会认为该报文没有携带运营商VLAN Tag。
第三方厂商的设备可能将QinQ报文外层VLAN Tag的TPID设为不同的值。为了与这些厂商的设备兼容,用户可以通过修改TPID值,使发送到公网中的QinQ报文携带的TPID值与第三方厂商的相同,从而实现与这些厂商的设备互通。
配置VLAN Tag的TPID值时,需要注意:
l VLAN Tag的TPID值应在运营商网络中的设备上进行配置,并且应配置在连接运营商网络侧的端口上。
l 配置qinq ethernet-type命令的同时,需要在连接用户网络侧的端口上使能qinq enable命令。建议在设备的同一块单板上配置qinq ethernet-type命令和qinq enable命令。
l 对于同一块单板,除了支持缺省值外,只支持配置其他一个TPID值。
l 当设备用于EVI组网时,请不要在设备上配置qinq ethernet-type命令,否则可能会导致报文转发异常。有关EVI的介绍,请参考“EVI配置指导”中的“EVI”。
表1-2 在端口上配置VLAN Tag的TPID值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网接口或二层聚合接口视图 |
interface interface-type interface-number |
- |
配置外层VLAN Tag的TPID值 |
qinq ethernet-type service-tag hex-value |
缺省情况下,外层VLAN Tag的TPID值都为0x8100 |
在完成上述配置后,在任意视图下执行display命令可以显示使能了QinQ功能的端口,通过查看显示信息验证配置的效果。
表1-3 QinQ显示和维护
操作 |
命令 |
显示使能了QinQ功能的端口 |
display qinq [ interface interface-type interface-number ] |
缺省情况下,以太网接口、VLAN接口及聚合接口处于down状态。如果要对这些接口进行配置,请先使用undo shutdown命令使接口状态处于up状态。
l 公司A的两个分支机构Site 1和Site 2通过运营商网络进行通信,该公司各业务使用的VLAN为VLAN 10~70;公司B的两个分支机构Site 3和Site 4也通过运营商网络进行通信,该公司各业务使用的VLAN为VLAN 30~90。
l PE 1和PE 2为运营商网络的边缘设备,且二者通过TPID值为0x8200的第三方厂商设备进行连接。
l 通过配置,利用运营商提供的VLAN 100使公司A的两个分支机构之间实现互通,利用运营商提供的VLAN 200使公司B的两个分支机构之间实现互通。
图1-3 QinQ配置组网图
(1) 配置PE 1
l 配置端口GigabitEthernet4/0/1
# 配置端口为Trunk端口,且允许VLAN 100的报文通过。
<PE1> system-view
[PE1] interface GigabitEthernet 4/0/1
[PE1-GigabitEthernet4/0/1] port link-type trunk
[PE1-GigabitEthernet4/0/1] port trunk permit vlan 100
# 配置端口的缺省VLAN为VLAN 100。
[PE1-GigabitEthernet4/0/1] port trunk pvid vlan 100
# 使能端口的QinQ功能。
[PE1-GigabitEthernet4/0/1] qinq enable
[PE1-GigabitEthernet4/0/1] quit
l 配置端口GigabitEthernet4/0/2
# 配置端口为Trunk端口,且允许VLAN 100和VLAN 200的报文通过。
[PE1] interface GigabitEthernet 4/0/2
[PE1-GigabitEthernet4/0/2] port link-type trunk
[PE1-GigabitEthernet4/0/2] port trunk permit vlan 100 200
# 配置外层VLAN Tag的TPID值为0x8200。
[PE1-GigabitEthernet4/0/2] qinq ethernet-type service-tag 8200
[PE1-GigabitEthernet4/0/2] quit
l 配置端口GigabitEthernet4/0/3
# 配置端口为Trunk端口,且允许VLAN 200的报文通过。
[PE1] interface GigabitEthernet 4/0/3
[PE1-GigabitEthernet4/0/3] port link-type trunk
[PE1-GigabitEthernet4/0/3] port trunk permit vlan 200
# 配置端口的缺省VLAN为VLAN 200。
[PE1-GigabitEthernet4/0/3] port trunk pvid vlan 200
# 使能端口的QinQ功能。
[PE1-GigabitEthernet4/0/3] qinq enable
[PE1-GigabitEthernet4/0/3] quit
(2) 配置PE 2
l 配置端口GigabitEthernet4/0/1
# 配置端口为Trunk端口,且允许VLAN 200的报文通过。
<PE2> system-view
[PE2] interface GigabitEthernet 4/0/1
[PE2-GigabitEthernet4/0/1] port link-type trunk
[PE2-GigabitEthernet4/0/1] port trunk permit vlan 200
# 配置端口的缺省VLAN为VLAN 200。
[PE2-GigabitEthernet4/0/1] port trunk pvid vlan 200
# 使能端口的QinQ功能。
[PE2-GigabitEthernet4/0/1] qinq enable
[PE2-GigabitEthernet4/0/1] quit
l 配置端口GigabitEthernet4/0/2
# 配置端口为Trunk端口,且允许VLAN 100和VLAN 200的报文通过。
[PE2] interface GigabitEthernet 4/0/2
[PE2-GigabitEthernet4/0/2] port link-type trunk
[PE2-GigabitEthernet4/0/2] port trunk permit vlan 100 200
# 配置外层VLAN Tag的TPID值为0x8200。
[PE2-GigabitEthernet4/0/2] qinq ethernet-type service-tag 8200
[PE2-GigabitEthernet4/0/2] quit
l 配置端口GigabitEthernet4/0/3
# 配置端口为Trunk端口,且允许VLAN 100的报文通过。
[PE2] interface GigabitEthernet 4/0/3
[PE2-GigabitEthernet4/0/3] port link-type trunk
[PE2-GigabitEthernet4/0/3] port trunk permit vlan 100
# 配置端口的缺省VLAN为VLAN 100。
[PE2-GigabitEthernet4/0/3] port trunk pvid vlan 100
# 使能端口的QinQ功能。
[PE2-GigabitEthernet4/0/3] qinq enable
[PE2-GigabitEthernet4/0/3] quit
(3) 配置第三方厂商设备
对于PE 1与PE 2之间的第三方厂商设备,其关键配置如下:在连通PE 1与PE 2的端口上,都允许VLAN 100和VLAN 200的报文携带VLAN Tag通过。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!