如何在以太网之后识别下一层协议?在以太网帧中是否有相同的规定?
答案 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