注意:交换机内部不存在不带tag标签的数据帧报文,内部流动的数据帧始终是带有标签的。数据帧从外部设备流入交换机内部叫接受数据包过程,而从交换机内部流出到外部设备叫做发送数据包过程。
access/trunk/hybrid端口接收数据包:
①不带vlan tag的数据帧:打上端口pvid,如果缺省pvid在vlan允许列表中的话送入交换机的转发进
程,查找MAC表找到相应的接口,否则丢弃。
②带vlan tag:access口的处理过程:如果vlan tag=pvid,允许通过进入交换机内部,否则丢弃数据包;trunk口和hybrid口处理过程:如果vlan tag在允许访问vlan列表则进入交换机转发数据帧,否则丢弃。
access/trunk/hybrid端口发送数据包:
①不带vlan tag的数据帧:不可能出现。
② 带vlan tag的数据帧:
access口的处理过程是如果将tag剥离转发出去,其中access口只处理与自己pvid相对应的数据帧,其他即使意外收到其他vlan的数据帧也不会处理;
trunk口处理过程是如果vlan tag =pvid,剥离tag转发出去,如果vlan tag =/ pvid,直接转发出去;
hybrid口处理过程是如果该vlan在本端口配置的属性是untag,则剥离tag进行转发,如果属性是tag,则直接发送。
另,hybrid口在端口为tag和untag两种不同情况:
hybrid 端口配置 : port hybrid tagged vlan 2 4
port hybrid untagged vlan 3 5
接收:不带标签的打上该端口的pvid的vlan号转发;带标签的查看该帧所带vlan号是否在以上命令行,如果是vlan 3,出现转发,如果是vlan6,没有出现而丢弃。
发送:对于taggde定义的帧直接转发出去,不做修改;对于untagged定义的帧,剥离tag转发,由带标签状态改为不带标签状态。
对于tagged和untagged定义的帧,只有在发送的时候才有剥离和不剥离的区别,而对于接收到的帧只会起判断数据帧是否通过的作用。
下面是百度搜集的图,也比较详细具体的说明了各个类型端口的数据帧处理方式:
The END