实验需求
PC5和PC6两个PC属于vlan10,网段为192.168.1.0/24 PC7和PC8属于vlan20,网段为192.168.2.0/24 PE使用qinq对内网vlan进行封装,外层vlan为100和200进行通信,分别使用基本qioq和扩展qion进行配置实验配置
1、配置基本qioq
CE1 [CE1]vlan 10 [CE1-vlan10]port GigabitEthernet 1/0/1 [CE1-vlan10]quit [CE1]vlan 20 [CE1-vlan20]port GigabitEthernet 1/0/3 [CE1]interface GigabitEthernet 1/0/2 [CE1-GigabitEthernet1/0/2]port link-type trunk [CE1-GigabitEthernet1/0/2]port trunk permit vlan all PE1 [PE1]interface GigabitEthernet 1/0/1 [PE1-GigabitEthernet1/0/1]port link-type trunk [PE1-GigabitEthernet1/0/1]port trunk permit vlan all [PE1-GigabitEthernet1/0/1]port trunk pvid vlan 100 [PE1-GigabitEthernet1/0/1]qinq enable [PE1-GigabitEthernet1/0/1]quit [PE1]interface GigabitEthernet 1/0/2 [PE1-GigabitEthernet1/0/2]port link-type trunk [PE1-GigabitEthernet1/0/2]port trunk permit vlan 100 PE2 [PE2]vlan 100 [PE2-vlan100]quit [PE2]interface GigabitEthernet 1/0/1 [PE2-GigabitEthernet1/0/1]port link-type trunk [PE2-GigabitEthernet1/0/1]port trunk permit vlan 100 [PE2-GigabitEthernet1/0/1]quit [PE2]interface GigabitEthernet 1/0/2 [PE2-GigabitEthernet1/0/2]port link-type trunk [PE2-GigabitEthernet1/0/2]port trunk permit vlan all [PE2-GigabitEthernet1/0/2]port trunk pvid vlan 100 [PE2-GigabitEthernet1/0/2]qinq enable CE2 [CE2]vlan 10 [CE2-vlan10]port GigabitEthernet 1/0/2 [CE2-vlan10]quit [CE2]vlan 20 [CE2-vlan20]port GigabitEthernet 1/0/3 [CE2]interface GigabitEthernet 1/0/1 [CE2-GigabitEthernet1/0/1]port link-type trunk [CE2-GigabitEthernet1/0/1]port trunk permit vlan all PC5的ip地址为192.168.1.10,PC6的ip地址为192.168.1.20 测试是否通信 |
2、灵活QINQ
灵活qinq和基本qinq区别在基本qioq只能封装一个外层tag,按照使用来说的话我们封装的是tag100,当tag200到PE1的时候无法进行向下发送流量,灵活qinq可以配置多个外层tag进行流量发送。
首先将PE的下行接口配置清空
PE1 [PE1]interface GigabitEthernet 1/0/1 [PE1-GigabitEthernet1/0/1]default This command will restore the default settings. Continue? [Y/N]:y [PE1-GigabitEthernet1/0/1]display this # interface GigabitEthernet1/0/1 port link-mode bridge combo enable fiber # return [PE1-GigabitEthernet1/0/1] PE2 [PE2]interface GigabitEthernet 1/0/2 [PE2-GigabitEthernet1/0/2]default This command will restore the default settings. Continue? [Y/N]:y [PE2-GigabitEthernet1/0/2]display this # interface GigabitEthernet1/0/2 port link-mode bridge combo enable fiber # return 在公网范围设备上创建vlan100和vlan200,现在需要将vlan10外层封装vlan100,vlan20外层封装vlan200的标记 这个时候考虑接受不同vlan的流量使用混杂端口hybrid PE2 [PE2]vlan 100 [PE2]vlan 200 [PE2]interface GigabitEthernet 1/0/2 [PE2-GigabitEthernet1/0/2]port link-type hybrid [PE2-GigabitEthernet1/0/2]port hybrid vlan 100 200 untagged 然后使用vlan-mapping指定封装的类型 [PE2-GigabitEthernet1/0/2]vlan mapping ? INTEGER<1-4094> VLAN ID double-tagged Specify original VLANs in 2:3 VLAN mapping nest Specify original VLANs in 1:2 VLAN mapping nni Specify network interface in N:1 VLAN mapping tunnel Specify original VLANs in 2:2 VLAN mapping uni Specify original VLANs in N:1 VLAN mapping untagged Add double VLAN tags to untagged packets 以上几个的封装模式为 INTEGER<1-4094>:仅修改单层 VLAN 标签的 ID(1:1 映射),标签层数不变,只是替换 VLAN 编号。 double-tagged:基于原始双层 Tag,新增一层外层 Tag(2:3 映射),最终封装三层 VLAN 标签。 nest:给单层 Tag 报文加一层外层 Tag(1:2 映射),封装成双层 VLAN 标签(QinQ)。 nni:N:1 映射中,将用户侧多个单层 Tag 统一封装成网络侧一个单层 Tag,标签层数不变。 tunnel:替换双层 Tag 的内外层 ID(2:2 映射),标签层数不变,仅修改两层 VLAN 编号。 uni:N:1 映射中,将用户侧多个单层 Tag 汇聚封装成同一个网络侧 Tag,标签层数不变。 untagged:给无 Tag 报文直接封装两层 VLAN Tag,最终形成双层标签(0:2 映射)。 根据当前实验环境我们选择nest基于一层tag再次封装一层tag [PE2-GigabitEthernet1/0/2]vlan mapping nest range 2 to 10 nested-vlan 100 //在 PE2 设备的 1/0/2 端口上,对进入该端口、携带 VLAN 2~10 单层标签的报文,添加一层外层 VLAN 100 的标签,最终报文会变成 “内层 VLAN(2~10)+ 外层 VLAN 100” 的双层 Tag 结构(QinQ) [PE2-GigabitEthernet1/0/2]vlan mapping nest range 11 to 20 nested-vlan 200 [PE2-GigabitEthernet1/0/2]qinq enable 或者还有一种方式为指定单独的vlan进行封装 [PE2-GigabitEthernet1/0/2]vlan mapping nest single 10 nested-vlan 100 //在 PE2 设备的 1/0/2 端口上,仅对进入该端口、携带单一 VLAN 10 单层标签的报文,添加一层外层 VLAN 100 的标签,最终报文会形成 “内层 VLAN 10 + 外层 VLAN 100” 的双层 Tag 结构 [PE2-GigabitEthernet1/0/2]vlan mapping nest single 20 nested-vlan 200 [PE2-GigabitEthernet1/0/2]qinq enable 以上两种形式均可 这里选择的是rang范围封装 PE1 [PE1]vlan 100 [PE1]vlan 200 [PE1]interface GigabitEthernet 1/0/1 [PE1-GigabitEthernet1/0/1]port link-type hybrid [PE1-GigabitEthernet1/0/1]port hybrid vlan 100 200 untagged [PE1-GigabitEthernet1/0/1]vlan mapping nest range 2 to 10 nested-vlan 100 [PE1-GigabitEthernet1/0/1]vlan mapping nest range 11 to 20 nested-vlan 200 [PE1-GigabitEthernet1/0/1]qinq enable 然后再PE1和PE2的公网接口放通vlan100和vlan200 [PE2]interface GigabitEthernet 1/0/1 [PE2-GigabitEthernet1/0/1]port trunk permit vlan 100 200 [PE1]interface GigabitEthernet 1/0/2 [PE1-GigabitEthernet1/0/2]port trunk permit vlan 100 200 测试通信效果 可以看到内层的vlantag是10外层是100 |