【问题标题】:why 802.1Q does not encapsulate the original frame?为什么802.1Q不封装原帧?
【发布时间】:2016-10-15 03:13:27
【问题描述】:

我正在研究 VLAN。经过几个小时的搜索,我知道 802.1Q 没有封装原始帧,而是在源 MAC 地址和原始帧的“EtherType”字段之间添加了一个 32 位字段。但我不知道为什么。有人可以向我解释为什么 802.1Q 不封装原始帧吗?非常感谢。

【问题讨论】:

  • 因为 IEEE 标准就是这么说的。

标签: networking vlan


【解决方案1】:

802.1q 的前身是 Cisco 的 ISL。 ISL 确实完全封装了框架。这意味着当任何设备接收 ISL 帧时,它必须能够理解 ISL 标签,否则整个帧都被视为格式错误。

在 802.1q 中,帧的前 12 个字节,无论是否被标记,总是相同的。

为了准确说明标签修改了什么,这里是没有标签的帧的数据包捕获,然后是带有标签的同一帧:

橙色的括号部分全部来自原始帧。绿色括号中的部分是 802.1q 标签添加到帧中的部分。

请注意,在这两种情况下,前 12 个字节是目标 MAC 地址和源 MAC 地址。

此外,在这两种情况下,帧的接下来的 2 个字节都是“EtherType”字段,表示数据报中封装的下一个协议。

这意味着无论中转设备是否理解 802.1q 标签,对该帧的处理都不会改变。这意味着 802.1q 标签仍然可以通过设备“工作”...

  • 较旧,不支持或不理解 802.1q 标签
  • 未配置为读取/查找特定标签
  • 被构建为仅检查任何帧的前 12 个字节,因此它可以就如何转发数据包做出线速决定,这是Cut-Through switching 中的策略。

总体而言,它允许 VLAN 和 VLAN 标记的实施和标准化,而无需修补曾经创建的每个执行Layer 2 处理的设备 教他们如何解释“完全封装的 VLAN 标记策略” "(如 ISL)。相反,可以对需要支持 VLAN 的设备进行修补以了解 802.1q,并且所有其他传输中的设备可以继续运行而无需大惊小怪。

诚然,如今很少遇到不了解 VLAN 的主机或交换机,但请从 VLAN 和标记概念最初发明时的角度来考虑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-27
    • 2016-08-09
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多