华为数通---配置基本QinQ示例

QinQ简介

定义

QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag(一层公网Tag,一层私网Tag),即802.1Q-in-802.1Q,所以称之为QinQ协议。

目的

随着以太网技术在运营商网络中的大量部署(即城域以太网),利用802.1Q VLAN对用户进行隔离和标识受到很大限制。因为IEEE802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是QinQ技术应运而生。

QinQ最初主要是为拓展VLAN的数量空间而产生的。它是通过在原有的802.1Q报文的基础上增加一层802.1Q标签来实现的,使得VLAN数量增加到4094×4094。

随着城域以太网的发展以及运营商精细化运作的要求,QinQ的双层标签又有了进一步的使用场景。它的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。另外,QinQ报文带着两层Tag穿越运营商网络,内层Tag透明传送,也是一种简单、实用的VPN技术。因此它又可以作为核心MPLS VPN在城域以太网VPN的延伸,最终形成端到端的VPN技术。

由于QinQ方便易用的特点,现在已经在各运营商中得到了广泛的应用,如QinQ技术在城域以太网解决方案中和多种业务相结合。特别是灵活QinQ(Selective QinQ/VLAN Stacking)的出现,使得QinQ业务更加受到了运营商的推崇和青睐,它具有不同用户之间的VLAN与公网VLAN有效分离、最大限度节省运营商网络的VLAN资源等特点。随着城域以太网的大力发展,各个设备提供商都提出了各自的城域以太网的解决方案。QinQ因为其自身简单灵活的特点,在各解决方案中扮演着重要的角色。 

组网需求 

如图1所示,网络中有两个企业,企业1有两个分支,企业2有两个分支。这两个企业的各办公地的企业网都分别和运营商网络中的SwitchA和SwitchB相连,且公网中存在其它厂商设备,其外层VLAN Tag的TPID值为0x9100。

 现需要实现: 

  • 企业1和企业2独立划分VLAN,两者互不影响。
  • 各企业两分支之间流量通过公网透明传输,相同业务之间互通,不同业务之间互相隔离。

可通过配置QinQ来实现以上需求。利用公网提供的VLAN100使企业1互通,利用公网提供的VLAN200使企业2互通,不同企业之间互相隔离。并通过在连接其它厂商设备的接口上配置修改QinQ外层VLAN Tag的TPID值,来实现与其它厂商设备的互通。

配置思路 

采用如下的思路配置QinQ:

  1. 在SwitchA和SwitchB上均创建VLAN100和VLAN200,配置连接业务的接口为QinQ类型,并分别加入VLAN。实现不同业务添加不同的外层VLAN Tag。

  2. 配置SwitchA和SwitchB上连接公网的接口加入相应VLAN,实现允许VLAN100和200的报文通过。

  3. 在SwitchA和SwitchB连接公网的接口上配置外层VLAN tag的TPID值,实现与其它厂商设备的互通。

操作步骤

  • 创建VLAN

    # 在SwitchA上创建VLAN100和VLAN200。

<Huawei>system-view 
[Huawei]sysname SwitchA	
[SwitchA]vlan batch 100 200

# 在SwitchB上创建VLAN100和VLAN200。

<Huawei>system-view 
[Huawei]sysname SwitchB	
[SwitchB]vlan batch 100 200
  • 配置接口类型为QinQ

# 在SwitchA上配置接口GE0/0/1、GE0/0/2的类型为QinQ,GE0/0/1的外层tag为VLAN100,GE0/0/2的外层tag为VLAN200。SwitchB的配置与SwitchA类似,不再赘述。

[SwitchA]interface GigabitEthernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type dot1q-tunnel 
[SwitchA-GigabitEthernet0/0/1]port default vlan 100
[SwitchA-GigabitEthernet0/0/1]quit	
[SwitchA]interface GigabitEthernet 0/0/2
[SwitchA-GigabitEthernet0/0/2]port link-type dot1q-tunnel 
[SwitchA-GigabitEthernet0/0/2]port default vlan 200
[SwitchA-GigabitEthernet0/0/2]quit
  • 配置Switch连接公网侧的接口

# 在SwitchA上配置接口GE0/0/3加入VLAN100和VLAN200。SwitchB的配置与SwitchA类似,不再赘述。

[SwitchA]interface GigabitEthernet 0/0/3
[SwitchA-GigabitEthernet0/0/3]port link-type trunk 
[SwitchA-GigabitEthernet0/0/3]port trunk allow-pass vlan 100 200
[SwitchA-GigabitEthernet0/0/3]quit
  • 配置外层VLAN tag的TPID值

# 在SwitchA上配置外层VLAN tag的TPID值为0x9100。

[SwitchA]interface GigabitEthernet 0/0/3	
[SwitchA-GigabitEthernet0/0/3]qinq protocol 9100

# 在SwitchB上配置外层VLAN tag的TPID值为0x9100。

[SwitchB]interface GigabitEthernet 0/0/3	
[SwitchB-GigabitEthernet0/0/3]qinq protocol 9100
  • 验证配置结果

从企业1一处分支内任意VLAN的一台PC ping企业1另外一处分支同一VLAN内的PC,如果可以ping通则表示企业1内部可以互相通信。

从企业2一处分支内任意VLAN的一台PC ping企业2另外一处分支同一VLAN内的PC,如果可以ping通则表示企业2内部可以互相通信。

从企业1一处分支内任意VLAN的一台PC ping企业2任意一处分支同一VLAN内的PC,如果不能ping通则表示企业1和企业2之间相互隔离。

配置文件 

  • SwitchA的配置文件

#
sysname SwitchA
#
vlan batch 100 200
#
interface GigabitEthernet0/0/1
 port link-type dot1q-tunnel
 port default vlan 100
#
interface GigabitEthernet0/0/2
 port link-type dot1q-tunnel
 port default vlan 200
#
interface GigabitEthernet0/0/3
 qinq protocol 9100
 port link-type trunk
 port trunk allow-pass vlan 100 200
#
return
  • SwitchB的配置文件

#
sysname SwitchB
#
vlan batch 100 200
#
interface GigabitEthernet0/0/1
 port link-type dot1q-tunnel
 port default vlan 100
#
interface GigabitEthernet0/0/2
 port link-type dot1q-tunnel
 port default vlan 200
#
interface GigabitEthernet0/0/3
 qinq protocol 9100
 port link-type trunk
 port trunk allow-pass vlan 100 200
#
return

相关推荐

  1. 华为试题

    2023-12-17 17:16:02       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-17 17:16:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-17 17:16:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-17 17:16:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-17 17:16:02       18 阅读

热门阅读

  1. WTN6040F-8S语音芯片:投篮游戏机新时代引领者

    2023-12-17 17:16:02       41 阅读
  2. macos苹果电脑开启tftp server上传fortigate60e固件成功

    2023-12-17 17:16:02       32 阅读
  3. 使用Yellowbrick绘制获取最佳聚类K值的示例

    2023-12-17 17:16:02       39 阅读
  4. 【vue filters 过滤器】vue页面 全局使用

    2023-12-17 17:16:02       38 阅读
  5. RK3568-PWM

    2023-12-17 17:16:02       37 阅读
  6. Optee在嵌入式系统中是否支持多线程机制

    2023-12-17 17:16:02       41 阅读
  7. Word Excel模版引擎

    2023-12-17 17:16:02       51 阅读
  8. 设计模式——原型模式代码示例

    2023-12-17 17:16:02       36 阅读
  9. 通过接口引用对象

    2023-12-17 17:16:02       35 阅读
  10. 一句话分清C/C++声明和定义

    2023-12-17 17:16:02       41 阅读