616 字
3 分钟
ARP 是什么?主机如何找到目标 MAC 地址
  1. 1计算机网络学习路线与文章导读
  2. 2网络分层模型与数据封装是怎么回事
  3. 3TCP/IP 四层模型与 OSI 七层模型
  4. 4IP 地址与 CIDR 子网怎么理解
  5. 5ARP 是什么?主机如何找到目标 MAC 地址本文
  6. 6IP 路由与默认网关是如何工作的
  7. 7TCP 和 UDP 有什么区别?如何选择
  8. 8TCP 握手、挥手和丢包重传分别解决什么问题
  9. 9TCP 三次握手与四次挥手
  10. 10TCP 流量控制和拥塞控制有什么区别
  11. 11TCP 为什么可靠:流量控制、拥塞控制与局限性
  12. 12TCP 丢包、粘包和拆包是什么
  13. 13HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别
  14. 14HTTP 请求包含哪些内容
  15. 15HTTP 中 GET 和 POST 有什么区别
  16. 16HTTP 方法的安全性与幂等性怎么区分
  17. 17HTTP 状态码与网络故障如何区分排查
  18. 18常见 HTTP 状态码与网站故障排查
  19. 19HTTP 和 HTTPS 有什么区别
  20. 20谈谈对 DNS 和 CDN 的理解
  21. 21从输入网址到网页显示发生了什么
  22. 22TCP 的 TIME_WAIT 状态有什么作用
  23. 23TCP 的 CLOSE_WAIT 状态是什么,过多如何排查
  24. 24TLS 1.3 握手过程是什么
  25. 25HTTPS 如何校验证书
  26. 26HTTP 强缓存和协商缓存怎么工作
  27. 27HTTP Keep-Alive 是什么,连接如何复用
  28. 28WebSocket 和 HTTP 有什么区别
  29. 29服务端如何解析 HTTP 请求的数据
  30. 30NAT 是什么?端口映射如何实现
  31. 31ICMP、ping 和 traceroute 分别做什么
  32. 32网络故障如何分层排查
  33. 33Cookie、Session、Token 与 JWT 有什么区别
  34. 34常见的登录鉴权方式有哪些
  35. 35什么是 SYN Flood 攻击

ARP(地址解析协议)用于 IPv4 局域网中根据下一跳 IPv4 地址查询链路层地址,常见以太网场景下就是 MAC 地址。IP 负责标识网络层端点,链路层帧则需要本链路的目的 MAC,ARP 填补了这两层地址之间的映射。

发送方先检查 ARP 缓存。若没有目标映射,它会在本地链路广播 ARP 请求:“谁拥有这个 IP?”拥有该地址的设备返回 ARP 应答,发送方缓存映射并把 IP 数据包封装进发往该 MAC 的帧。缓存有老化机制,具体时间由系统实现和配置决定。

关键点是:若目标 IP 不在本机子网,主机不会解析远端服务器的 MAC,而是解析默认网关接口的 MAC,把 IP 包交给网关转发。每个路由跳点都重新使用本链路的二层地址;端到端 IP 地址通常保持不变(NAT 等会改写的情况除外)。ARP 只在本地广播域工作,不会被路由器当普通广播转发。

ARP 解析异常时,可同时检查本机地址规划、VLAN、网关可达性和邻居缓存。操作系统会把 IPv4 邻居映射展示为 ARP/neighbor 表;清理缓存可能触发重新解析,但如果根因是交换网络隔离或重复 IP,清缓存只会暂时改变现象。代理 ARP 等网络配置会让设备代替其他地址应答,因此实际观测也要结合网关策略理解。

常见追问#

ARP 请求为什么通常是广播?#

发送方尚不知道目标 MAC,无法定向发送帧,因此在当前链路广播询问。目标主机收到后可单播回复。

访问外网时 ARP 查询谁?#

通常查询默认网关在本地链路上的 MAC,而不是公网服务器的 MAC。路由器之后再为下一跳做相应的二层封装。

ARP 缓存有什么作用?#

避免每个 IP 包都重新广播查询,减少链路开销。映射会过期或更新,避免长期保留失效信息。

ARP 有什么安全风险?#

传统 ARP 缺少强认证,局域网攻击者可能伪造应答造成错误映射(ARP 欺骗)。交换网络隔离、动态 ARP 检查等措施可缓解,但依部署环境而定。

ARP 是什么?主机如何找到目标 MAC 地址
https://blog.xqcherry.top/posts/interview/network/arp-address-resolution/
作者
xqcherry
发布于
2026-10-12
许可协议
CC BY-NC-SA 4.0