将大型广播域分段能够有效提高网络效率,隔离广播域就是VLAN的目的。虽然路由器能够将广播包阻隔在一个端口上,但是路由器的LAN口数量有限。因此,在二层交换机上创建VLAN减少广播域。
定义
VLAN是一组与位置无关的逻辑接口,一个VLAN就相当于一个独立的三层网络。VLAN的成员无需局限于同一交换机的顺序或偶数端口。看看下面这种最简单的情况,所有机器接入同一交换机。
这种情况下,所有机器都是同一VLAN1,VLAN1也是管理VLAN。
下面是另一种情况,这里一个路由器下接了两个交换机。虽然交换机下的机器都是属于VLAN1。但是路由器是三层设备,不会转发二层的单播/多播/广播帧,因此这些主机就被天然的隔离为两个VLAN了。
现在去掉一台交换机,为了达到同样的效果,考虑在同一台交换机下设置不同的VLAN tag。不同的VLAN就是一个独立的三层网络,即使它们连接到同一交换机。vlan1下的机器要与vlan2通信,必须经过路由器。二层网络的单播/多播/广播帧只能在同一VLAN下转发/泛洪。
VLAN的作用
性能提高:二层网络划分为多个逻辑工作组,减少传输。
安全性:数据隔离。
交换机间的VLAN
下图这种情况,不同的交换机下vlan相同,主机能够互相进行二层通信。所有节点属于同一IP地址。
下面这种情况,主机被划分到了不同的VLAN。由于交换机的隔离作用,即使同一VLAN下的PC2、PC4主机,也不能互相通信。
上图有三点问题:
一、虽然所有的主机位于同一网段,但它们被划分为不同的vlan段,造成通信障碍。
二、两个交换机之间通过不同的vlan段连接,造成通信障碍。
三、路由器vlan和其他节点的vlan段均不一样,造成通信障碍。
交换机用满时,需要用一根trunk线延伸vlan至相邻交换机,在网络间传递vlan信息。
在示例中,我们注意到trunk端口出现在vlan1。这个trunk line不属于任何vlan。它是交换机和路由器间多个vlan的通道。trunk允许vlan数据在不同交换机之间传输,因此不同vlan下的设备有可能不通过路由器直接通信。
交换机S1和S2,S1和S3之间的链路配置为传输VLAN10、VLAN20、VLAN30、VLAN99的数据流。这是两条trunk线,因此交换机的端口也必须是trunk模式(默认情况下,交换机端口都是接入端口模式)。在trunk端口,通过运行trunk协议来标记VLAN或者优先级(tagged帧)。