VLAN简析

来源:互联网 发布:打车软件除了滴滴 编辑:程序博客网 时间:2024/06/14 05:57

VLAN是什么

    VLAN  Virtual Local Area Network  中文名为虚拟局域网。

    虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。

    VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。

为什么需要VLAN

     简单的讲广播域即网络中能接收任一设备发出的广播帧的所有设备的集合。简单介绍一下广播帧。广播帧可以理解为一个领导在台上对所以员工说话,好处很明显,领导他的重要思想他没必要也没时间去给员工一个一个的传达。这样效率自然上去。广播帧,是MAC地址为“FF.FF.FF.FF.FF(也即MAC地址全为1)的以太网帧

看下面图示:

    现在,PCA要与PCB通信。我们知道在以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播ARP请求信息来获取计算机B的MAC地址。Switch 11收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口。接着,Switch 22收到广播帧后做同样的动作。最终ARP请求会被转发到同一网络中的所有客户机上,只有PCB会返回它的MAC地址。

    那么问题就是这个ARP请求原本是为了获得PCB的MAC地址而发出的。但是ARP数据帧消耗了网络整体的带宽来传遍了整个网络,导致所有的计算机都收到了它并消耗了一部分CPU资源来处理它,显然这不是我们想要的!我们要知道实际上广播帧会非常频繁地出现。利用TCP/IP协议栈通信时,除了前面出现的ARP外,还有可能需要发出DHCP、RIP等很多其他类型的广播信息。

    在计算机网络中一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。

在路由器的层次上阐述VLAN的目的    

    VLAN本质就是指一个网段,之所以叫做虚拟的局域网,是因为它是在虚拟的路由器的接口下创建的网段。下面,给予说明。比如一个路由器只有一个用于终端连接的端口(当然这种情况基本不可能发生,只不过简化举例),这个端口被分配了192.168.1.1/24的地址。然而由于公司有两个部门,一个销售部,一个企划部,每个部门要求单独成为一个子网,有单独的服务器。那么当然可以划分为192.168.1.0--127/25、192.168.1.128--255/25。但是路由器的物理端口只应该可以分配一个IP地址,那怎样来区分不同网段了?这就可以在这个物理端口下,创建两个子接口---逻辑接口实现。

    比如逻辑接口F0/0.1就分配IP地址192.168.1.1/25,用于销售部,而F0/0.2就分配IP地址192.168.1.129/25,用于企划部。这样就等于用一个物理端口却实现了两个逻辑接口的功能,这样就将原本只能划分一个网段的情形,扩展到了可以划分2个或者更多个网段的情形。这些网段因为是在逻辑接口下创建的,所以称之为虚拟局域网VLAN。

在交换机的层次上阐述VLAN的目的。

    在现实中,由于很多原因必须划分出不同网段。比如就简单的只有销售部和企划部两个网段。那么可以简单的将销售部全部接入一个交换机,然后接入路由器的一个端口,把企划部全部接入一个交换机,然后接入一个路由器端口。这种情况是LAN。然而正如上面所说,如果路由器就一个用于终端的接口,那么这两个交换机就必须接入这同一个路由器的接口,这个时候,如果还想保持原来的网段的划分,那么就必须使用路由器的子接口,创建VLAN.

    同样,比如两个交换机,如果你想要每个交换机上的端口都分别属于不同的网段,那么你有几个网段,就提供几个路由器的接口,这个时候,虽然在路由器的物理接口上可以定义这个接口可以连接哪个网段,但是在交换机的层次上,它并不能区分哪个端口属于哪个网段,那么唯一实现能区分的方法,就是划分VLAN,使用了VLAN就能区分出某个交换机端口的终端是属于哪个网段的。

综上,当一个交换机上的所有端口中有至少一个端口属于不同网段的时候,当路由器的一个物理端口要连接2个或者以上的网段的时候,就是VLAN发挥作用的时候,这就是VLAN的目的。

 

实现VLAN的机制及详细的原理

 

详见:http://blog.csdn.net/phunxm/article/details/9498829

 

两台计算机即使连接在同一台交换机上只要所属的VLAN不同就无法直接通信

为什么不同VLAN间不通过路由就无法通信。

     在LAN内的通信,必须在数据帧头中指定通信目标的MAC地址。而为了获取MAC地址,TCP/IP协议下使用的是ARPARP解析MAC地址的方法,则是通过广播。也就是说,如果广播报文无法到达,那么就无从解析MAC地址,亦即无法直接通信。

     计算机分属不同的VLAN,也就意味着分属不同的广播域,自然收不到彼此的广播报文。因此,属于不同VLAN的计算机之间无法直接互相通信。

为了能够在VLAN间通信,需要利用OSI参照模型中更高一层——网络层的信息(IP地址)来进行路由。

    两种方法:1,使用路由器进行VLAN间路由,2,使用三层交换机进行VLAN间路由


一个实例

三个虚拟局域网 VLAN1, VLAN2和 VLAN3 的构成 


 

1,当 B1 向 VLAN2 工作组内成员发送数据时,工作站 B2 和 B3 将会收到广播的信息。

2,B1 发送数据时,工作站 A1, A2 和 C1都不会收到 B1 发出的广播信息。

 

0 0
原创粉丝点击