技术背景
- 对于一台交换机而言,缺省情况下它的所有接口都属于同一个广播域(Broadcast Domain)。
- 当多台主机连接到同一台交换机时,只需配置相同网段的IP地址,主机之间就可以直接进行通信,而且无需借助路由
设备,这种通信行为被称为二层通信。 - 由于这些主机都属于同一个广播域,因此当其中一台主机发出一份广播(或者未知单播或者组播)数据时,连接在交换机上的其他所有主机都会收到这份数据的拷贝,如下图所示。
引入问题
-
在上述场景中,并非所有的主机都需要这些数据帧,此时对于它们而言,这些广播帧(或者未知单播帧或者组播帧)实际上是增加了设备性能损耗,而且对网络带宽而言也是一种浪费。
-
思维扩散一下,如果存在一个由许多二层交换机构成的大型二层网络,那么在这个大规模的广播域中,一旦出现广播帧(或者未知单播帧或者组播帧)便将引发大量的泛洪现象,从而给网络带来沉重的负担,如下图所示。
-
另外,实际的网络中经常存在这样的需求:连接在同一个交换机上的主机有可能属于不同的业务部门,用户希望对它们进行隔离或者以独立的网络单元、独立的广播域进行管理,否则网络管理员就不得不为不同的业务部门分配不同的交换机,并且搭配其他设备从而实现二层隔离。
解决方法1
当我们实际规划一个网络时,应该始终关注网络中广播域的大小,采用适当的技术将一个大的广播域切割成更小的单元。
- 可以使用路由器来实现这个目的。
- 如下图所示,路由器的每个三层接口连接着一个独立的广播域。
- 在网络中部署路由器是可以起到隔绝广播的作用,因为一个广播数据缺省时会被终结在路由器的三层接口上,不会被透传。
引入问题2
- 路由器接口资源相比于交换机更为有限,
- 我们为什么不能直接在交换机上实现广播域的隔离或划分呢?
解决方法2
- VLAN ( Virtual Local Area Network,虚拟局域网)就是这样一个技术,它能够将一个物理的LAN在逻辑上划分成多个广播域。
- 一个VLAN就是一个广播域,同属一个VLAN的设备之间依然是能够直接进行二层通信的,数据的泛洪也被限制在VLAN内。
- 如果交换机收到某台PC发送出来的单播数据帧并且并不知晓目的MAC地址时,它会在所有属于该VLAN的接口上泛洪这个数据帧。
- 如下图所示的网络拓扑中,PC1, PC2以及PC3可以进行二层通信,假设其中一台PC发送出来的广播数据,广播数据会被泛洪给其他两台PC。
- 需要注意的是,不同的VLAN之间是无法进行二层通信的。
示例
-
如上图所示,交换机创建了两个VLAN,这两个VLAN各有一个ID(标识符),它们分别是10和20。
-
将交换机的GE0/0/1, GE0/0/2以及GE0/0/3接口加入VLAN 10,而GE0/0/23及GE0/0/24接口加入VLAN20。
-
通过上述操作,网络中原先存在的一个广播域被切割成两个小的并且独立的广播域VLAN10和VLAN20。
-
PC1从网卡发出一个广播数据帧,如下图所示。
-
这个数据帧到达交换机后,交换机发现这是一个来自VLAN10(该帧在GE0/0/1接口上收到,而该接口加入了VLAN 10 )的广播数据帧,因此它将该数据帧从所有加入VLAN 10的接口泛洪出去(除了收到广播数据帧的接口GE0/0/1),最后PC2及PC3都会收到这份数据,然而处于VLAN20的PC23及PC24是不会收到这个广播数据帧的。
-
假设PC23发送一个单播数据帧给PC24(假设此时PC23已经知道PC24的MAC地址),
-
交换机收到这个数据帧并且发现这是一个单播数据帧,因此它在MAC地址表中查询数据帧的目的MAC地址,而且它只会查询那些与VLAN20关联的表项(MAC地址表中的每个表项将MAC地址、VLAN-ID、接口等信息进行绑定),如果交换机查询不到与目的MAC地址匹配的表项,它会把这个数据帧从所有加入VLAN20的接口泛洪(未知单播泛洪)出去(除了接收未知单播的接口),因此PC24会收到这个帧,而处于VLAN10的PC1, PC2及PC3则不会受到影响。
VLAN技术优势总结
VLAN技术是二层交换领域中非常重要也是非常基础的技术,它能给网络带来诸多利好:
- 隔绝广播:当交换机部署VLAN后,广播数据的泛洪被限制在VLAN内。利用VLAN技术可以将网络从原来的一个大的广播域切割成多个较小的广播域,从而减少了泛洪带来的带宽资源及设备性能的损耗。
- 提高网络组建的灵活度:VLAN技术使得网络设计和部署更加灵活。同一个工作组的用户不再需要局限在同一个地理位置。
- 提高网络的可管理性:通过将不同的业务规划到不同的VLAN,并且分配不同的IP网段,从而将每个业务划分成独立的单元,极大地方便了网络管理和维护。
- 提高网络的安全性:利用VLAN技术可以将不同的业务进行二层隔离。由于不同VLAN之间相互隔离,因此当一个VLAN发生故障,比如某个VLAN内发生ARP欺骗行为,不会影响到其他VLAN。