主机 A 首先查找其 ARP 高速缓存内的映射表中是否有主机 B 的 IP 地址, 如果有, 则查找出其对应的硬件地址, 并将该硬件地址写入 Mac 帧, 通过局域网将该 Mac 帧发送给主机 B. 如果 ARP 高速缓存内没有主机 B 的 IP 地址, 则运行 ARP, 按以下步骤寻找主机 B 的硬件地址
1, 主机 A 首先在本局域网中广播发送一个 ARP 请求分组, 其内容可以形象描述为:"我的 IP 地址是 A, 硬件地址是 a, 我想知道 IP 地址为 B 的主机硬件地址". 本局域网中的所有运行 ARP 的主机都会收到该 ARP 请求分组.
2, 主机 B 收到该 ARP 请求分组后. 发现其中询问的 IP 地址与自己的 IP 地址一致, 则收下该分组, 并且将主机 A 的硬件地址和 IP 地址信息写入自己的 ARP 高速缓存中, 以方便以后向主机 A 发送 IP 数据报, 其他主机发现与 ARP 请求分组中询问的 IP 地址与自己收下的 IP 地址不一致, 则丢弃该分组. 主机 B 收下 ARP 分组请求分组后, 创建一个 ARP 响应分组, 并将自己的硬件地址写入该响应分组. 然后将这个分组直接发送给主机 A
3, 主机 A 收到主机 B 的 ARP 响应分组后, 将其中所携带的主机 B 的硬件地址写入 ARP 高速缓存中的地址映射表
来源: http://www.bubuko.com/infodetail-2935014.html