为了把帧从一个VLAN传递到另一个,必须用一个3层设备进行路由。这个设备可以是一个传统的路由器,或者是一个3层交换机。从发送者到接收者,路由器每增加一跳都会增加帧的延迟时间,这有可能造成一个性能瓶颈。
设计VLAN网络的目的应该是把某个设备所需要的所有资源放到与该设备相同的VLAN。使用VLAN允许在保证物理层上的硬件集中的同时、保证服务器逻辑上更靠近用户。这允许客户设备直接通过交换网络接入资源,而不需要通过路由器。在这种方式下,一个单独的VLAN可以出现在一个校园网的多个交换机上,计算机室的一个服务器可以和相隔几个建筑物远的客户服务器是同一个VLAN。一个通常的设计是把所有服务器放在同一个VLAN。不幸的是,这要求所有的客户至少要经过一个路由器才能接入这些服务器。在把IP 地址管理变的更容易的同时,引入了额外的延迟和潜在的性能瓶颈。
保持最小的VLAN数目
有一个创建过多的不需要的VLAN的倾向。当交换机本身可以支持上千个VLAN的时候,每增加一个VLAN就会给路由器和网络其他设备带来额外的开销。
这方面的一个例子是有一个42层大楼的网络。除了用于管理的VLAN和服务器中心的VLAN,每层都有一个自己的VLAN。该网络运行IP和IPX 协议。总共有超过2000 台IPX 设备在整个本地网络,包括打印机、存储器、时钟服务器。
每60秒,路由器会对每个VLAN发出服务广告协议(SAP)包。每个包包含7种服务。这导致每60 秒,每个广播域内发出286 个SAP 包。由于总共有46 个VLAN,路由器每分钟不得不发出超过13,000 个SAP 包。人们发现当路由器每分钟发出的帧超过2000 的时候,已经会给CPU 带来问题。当交换机可以支持46 个VLAN的时候,我们发现路由器支持不了这么多VLAN。
VLAN类型
把一个设备分配到一个VLAN有3钟通常的方法:
1)基于端口的VLAN
2)基于协议的VLAN
3)基于MAC的VLAN
基于端口的VLAN
基于端口的VLAN,一个交换机端口可以手工地配置到某个指定的VLAN。任何连接到这个端口的设备就和该VLAN中的所有其他的交换端口处于同一个广播域。
基于端口的VLAN的挑战是每个VLAN中有哪些端口的文档备案。VLAN的成员信息并没有显示在交换机端口的外面。确定VLAN 成员不能够仅仅通过查看交换机物理端口。只有通过查看配置信息采可以确定成员。
基于协议的VLAN
基于协议的VLAN,是通过区分承载数据所用的3层协议来确定VLAN的成员。然而这需要工作在一个多类型协议的环境下,在一个主要以IP为基础网络,这种方法不是特别实用。
基于MAC的VLAN
基于端口的VLAN的一个问题是,当一个设备从交换机某个端口移走后,该交换机端口又接入了一个新的设备,新设备会进入原来的那个VLAN。在前面打印机VLAN的例子里,如果一台打印机从该端口移走了,该端口又接入了一台财务服务器。财务服务器就和打印机服务器进入同一个VLAN了。这将会限制对财务服务器的接入,不得不重新分配网络资源。
基于MAC的VLAN可以解决上面的这个问题,VLAN的成员是基于设备的MAC 地址,而不是交换机的物理端口。如果一个设备从交换机的一个端口移到另外一个,该设备属于哪一个VLAN,还是由设备来决定的。不幸的是,用MAC 地址来确定VLAN 耗费时间,而且现在使用的很少。
VLAN标签
VLAN标签用来指示VLAN的成员,它封装在能够穿越局域网的帧里。这些标签在数据包进入VLAN的某一个交换机端口的时候被加上,在从VLAN 的另一个端口出去的时候被去除。根据VLAN 的端口类型会决定是给帧加入还是去除标签。VLAN 中的两类接口类型是指接入端口和骨干端口。
接入端口
接入端口用在帧接入或者离开VLAN时。当接入端口收到一个帧的时候,帧并没有包含一个VLAN标签。一旦帧进入接入端口,会给帧加入VLAN标签。
当帧在交换机里面的时候,附着进入接入端口时被附上的VLAN标签。当帧通过目的接入端口离开交换机的时候,VLAN标签就被去除了。传输设备和接收设备并不知道收到的帧曾经被加过VLAN标签。
骨干端口
网络中包含多于一个交换机的时候,必须把VLAN标签的帧从一个交换机传到另一个交换机。骨干端口和接入端口的区别是骨干端口在传出帧之前,不会去除VLAN的标签。保留了VLAN标签,接收交换机就能知道传输帧属于哪一个VLAN。帧就可以传送到接收交换机的合适端口。
VLAN标签技术
每一个VLAN标记帧包含指明自身所属VLAN的字段。有两种种主要的VLAN标签格式,思科公司的Inter-Swith Link(ISL)格式和标准的802.1Q 格式。
思科ISL
Inter-SwithLink(ISL)格式是思科私有VLAN标签格式。在使用的时候,VLAN标签在每个帧的头部增加26 字节信息,在帧尾部附加4 字节CRC。标签的格式如下:
基于802.1Q标准的标签
ISL是思科公司的私有格式,而802.1Q是IEEE的标准格式。802.1Q 标准允许VLAN 标记帧可以在不同厂家的交换机之间传递。802.1Q 标签比ISL 标签包含更少的域,是插入帧而不是放入帧头。