802.1q 标记帧的以太网类型字段

802.1q 标记帧的以太网类型字段

如果创建了 802.1q,则以太网类型字段将更改为 0x8100,这意味着它是一个 802.1q 帧。

但这意味着 Ethertype 不再用于标记更高级别的协议,例如 IPv4 的 0x0800。

丢失 IPv4 标记的以太网类型字段和 802.1q 标记的帧会有什么后果?假设 L3 协议没有改变。

谢谢。

答案1

结果是,帧的接收端必须知道 0x8100 是什么。如果它无法识别该帧类型,它将无法接收它。大多数版本的 Windows 无法处理标记帧(没有第三方软件)。大多数 *nix 系统可以,但它们通常需要特殊配置。

L3 以下的层不会在意:像简单的 L2 交换机这样的网络设备不会对数据包有任何不同处理。值得注意的是,802.1Q 并不是第一个使用不同于 IPv4 的 EtherType 的协议。在网络中,你会发现有十几种 EtherType 相对常见。

答案2

当普通以太网帧转换为 802.1Q 标记帧时,原始以太网类型字段不会被覆盖。您最初的假设 —— “当创建 802.1q 时,以太网类型字段更改为 0x8100” —— 是不正确的。

802.1Q 标准使用标签来改变原始帧。当普通以太网帧转换为 802.1Q 时,会在源 MAC 地址和原始以太网类型字段之间插入一个特殊的 32 位字段(标签)。因此,原始以太网类型字段不会丢失,但会向右移动 802.1Q 标签的 32 位。

还有802.1Q 标签的格式如下其第一个 16 位字段携带的信息类型与原始以太网以太网类型字段相同。尽管它实际上被称为 TPID(标记协议标识符)字段。此字段位于与普通以太网帧中的以太网类型字段完全相同的位置,因此用于区分帧和未标记帧。因此,当感兴趣的一方解析以太网帧头并在所谓的以太网类型字段中偶然发现 0x8100 值时,它知道这实际上不是以太网类型字段,而是 802.1Q 标记帧的 802.1Q TPID 字段。并且要获取实际的以太网类型值,解析器需要忽略刚刚读取的 16 位字段和接下来的 16 位(802.1Q 标记总共 32 位)。

相关内容