VLAN的划分有四种方式:
1.根据端口来划分VLAN许多VLAN厂商都利用交换机的端口来划分VLAN成员。被设定的端口都在同一个广播域中。例如,一个交换机的1,2,3,4,5端口被定义为虚拟网AAA,同一交换机的6,7,8端口组成虚拟网BBB。这样做允许各端口之间的通讯,并允许共享型的升级。但是,这种划分模式将虚拟网限制在了一台交换机上。
第二代端口VLAN允许跨越多个交换机的多个不同端口划分VLAN,不同交换机上的若干个端口可以组成同一个虚拟网。
以交换机端口来划分成员,其配置过程简单明了。因此,从目前来看,这种根据端口来划分VLAN的方式仍然是最常用的一种方式。
2.根据MAC地址划分VLAN这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置它属于哪个组。这种划分VLAN方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停地配置。
3.根据层划分VLAN这种划分VLAN的方法是根据每个主机的层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法是根据地址,比如IP地址,但它不是路由,与层的路由毫无关系。
其优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少的通信量。其缺点是效率低,因为检查每一个包的层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以检查上包的以太网帧头,但要让芯片能检查IP帧头,需要更高的,同时也更费时。当然,这与各个厂商的实现方法有关。
4.根据IP组播划分VLANIP组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高。
VLAN的标准对VLAN的标准,我们只是介绍两种比较通用的标准,当然也有一些公司具有自己的标准,比如Cisco公司的ISL标准,虽然不是一种大众化的标准,但是由于CiscoCatalyst交换机的大量使用,ISL也成为一种不是标准的标准了。
802.10VLAN标准在1995年,Cisco公司提倡使用IEEE802.10协议。在此之前,IEEE802.10曾经在全球范围内作为VLAN安全性的同一规范。Cisco公司试图采用优化后的802.10帧格式在上传输FramTagging模式中所必须的VLAN标签。然而,大多数802委员会的成员都反对推广802.10。因为,该协议是基于FrameTagging方式的。
802.1Q在1996年3月,IEEE802.1Internetworking委员会结束了对VLAN初期标准的修订工作。新出台的标准进一步完善了VLAN的体系结构,统一了Fram-eTagging方式中不同厂商的标签格式,并制定了VLAN标准在未来一段时间内的发展方向,形成的802.1Q的标准在业界获得了广泛的推广。它成为VLAN史上的一块里程碑。802.1Q的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。另外,来自市场的压力使各大厂商立刻将新标准融合到他们各自的产品中。
下面给出一个VLAN的实例,进行说明:
某IT公司现有行政部、部、市场部。VLAN的划分:行政部VLAN10,部VLAN20,市场部VLAN30,各部门之间还可以相互通讯。
现有设备为:Cisco3640路由器,CiscoCatalyst2924交换机一台,二级交换机若干台。
交换机配置文件中的部分代码如下:
......
!
interfacevlan10
ipaddress192.168.0.1
!
interfacevlan20
ipaddress192.168.1.1
!
interfacevlan30
ipaddress192.168.2.1
!
......
路由器配置文件中的部分代码如下:
......
interfaceFastEthernet1/0.1
encapsulationisl10
ipaddress192.168.0.2
!
interfaceFastEthernet1/0.2
encapsulationisl20
ipaddress192.168.1.2
!
interfaceFastEthernet1/0.3
encapsulationisl30
ipaddress192.168.2.2
!
......
!
routerrip
network192.168.0.0