计算机网络ARP工作在**以太网**,这个表达不太严谨
应该说,**ARP协议工作在IPv4与网卡(无线网卡)耦合的场景下,用于IPv4主机发现同一广播域内(相同网段)内其他主机的MAC地址**
也就是说当以太网卡与IPv6耦合,就不需要ARP协议了。因为IPv6使用ICMPv6 Neighbor Discovery Protocol
所以ARP只有在底层硬件是网卡(无线网卡)的时候才会用,其他场合不会使用。
> 这里面无线网卡指的是电脑、iPad、智能手机的无线网卡,4G卡不属于这个行列。
三层的IPv4可以和各种各样的数据链路层(二层)耦合在一起,比如Eth,PPP,HDLC,但是IPv4与PPP、HDLC等数据链路层需要ARP协议吗?不需要,因为这些协议本身就没有MAC地址,ARP更无从谈起。
那么有线网卡使用的是什么以太网协议呢?802.3+802.2,无线网卡使用的是802.11,严格说来,802.11不算以太网协议。
## 无线网卡与有线网卡主机如何通信?
假设他们在同一个广播域,假设有线主机A想与无线主机B通信
- 主机A的ARP广播通过交换机(家用无线路由器)在广播域中扩散,帧格式为802.3
- 无线路由器(AP)意识到这是一个广播,需要在所有接口扩散(有线接口、空中接口),在空中接口帧变为802.11,加密传输
- 主机B通过空中接口收到广播帧,解密得到明文,再协议转换为802.3帧,转换之后的帧可以使用wireshark来捕获
- 该802.3帧携带的ARP报文最终到达ARP模块进行处理
手机使用4G上午需要,ARP协议吗?同样不需要,4G卡通过APN拨号,类似于有线的PPP拨号,由运营商提供IP、掩码、DNS服务器等参数。
因为APN拨号连接是一个点对点的连接,所以不需要网关
![](http://p8a6vmhkm.bkt.clouddn.com/picgo20181020165828.png?picgo)