说明:此系列专题摘自T病毒的博客,特此说明。如有侵权请Mail联系,本人立即删除。
什么是
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
,我们可以自由设计广播域的构成,提高网络设计的自由度
。