ARP地址解析协议在1982年的RFC-Standard 826中规定,以完成将IPv4地址解析为MAC地址。ARP对于以太网中的数据传输是必不可少的,原因有两个:一方面,IP数据包的各个数据帧只能通过硬件地址发送到所需的目标主机。

但是,Internet协议不能独立地引用这些物理地址。另一方面,由于其有限的长度,IPv4协议不提供存储设备地址的选项。ARP提供了一种ARP缓存机制的解决方案,对于较新的IPv6协议(NDP)采用相应的功能。

通过ARP解析地址时,必须始终区分目标主机的IP地址是否位于另一个子网的同一本地网络中。在这种情况下,如果要将MAC地址分配给特定地址,则首先检查子网掩码。

如果IP位于本地网络中,则第一步是检查ARP缓存中是否已存在此条目。

设置ARP消息

ARP协议使用简单的消息格式来发送请求/响应请求。虽然它最初用于IPv4和MAC地址,但理论上可以使用其他网络协议。这就是存在硬件和协议地址的类型和大小的字段的原因。例如,在标准情况下,在IPv4以太网网络中使用ARP获得224位(28字节)的长度,下图显示了其中一个信息包的组件:

ARP信息组件

ARP是如何工作的?

作为标准协议,地址解析协议支持跨平台支持,并在后台提供MAC地址解析 – 无论是Linux,Windows还是MacOS系统。此外,还有一个用于各种操作系统的同名命令行工具,它允许显示ARP缓存,以及手动添加或删除条目。有关可能性的完整概述,可以打开命令提示符或终端,然后输入命令arp(Windows)或arp-man(Linux)。

ARP协议修改是什么?

除了先前引入的标准功能之外,ARP消息包还有其他用途。例如,主机可以使用它来通知其他网络成员他们自己的MAC地址。为此,它向广播发送ARP请求,并将其自己的IP作为源地址和收件人地址输入。由于这是单独完成的,因此协议的这种修改也称为免费ARP(“未经请求的ARP”)。例如,在以下情况下,可能发生这种物理地址的自发消息:

由于它们的IP寻址,GARP消息不允许在理论中产生任何响应 – 否则,它将表明发送方使用的IP地址将被复制。如果其中一个广播联系的主机无论如何都回复了响应消息,那么它是网络管理员的错误
免费ARP允许所有主机在其自己的缓存中包含发件人的硬件地址。当该地址已经改变时,例如,由于交换了网卡,这是特别有利的。因此,修改后的ARP消息始终在计算机启动时发送
为故障保护目的而配置为备用的服务器通常共享IP地址。为了将数据流量重定向到传入服务器,后者必须将MAC地址通告给其他主机。为此,GARP消息是一个很好的选择。