VLAN Mapping原理介绍
VLAN技术的应用能有效的控制广播域范围、隔离用户。但是由于一些低端交换机不支持VLAN ID为1~4094整个范围,而是类似1~512的有限范围,一些VLAN ID被保留,用户自行规划VLAN ID导致与公网VLAN ID冲突。因此VLAN Mapping技术应运而生。
VLAN Mapping,也叫做VLAN Translation或VLAN映射,它通过替换数据帧中的内外层VLAN Tag来实现用户VLAN与运营商VLAN的相互映射,使用户业务按照运营商的网络规划进行传输。
VLAN Mapping发生在报文从入接口接收进来之后,从出接口转发出去之前。在交换机的内部会维护一张VLAN映射表,根据映射表进行映射操作。
交换机收到数据报文后,根据是否带有Tag做以下两种处理:
数据报文带Tag,根据配置的VLAN Mapping方式,决定替换单层、双层或双层中的外层Tag;然后进入MAC地址学习阶段,根据源MAC地址+映射后的VLAN ID刷新MAC地址表项;根据目的MAC+映射后VLAN ID查找MAC地址表项,如果没有找到,则在VLAN ID对应的VLAN内广播,否则从表项对应的接口转发。
数据报文不带Tag,根据配置的VLAN划分方式决定是否添加VLAN Tag,对于不能加入VLAN的数据报文上送CPU或丢弃,否则添加Tag;然后进入MAC地址学习阶段,按照二层转发流程进行转发。
此外,要想借助VLAN Mapping实现两个VLAN内设备互相通信,这两个VLAN内设备的IP地址还必须处于同一网段。如果两个VLAN内设备的IP地址不在同一网段,那么设备间的互通需要依赖三层路由实现,这样就失去了VLAN Mapping的意义。
映射方式
1)1 to 1的映射方式
当部署VLAN Mapping功能设备上的主接口收到带有单层VLAN Tag的报文时,将报文中携带的单层VLAN Tag映射为公网的VLAN Tag。2)N to 1的映射方式将多个用户侧VLAN Tag标签映射到一个网络侧VLAN Tag标签。
3)·2 to 1的映射方式
·当部署VLAN Mapping功能设备上的主接口收到带有双层VLAN Tag的报文时,将报文中携带的外层Tag映射为公网的Tag,内层Tag作为数据透传。
4)· 2 to 2的映射方式
·当部署VLAN Mapping功能设备上的主接口收到带有双层VLAN Tag的报文时,将报文中携带的双层VLAN Tag映射为公网的双层VLAN Tag。
VLAN映射实验
实验拓扑:
1 to 1的映射方式
实验背景:
不同的小区拥有相同的业务,各个小区将不同的业务划分到不同的VLAN中,相同的业务划分到同一个VLAN中。由于各小区网络管理员事先没有协商好,存在不同的小区中相同的业务所属的VLAN不相同,要实现相同业务、不同VLAN间的用户相互通信。如小区A和小区B中拥有相同的业务,但是属于不同的VLAN(即VLAN 10和VLAN 20,但这两个VLAN中的用户计算机同处一个IP网段中)。要实现通过VLAN映射功能实现小区A和小区B的用户可以直接互通。
实验思路:
在交换机sw1上创建相应的VLAN,把接口GE0/0/1改为Trunk端口并允许VLAN 20的流量通过,启用VLAN标签的转化,把VLAN 10的转换为VLAN 20,然后把GE0/0/2接口改为Trunk并允许VLAN 20的流量通过,交换机sw2同理。
实验步骤:
1.配置2台PC的IP地址,子网掩码。
2.在交换机sw1上创建VLAN 10与VLAN 20,将接口GE0/0/1改为Trunk端口,并允许VLAN 20的流量通过,启用vlan标签的转换,将vlan标签10转换成20,转换后才往上发送信息。
system-view sysname sw1 vlan batch 10 20 interface GigabitEthernet 0/0/1 port link-type trunk port trunk allow-pass vlan 20 qinq vlan-translation enable port vlan-mapping vlan 10 map-vlan 20 quit
3.将交换机sw1的GE0/0/2接口改为Trunk端口,并允许VLAN 20的流量通过。
interface GigabitEthernet 0/0/2 port link-type trunk port trunk allow-pass vlan 20 quit
4.在交换机sw2上创建VLAN 10与VLAN 20,将接口GE0/0/2改为Trunk端口,并允许VLAN 10的流量通过,启用vlan标签的转换,将vlan标签20转换成10,转换后才往上发送信息。
system-view sysname sw2 vlan batch 10 20 interface GigabitEthernet 0/0/2 port link-type trunk port trunk allow-pass vlan 10 qinq vlan-translation enable port vlan-mapping vlan 20 map-vlan 10 quit
5.将交换机sw2的GE0/0/1接口改为Trunk端口,并允许VLAN 10的流量通过。
1. interface GigabitEthernet 0/0/1 2. 3. port link-type trunk 4. 5. port trunk allow-pass vlan 10 6. 7. quit
实验结果:
实验拓扑:
n to 1的映射方式
实验步骤:
1.配置2台PC的IP地址,子网掩码。
2.在交换机sw1上创建VLAN 10、20、30,将接口GE0/0/1加入vlan 10,将接口GE0/0/2加入vlan 20,
将接口GE0/0/3加入vlan 30,将接口GE0/0/24设置为trunk,并放行vlan 10 、20、30
system-view sysname sw1 vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 interface GigabitEthernet0/0/3 port link-type access port default vlan 30 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30
3.将交换机sw2的GE0/0/2接口加入vlan40,将接口GE0/0/24设置为Hybird,并允许带有标签 的VLANID 为10,20,30,40 的数据帧通过,使用VLAN MAPPING的接口的数据帧必须 是得带标签的
1. system-view 2. 3. sysname sw2 4. 5. vlan batch 10 20 30 40 interface GigabitEthernet0/0/1port link-type accessport default vlan 40 interface GigabitEthernet0/0/24qinq vlan-translation enableport hybrid tagged vlan 10 20 30 40port vlan-mapping vlan 10 map-vlan 40port vlan-mapping vlan 20 map-vlan 40port vlan-mapping vlan 30 map-vlan 40
实验结果:
1)
PC1->PC4ping 通
PC2->PC4ping 通
PC3->PC4ping 通
2)
PC4->PC1ping 通PC4->PC2ping 通
PC4->PC3ping 通
3)
PC1->PC2ping 不通
PC1->PC3ping 不通
PC2->PC3ping 不通
说明:
1)PC1,PC2,PC3的数据帧交换主要是在SW1中,因为的他们的VLAN ID不同,划分了广播域,虽然地址段都是192.168.1.0 /24,但是不能够互相ping通;
2)PC1/PC2/PC3与PC4能够ping通,是因为在SW2进行数据帧交换的时候,进行了VLAN MAPPING的处理,使用N对1的方式把VLAN ID 10,20,30全部映射为VLAN ID 40,处于同一个广播域,所以能够相互ping通。