12-QinQ配置
本章节下载: 12-QinQ配置 (307.86 KB)
目 录
QinQ功能只需在运营商网络进行配置,用户网络不需进行配置。
QinQ是802.1Q in 802.1Q的简称,它是基于IEEE 802.1Q技术的一种二层隧道协议,通过将用户的私网报文封装上外层VLAN Tag,使其携带两层VLAN Tag穿越运营商的骨干网络(又称公网),从而为用户提供了一种比较简单的二层VPN隧道技术,也使运营商利用一个VLAN为包含多个VLAN的用户网络提供服务成为了可能。
在IEEE802.1Q定义的VLAN Tag域中,只有12个比特位用于表示VLAN ID,所以设备最多可以支持4094个VLAN。但在实际应用中,尤其是在城域网中,需要大量的VLAN来隔离用户,4094个VLAN远远不能满足需求。
QinQ使整个网络最多可提供4094×4094个VLAN,从而满足了城域网对VLAN数量的需求。它具备以下优点:
l 缓解公网VLAN ID资源日益紧缺的问题。
l 用户可以规划自己的私网VLAN ID,不会导致与公网VLAN ID冲突。
l 为小型城域网和企业网提供了一种简单、灵活的二层VPN解决方案。
当运营商升级网络时,用户网络不必更改原有配置,使用户网络具有了较强的独立性。
在公网的传输过程中,设备只根据外层VLAN Tag转发报文,并将报文的源MAC地址表项学习到外层VLAN Tag所在VLAN的MAC地址表中,而用户的私网VLAN Tag将被当作报文的数据部分进行传输。
图1-1 QinQ典型应用组网图
如图1-1所示,用户网络A和B的私网VLAN分别为VLAN 1~10和VLAN 1~20。运营商为用户网络A和B分配的VLAN分别为VLAN 3和VLAN 4。当用户网络A和B的带VLAN Tag的报文进入运营商网络时,报文外面就会被分别封装上VLAN 3和VLAN 4的VLAN Tag。这样,来自不同用户网络的报文在运营商网络中传输时被完全分开,即使这些用户网络各自的VLAN范围存在重叠,在运营商网络中传输时也不会产生冲突。
如图1-2所示,QinQ报文在运营商网络中传输时带有双层VLAN Tag:
l 内层VLAN Tag:为用户的私网VLAN Tag;
l 外层VLAN Tag:为运营商分配给用户的公网VLAN Tag。
图1-2 QinQ的报文结构
端口的MTU(Maximum Transmission Unit,最大传输单元)值默认为1500字节。由于为报文加上外层VLAN Tag后,报文长度将增加4个字节,因此建议用户适当增加运营商网络中各端口的MTU值(至少为1504字节)。有关端口MTU值的相关配置,请参见手册中的“以太网端口配置”。
QinQ的实现方式可分为以下两种:
基本QinQ是基于端口方式实现的。当端口上配置了基本QinQ功能后,不论从该端口收到报文是否带有VLAN Tag,设备都会为该报文打上本端口缺省VLAN的Tag:
l 如果收到的是带有VLAN Tag的报文,该报文就成为带双Tag的报文;
l 如果收到的是不带VLAN Tag的报文,该报文就成为带有本端口缺省VLAN Tag的报文。
灵活QinQ是基于端口与VLAN相结合的方式实现的,它对QinQ的功能进行了扩展,是对QinQ的一种更灵活的实现。灵活QinQ除了能实现所有基本QinQ的功能外,对于从同一个端口收到的报文,还可以根据VLAN的不同进行不同的操作,包括:
l 为具有不同内层VLAN ID的报文添加不同的外层VLAN Tag。
l 根据报文内层VLAN的802.1p优先级标记外层VLAN的802.1p优先级。
l 在添加外层VLAN Tag的同时,还可修改内层的VLAN ID。
通过使用灵活QinQ技术,在能够隔离运营商网络和用户网络的同时,又能够提供丰富的业务特性和更加灵活的组网能力。
如图1-3所示,是IEEE802.1Q协议定义的以太网帧的VLAN Tag结构,TPID(Tag Protocol Identifier,标签协议标识)就是VLAN Tag中的一个字段,用于表示VLAN Tag的协议类型,IEEE 802.1Q协议规定TPID的取值为0x8100。
设备可以根据TPID值来识别报文中是否携带对应的VLAN Tag:当端口收到报文时,根据配置的TPID值与报文中相应的字段进行比较,如果二者一致,则表示报文中携带相应的VLAN Tag。例如,配置运营商VLAN Tag和用户VLAN Tag中携带的TPID值为0x8100,而报文中实际携带的TPID值分别为0x8100和0x8200,此时,设备就会认为报文中只携带运营商VLAN Tag,不携带用户VLAN Tag。
另外,不同厂商的设备可能将QinQ报文外层VLAN Tag的TPID字段设为不同的值。为了与这些第三方厂商的设备兼容,用户可以自行配置该TPID的值,使得发送到公网中的QinQ报文携带的TPID值与第三方厂商相同,就可以实现与第三方厂商设备的互通。
由于TPID字段在以太网报文中所处位置与不带VLAN Tag的报文中协议类型字段所处位置相同,为避免网络中报文转发和接收造成混乱,不允许用户将TPID值配置为表1-1中列举的常用协议类型值。
协议类型 |
协议类型值 |
ARP |
0x0806 |
PUP |
0x0200 |
RARP |
0x8035 |
IP |
0x0800 |
IPv6 |
0x86DD |
PPPoE |
0x8863/0x8864 |
MPLS |
0x8847/0x8848 |
IPX/SPX |
0x8137 |
IS-IS |
0x8000 |
LACP |
0x8809 |
802.1X |
0x888E |
集群 |
0x88A7 |
设备保留 |
0xFFFD/0xFFFE/0xFFFF |
与QinQ相关的协议规范有:
IEEE 802.1Q:IEEE standard for local and metropolitan area networks: Virtual Bridged Local Area Networks
表1-2 QinQ配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置基本QinQ功能 |
使能基本QinQ功能 |
必选 |
|
配置灵活QinQ功能 |
配置外层VLAN Tag的添加策略 |
可选 |
|
配置VLAN Tag中携带的TPID值 |
可选 |
l 对于QinQ的相关配置来说,以太网端口视图下的配置只对当前端口有效;二层聚合端口视图下的配置只对当前聚合端口及其所对应聚合组中的所有成员端口有效;端口组视图下的配置对当前端口组中的所有端口有效;OLT端口视图下的配置只对当前端口有效。
l 基本QinQ和灵活QinQ功能都应在连接用户网络的端口上进行配置。
l 所有的QinQ相关配置都不能在镜像反射口上进行配置。有关镜像反射口的相关介绍,请参见手册中的“端口镜像配置”。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入相应视图 |
进入以太网端口、OLT端口或二层聚合端口视图 |
interface interface-type interface-number |
二者必选其一 |
进入端口组视图 |
port-group manual port-group-name |
||
使能端口的基本QinQ功能 |
qinq enable |
必选 缺省情况下,端口的基本QinQ功能处于关闭状态 |
基本QinQ功能添加的外层VLAN Tag是端口缺省VLAN的Tag,灵活的QinQ特性可以根据不同的内层VLAN Tag添加不同的外层VLAN Tag。
表1-4 配置外层VLAN Tag的添加策略
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入相应视图 |
进入以太网端口、OLT端口或二层聚合端口视图 |
interface interface-type interface-number |
二者必选其一 |
进入端口组视图 |
port-group manual port-group-name |
||
进入QinQ视图,并配置端口添加的外层VLAN Tag |
qinq vid vlan-id |
必选 缺省情况下,端口添加的外层VLAN Tag是端口缺省VLAN的Tag |
|
配置需添加外层VLAN Tag的内层VLAN Tag |
raw-vlan-id inbound { all | vlan-list } |
必选 |
l 一个内层VLAN Tag只能对应一个外层VLAN Tag。如果用户想改变报文的外层VLAN Tag,需要先删除旧的外层VLAN Tag配置,然后再配置新的外层VLAN Tag。
l 灵活QinQ功能和基本QinQ功能可以同时配置,端口同时配置了这两种功能时,满足灵活QinQ配置的报文将按灵活QinQ处理,不满足灵活QinQ配置的报文将按基本QinQ处理。
表1-5 全局配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置VLAN Tag中携带的TPID值 |
qinq ethernet-type hex-value |
可选 全局配置对所有端口都有效 缺省情况下,外层VLAN Tag中所携带的TPID值为0x8100 |
l Provider A和Provider B为运营商网络的边缘设备,二者通过Trunk口相连,且都属于运营商网络的VLAN 100和VLAN 101;Customer A、Customer B和Customer C为用户网络的边缘设备。
l Provider A和Provider B之间采用了第三方厂商的设备,TPID值为0x8200。
希望配置完成后达到下列要求:
l 来自Customer B与Customer C各自的VLAN 10~50内的报文可经过运营商网络的VLAN100实现互通。
l 来自Customer A与Customer C各自的VLAN 200~299内的报文可经过运营商网络的VLAN 101实现互通。
图1-4 基本QinQ配置组网图
用户必须通过配置保证运营商网络中的设备之间允许QinQ报文通过。
(1) 配置Provider A
l 配置端口OLT1/0/1
# 配置端口为Hybrid端口,且允许VLAN 200~299的报文通过。
<ProviderA> system-view
[ProviderA] interface olt 1/0/1
[ProviderA-Olt1/0/1]port link-type hybrid
[ProviderA-Olt1/0/1]port hybrid vlan 200 to 299 tagged
# 配置端口的缺省VLAN为VLAN 101。
[ProviderA-Olt1/0/1]port hybrid pvid vlan 101
# 使能端口的基本QinQ功能。
[ProviderA-Olt1/0/1] qinq enable
[ProviderA-Olt1/0/1] quit
l 配置端口OLT1/0/2
# 配置端口为Hybrid端口,且允许VLAN 10~50的报文通过。
[ProviderA] interface olt 1/0/2
[ProviderA-Olt1/0/2]port link-type hybrid
[ProviderA-Olt1/0/2]port hybrid vlan 10 to 50 tagged
[ProviderA-Olt1/0/2] quit
# 配置端口的缺省VLAN为VLAN 100。
[ProviderA-Olt1/0/2]port hybrid pvid vlan 100
# 使能端口的基本QinQ功能。
[ProviderA-Olt1/0/2] qinq enable
[ProviderA-Olt1/0/2] quit
l 配置端口GigabitEthernet1/1/1
# 配置端口为Trunk端口,且允许VLAN 100和101的报文通过。
[ProviderA] interface gigabitethernet 1/1/1
[ProviderA-GigabitEthernet1/1/1] port link-type trunk
[ProviderA-GigabitEthernet1/1/1] port trunk permit vlan 100 101
# 配置端口添加的外层Tag中携带的TPID值为0x8200。
[ProviderA] qinq ethernet-type 8200
(2) 配置Provider B
l 配置端口GigabitEthernet1/1/1
# 配置端口为Trunk端口,且允许VLAN 100和101的报文通过。
<ProviderB> system-view
[ProviderB] interface gigabitethernet 1/1/1
[ProviderB-GigabitEthernet1/1/1] port link-type trunk
[ProviderB-GigabitEthernet1/1/1] port trunk permit vlan 100 101
# 配置端口添加的外层Tag中携带的TPID值为0x8200。
[ProviderB] qinq ethernet-type 8200
[ProviderB] quit
l 配置端口OLT1/0/1
# 配置端口为Trunk端口,且允许VLAN 10~50和200~299的报文通过。
[ProviderB] interface olt 1/0/1
[ProviderA-Olt1/0/1]port link-type hybrid
[ProviderA-Olt1/0/1]port hybrid vlan 10 to 50 200 to 299 tagged
# 配置端口的缺省VLAN为VLAN 101。
[ProviderB-Olt1/0/1] port hybrid pvid vlan 101
# 使能端口的基本QinQ功能。
[ProviderB-Olt1/0/1] qinq enable
(3) 配置第三方厂商设备
对于Provider A与Provider B之间的第三方厂商设备,其关键配置如下:在与Provider A的端口GigabitEthernet1/1/1以及与Provider B的端口GigabitEthernet1/1/1相连接的端口上,配置其允许VLAN 10~50和101的报文携带VLAN Tag通过。
l Provider A和Provider B为运营商网络的边缘设备,二者通过Trunk口相连,分别属于运营商网络的VLAN 1000和VLAN 2000;Customer A、Customer B和Customer C为用户网络的边缘设备。
l Provider A与Provider B之间采用了第三方厂商的设备,TPID值为0x8200。
希望配置完成后达到下列要求:
l 来自Customer A和Customer B各自的VLAN 10内的报文可经过运营商网络的VLAN 1000实现互通。
l 来自Customer A和Customer C各自的VLAN 20内的报文可经过运营商网络的VLAN 2000实现互通。
图1-5 灵活QinQ配置组网图
用户必须通过配置保证运营商网络中的设备之间允许QinQ报文通过。
(1) 配置Provider A
l 配置端口Olt1/0/1
# 配置端口为Hybrid端口,且允许VLAN 10、20、1000和2000的报文通过。
<ProviderA> system-view
[ProviderA] interface olt 1/0/1
[ProviderA-Olt1/0/1] port link-type hybrid
[ProviderA-Olt1/0/1] port hybrid vlan 10 20 1000 2000 tagged
# 将来自VLAN 10的报文打上VLAN ID为1000的外层Tag。
[ProviderA-Olt1/0/1] qinq vid 1000
[ProviderA-Olt1/0/1-vid-1000] raw-vlan-id inbound 10
[ProviderA-Olt1/0/1-vid-1000] quit
# 将来自VLAN 20的报文打上VLAN ID为2000的外层Tag。
[ProviderA-Olt1/0/1] qinq vid 2000
[ProviderA-Olt1/0/1-vid-2000] raw-vlan-id inbound 20
[ProviderA-Olt1/0/1-vid-2000] quit
[ProviderA-Olt1/0/1] quit
l 配置端口Olt1/0/2
# 配置端口为Hybrid端口,且允许VLAN 10和1000的报文通过。
[ProviderA] interface olt 1/0/2
[ProviderA-Olt1/0/2] port link-type hybrid
[ProviderA-Olt1/0/2] port hybrid vlan 10 1000 tagged
# 将来自VLAN 10的报文打上VLAN ID为1000的外层Tag。
[ProviderA-Olt1/0/2] qinq vid 1000
[ProviderA-Olt1/0/2-vid-1000] raw-vlan-id inbound 10
[ProviderA-Olt1/0/2-vid-1000] quit
[ProviderA-Olt1/0/2] quit
l 配置端口GigabitEthernet1/1/1
# 配置端口为Trunk端口,且允许VLAN 1000和2000的报文通过。
[ProviderA] interface gigabitethernet 1/1/1
[ProviderA-GigabitEthernet1/1/1] port link-type trunk
[ProviderA-GigabitEthernet1/1/1] port trunk permit vlan 1000 2000
# 配置端口添加的外层Tag中携带的TPID值为0x8200。
[ProviderA] qinq ethernet-type 8200
(2) 配置Provider B
l 配置端口GigabitEthernet1/1/1
# 配置端口为Trunk端口,且允许VLAN 1000和2000的报文通过。
<ProviderB> system-view
[ProviderB] interface gigabitethernet 1/1/1
[ProviderB-GigabitEthernet1/1/1] port link-type trunk
[ProviderB-GigabitEthernet1/1/1] port trunk permit vlan 1000 2000
# 配置端口添加的外层Tag中携带的TPID值为0x8200。
[ProviderB] qinq ethernet-type 8200
l 配置端口Olt1/0/1
# 配置端口为Hybrid端口,且允许VLAN 20和2000的报文通过。
[ProviderB] interface olt 1/0/1
[ProviderB-Olt1/0/1] port link-type hybrid
[ProviderB-Olt1/0/1] port hybrid vlan 20 2000 tagged
# 将来自VLAN 20的报文打上VLAN ID为2000的外层Tag。
[ProviderB-Olt1/0/1] qinq vid 2000
[ProviderB-Olt1/0/1-vid-2000] raw-vlan-id inbound 20
(3) 配置第三方厂商设备
对于Provider A与Provider B之间的第三方厂商设备,其关键配置如下:在与Provider A的端口GigabitEthernet1/1/1以及与Provider B的端口GigabitEthernet1/1/1相连接的端口上,配置其允许VLAN 1000和2000的报文携带VLAN Tag通过。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!