基础:VLAN虚拟网的概念及划分

什么是VLAN?

VLAN(Virtual LAN) , 翻译成中文是“虚拟局域网” 。LAN可以是由少数几台家用计算机构成的网络 , 也可以是数以百计的计算机构成的企业网络 。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域 。

在此让我们先复习一下广播域的概念 。广播域 , 指的是广播帧(目标MAC地址全部为1)所能传递到的范围 , 亦即能够直接通信的范围 。严格地说 , 并不仅仅是广播帧 , 多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻 。

本来 , 二层交换机只能构建单一的广播域 , 不过使用VLAN功能后 , 它能够将网络分割成多个广播域 。

未分割广播域时……

那么 , 为什么需要分割广播域呢?那是因为 , 假如仅有一个广播域 , 有可能会影响到网络整体的传输性能 。具体原因 , 请参看附图加深理解 。

图中 , 是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络 。假设这时 , 计算机A需要与计算机B通信 。在基于以太网的通信中 , 必须在数据帧中指定目标MAC地址才能正常通信 , 因此计算机A必须先广播“ARP请求(ARP Request)信息” , 来尝试获取计算机B的MAC地址 。

交换机1收到广播帧(ARP请求)后 , 会将它转发给除接收端口外的其他所有端口 , 也就是Flooding了 。接着 , 交换机2收到广播帧后也会Flooding 。交换机3、4、5也还会Flooding 。最终ARP请求会被转发到同一网络中的所有客户机上 。

请大家注重一下 , 这个ARP请求原本是为了获得计算机B的MAC地址而发出的 。也就是说:只要计算机B能收到就万事大吉了 。可是事实上 , 数据帧却传遍整个网络 , 导致所有的计算机都收到了它 。如此一来 , 一方面广播信息消耗了网络整体的带宽 , 另一方面 , 收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理 。造成了网络带宽和CPU运算能力的大量无谓消耗 。

广播信息是那么经常发出的吗?

读到这里 , 也许会问:广播信息真是那么频繁出现的吗?

答案是:是的!实际上广播帧会非常频繁地出现 。利用TCP/IP协议栈通信时 , 除了前面出现的ARP外 , 还有可能需要发出DHCP、RIP等很多其他类型的广播信息 。

ARP广播 , 是在需要与其他主机通信时发出的 。当客户机请求DHCP服务器分配IP地址时 , 就必须发出DHCP的广播 。而使用RIP作为路由协议时 , 每隔30秒路由器都会对邻近的其他路由器广播一次路由信息 。RIP以外的其他路由协议使用多播传输路由信息 , 这也会被交换机转发(Flooding) 。除了TCP/IP以外 , NetBEUI、IPX和Apple Talk等协议也经常需要用到广播 。例如在Windows下双击打开“网络计算机”时就会发出广播(多播)信息 。(Windows XP除外……)

总之 , 广播就在我们身边 。下面是一些常见的广播通信:

l ARP请求:建立IP地址和MAC地址的映射关系 。

l RIP:一种路由协议 。

l DHCP:用于自动设定IP地址的协议 。

l NetBEUI:Windows下使用的网络协议 。

l IPX:Novell Netware使用的网络协议 。

l Apple Talk:苹果公司的Macintosh计算机使用的网络协议 。

假如整个网络只有一个广播域 , 那么一旦发出广播信息 , 就会传遍整个网络 , 并且对网络中的主机带来额外的负担 。因此 , 在设计LAN时 , 需要注重如何才能有效地分割广播域 。

广播域的分割与VLAN的必要性

分割广播域时 , 一般都必须使用到路由器 。使用路由器后 , 可以以路由器上的网络接口(LAN Interface)为单位分割广播域 。

但是 , 通常情况下路由器上不会有太多的网络接口 , 其数目多在1~4个左右 。随着宽带连接的普及 , 宽带路由器(或者叫IP共享器)变得较为常见 , 但是需要注重的是 , 它们上面虽然带着多个(一般为4个左右)连接LAN一侧的网络接口 , 但那实际上是路由器内置的交换机 , 并不能分割广播域 。

况且使用路由器分割广播域的话 , 所能分割的个数完全取决于路由器的网络接口个数 , 使得用户无法自由地根据实际需要分割广播域 。

与路由器相比 , 二层交换机一般带有多个网络接口 。因此假如能使用它分割广播域 , 那么无疑运用上的灵活性会大大提高 。

用于在二层交换机上分割广播域的技术 , 就是VLAN 。通过利用VLAN , 我们可以自由设计广播域的构成 , 提高网络设计的自由度 。

其实VLAN即虚拟局域网(Virtual Local Area Network的缩写) , 是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的新兴技术 。VLAN是为解决以太网的广播问题和安全性而提出的 , 它在以太网帧的基础上增加了VLAN头 , 用VLAN ID把用户划分为更小的工作组 , 限制不同工作组间的用户二层互访 , 每个工作组就是一个虚拟局域网 。虚拟局域网的好处是可以限制广播范围 , 并能够形成虚拟工作组 , 动态治理网络 。

VLAN技术答应网络治理者将一个物理的LAN逻辑地划分成不同的广播域即VLAN , 每一个VLAN都包含一组有着相同需求的计算机工作站 , 与物理上形成的LAN有着相同的属性 。但由于它是逻辑地而不是物理地划分 , 所以同一个VLAN内的各个工作站无须被放置在同一个物理空间里 , 即这些工作站不一定属于同一个物理LAN网段 。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中 , 即使是两台计算机有着同样的网段 , 但是它们却没有相同的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组播划分VLAN

IP 组播实际上也是一种VLAN的定义 , 即认为一个组播组就是一个VLAN , 这种划分的方法将VLAN扩大到了广域网 , 因此这种方法具有更大的灵活性 , 而且也很轻易通过路由器进行扩展 , 当然这种方法不适合局域网 , 主要是效率不高 。