9. 示例 (Example)
设机器 X 和 Y 位于同一条 10Mbit 以太网电缆上. 它们的以太网地址分别为 EA(X) 和 EA(Y), DOD Internet 地址分别为 IPA(X) 和 IPA(Y). 设 Internet 的以太网类型为 ET(IP). 机器 X 刚刚启动, 迟早需要向同一电缆上的机器 Y 发送 Internet 数据包. X 知道要发送到 IPA(Y), 并告知硬件驱动程序 (此处为以太网驱动程序) IPA(Y). 驱动程序咨询地址解析模块将 <ET(IP), IPA(Y)> 转换为 48 位以太网地址, 但由于 X 刚刚启动, 它没有此信息. 它丢弃 Internet 数据包, 转而创建一个地址解析数据包, 内容如下:
(ar$hrd) = ares_hrd$Ethernet
(ar$pro) = ET(IP)
(ar$hln) = length(EA(X))
(ar$pln) = length(IPA(X))
(ar$op) = ares_op$REQUEST
(ar$sha) = EA(X)
(ar$spa) = IPA(X)
(ar$tha) = don't care
(ar$tpa) = IPA(Y)
并将此数据包广播给电缆上的所有人.
机器 Y 收到此数据包, 确认它支持该硬件类型 (Ethernet), 支持所指示的协议 (Internet), 且该数据包是发给它的 ((ar$tpa)=IPA(Y)). 它录入 (可能替换任何现有条目) <ET(IP), IPA(X)> 映射到 EA(X) 的信息. 然后它注意到这是一个请求, 于是交换字段, 将 EA(Y) 放入新的发送方以太网地址字段 (ar$sha), 将操作码设置为 reply, 并将数据包直接 (非广播) 发送到 EA(X). 此时 Y 知道如何向 X 发送, 但 X 仍不知道如何向 Y 发送.
机器 X 收到来自 Y 的回复数据包, 形成从 <ET(IP), IPA(Y)> 到 EA(Y) 的映射, 注意到数据包是回复并将其丢弃. 下次 X 的 Internet 模块尝试在以太网上向 Y 发送数据包时, 转换将成功, 数据包将 (有望) 到达. 如果 Y 的 Internet 模块随后想与 X 通信, 这也将成功, 因为 Y 已记住了 X 的地址解析请求中的信息.