ARP(Address Resolution Protocol,地址解析协议)用于将 IP 地址解析为 MAC 地址(物理地址)。在网络层,数据包使用 IP 地址进行逻辑寻址;但在数据链路层,实际传输需要 MAC 地址。ARP 协议就是连接这两层地址的关键桥梁,工作在网络层,但为数据链路层服务。
ARP 的工作过程:当主机知道目的 IP 地址但不知道对应 MAC 地址时,广播发送 ARP 请求报文(目标 MAC 地址为全 F),询问"谁拥有这个 IP 地址?"。同一局域网内的所有主机都会收到该请求,但只有 IP 地址匹配的主机单播回复 ARP 响应报文,告知自己的 MAC 地址。请求方收到响应后将 IP-MAC 映射存入 ARP 缓存表,后续通信直接查表,避免重复广播。
ARP 只在同一个局域网(广播域)内使用。如果目的主机在不同网络,ARP 解析的是默认网关(路由器)的 MAC 地址,而不是目的主机的 MAC 地址。路由器收到数据包后,会用自己的 ARP 解析下一跳的 MAC 地址,逐跳转发。
| 概念 | 定义 |
|---|---|
| ARP 请求 | 广播报文,询问某个 IP 地址对应的 MAC 地址 |
| ARP 响应 | 单播报文,告知请求方自己的 IP-MAC 映射 |
| ARP 缓存表 | 存储最近解析过的 IP-MAC 映射,有生存时间(TTL) |
| 代理 ARP | 路由器代替目的主机回复 ARP 请求的情况 |
| 免费 ARP | 主机广播自己的 IP-MAC 映射,用于检测 IP 冲突或更新其他主机的缓存 |
| RARP | 反向地址解析协议,将 MAC 地址解析为 IP 地址(已基本淘汰) |
| 广播域 | 能收到广播帧的网络范围,通常由路由器隔离 |
| 考点 | 说明 |
|---|---|
| ARP 工作过程 | 描述完整的 ARP 请求和响应过程 |
| ARP 缓存表的作用 | 为什么需要缓存,缓存的更新机制 |
| 跨网络的 ARP 解析 | 不同网络中 ARP 解析的是网关 MAC 而非目的主机 MAC |
| ARP 协议的位置 | 工作在网络层,但为数据链路层提供服务 |
| 代理 ARP 的工作原理 | 路由器如何代替远端主机回复 ARP |
| ARP 欺骗攻击原理 | 攻击者伪造 ARP 响应,将自己的 MAC 与他人 IP 绑定 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。