0

您将如何识别以太网之后的下一层协议?以太网帧中是否有相同的规定?

4

3 回答 3

1

以太网帧包含一个Ethertype,一个 2 字节字段指定上层协议。例如 IP 有 0x800。当网络引擎从网络接口接收到帧时,它会检查该字段并将其转发给适当的处理程序。

于 2012-08-01T07:50:36.683 回答
1

ethertype(2 个字节,第 13 和第 14 个字节)通常位于目标 mac 和源 mac 之后。以太网 II 也是如此。

对于 802.3,有一种情况是 ethertype 被封装为 LLC SNAP 的一部分。所以一般情况下,你可以检查第13和第14个字节是否确实是ethertype,然后使用它。

如果不是 ethertype(ethertype 必须大于 0x05DC),那么您就知道它的有效载荷长度。然后解析 LLC SNAP 以获取其中的 ethertype。

于 2012-10-07T07:23:04.863 回答
0

这是以太网标头

DstMacAddr // 6 个字节

SrcMacAddr // 6 个字节

EthType // 2 个字节 -> ARP(0x0806)、IPv4(0x0800)、IPv6(0x86dd)、VLAN(0x8100) 等

有效载荷 // ARP、IPv4、IPv6 等

FSC // CRC32

于 2016-07-10T16:55:32.773 回答