在讲具体类型前,我们先用一张“脑补图”把 ARP 的位置定清楚。
ARP 的位置
ARP 的工作,就是在“IP 世界”和“MAC 世界”之间做翻译。
没有 ARP,IP 地址就只是个“逻辑标签”,没法真正发到网线上。
标准 ARP 的完整流程
我们先用一张最经典的 ARP 通信图,把基础打牢。
ARP 通信图
场景假设
- 主机 A:
- IP:192.168.1.10
- MAC:AA-AA-AA-AA-AA-AA
- 主机 B:
- IP:192.168.1.20
- MAC:BB-BB-BB-BB-BB-BB
- 同一局域网
ARP 请求(广播)
特点:
- 二层广播
- 所有设备都能收到
- 只有目标 IP 才会回应
ARP 响应(单播)
ARP 表缓存
之后的数据通信:
不再广播,直接封装 MAC 发包
这就是我们日常所说的 “ARP”。
标准 ARP 解决的是:
同一网段,IP → MAC
但真实网络中会遇到更多问题:
- 跨网段但设备“不知道路由器”
- IP 切换、虚拟 IP、主备漂移
- 设备只有 MAC,没有 IP
- 特殊二层网络(ATM、frame Relay)
于是,就有了 四种 ARP 形态。
Proxy ARP
Proxy ARP 要解决什么问题?
主机以为目标在本地,其实在别的网段。
Proxy ARP 场景
主机 A 没有配置网关,直接认为:
“192.168.2.20 也是本地的?”
Proxy ARP 工作过程
Proxy ARP 的特点
- 路由器“替别人答话”
- 源主机以为目标在本地
- 实际走的是三层转发
现代网络中一般不推荐开启,更多是历史兼容方案。
Gratuitous ARP
什么是 Gratuitous ARP?
主机主动广播“这是我的 IP 和 MAC”。
不是问别人,而是告诉全网。
Gratuitous ARP 广播
Gratuitous ARP 常见用途 IP 冲突检测
更新交换机 / 主机 ARP 表
- 虚拟机迁移
- 网卡更换
- 容器漂移
高可用切换核心机制
没有 Gratuitous ARP:
主备切换 ≠ 真正可用
RARP
RARP 解决的历史问题
早期设备:
- 没硬盘
- 没配置
- 只知道 MAC
RARP 工作流程
为什么 RARP 不用了?
- 功能单一
- 无法下发参数
- 需要专用服务器
被 BOOTP / DHCP 全面取代。
Inverse ARP
Inverse ARP 是干嘛的?
已知二层连接,反查对端 IP。
InARP 场景(ATM / frame Relay)
为什么你几乎没见过?
因为在以太网中:
- DHCP
- ARP
- IPv6 ND
已经完全覆盖需求。
