如何在以太网之后识别下一层协议

时间:2012-08-01 07:48:36

标签: networking ethernet

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

这是以太网标头

  

DstMacAddr // 6个字节

     

SrcMacAddr // 6个字节

     

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

     

有效负载// ARP,IPv4,IPv6等

     

FSC // CRC32