地址解析协议 (ARP)

2025年3月17日 | 阅读 3 分钟

ARP代表地址解析协议,用于根据设备的已知IP地址查找其MAC地址。这意味着源设备已经知道目标设备的IP地址,但不知道其MAC地址。MAC地址是必需的,因为在本地网络(以太网)中,如果没有MAC地址,您将无法与设备进行通信。因此,地址解析协议有助于获取目标设备的MAC地址。

Address Resolution Protocol (ARP)

场景 1:数据包丢失或出错时。

ARP的目的是将32位逻辑地址(IPv4地址)转换为48位物理地址(MAC地址)。该协议在OSI模型的第2层和第3层之间工作。MAC地址位于第2层,也称为数据链路层,IP地址位于第3层,该层也称为网络层。

注意:仅当源设备和目标设备都位于同一网络中时,才会生成ARP请求。

示例:假设有两个设备(设备A和设备B)要互相通信。设备A已经知道设备B的IP地址。但是,为了与设备B通信,设备A仍然需要设备B的MAC地址。IP地址用于定位本地网络上的设备,而MAC地址用于标识实际设备。设备A首先查看其内部列表,称为ARP缓存(表),以检查设备B的IP地址是否已包含其MAC地址。如果ARP包含设备B的MAC地址,则设备A直接使用该MAC地址并开始通信。

如果表中不包含设备B的MAC地址,则设备A会在网络上发送一个ARP广播消息,以查找哪个设备拥有该特定IP地址,并询问该特定设备的MAC地址。然后,拥有与源地址匹配的IP地址的设备会发送一个ARP响应消息,该消息包含设备B的MAC地址。当设备A获取设备B的MAC地址后,它会将信息存储在ARP缓存(表)中。ARP缓存用于提高网络效率。它存储设备的IP地址及其MAC地址。当设备A想要在网络上与设备B通信时,存储的信息将被使用,而无需再次在网络上广播消息。它将直接检查ARP缓存中的条目,然后用于通信。

注意:ARP请求消息是广播性质的,而ARP响应消息是单播的。

ARP中的映射类型

有两种不同的方法可以将IP地址映射到MAC地址,如下所示:

  • 静态映射
  • 动态映射

静态映射 - 在静态映射中,一个表包含目标设备的逻辑地址和相应的物理地址。在这种情况下,设备的IP和MAC地址是手动输入到ARP表中的。如果源设备想要与目标设备通信,它必须首先访问该表。

动态映射 - 在动态映射中,如果一个设备知道另一个设备的逻辑地址,那么通过使用地址解析协议,该设备也将找到该设备的物理地址。当源设备发送ARP广播请求时,动态条目会自动创建。这些条目不是永久性的,会定期清除。

注意:反向地址解析协议也使用动态映射。