1. 什么是VLAN?
VLAN(Virtual LAN),中文是“虚拟局域网”。虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。
在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。(注:关于vlan的解释来自百度词条“虚拟局域网”)
2、为什么需要vlan
假设这样一种情况:某个公司有两个以上的办公区域,,每个部门在一个区域,整个公司是一个局域网。如果采用二层交换机和一个路由器实现内网组建和与外网的连结,那么在内部通信时,源主机会发送广播帧,每台机器都会接收,一旦通信稍微繁忙,这样势必会影响可用带宽,造成网络不畅,甚至造成广播风暴。
我们知道,路由器可以抑制广播风暴,因为广播帧只存在同一网段内,路由器不会把广播包发送到其他网络。那么是不是可以把这个公司的局域网再细分成更多局域网,但是这样要用更多交换机、路由器或者路由器的接口太少需要升级,而且用户移动(更换局域网)或者增加删除用户也需要重新布线。
那么要充分利用交换机的接口分成多个虚拟的“交换机”用呢?Vlan技术把交换机接口分成多个组,每个组的接口构成一个广播域,就是一个vlan。一个交换机可以有多个vlan。
而不同vlan间通信就要使用路由(路由器或者有路由功能的三层交换机)了。
这样做可以不受路由接口和交换机本身的限制(一个交换机本来是一个广播域,增加多个广播域要增加交换机)分割多个广播域,而且结合访问链接和汇聚链接,网络的布置会更加方便灵活。
3、访问链接与汇聚链接
(此部分来自:https://blog.csdn.net/cwm_meng_home/article/details/49762807)
这两个都是交换机的端口类型
访问链接
访问链接,指的是“只属于一个VLAN,且仅向该VLAN转发数据帧”的端口。在大多数情况下,访问链接所连的是客户机。
通常设置VLAN的顺序是: (1)生成VLAN (2)设定访问链接(决定各端口属于哪一个VLAN) 设定访问链接的手法,可以是事先固定的、也可以是根据所连的计算机而动态改变设定。前者被称为“静态VLAN”、后者自然就是“动态VLAN”了。
静态VLAN——基于端口
静态VLAN又被称为基于端口的VLAN(PortBased VLAN)。顾名思义,就是明确指定各端口属于哪个VLAN的设定方法。
由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数字(比如数百台)后,设定操作就会变得烦杂无比。并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定——这显然不适合那些需要频繁改变拓补结构的网络。
动态VLAN
另一方面,动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这就可以避免上述的更改设定之类的操作。动态VLAN可以大致分为3类:
(1)基于MAC地址的VLAN(MAC Based VLAN)
(2)基于子网的VLAN(Subnet Based VLAN)
(3)基于用户的VLAN(User Based VLAN)
● 基于MAC地址的VLAN
基于MAC地址的VLAN,就是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个MAC地址“A”被交换机设定为属于VLAN “10”,那么不论MAC地址为“A”的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN 10中去。计算机连在端口1时,端口1属于VLAN 10;而计算机连在端口2时,则是端口2属于VLAN 10。
由于是基于MAC地址决定所属VLAN的,因此可以理解为这是一种在OSI的第二层设定访问链接的办法。
基于MAC地址的VLAN,在设定时必须调查所连接的所有计算机的MAC地址并加以登录。而且如果计算机交换了网卡,还是需要更改设定。
● 基于IP地址的VLAN
基于子网的VLAN,则是通过所连计算机的IP地址,来决定端口所属VLAN的。不像基于MAC地址的VLAN,即使计算机因为交换了网卡或是其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN。
与基于MAC地址的VLAN相比,能够更为简便地改变网络结构。IP地址是OSI参照模型中第三层的信息,所以我们可以理解为基于子网的VLAN是一种在OSI的第三层设定访问链接的方法。
●基于用户的VLAN
是根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN。这里的用户识别信息,一般是计算机操作系统登录的用户,比如可以是Windows域中使用的用户名。这些用户名信息,属于OSI第四层以上的信息。
汇聚链接
在规划企业级网络时,很有可能会遇到隶属于同一部门的用户分散在同一座建筑物中的不同楼层的情况,这时可能就需要考虑到如何跨越多台交换机设置VLAN的问题了。
那么两台局域网交叉的交换机之间如何连接(这里我说的局域网交叉指的是比如此情况:交换机A和交换机B,两个都有属于vlan1的接口和属于vlan2的接口。后面可以假设这样的情景思考:当交换机A +vlan1的用户发送信息给交换机B+vlan1/2的用户)
这时使用的就是汇聚链接(Trunk Link)。
汇聚链接(Trunk Link)指的是能够转发多个不同VLAN的通信的端口。 汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。(可以类比传输层数据报到网络层要加IP报头,可能不太恰当,但有助于我理解)
4、为什么推荐三层交换机
只要能提供VLAN间路由,就能够使分属不同VLAN的计算机互相通信。但是,如果使用路由器进行VLAN间路由的话,随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈。
交换机使用被称为ASIC(ApplicationSpecified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。而路由器,则基本上是基于软件处理的。即使以缆线速度接收到数据包,也无法在不限速的条件下转发出去,因此会成为速度瓶颈。就VLAN间路由而言,流量会集中到路由器和交换机互联的汇聚链路部分,这一部分尤其特别容易成为速度瓶颈。并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里可能连设置的场所都成问题。
为了解决上述问题,三层交换机应运而生。三层交换机,本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为“三层交换机”。
关于三层交换机的内部结构,可以参照下面的简图。