5.2 VLAN:QinQ

1.介绍

  首先要知道QinQ的字面意思,大家都知道数据帧在二层传输中一般是用802.1q协议在源MAC地址后面加一个vlan 标签(内层标签),而QinQ就在数据帧源MAC地址和内层标签之间再加一个vlan标签(外层标签)。
  其次为什么要用QinQ,两个原因:1用户规模太大,4094个vlan不够用,qinq可以用4094*4094个vlan组合。2.其他技术相对QinQ来说,需要换设备啊或替换板卡啊等操作,所以比较贵。

2.华为

  华为的QinQ一般用基本QinQ和灵活QinQ,所用拓扑图如下。
在这里插入图片描述
通用配置介绍:
1.LSW1和LSW2的gi0/0/1上配置QinQ。外层VLAN是100或300。
2.PC的IP地址是192.168.10.x/24,X是PC编号。

2.1 基本QinQ

  LSW1和LSW2配置一致,LSW3和LSW4配置一致,所以LSW2和LSW4的配置步骤不在写出。

1.1 LSW1创建vlan
[SW1]vlan batch 100

1.2 LSW1配置qinq端口
[SW1]int gi 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type dot1q-tunnel 
[SW1-GigabitEthernet0/0/1]port default vlan 100
[SW1-GigabitEthernet0/0/1]q

1.3 LSW1配置trunk端口
[SW1]int GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow vlan 100

2.1 LSW3创建vlan
[SW3]vlan batch 10 30

2.2 LSW3配置上联端口
[SW3]int gi 0/0/1
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk all vlan  10 30  ---->hybrid就用tag vlan
[SW3-GigabitEthernet0/0/1]q

2.3 LSW3配置下联端口
[SW3]int gi0/0/2
[SW3-GigabitEthernet0/0/2]port link-type acc
[SW3-GigabitEthernet0/0/2]port  def vlan 10
[SW3-GigabitEthernet0/0/2]q
[SW3]int gi 0/0/3
[SW3-GigabitEthernet0/0/3]port link-type access 
[SW3-GigabitEthernet0/0/3]port default vlan 30
[SW3-GigabitEthernet0/0/3]q


3.测试
在LSW1的gi0/0/2端口抓包,设备之前相互ping操作,查看设备是否互通,并且数据帧的内外层VLAN与预先设置的一致。抓包可以看到192.168.10.1的外层vlan是100,内层是10;192.168.10.5的外层vlan是100,内层是30,全部通过。

在这里插入图片描述
在这里插入图片描述

2.2 灵活QinQ

  基本QinQ外层vlan标签只能由tunnel端口的default vlan唯一指定,而灵活QinQ可以定制外层标签,比如指定拓扑中vlan 10的外层标签是100,vlan 30的外层标签是300。
  LSW1和LSW2配置一致,LSW3和LSW4配置一致,所以LSW2和LSW4的配置步骤不在写出。

1.1 LSW1创建vlan
[SW1]vlan batch 100 300

1.2 LSW1配置qinq端口
[SW1]int gi 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type hybrid
[SW1-GigabitEthernet0/0/1]port hybrid untag 100 300
[SW1-GigabitEthernet0/0/1]qinq vlan-translation enable
[SW1-GigabitEthernet0/0/1]port vlan-stacking vlan 10 stack-vlan 100
[SW1-GigabitEthernet0/0/1]port vlan-stacking vlan 30 stack-vlan 300
[SW1-GigabitEthernet0/0/1]q

1.3 LSW1配置trunk端口
[SW1]int GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow vlan 100 300

2.1 LSW3创建vlan
[SW3]vlan batch 10 30

2.2 LSW3配置上联端口
[SW3]int gi 0/0/1
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk all vlan  10 30  ---->hybrid就用tag vlan
[SW3-GigabitEthernet0/0/1]q

2.3 LSW3配置下联端口
[SW3]int gi0/0/2
[SW3-GigabitEthernet0/0/2]port link-type acc
[SW3-GigabitEthernet0/0/2]port  def vlan 10
[SW3-GigabitEthernet0/0/2]q
[SW3]int gi 0/0/3
[SW3-GigabitEthernet0/0/3]port link-type access 
[SW3-GigabitEthernet0/0/3]port default vlan 30
[SW3-GigabitEthernet0/0/3]q

3.测试
在LSW1的gi0/0/2端口抓包,设备之前相互ping操作,查看设备是否互通,并且数据帧的内外层VLAN与预先设置的一致。192.168.10.1的外层vlan是100,内层是10;192.168.10.5的外层vlan是300,内层是30,全部符合要求。

在这里插入图片描述
在这里插入图片描述

3.思科

我在eve-ng虚拟机上选择了cisco IOL文件所有L2交换机,但很遗憾抓包看不到外层VLAN,所以模拟qinq失败了。下面有两个不同的命令,一个是CCIE第5版书里面给的命令,一个是思科官网ME3400E给的命令,大家有真机的话可以都试试。

1.CCIE书的命令
Switch(config)# interface gigabiethernet0/1------>选择要配置qinq的端口
Switch(config-if)# switchport mode dot1q-tunnel
Switch(config-if)# switchport access vlan 100------>100就是外层vlan ID
Switch(config-if)# l2protocol-tunnel   stp------->可以选VTP,CDP,STP,LLDP等2层协议

2.ME3400E的命令
Switch(config)# interface gigabiethernet0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport vlan mapping 1-5 dot1q-tunnel 100
Switch(config-if)# switchport vlan mapping default drop
Switch(config-if)# exit

ME3400E的连接地址:https://www.cisco.com/c/en/us/td/docs/switches/metro/me3400e/software/release/12-2_55_se/configuration/guide/ME3400e_scg/swtunnel.html#wp1059451

发布了27 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ldg513783697/article/details/104734770
5.2