vlan的定义
传统以太网中存在一个问题,当主机发送一个广播帧或这个未知单播时,该数据帧会被泛洪,会传输到整个广播域,广播域越大,产生的网络安全问题、垃圾流量问题,就会越严重。VLAN技术为这一问题提供了解决方案,VLAN将同一网络划分为多个逻辑上的虚拟子网,并规定当收到广播报文时,仅仅在其所在VLAN中进行广播从而防止广播报文泛滥。
VLAN虚拟局域网在链路层的层次中实现了广播域的隔离,是人为分割出来的局域网,不受地域限制,可以隔离广播域,解决交换机在进行局域网互连时无法限制广播的问题。
vlan帧
在数据帧转发过程中,交换机如何识别接收到的数据帧属于那个vlan,主要是通过数据帧中携带的vlan标签,也就是vlan帧。
vlan帧就在以太网帧的源mac和类型中间加了一层802.1q标签,数据在转发过程中是通过识别vlan标签进行转发分,在实际转发过程中,有的带标签有的数据不带标签,即untag和tag。
802.1q标签有四个字节,分为4个字段,如下图所示:
Type | PRI | CFI | VLAN ID |
Type 2个字节,帧类型,取值0x8100;
PRI 3bit,帧优先级,取值0-7,值越大优先级越高;
CFI 1bit,mac经典格式判断,若为0标识是经典格式,若为1表示为非经典格式;
vlan id 12 bit,表示数据帧所属的vlan,取值0-4095,0和4095不能使用,1为默认。
vlan端口
vlan分为access、trunk和hybrid三种。
access就是untag,是用于主机和交换机的连接,只接收不带标签的帧,接收数据帧,并打上接口的所属缺省vlan id,出去的时候剥掉;
trunk就是tag,用于来交换机和交换机之间的连接,可以有多个vlan通过,只接受带vlan标签的帧,从对应的端口转发出去,保留原有标签;
hybrid是两者的结合,既可以接口带vlan的标签也可以接受不带vlan的标签。