802.1Q协议会在接收到的地方去掉VLAN tag吗?

网络工程 转变 VLAN 树干 IEEE-802.1x
2021-07-17 13:49:10

802.1Q协议会在接收到的地方去掉VLAN tag吗?

比如VLAN 10通过802.1Q协议来传递帧。

在此处输入图片说明

802.1Q 将添加 802.1q 标头(标签)并重新计算 CRC/FCS,如下所示:

在此处输入图片说明

但我有一个问题,接收方是否会删除VLAN标签并重新计算CRC/FCS?

如果它会移除 VLAN 标记并重新计算 CRC/FCS,是在接收交换机的中继端口还是在其他特定位置执行此操作?

2个回答

接收方是立即移除 Q 标签还是保留它以供进一步处理是它自己的决定。

在交换机上,这取决于有问题的 VLAN ID 是在目标端口(中继端口)上标记还是在未标记/本机(接入端口)上标记。

即使在未标记的端口上,有时仍可能存在 Q 标记以保留 PCP 优先级,但 VLAN ID 字段为零 - 取决于交换机和端口配置。

VLAN 标记始终处于接口级别或“NIC”级别。它的意思是,当交换机在接口上接收到一个标记的数据包时。它检查数据包上的 VLAN id 是否与接口上允许的 VLAN id 相同。- 如果标签匹配,则数据包从标签上剥离并发送以供进一步处理。如果不是,则拒绝该数据包。

这是“进一步处理”中发生的事情。如果交换机是纯 L2,它将在特定 VLAN 的转发表中查找数据包的传出接口(例如,传入数据包带有 VLAN 标记 10),它将尝试为该数据包找到传出接口VLAN 10 转发表中的 dest MAC。

一旦数据包在传出接口上,如果该接口是中继端口 - 将在帧上添加 10 的 VLAN 标记。如果该端口是 VLAN 10 接入端口,则数据包将从该接口发送而没有任何标记。

现在,如果交换机不是纯 L2 - 即使用 VLAN 接口,则再次检查传入数据包的 VLAN 标记,将数据包发送到相应的 vlan 接口。

此处接口查找 L3 转发表 - 也称为路由表,用于查找数据包的传出接口。

再次确定传出接口后,如果该接口是中继端口,则使用 VLAN ID 标记数据包,如果不是,则发送数据包时不带任何标记