创建帧

节点需要创建帧而 ARP 缓存中又没有 IP 地址到目的 MAC 地址的映射时,将如何操作? 它将生成 ARP 请求!

当 ARP 收到将 IPv4 地址映射到 MAC 地址的请求时,它会在其 ARP 表中查找缓存的映射。 如果没有找到所需的条目,IPv4 数据包的封装就会失败,第 2 层进程将告知 ARP 需要映射。 ARP 进程然后发出 ARP 请求数据包,查找本地网络上目的设备的 MAC 地址。 如果收到请求的设备具有该目的 IP 地址,就会以 ARP 回复响应。 这样 ARP 表中即会创建一个映射。 该 IPv4 地址的数据包现在便可封装在帧中。

如果没有设备响应 ARP 请求,就无法创建帧,所以会丢弃数据包。 此封装失败将会报告给设备的上层。 如果该设备是中间设备(如路由器),上层可能会选择以 ICMPv4 数据包中有错误来响应源主机。

请参阅图 1-5,查看获取本地物理网络中节点的 MAC 地址的过程。