本篇我们具体描述一下Access端口、Trunk端口以及Hybrid端口对于帧的处理和转发

1. Access端口帧处理和转发

(1)当Access端口从链路(线路)上收到一个Untagged帧后,交换机会在这个帧中添加上一个VID(VLAN ID)为PVID(Port VLAN ID)的Tag,然后对得到的Tagged帧进行转发操作(防洪,点到点转发,丢弃)。【Access端口从链路中收到Untagged帧】【链路->交换机】

(2)当Access端口从链路(线路)上收到一个Tagged帧后,交换机会检查这个帧的Tag中的VID是否与PVID相同,如果相同,则对这个Tagged进行转发操作(防洪,点到点转发,丢弃);如果不同,则直接丢弃这个Tagged帧。【Access端口从链路中收到Tagged帧】【链路->交换机】

(3)当一个Tagged帧从本交换机的其他端口到达一个Access端口后,交换机会检查这个帧的Tag中的VID是否与PVID相同,如果相同,则对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路(线路)上发送出去;如果不同,则直接丢弃这个Tagged帧。【交换机内部Access端口收到Tagged帧】【交换机->链路】

2. Trunk端口帧处理和转发

对于每一个Trunk端口,除了要配置PVID之外,还必须配置允许通过的VLAN ID列表。
(1)当Trunk端口从链路(线路)上收到一个Untagged帧后,交换机会在这个帧中添加上一个VID(VLAN ID)为PVID(Port VLAN ID)的Tag,然后查看PVID是否允许通过的VLAN ID列表中,如果在,则对得到的Tagged帧进行转发操作(防洪,点到点转发,丢弃);如果不在,则直接丢弃得到的Tagged帧。【Trunk端口从链路中收到Untagged帧】【链路->交换机】

(2)当Trunk端口从链路(线路)上收到一个Tagged帧后,交换机会检查这个帧的Tag中的VID是否在允许通过的VLAN ID列表中,如果在,则对这个Tagged进行转发操作(防洪,点到点转发,丢弃);如果不在,则直接丢弃这个Tagged帧。【Trunk端口从链路中收到Tagged帧】【链路->交换机】

(3)当一个Tagged帧从本交换机的其他端口到达一个Trunk端口后,如果这个帧的Tag中的VID不在允许通过的VLAN ID列表中,则该Tagged会被直接丢弃。【交换机内部Trunk端口收到Tagged帧】【交换机->链路】

(4)当一个Tagged帧从本交换机的其他端口到达一个Trunk端口后,如果这个帧的Tag中的VID在允许通
过的VLAN ID列表中,并且VID与PVID相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路(线路)上发送出去。【交换机内部Trunk端口收到Tagged帧】【交换机->链路】

(5)当一个Tagged帧从本交换机的其他端口到达一个Trunk端口后,如果这个帧的Tag中的VID在允许通过的VLAN ID列表中,但是VID与PVID不同,则交换机不会对这个Tagged的Tag进行剥离,而是直接将它从链路(线路)上发送出去。【交换机内部Trunk端口收到Tagged帧】【交换机->链路】

(6)小总结:
(3)(4)(5)的区别就是交换机内部Trunk收到Tagged帧后,1.交换机的VLAN ID是否允许;2.VID和PVID是否相同;(3)是因为交换机VLAN ID不允许,则直接丢弃;(4)是因为VLAN iD允许并且VID和PVID相同,则直接剥离Tagged帧的Tag得到Untagged帧;(5)是因为VLAN ID允许,但是VID和PVID不同,则将Tagged帧发送出去,并没有剥离Tag。

3. Hybrid端口帧处理和转发(了解)

在实际的VLAN技术实现中,还会定义另一种端口类型:Hybrid端口,该类型端口即可以将交换机与终端计算机相连 也可以将交换机和其他交换机相连。
(1)当Hybrid端口从链路(线路)上收到一个Untagged帧后,交换机会在这个帧中添加上一个VID为PVID的Tag,然后查看PVID是否在Untagged VLAN ID列表或者Tagged VLAN ID列表中。如果在,则对这个Tagged进行转发操作(防洪,点到点转发,丢弃);如果不在,则直接丢弃这个Tagged帧。【Hybrid端口从链路中收到Untagged帧】【链路->交换机】

(2)当Hybrid端口从链路(线路)上收到一个Tagged帧后,交换机会查看这个帧的Tag的VID是否在Untagged VLAN ID列表或者Tagged VLAN ID列表中。如果在,则对这个Tagged进行转发操作(防洪,点到点转发,丢弃);如果不在,则直接丢弃这个Tagged帧。【Hybrid端口从链路中收到Tagged帧】【链路->交换机】

(3)当一个Tagged帧从本交换机的其他端口到达一个Hybrid端口后,如果这个帧的Tag中的VID即不在Untagged VLAN ID列表,也不在Tagged VLAN ID列表中,则该Tagged帧会被直接丢弃。

(4)当一个Tagged帧从本交换机的其他端口到达一个Hybrid端口后,如果这个帧的Tag中的VID在Untagged VLAN ID列表,但不在Tagged VLAN ID列表中,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路(线路)上发送出去。

(5)当一个Tagged帧从本交换机的其他端口到达一个Hybrid端口后,如果这个帧的Tag中的VID在Tagged VLAN ID列表,但不在Untagged VLAN ID列表中,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将Tagged帧从链路(线路)上发送出去。

(6)小总结:
(3)(4)(5)区别就是交换机内部Hybrid收到Untagged/Tagged帧后,1.VID是否在Untagged VLAN ID列表或者在Tagged VLAN ID列表;(3)是因为Hybrid收到的Tagged帧即不在Untagged VLAN ID列表或者在Tagged VLAN ID列表,则直接丢弃;(4)是因为Hybrid收到的Tagged帧在Untagged VLAN ID列表中,则Tagged帧的Tag进行剥离后从链路中发送出去;(5)是因为Hybrid收到的Tagged帧在Tagged VLAN ID列表中,则不会对Tagged帧的Tag进行剥离,而是直接转发出去。

4.总结:

Hybrid端口的工作机制比Trunk端口和Access端口更加灵活和丰富;Trunk端口和Access端口可以看成是Hybrid端口的特例。当Hybrid端口配置中的Untapped VLAN ID列表中有且只有PVID时,Hybrid端口就等效于一个Trunk端口;当Hybrid端口配置中Untagged VLAN ID列表中有且只有PVID,并且Tagged VLAN ID列表为空时,Hybrid端口就等效于一个Access端口。