5. ARP/RARP协议
5.1 ARP协议(地址解析协议 Address Resolution Protocol)
5.1.1 协议作用
ARP属于TCP/IP体系网络层协议,核心功能:根据已知IP地址,查询对应设备MAC物理地址。
- 通信机制:发送ARP广播请求,全网询问目标IP对应的MAC;匹配主机单播回复自身MAC。
- ARP缓存:本机维护IP-MAC映射缓存表,缓存存在生命周期,复用缓存可减少广播、节约网络资源。
- 配套命令:系统提供ARP命令,支持查看缓存、手动添加/删除静态IP-MAC映射。
5.1.2 安全缺陷:ARP欺骗
ARP协议设计默认局域网主机互相信任,设备收到ARP应答报文不会校验报文真实性,会直接写入本地缓存。
攻击者可伪造虚假ARP应答包,篡改主机缓存映射,将目标IP指向攻击者MAC,导致数据转发至错误设备,实现中间人劫持、断网攻击。
5.1.3 ARP完整工作流程举例
环境参数:
- 主机A:IP
192.168.1.1,MAC0A-11-22-33-44-01 - 主机B:IP
192.168.1.2,MAC0A-11-22-33-44-02
A需要向B发起通信,解析流程共5步:
- 主机A查询路由表,确认目标IP为
192.168.1.2;检索本地ARP缓存,无该IP对应的MAC记录。 - 主机A发送广播ARP请求帧,携带自身IP、MAC、目标IP;局域网所有主机接收报文,比对目标IP,不匹配则直接丢弃。
- 主机B识别请求IP与自身一致,先把主机A的IP-MAC映射存入本地ARP缓存。
- 主机B构造ARP回复报文,携带自身MAC地址,单播发送回主机A。
- 主机A收到应答,更新ARP缓存保存B的IP-MAC映射;缓存超时后会重新发起ARP查询,此后即可正常向B发送IP数据包。
5.2 RARP协议(逆地址解析协议 Reverse Address Resolution Protocol)
5.2.1 协议作用
功能与ARP完全相反:已知本机MAC地址,反向查询对应的IP地址。
典型场景:无盘工作站、瘦终端开机仅拥有MAC地址,无预设IP,依靠RARP服务器分配IP。
5.2.2 RARP工作流程
- 终端在局域网发送RARP广播请求,报文中携带自身MAC地址,向全网RARP服务器申请分配IP。
- 网段内RARP服务器接收请求,检索本地预配置的MAC-IP映射表。
- 若存在匹配记录,服务器单播发送响应报文,将对应IP下发给请求主机。
- 若无匹配MAC记录,服务器不返回任何响应。
5.3 ARP与RARP核心对比
| 对比项 | ARP | RARP |
|---|---|---|
| 解析方向 | IP地址 → MAC地址 | MAC地址 → IP地址 |
| 依赖服务 | 无需专用服务器,主机点对点交互 | 必须部署RARP服务器 |
| 应用场景 | 日常局域网设备互访、网关通信 | 老式无盘终端开机获取IP(现已被DHCP替代) |
| 报文发送 | 请求广播,应答单播 | 请求广播,应答单播 |

