首先, 每个主机会在自己的ARP缓冲区简历一个ARP列表,以表示IP地址和MAC地址之间的 对应关系。

当源主机要发送数据时,首先检查自己的ARP列表中是否有对应的目的主机的MAC地址,如果 有就直接发送数据,如果没有,就向本网段的所有的主机发送ARP数据包, 该数据包括的内容 由:源主机IP地址,源主机的MAC地址,目的主机的IP地址

当本网络的所有主机收到ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如 果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP 列表中,如果已经存在,则覆盖,然后将自己的MAC地址中放入到ARP响应包中,告诉源主机 自己是它想找的MAC地址。

源主机接收到ARP响应包后,将目的主机的IP和MAC地址写入到ARP列表,并利用此消息发送 数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

广播发送ARP请求,单播发送ARP响应。