ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ##### **Q:在Linux内核中,链路层往上层协议传递以太帧时,怎么知道是传递给IP协议还是ARP协议?** A:在以太帧的[协议头](https://zh.wikipedia.org/wiki/%E4%BB%A5%E5%A4%AA%E7%BD%91%E5%B8%A7%E6%A0%BC%E5%BC%8F#%E7%BB%93%E6%9E%84)中,有一个字段叫[以太类型](https://zh.wikipedia.org/wiki/%E4%BB%A5%E5%A4%AA%E7%BD%91%E5%B8%A7%E6%A0%BC%E5%BC%8F#%E4%BB%A5%E5%A4%AA%E5%B8%A7%E7%B1%BB%E5%9E%8B),如下: ![](https://img.kancloud.cn/d5/c6/d5c6b4cf630466fed1c6d4c3b162d57e_2034x382.png) 根据维基,以太类型为`0x0800`的,表示上层协议为IPv4协议; 以太类型为`0x0806`,表示上层协议为ARP协议 ![](https://img.kancloud.cn/06/ca/06ca24c1605441c8a7da0895fe9114ea_2470x166.png)