2.3.3 VLAN的链路类型

在以太网交换机的端口存在接入链路(Access)、主干链路(Trunk)和混合链路(Hybird)。对于接入链路只能承载一个VLAN;主干链路可以承载多个VLAN。因此,对于主干链路必须标记以太网帧所属的VLAN,对于接入链路则不需要进行标记,直接由交换机VLAN表判别即可。

对应于上述三种链路类型,存在两种类型的数据帧:普通帧(UNTAG)和标记帧(TAG)。接入链路只能识别UNTAG帧,主干链路识别TAG帧。

1.UNTAG帧

UNTAG就是普通的Ethernet帧。如图2-9所示,在数据帧中不带任何VLAN信息。普通PC的网卡是只能识别普通的Ethernet帧。所以,从交换机传递到计算机的数据帧一定要是UNTAG帧,计算机才能接收并处理。

2.TAG帧

TAG帧是在Ethernet帧中加入了VLAN标识,如图2-10所示,主要用于交换机端口承载多个VLAN时,进行VLAN的区分。

图2-9 UNTAG帧结构

图2-10 TAG帧结构

Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口。Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口。Hybrid类型的端口可以允许多个VLAN通过,能够接收和发送多个VLAN的报文,既可以用于交换机之间的连接,也可以用于用户之间计算机的连接。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时,Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许默认VLAN的报文发送时不打标签。

3.默认VLAN

Access端口只属于1个VLAN,所以它的默认VLAN就是它所在的VLAN,不用设置。Hybrid端口和Trunk端口属于多个VLAN,所以需要设置默认VLAN ID。默认情况下,Hybrid端口和Trunk端口的默认VLAN为VLAN 1。

如果设置了端口的默认VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于默认VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口默认的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。(注:华为交换机默认VLAN被称为“Pvid Vlan”;思科交换机默认VLAN被称为“Native Vlan”)。

4.交换机接口出入数据处理过程

(1)Access端口

收报文:收到一个报文,判断是否有VLAN信息。如果没有,则打上端口的PVID,并进行交换转发;如果有,则直接丢弃(默认)。

发报文:将报文的VLAN信息剥离,直接发送出去。

(2)Trunk端口

收报文:收到一个报文,判断是否有VLAN信息。如果没有,则打上端口的PVID,并进行交换转发;如果有,判断该Trunk端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃。

发报文:比较端口的PVID和将要发送报文的VLAN信息,如果两者相等,则剥离VLAN信息后再发送;如果不相等,则直接发送。

(3)Hybrid端口

收报文:收到一个报文,判断是否有VLAN信息。如果没有,则打上端口的PVID,并进行交换转发;如果有,则判断该Hybrid端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只在发送报文时起作用)。发报文:①判断该VLAN在本端口的属性(disp interface,即可看到该端口对哪些VLAN是UNTAG,哪些VLAN是TAG);②如果是UNTAG,则剥离VLAN信息后再发送;如果是TAG,则直接发送。