1、概述
ARP,即地址解析协议(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个 TCP/IP 协议,报文位于以太网帧的数据段内。网络设备给另一台设备发送数据时,需要知道对方的网络层地址(IP 地址),但是仅有 IP 地址是无法发送数据的,IP 报文需要封装为以太网帧才能通过数据链路层发送,而以太网帧需要知道对方的 MAC 地址,因此发送端需要知道目的 MAC 地址。ARP 命令可用于查询本机 ARP 缓存中 IP 地址和 MAC 地址的对应关系。
2、ARP 协议详解
主机发送信息时将包含目标 IP 地址的 ARP 请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回 ARP 应答后将该 IP 地址和物理地址存入本机 ARP 缓存中并保留一定时间,下次请求时直接查询 ARP 缓存以节约资源。
例如,主机 A (192.168.1.5)向主机 B (192.168.1.1)发送数据时,主机 A 会在自己的 ARP 缓存表中查找是否有目标 IP 地址。如果找到了,也就确定了目的 MAC 地址,直接把目的 MAC 地址写到以太网帧里发送;如果在 ARP 缓存表里没有找到对应的 IP 地址,主机 A 会在网络上发送一个 ARP 请求,目的 IP 地址为 192.168.1.1,目的 MAC 地址是 FF-FF-FF-FF-FF-FF,表示向同一网段内的所有主