1.虚拟局域网VLAN概念
使用一个或者多个交换机连接起来的交换式以太网,所有站点都属于同一个广播域,这会带来很多的弊端。
如图所示的两台主机之间想要实现通信,但因为不知道目标主机的MAC地址,所以源主机就需要发送ARP广播来获得目标主机的MAC地址。但因为整个以太网都处于同一个广播域,因此请求帧会发送到广播域内的每一台主机上,这种现象叫做广播风暴,会浪费网络资源和各主机的CPU资源。
而为了将广播域分割开来,就需要用到虚拟局域网VLAN。
如图所示的以太网,为了将其广播域分隔开,可以使用VLAN技术将设备划分成与物理位置无关的逻辑组,这些逻辑组有某种共同的需求。这样VLAN1虚拟局域网中的广播帧就不会被发送到VLAN2中的主机。
2.VLAN的实现机制
2.1IEEE 802.1Q帧
IEEE 802.1Q帧是对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记。
VLAN标记的最后12bit称为VLAN标识符VID
,它唯一地标志了以太网帧属于哪一个VLAN。802.1Q帧是由交换机来处理的,而不是用户主机来处理的。当交换机收到普通帧的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧,简称打标签。当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧,简称去标签。
2.2交换机端口类型
2.2.1Access端口
Access端口一般只用于连接用户计算机,它只能属于一个VLAN,端口默认的PVID值与端口所属的VLAN的ID相同。
Access端口一般只接受没打标签的普通以太网MAC帧,根据接收帧的端口PVID给帧打标签,即插入4字节的VLAN标记字段,字段中VID取值与端口的PVID取值相等。
如果帧中的VID与端口PVID相等,则去标签转发该帧,否则不转发。
2.2.2Trunk端口
Trunk端口一般用于交换机之间或交换机与路由器之间的互连,它可以属于多个VLAN,用户可以设置Trunk端口的PVID值。
Trunk端口对VID等于PVID的帧,去标签再转发。对VID不等于PVID的帧,直接转发。
而如果接收到的没打标签的帧,根据接收帧的端口PVID给帧打标签,字段中的VID取值与端口的PVID值相等。已经打标签的帧会被直接接收。