地址解析协议(ARP):什么是报头?
什么是 ARP?
地址解析协议(ARP)是OSI模型中网络层的重要协议,它有助于查找目标地址。 MAC(媒体访问控制)地址 从设备中取出 IP地址ARP 的主要任务是将 32 位 IP 地址(对于 IPv4)转换为 48 位 MAC 地址。
它主要用于本地网络上的设备之间通信。ARP 的全称是地址解析协议(Address Resolution Protocol)。
地址解析协议(ARP)如何工作?
IPv4网络中的每个操作系统都维护着一个ARP缓存。当一台主机需要向局域网内的另一台主机发送数据包时,它首先会检查其ARP缓存,查看MAC地址转换映射是否已存在。如果映射不存在,则不会执行此操作。ping 如果 MAC 地址存在,主机将重用该地址;如果不存在,主机将广播 ARP 请求以发现 MAC 地址。
下图展示了主机如何解析地址,并将数据包通过中间路由器转发,直至到达目的地:
考虑以下示例:
- 当主机 P 上的应用程序向主机 U 发送消息时,主机 P 解析主机 U 的协议地址。
- 如果 P 无法直接解析主机 U 的协议地址,则通过 T1 和 T2 路由,利用网络层将数据包传递给 U。
- 主机P解析T1硬件地址。
- 主机 P 上的网络层将包含 U 的目标协议地址的数据包传递给 T1 进行交付。
- T1 将数据包传递给 T2,T2 再将数据包转发给主机 U。
重要的 ARP 术语
以下是与地址解析协议相关的重要术语:
- ARP 缓存: ARP 解析出 MAC 地址后,会将其存储在表(缓存)中以供将来参考,这样后续通信就可以重用该 MAC 地址而无需再次广播。
- ARP 缓存超时: 这是已解析的 MAC 地址在被删除之前可以在 ARP 缓存中停留的时间。
- ARP 请求: 通过网络广播的数据包,用于检查发送方能否找到给定 IP 地址对应的目标 MAC 地址。
- ARP 响应/回复: MAC 地址回复是源端从目标端收到的信息,有助于进一步的数据通信。
地址解析方法
协议地址与硬件地址之间的关联称为绑定。实现此目的有三种技术:
- 表格查找: 绑定信息以协议地址为键存储在内存中。数据链路层检查协议地址以找到对应的硬件地址。
- 动态: 这种消息传递方法用于“即时”解析。数据链路层发送硬件地址请求消息,目标层做出响应。
- 闭式计算: 在这种方法中,协议地址基于硬件地址,因此数据链路层可以直接从协议地址推导出硬件地址。
ARP 的类型
以下是四种地址解析协议:
- 代理 ARP
- 免费 ARP
- Reverse ARP(RARP)
- 逆向 ARP (InARP)
下图概括了四种 ARP 类型,之后我们将逐一详细介绍:
代理 ARP
在代理ARP方法中,三层设备可以代表另一台主机响应ARP请求。配置好的路由器会响应目标IP地址,并将自身的MAC地址映射到该目标IP地址,从而使发送方的流量通过路由器到达预期目的地。
免费 ARP
免费ARP是主机向网络发送的请求,请求获取自身的IP地址。它有助于识别重复的IP地址。当路由器或交换机广播免费ARP请求获取自身的IP地址且未收到回复时,则表明没有其他节点正在使用分配给该设备的IP地址。
Reverse ARP(RARP)
Reverse ARP(也称为 RARP)是一种网络协议,局域网中的客户端系统使用它从 ARP 路由器表中请求自己的 IPv4 地址。网络管理员通常会在网关路由器中创建一个表,将每个 MAC 地址映射到特定的 IP 地址。
逆向 ARP (InARP)
反向ARP(InARP)用于根据节点的数据链路层地址查找其IP地址。InARP广泛应用于ATM网络和帧中继网络,在这些网络中,第2层虚电路寻址是通过第2层信令获取的。
ARP 报头
ARP 报头包含请求和应答用于携带寻址信息的字段。下图显示了 ARP 报头的结构:
- 硬件类型: 对于以太网,其值为 1。
- 协议类型: 它是网络层使用的协议。
- 硬件地址长度: 它是以字节为单位的长度,因此以太网的长度为 6。
- 协议地址长度: 它的值为 4 字节。
- OperaTION Code: 它指示数据包是 ARP 请求 (1) 还是 ARP 响应 (2)。
- 发件人硬件地址: 这是源节点的硬件地址。
- 发送方协议地址: 这是源节点的三层地址。
- Target 硬件地址: 它用于 RARP 请求;响应则包含目标硬件地址和第 3 层地址。
- Target 协议地址: 它用于 ARP 请求中;响应同时包含第 3 层地址和目标硬件地址。
使用 ARP 的优点
以下是使用ARP的优点和好处:
- 如果知道系统的 IP 地址,就可以使用 ARP 协议轻松发现其 MAC 地址。
- 终端节点无需手动配置即可“识别” MAC 地址;需要时可以自动查找。
- ARP允许网络上的每个主机构建映射表。ping IP 地址和物理(MAC)地址之间的关系。
- 地图集ping存储在主机中的 ARP 表或 ARP 缓存。




