基础: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)为单位分割广播域 。

推荐阅读