首页/网络/协议速查/ARP 地址解析协议

ARP 地址解析协议

IPv4 中把 IP 地址解析成 MAC 地址:请求方广播询问、目标单播应答,结果缓存进 ARP 表;IPv6 对应功能由 NDP 承担。

协议速查网络更新于 2026-10-13

ARP 是什么

ARP 负责把 IPv4 地址解析成 MAC 地址:同一个二层网段内,主机发广播问「谁是这个 IP」,目标主机用单播应答自己的 MAC,双方把结果缓存进 ARP 表。它是无认证的协议——谁应答就信谁,这既让网络接入足够简单,也带来了 ARP 欺骗与中间人劫持的风险。IPv6 下对应功能由邻居发现(NDP)承担。

基本信息

作用IPv4 地址到 MAC 地址的解析
报文类型ARP Request 广播、ARP Reply 单播、Gratuitous ARP 广播
缓存ARP 表带老化时间,内核自动清理过期项
规范RFC 826、RFC 5227(地址冲突检测)
查看命令ip neigh show、arp -an
IPv6 对应NDP 的 NS/NA 报文

典型使用场景

  • 排查同网段不通:先看 ARP 表里目标是否有正确条目
  • 定位 IP 冲突:两台主机声称同一 IP,ARP 表项会不断变化
  • 高可用切换:用免费 ARP 让交换机与邻居更新到新主机的 MAC
  • 安全加固:接入层启用动态 ARP 检测与端口安全防欺骗
  • 清理异常表项:重置网络或迁移虚拟机后清空陈旧缓存

查看与管理

查看与管理
ip neigh show                        # 现代命令,显示状态与老化信息
arp -an                              # 传统命令,兼容性好
ip neigh show dev eth0 | grep -i failed   # 查看解析失败的表项
ip neigh flush dev eth0              # 清空该网卡的 ARP 缓存
# 免费 ARP:高可用切换或 IP 迁移后立即通告新 MAC
arping -U -c 3 -I eth0 10.0.0.10
# 观察 ARP 交互
tcpdump -nn -i eth0 arp -c 20

报文与含义

报文方向说明
ARP Request广播询问某个 IP 对应哪个 MAC
ARP Reply单播回答自己的 MAC 地址,写入对方的 ARP 表
Gratuitous ARP广播主动声明映射关系,用于 IP 迁移与冲突检测
ARP 表项 REACHABLE本地记录解析正常,可正常通信
ARP 表项 FAILED/INCOMPLETE本地记录解析未得到应答,通常意味着目标不在线或二层不通
跨网段通信时,本机 ARP 表里出现的是网关的 MAC,而不是目标主机的 MAC——这是正常的。想确认远端主机是否在线,应看路由与三层可达性,而不是去 ARP 表里找它。
ARP 无认证,攻击者可伪造应答把流量引到自己机器上做中间人。接入层可启用动态 ARP 检测(DAI)、IP-MAC 绑定与端口安全;关键设备之间也可以配置静态 ARP 绑定,代价是灵活性下降。

易错点

  • 跨网段通信却在 ARP 表里找不到目标主机,就断定网络故障:实际看到的是网关 MAC,属于正常现象
  • IP 冲突时只重启网络不排查:表项在两个 MAC 之间反复变化本身就是冲突信号,需要定位冲突源
  • 虚拟机或容器迁移后没有发送免费 ARP,交换机仍在旧端口转发,出现持续性丢包
  • ARP 缓存老化时间设得过长:故障切换后仍指向旧 MAC,恢复时间被显著拉长

数据来源与参考

  • RFC 826(ARP)
  • RFC 5227(IPv4 地址冲突检测)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌