ARP(地址解析协议)工作原理

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

大多数情况下,计算机程序使用IP地址(逻辑地址)来发送或接收消息,因此实际通信是通过物理地址(MAC地址)进行的。所以我们的目标是找到目标设备的MAC地址,以便与其他设备通信。在这种情况下,ARP就被需要了,因为它将IP地址转换为物理地址。

ARP工作原理

  • 在网络层,当源设备想要与目标设备通信时。首先,源设备需要找出目标设备的MAC地址(物理地址)。为此,源设备会检查ARP缓存和ARP表,看是否存在目标设备的MAC地址。如果目标设备的MAC地址存在于ARP缓存或ARP表中,那么源设备将使用该MAC地址进行通信。
  • 如果目标设备的MAC地址不在ARP缓存或ARP表中,那么源设备会生成一个ARP请求消息。ARP请求消息包含源设备的MAC地址和IP地址。它还包含目标设备的IP地址和MAC地址。目标设备的MAC地址留空,因为用户请求的是这个。
  • ARP请求消息将被源计算机广播到本地网络。LAN网络中的所有设备都会收到广播消息。现在,每个设备都会将其自己的IP地址与目标设备的IP地址进行比较。如果设备IP地址与目标IP地址匹配,那么该设备将发送一个ARP回复消息。如果设备IP地址与目标IP地址不匹配,那么该设备将自动丢弃该数据包。
  • 当目标地址与设备匹配时,目标设备会发送一个ARP回复数据包。该ARP回复数据包包含设备的MAC地址。目标设备会自动更新表并存储源设备的MAC地址,因为这个地址将用于从源设备进行的通信。
  • 现在,源设备充当目标设备的接收方,目标设备发送ARP回复消息。
  • ARP回复消息是单播的,而不是广播的。这是因为发送ARP回复消息的设备(目标设备)知道ARP回复消息要发送到的目标设备(源设备)的MAC地址。
  • 当源设备收到ARP回复消息时,它就会知道目标设备的MAC地址,因为ARP回复数据包包含了目标设备的MAC地址以及其他地址。源设备将在ARP缓存中更新目标设备的MAC地址。现在,发送方能够直接与目标设备通信。

使用ARP的优点

  • 如果我们知道设备的IP地址,我们可以轻松找出该设备的MAC地址。
  • MAC地址无需为终端节点配置地址。我们可以在需要时找到它。

使用ARP的缺点

  • 可能会发生ARP攻击,例如ARP欺骗和ARP拒绝服务。

下一主题计算机网络