一个在同一条链路上呼叫、以寻找地址归属的协议。

ARP 把 IP 地址绑定到网卡

IPv4 转发选出了下一跳,但以太网仍然需要目的 MAC 地址。地址解析协议(ARP)向本地链路询问哪个网卡拥有某个 IPv4 地址,然后把答案缓存为邻居条目。这种映射是学来的而非永久配置,所以会老化,会在网卡迁移后刷新,也可能被同一广播域里的另一台主机伪造。 在本地链路上发问 假设主机要向直连网络中的 192.0.2.20 发送数据。它广播一条 ARP 请求,带上自己的 IP/MAC,并询问谁拥有目标 IP。属主用单播应答自己的硬件地址。发送方随后才能组装以太网帧;跨路由器通信时,每条链路只解析自己的下一跳,不会去解析远端最终主机的地址。 这个请求很小,而且只在本地发生。它不是 DNS 查询,也不会穿过路由器。请求尚未完成时,条目可能是 incomplete;近期流量确认可达时是 reachable;计时器到期后变成 stale;解析失败则可能进入 failed。Linux 用 ip neigh 展示这些状态,较旧的 arp(8) 只呈现更简单的地址到硬件映射。计时器和状态转换取决于内核与网卡策略,不能把“默认 60 秒”当成所有系统的承诺。 网卡是答案的一部分 同一个 IPv4 地址可以出现在不同链路,所以 ARP 记录必须和设备一起理解。ip neigh show dev eth0 只询问一张网卡;arp -an 也把接口列在每条映射旁边。虚拟机迁移或更换网卡后,邻居可能还缓存着旧 MAC。免费 ARP 通告能让邻居更快更新,但它仍是没有签名的声明,在敏感网络上应当监控而不能盲信。 ...

十一月 15, 2026 · 2 分钟 · XB Field Notes