传统以太网问题
传统以太网整个二层网络为一个广播域,当某台主机发送广播包或未知单播帧,会被泛洪到整个二层网络的所有终端,二层网络越大,产生的网络安全问题和垃圾流量问题越严重,所以需要将二层网络的广播域进行分割,因此产生了VLAN(虚拟局域网)技术,通过划分VLAN来划分广播域,一个VLAN为一个广播域,解决了垃圾流量的问题,在不同的VLAN中的设备不能进行直接的二层通信,解决了二层网络安全性的问题
VLAN Tag
如图所示,用户的数据包在经过SW1后会在数据链路层被打上了VLAN 20的标签,IEE802.1Q规定了带标签数据帧的格式,符合这种格式的别称为IEE802.1Q数据帧,也称为VLAN数据帧
VLAN数据帧
VLAN数据帧中的主要字段:
TPID
2字节,Tag Protocol Identifier(标签协议标识符),表示数据帧类型。取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
PRI
3 bit,Priority,表示数据帧的优先级,用于QoS。取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。
CFI
1 bit,Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网
VID
12 bit,VLAN ID,表示该数据帧所属VLAN的编号。VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLANID的有效取值范围是1~4094。
在VLAN交换网络中存在两种数据帧:
- 有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和
源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,
简称Tag)的数据帧。 - 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的数据帧。
VLAN的划分方式
计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。本文重点介绍基于接口划分
基于接口划分VLAN
网络管理员预先给交换机的每个接口配置不同的PVID,将该接口划入PVID对应的VLAN。当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定 PVID的Tag,然后数据帧将在指定PVID中传输。PVID(接口的缺省VLAN), 每个交换机的接口都应该配置一个PVID,到达这个端口Untagged帧将一律被交换机划分到PVID所指代的VLAN,默认值为1
以太网二层接口类型
Access接口
交换机上常用来连接用户PC、服务器等终端设备的接口。Access接
口所连接的这些设备的网卡往往只收发无标记帧。Access接口只能
加入一个VLAN。
Trunk接口
Trunk接口允许多个VLAN的数据帧通过,这些数据帧通过802.1Q
Tag实现区分。Trunk接口常用于交换机之间的互联,也用于连接路
由器、防火墙等设备的子接口。
Hybird接口
Hybrid接口与Trunk接口类似,也允许多个VLAN的数据帧通过,这
些数据帧通过802.1Q Tag实现区分。用户可以灵活指定Hybrid接口
在发送某个(或某些)VLAN的数据帧时是否携带Tag
以太网接口类型剥离和添加VLAN总结
当接收数据帧时:当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都
会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是
否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。
当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会
根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就
是缺省VLAN)来判断是否接收。
当发送数据帧时:Access接口直接剥离数据帧中的VLAN标签。Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。