3.11.1 VLAN概述
-
以太网交换机工作在数据链路层(也包括物理层)
-
使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域
-
随着以太网规模的扩大,广播域相应增大、
巨大的广播域会带来很多弊端
-
广播风暴
-
难以管理和维护
-
潜在的安全问题
假设某个主机要发送数据给另一个主机,但是在自己的ARP告诉缓存表中无法查到目的主机的MAC地址,于是首先要发送ARP广播请求来获取目的主机的MAC地址。该ARP广播请求会传遍整个网络,网络中所有主机都能收到该ARP请求。这就是广播风暴,会大大浪费网络资源和各主机的CPU资源。
有的同学会想,如果至少偶尔出现一次广播风暴,那还是可以接受的。
但是网络中会频繁出现广播信息
-
TCP/IP协议栈中的很多协议都会使用广播
-
地址解析协议ARP(已知IP,找出对应的MAC地址)
-
路由信息协议RIP(一种小型的内部路由协议)
-
动态主机配置协议DHCP(用于自动配置IP地址)
-
那么如何才能将大的广播域分割成小的广播域呢?
-
使用路由器就可以隔离广播域
这是一个由交换机连接的广播域
使用路由器可以分割成两个广播域
路由器工作在网络体系结构第三层-网络层。由于路由器默认情况下不对广播数据包进行转发,因此隔离广播域是他天生就携带的技能包。
然而,路由器的成本比较高,局域网内部全部使用路由器来隔离广播域是不现实的。在这种情况下,虚拟局域网技术VLAN就应运而生了。
VLAN是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
如图所示,123楼各有一个局域网
可将他们通过一个交换机互连成一个更大的局域网,那么原来每一个局域网成为现在局域网的一个网段,网络中的各主机属于同一个广播域。
某个主机发送的数据包,其它所有主机都可以收到
根据应用需求,我们划分为两个VLAN,同一个VLAN之间可以广播通信,不同VLAN之间不能广播通信
那么如何才能实现VLAN呢?
3.11.2 VLAN的实现机制
VLAN是在交换机上实现的,需要交换机实现两大功能:
-
一个是能够处理带有VLAN标记的帧
-
交换机的各端口可以支持不同的端口类型
-
不同类型的端口对帧的处理方式有所不同
-
先来看看IEEE802.1Q帧
接下来我们看看以太网交换机的端口类型
-
Access
-
Trunk
-
Hybrid
交换机各端口的默认VLAN ID
-
思科交换机上称为Native VLAN,即本体VLAN
-
华为交换机上叫Port VLAN ID 即端口VLAN ID 简单记为PVID
接下来我们首先介绍Access端口
-
Access端口一般用于连接用户计算机
-
只能属于一个VLAN
-
Access端口的PVID值与端口所属VLAN的ID相同(默认是1)
如图:ABCD连接在交换机的端口上,交换机首次通电时,默认配置各端口属于VLAN1,也就是各端口的PVID值为1。默认配置各端口的类型为Access。
Access接收处理的方法是:一般只接受“未打标签”的普通以太网MAC帧。根据接收帧的PVID给帧“打标签”,即插入四字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
A主机发送广播,从端口1进入交换机,于是给帧贴上标签VID=1,这小子是从我端口1进来的,属于PVID1,剩下的哥几个自己看着办,是我们组(PVID=1)的就负责转发,不是我们组的就别瞎掺和。于是234端口都转发该帧,转发之前会去标签,把VID=1撕掉。
接下来我们介绍Trunk端口
-
trunk端口一般用于交换机之间或者交换机与路由器之间的互连。
-
trunk端口可以属于多个VLAN(可以接收和转发多个VLAN的帧)
-
默认端口值为1,用户也可以自己定义
-
对VID=PVID的帧去标签转发(对于不相等的直接带着标签转发)
-
第二个收到的T端口给去标签的帧再打上标签转发
练习题:
最后简单介绍Hybrid:
帧的VID取值要在端口的去标签列表中就可以接受转发。