ARP全称Address Resolution Protocol,即地址解析协议。
网络通信时,需要知道目标机器的MAC(物理)地址。而通信时,计算机之间使用的是IP(逻辑)地址。此时,计算机需要将目标机器的IP地址转换为MAC地址,就需要进行地址解析。
ARP请求就是一种请求目标机器的MAC地址的报文。
ARP请求的作用是在目标机器的缓存中查找MAC地址,如果查找到,则返回MAC地址;如果未查找到,则会通知所有网络中的主机。在大多数情况下,目标机器会返回它的MAC地址。
ARP请求分为两种类型:
1、请求应答(Request/Reply)模式:发送ARP请求并等待目标机器的响应,当目标机器响应后,源计算机将把目标机器的MAC地址保存在自己的ARP高速缓存中。下次通信不必再次发送ARP请求。
2、Gratuitous ARP: 不需要查询其他计算机的MAC地址,而是直接发出ARP报文,用于主动更新相邻的计算机缓存中的MAC信息。
ARP请求的过程可以简单归纳为以下几个步骤:
1、在发送数据报时,计算机检查其ARP高速缓存中是否存在适当缓存的网络地址,以查找目标机器的物理地址;
2、如果未找到适当的条目,则发送ARP请求报文(一般是广播),请求目标机器的物理地址;
3、每个计算机都会接收此消息并检查消息的目标地址是否与自己的地址匹配。
4、如果匹配,则监听ARP数据报文中的请求信息,并准备要回复;
5、目标机器如果做出响应,就将带有自己MAC地址的响应消息发送回源机器。如果目标机器未做出响应,则重复发送ARP请求。
ARP请求虽然在网络通信中显得不太起眼,但它在网络的通信过程中却扮演着至关重要的角色。理解ARP请求的原理,有助于我们更好地理解网络通信的基础原理,为网络故障的排查提供有力支持。