ARP介绍
一、ARP定义
ARP(地址解析协议)是网络层与数据链路层的 “桥梁”,核心作用是解决 “IP 地址(逻辑地址)如何找到 MAC 地址(物理地址)” 的问题 —— 因以太网通信必须依赖 MAC 地址,而上层协议(如 IP)仅使用 IP 地址,需通过 ARP 完成两者的映射转换,仅在局域网(LAN)内生效。
二、ARP 工作原理
1. 前置条件:ARP 缓存表的 “优先查询” 机制
本地 ARP 缓存表:
- 设备本地会维护一张 “IP 地址→MAC 地址” 的缓存表(含超时时间,通常 10 分钟),记录近期解析过的映射关系;
- 通信前先查询缓存:若有目标 IP 的有效 MAC,直接使用(无需发送请求,提升效率);若缓存无记录或已超时,才触发后续 “ARP 请求 - 响应” 流程。
2. ARP 请求:广播包报文
- 报文类型:以太网帧类型字段为0x0806(标识此帧是 ARP 报文);
- 广播范围:目的 MAC 地址为FF:FF:FF:FF:FF:FF(局域网全广播,所有设备都会接收);
- 请求内容:报文中包含 “发送方 IP+MAC”“目标 IP(待解析)+ 目标 MAC(暂填 00:00:00:00:00:00)”,本质是 “公开询问:拥有 [目标 IP] 的设备,请告诉我你的 MAC 地址”。
3. ARP 响应:单播包回复
- 触发条件:仅当设备检测到 ARP 请求中的 “目标 IP” 与自身 IP 一致时,才会回复;
- 单播特性:目的 MAC 地址为 “发送 ARP 请求的设备 MAC”(非广播,仅请求方接收,避免网络冗余);
- 响应内容:报文中补充 “自身 MAC 地址”,告知请求方 “[目标 IP] 对应的 MAC 是 [自身 MAC]”。
4. 缓存更新与通信启动
- 请求方收到响应后,会将 “目标 IP→MAC” 映射存入 ARP 缓存表(更新超时时间);
- 后续通信时,直接从缓存读取 MAC,封装以太网帧发送,完成正常数据传输。