20.1.2 Isolate-user-VLAN 工作原理
Isolate-user-VLAN 是利用Hybrid 端口(这是华为和H3C 设备上特有的端口类型)允许对多个VLAN 的报文去除VLAN 标记的特性,通过对MAC 地址表项在各VLAN 的MAC 地址表间进行复制的方法,实现对网络中VLAN 资源的节约。
通过设定端口的Hybrid 属性,可以使所有Secondary VLAN 中包含的端口和交换机的上行端口都属于isolate-user-vlan。同时在上行端口处设定在转发所有Secondary VLAN 的报文时都去掉VLAN 标记。这样对上层交换机来说,从下层设备收到的报文全部是不携带VLAN 标记的,所以不必关心下层的VLAN 配置,可以在本地重新规划VLAN结构,节约了VLAN 资源。
图20-2 所示是Isolate-user-VLAN 的典型应用,Isolate-user-VALN 为VLAN 5,Secondary VLAN 为VLAN 3。下面以该图为例说明isolate-user-VLAN 的报文传输过程。首先对Switch B 作如下配置:
[TR]
[TD][I]498)this.width=498;' onmousewheel = 'javascript:return big(this)' height=282 alt="" src="http://pic.aIhUaU.com/201602/15/085352424.jpg" width=207 border=0>[/TD][/TR]
[TR]
[TD]图20-2 Isolate-user-vlan 应用基本拓扑结构[/TD][/TR]
配置Ethernet2/0/4 端口为Hybrid 端口,默认VLAN ID为3,该端口同时属于VLAN 3 和VLAN 5,对VLAN3 和VLAN 5 的报文采取去标记操作。
配置Ethernet2/0/3 端口为Hybrid 端口,默认VLAN ID为5,该端口同时属于VLAN 3 和VLAN 5,对VLAN3 和VLAN 5 的报文采取去标记操作。
为保证Switch A 下发的报文在Switch B 上能够按下层设备的VLAN 设置进行转发,需要在Switch A 上配置与Switch B 相连的端口为Hybrid 类型,使其在向Switch B 转发报文时进行去标记操作(也就是不打VLAN 标记)。
下面我们来分析一下连接在Switch B 上的PC 用户向Switch A 发送报文的传输过程。
(1)当PC 发出的报文到达Switch B 的Ethernet2/0/4 端口后,因为是不带VLAN 标记的,所以在Ethernet2/0/4 Hybrid 端口会自动打上该端口的默认VLAN ID,即VLAN 3 的VLAN 标记3。
(2)Switch B 从收到的报文中学习到PC 的MAC 地址,并添加到VLAN 3 的MAC 地址转发表中,同时复制该表项到VLAN 5 的MAC 地址转发表中。
(3)由于Switch B 的Ethernet2/0/3 Hybrid 端口也属于VLAN 3,所以原来打上VLAN 3 标记的报文可以从此端口发送,但同时会通过port hybrid vlan untagged 命令的去VLAN 标记配置去掉报文中的VLAN 3 标记(如果不执行此命令,则报文仍是会带有VLAN 3 标记的),这样一来到达Switch A 的报文是不带有VLAN 标记的。
下面是Switch B 上的PC 用户接收来自Switch A 报文的传输过程。
(1)当Switch A 从连接Switch B 的Hybrid 端口发出的报文(也事先经过port hybrid vlanuntagged 命令配置,该报文不携带VLAN 标记)到达Switch B 的端口Ethernet2/0/3 时,因为是不带VLAN 标记的,所以在Ethernet2/0/3 端口上会自动打上其默认VLAN ID,即VLAN 5 的标记。
(2)根据前面PC 向Switch A 发送报文传输过程中复制的VLAN 5 的MAC 地址转发表,系统可以找到该报文的出端口为Switch B 的Ethernet2/0/4。
(3)由于Switch B 的Ethernet2/0/4 又加入了VLAN 5,因此前面打上了VLAN 5 标记的报文可以正常转发VLAN 5 的报文,然后同样通过port hybrid vlan untagged 命令的去标记配置将报文以不带VLAN 标记的方式转发到目的PC。
从以上两个相反方面的报文传输过程可以看出(有关Hybrid 端口报文收发规则请参见16.1.2节),在isolate-user-vlan 中最关键的就是两种操作:一是在一些Hybrid 端口上要通过port hybridvlan untagged 命令配置发送报文时去VLAN 标记操作;二是Secondary VLAN 和isolate-user-vlan之间的MAC 地址复制,具体将在下面两个小节中介绍。这需要在本端设备进行配置同步和MAC 地址同步处理,在上行设备需要进行如下配置:①创建VLAN,VLAN ID 等于Isolate-user-VLAN 的VLAN ID;②配置入端口参数,将端口类型设置为Hybrid,将端口默认VLAN 值设置为Isolate-user-VLAN ID,配置端口允许默认VLAN 的报文以不带VLAN 标记方式通过。