网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

地址解析协议 – ARP

更新时间:2026年03月27日   作者:spoto   标签(Tag):

ARP(地址解析协议)的作用是将IPv4地址映射到本地网络中的相应MAC地址,从而确保数据包能够被准确传输到正确的设备。

  • 将IP地址转换为MAC地址,以便进行本地通信。
  • 仅能在同一广播域内运行(即局域网内)。
  • 直接作用于以太网等链路层技术。
  • 对于将帧数据正确传输到相关设备来说,这一点非常重要。

重要的ARP术语

ARP缓存

  • 这是由某个设备所维护的临时存储表。
  • 这些存储设备最近已经解决了IP地址与MAC地址之间的映射问题。
  • 通过避免重复的ARP请求,从而减少了网络上的开销。

ARP缓存超时

  • 条目在ARP缓存中有效的持续时间。
  • 在有效期结束后,该条目会被删除,以避免使用已过期的映射信息。

ARP请求

  • 这是一条广播消息,它会被发送到本地网络中的所有设备。
  • 提问:“这个IP地址属于谁?”
  • 当某个IP地址的MAC地址不在ARP缓存中时,就会使用此语句。

ARP回复/响应

  • 这是由拥有所请求IP地址的设备发送的单播消息。
  • 包含相应的MAC地址。
  • 允许发送方更新其ARP缓存,从而继续进行数据传输。

ARP的类型

ARP主要有四种类型,每种类型适用于不同的场景。

代理ARP

Proxy ARP允许网络设备(通常是路由器)代表位于不同网络段上的另一台主机来响应ARP请求。

  • 当主机向本地子网之外的IP地址发送ARP请求时,路由器会回复自己的MAC地址,而不是目标主机的MAC地址。
  • 发送主机认为目的地位于同一局域网内,因此将帧转发给路由器。
  • 然后,路由器会将数据包转发到实际的目的地。
  • Proxy ARP在隐藏网络拓扑结构、支持旧式主机,以及在不修改主机配置的情况下连接不同子网方面非常有用。
  • 过度使用Proxy ARP会增加ARP流量,从而让网络故障排除变得更加复杂。

2. 免费的ARP协议

免费的ARP消息,是由某个设备发送的,用于宣告或验证其自身的IP地址与MAC地址之间的映射关系。

  • 即使没有任何设备请求该地址,主机仍然会广播自己的IP地址对应的ARP请求或响应。
  • 它通常被用来检测网络中的重复IP地址。
  • 当设备的MAC地址发生变化时(例如,更换了网络接口卡之后),该功能可以帮助更新其他主机的ARP缓存信息。
  • 交换机使用“免费ARP”技术来更新其MAC地址表。
  • 这种机制通常在系统启动过程中、IP地址重新分配时,或者在高可用性系统中实现故障转移的场景中被使用。

3. 反向ARP(RARP)

反向地址解析协议(RARP)使得设备能够在仅知道其物理MAC地址的情况下,获取自己的IP地址。

  • 该设备会在本地网络中广播一个包含其MAC地址的RARP请求。
  • RARP服务器会检查其数据库,然后返回相应的IP地址作为回复。
  • 在系统启动过程中,RARP主要被无磁盘的工作站所使用,用于获取网络配置信息。
  • 这需要在同一局域网内有一个专门的RARP服务器来提供相应的服务。
  • RARP已经不再被使用,取而代之的是一些更高效且可扩展的协议,比如BOOTP和DHCP。

4. 反向ARP(InARP)

逆向地址解析协议(InARP)用于在已知远程设备的数据链路层地址时,确定该设备的IP地址。

  • 与标准的ARP不同,InARP在那些使用特定网络协议的网络中运行。虚拟电路而不是通过广播方式进行通信。
  • 这种技术通常应用于帧中继和ATM网络中。
  • 该设备通过已经建立的虚拟电路发送InARP请求。
  • 远程设备会将其IP地址作为响应返回。
  • InARP支持在非广播多访问网络环境中实现动态IP地址的发现。

ARP是如何工作的?

ARP的工作原理可以按照以下步骤来解释:

ARP协议

ARP缓存查询

  • 发送方首先会检查自己的ARP缓存中是否存在与目标IP地址相对应的记录。
  • 如果找到了有效的条目,那么MAC地址就会立即被使用,数据传输也会随之开始。

ARP请求广播

  • 如果不存在缓存条目,那么发送方就会生成一份ARP请求。
  • 该请求会被广播到本地网络中的所有设备上。

主机对请求的处理

  • 局域网上的每台设备都会接收到该ARP请求。
  • 每个设备都会将请求的IP地址与自己拥有的IP地址进行比较。

ARP回复传输

  • 那个IP地址与请求相匹配的设备会发送一个ARP响应。
  • 该回复以单播消息的形式发送,其中包含了设备的MAC地址。

ARP缓存更新

  • 在收到回复后,发送方会将IP与MAC的映射信息存储在其ARP缓存中。
  • 这个缓存中的条目会被用于后续的通信,直到其过期为止。

ARP消息格式

ARP消息由几个字段组成:

ARP消息的格式

硬件类型 (HTYPE) – 2个字节

  • 能够识别数据链路层所使用的硬件类型。
  • 对于以太网来说,该数值为1。

协议类型 (PTYPE) – 2个字节

  • 指定了正在解析地址的网络层协议。
  • 对于IPv4地址来说,其值为0x0800。

硬件地址长度(HLEN)– 1字节

  • 表示硬件地址(MAC地址)的长度。
  • 对于以太网MAC地址来说,其长度为6个字节。

协议地址长度(PLEN)– 1字节

  • 表示协议(IP地址)的长度。
  • 对于IPv4地址来说,其长度为4个字节。

操作码(OPER)——2个字节

  • 定义了ARP操作的类型。
  • 价值1表示一个ARP请求,以及其对应的数值。2表示ARP回复。

发送方硬件地址(SHA)

  • 包含发送ARP消息的设备的MAC地址。

发送方协议地址 (Sender Protocol Address, SPA)

  • 包含发送ARP消息的设备的IP地址。

目标硬件地址(Target Hardware Address)

  • 包含目标设备的MAC地址。
  • 在 ARP 请求中,该字段的值为未知,因此被设置为零。而在 ARP 回复中,该字段则会被填充上相应的值。

目标协议地址(TPA)

  • 包含目标设备的IP地址,该设备的MAC地址正在被解析中。

优点/优势

  • ARP能够自动将IP地址转换为MAC地址,而无需进行手动配置。
  • 它能够在局域网中实现无缝通信,能够快速找到目标硬件的地址。
  • ARP是在后台运行的,不需要用户的干预或应用程序的协助。
  • 它支持多种ARP变体,例如Proxy ARP、Gratuitous ARP、Reverse ARP和Inverse ARP等,从而满足不同的网络需求。
  • 通过将解析后的地址存储在ARP缓存中,ARP能够减少重复广播的次数,从而提升整个网络的性能。
  • ARP在基于IPv4的网络中被广泛支持,并且可以与诸如以太网这样的常见链路层技术无缝协作。
  • ARP能够自动适应IP-MAC映射的变化,从而确保即使在网络配置发生变化的情况下,通信也能继续顺利进行。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料