中国网管论坛's Archiver

yi-feng 发表于 2007-10-28 10:21

为什么需要VLAN

[size=5][color=#000000][b]为什么需要VLAN[/b] [/color][/size]
[color=#ff0000]什么是VLAN? [/color]
VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。[color=#0000ff]VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。[/color]
在此让我们先复习一下广播域的概念。[color=#0000ff]广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围[/color]。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。
本来,二层交换机只能构建单一的广播域,不过使用VLAN功能后,它能够将网络分割成多个广播域。

[size=4][color=#ff0000] 未分割广播域时……[/color][/size]
那么,为什么需要分割广播域呢?那是因为,[color=#0000ff]如果仅有一个广播域,有可能会影响到网络整体的传输性能[/color]。具体原因,请参看附图加深理解。
[img=512,449]http://www.one-tom.com/bbs/uploads/20071025_210336_vlan.JPG[/img]
图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“[color=#0000ff]ARP请求(ARP Request)信息[/color]”,[color=#0000ff]来尝试获取计算机B的MAC地址。[/color]
交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是Flooding了。接着,交换机2收到广播帧后也会Flooding。交换机3、4、5也还会Flooding。[color=#ff0000]最终ARP请求会被转发到同一网络中的所有客户机上[/color]。

[img=512,431]http://www.one-tom.com/bbs/uploads/20071025_211853_22.JPG[/img]

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

[size=3][color=#ff0000]广播信息是那么经常发出的吗?[/color][/size]
读到这里,您也许会问:广播信息真是那么频繁出现的吗?
答案是:是的![color=#0000ff]实际上广播帧会非常频繁地出现[/color]。利用TCP/IP协议栈通信时,除了前面出现的ARP外,还有可能需要发出DHCP、RIP等很多其他类型的广播信息。
ARP广播,是在需要与其他主机通信时发出的。当客户机请求DHCP服务器分配IP地址时
,就必须发出DHCP的广播。而使用RIP作为路由协议时,每隔30秒路由器都会对邻近的其他路由器广播一次路由信息。RIP以外的其他路由协议使用多播传输路由信息,这也会被交换机转发(Flooding)。除了TCP/IP以外,NetBEUI、IPX和Apple Talk等协议也经常需要用到广播。例如在Windows下双击打开“网络计算机”时就会发出广播(多播)信息。(Windows XP除外……)
总之,广播就在我们身边。下面是一些常见的广播通信:

    ARP请求:建立IP地址和MAC地址的映射关系。
    RIP:一种路由协议。
   DHCP:用于自动设定IP地址的协议。
   NetBEUI:Windows下使用的网络协议。
   IPX:Novell Netware使用的网络协议。
   Apple Talk:苹果公司的Macintosh计算机使用的网络协议。

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

广播域的分割与VLAN的必要性
[color=#0000ff]分割广播域时,一般都必须使用到路由器[/color]。使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域。
但是,通常情况下路由器上不会有太多的网络接口,其数目多在1~4个左右。随着宽带连接的普及,宽带路由器(或者叫IP共享器)变得较为常见,但是需要注意的是,它们上面虽然带着多个(一般为4个左右)连接LAN一侧的网络接口,但那实际上是路由器内置的交换机,并不能分割广播域。
况且使用路由器分割广播域的话,所能分割的个数完全取决于路由器的网络接口个数,使得用户无法自由地根据实际需要分割广播域。
与路由器相比,[color=#0000ff]二层交换机一般带有多个网络接口[/color]。因此如果能使用它分割广播域,那么无疑运用上的灵活性会大大提高。
用于在二层交换机上分割广播域的技术,就是VLAN。[color=#0000ff]通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度。[/color]
[color=#ff0000][/color]
[b][size=5][color=#000000]实现VLAN的机制[/color][/size][/b]



在理解了“为什么需要VLAN”之后,接下来让我们来了解一下交换机是如何使用VLAN分割广播域的。
首先,在一台未设置任何VLAN的二层交换机上,[color=#0000ff]任何广播帧都会被转发给除接收端口外的所有其他端口(Flooding)。[/color]例如,计算机A发送广播信息后,会被转发给端口2、3、4。

[img=536,284]http://www.one-tom.com/bbs/uploads/20071026_095153_11.JPG[/img]

这时,如果在交换机上生成红、蓝两个VLAN;同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口——也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口。
同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口。

[img=506,303]http://www.one-tom.com/bbs/uploads/20071026_095437_22.JPG[/img]

就这样,[color=#0000ff]VLAN通过限制广播帧转发的范围分割了广播域[/color]。上图中为了便于说明,以红、蓝两色识别不同的VLAN,在实际使用中则是用“VLAN ID”来区分的。

[color=#ff0000]直观地描述VLAN[/color]

如果要更为直观地描述VLAN的话,[color=#0000ff]我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机[/color]。在一台交换机上生成红、蓝两个VLAN,也可以看作是将一台交换机换做一红一蓝两台虚拟的交换机。


[img=465,522]http://www.one-tom.com/bbs/uploads/20071026_095811_33.JPG[/img]

在红、蓝两个VLAN之外生成新的VLAN时,可以想象成又添加了新的交换机。
但是,VLAN生成的逻辑上的交换机是互不相通的。因此,[color=#0000ff]在交换机上设置VLAN后,如果未做其他处理,VLAN间是无法通信的。[/color]
明明接在同一台交换机上,但却偏偏无法通信——这个事实也许让人难以接受。但它既是VLAN方便易用的特征,又是使VLAN令人难以理解的原因。

[color=#ff0000]需要VLAN间通信时怎么办[/color]

那么,当我们需要在不同的VLAN间通信时又该如何是好呢?

请大家再次回忆一下:VLAN是广播域。而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。因此,[color=#0000ff]VLAN间的通信也需要路由器提供中继服务,这被称作“VLAN间路由”。[/color]
VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。希望大家先记住不同VLAN间互相通信时需要用到路由功能。

互相学习,QQ:401466262

licxiong 发表于 2007-10-29 20:32

顶一下,

fkeihcdd 发表于 2007-10-30 19:25

dddddddddddddddddddddddddddddddddd

梦幻阳光 发表于 2007-10-31 08:31

写的很详细,划分vlan就是分割广播域,但不能分割冲突域。

sun_qi 发表于 2007-10-31 21:27

知道了~~
但是也顶下

cisco419 发表于 2007-11-5 11:32

学习学习
谢谢

飘渺水云间 发表于 2007-11-5 19:04

子网与广播域的区别

怎么理解

hudieck 发表于 2007-11-5 20:17

:loveliness: 真不好意思  看了半天还是云里雾里!

yonaling 发表于 2008-1-17 22:21

学习一下:loveliness:

gaomin20082008 发表于 2008-1-19 08:18

还行,不知道是不是原创,好像哪里见过????

z7818286 发表于 2008-2-10 19:47

学习吧~~

佳穆 发表于 2008-2-12 16:40

学习一下!谢谢!

DreamNet 发表于 2008-2-13 14:48

学习中,谢谢了!

xingbin2004 发表于 2008-2-27 07:43

thanks~~

pololook 发表于 2008-3-4 10:15

实在是太好了谢谢

eiee 发表于 2008-3-19 23:15

呵呵,看过这个教程来的~~不过不知道是不是楼主写的

bbllzzww 发表于 2008-3-22 21:07

顶一下!

liuxq851 发表于 2008-3-25 11:06

回复 楼主 的帖子

顶,太感谢了,分析的很透彻.

wj516608 发表于 2008-3-29 09:35

学习

不理解。

xingbin2004 发表于 2008-3-30 23:15

顶一下~~~~

页: [1] 2

Powered by Discuz! Archiver 6.1.0  © 1999-2008 bbs.bitsCN.com