地址解析协议 —ARP

时间:2024-08-02
新悦网络

编辑:

什么是 ARP?
地址解析协议 (ARP) 是一种通信协议,用于发现与 Internet 层地址(第 3 层地址,如 IPv4 地址)相关联的数据链路层地址(第 2 层地址,如媒体访问控制 (MAC) 地址)。ARP 于 1982 年由 RFC 826 定义。

 

ARP 是一种请求-响应或请求-回复协议,其中一个设备向另一个设备发送请求以询问一些信息,另一个设备将回复所需的信息。这是一种消息交换模式。ARP 数据包由链路层封装,仅在特定网络中分发。因此,ARP 被称为链路层协议。

 

数据包结构
地址解析协议使用简单的消息格式,其中包含一个地址解析请求或响应。​​ARP 消息的大小取决于链路层和网络层地址的大小。消息头指定了每层使用的网络类型以及每层地址的大小。消息头以请求和答复的操作代码结束。数据包的有效负载由四个地址、发送方和接收方主机的硬件和协议地址组成。

 

下表显示了 ARP 数据包的主要数据包结构,该表说明了在以太网上运行的 IPv4 网络的情况。在这种情况下,数据包具有 48 位字段,用于发送方硬件地址 (SHA) 和目标硬件地址 (THA),以及 32 位字段,用于相应的发送方和目标协议地址 (SPA 和 TPA)。在这种情况下,ARP 数据包大小为 28 字节。

 

硬件类型 (HTYPE)
此字段指定网络链路协议类型。例如:以太网为 1。
协议类型 (PTYPE)
此字段指定 ARP 请求所针对的网间协议。对于 IPv4,其值为 0x0800。允许的 PTYPE 值与 EtherType 的值共享一个编号空间。
硬件长度 (HLEN)
硬件地址的长度(以八位字节为单位)。以太网地址长度为 6。
协议长度 (PLEN)
网间地址的长度(以八位字节为单位)。网间协议在 PTYPE 中指定。例如:IPv4 地址长度为 4。
操作
指定发送方正在执行的操作:1 表示请求,2 表示回复。
发送方硬件地址 (SHA)
发送方的媒体地址。在 ARP 请求中,此字段用于指示发送请求的主机的地址。在 ARP 回复中,此字段用于指示请求所查找的主机的地址。
发送方协议地址 (SPA)
发送方的网间地址。
目标硬件地址 (THA)
目标接收方的媒体地址。在 ARP 请求中,此字段被忽略。在 ARP 回复中,此字段用于指示发起 ARP 请求的主机的地址。
目标协议地址 (TPA)
目标接收方的互联网地址。ARP
协议参数值已标准化,并由互联网号码分配机构 (IANA) 维护。ARP

的以太网类型为 0x0806。当有效负载是 ARP 数据包时,此类型出现在以太网帧头中,不要将其与出现在此封装的 ARP 数据包中的 PTYPE 混淆。ARP

如何工作?
当新计算机加入 LAN 时,会为其分配一个唯一的 IP 地址,用于识别和通信。当发往特定 LAN 上的主机的传入数据包到达网关时,网关会要求 ARP 程序查找与 IP 地址匹配的 MAC 地址。一个称为 ARP 缓存的表维护每个 IP 地址及其对应 MAC 地址的记录。IPv4

以太网网络中的所有操作系统都保留 ARP 缓存。每次主机请求 MAC 地址以将数据包发送到 LAN 中的另一台主机时,它都会检查其 ARP 缓存,以查看 IP 到 MAC 地址的转换是否已存在。如果存在,则无需新的 ARP 请求。如果转换尚不存在,则发送网络地址请求并执行 ARP。ARP 向

LAN 上的所有计算机广播请求数据包,并询问是否有任何计算机正在使用该特定 IP 地址。当计算机将该 IP 地址识别为自己时,它会发送回复,以便 ARP 可以更新缓存以供将来参考并继续通信。

不知道自己 IP 地址的主机可以使用反向 ARP (RARP) 协议进行发现。

 

ARP 缓存大小有限,会定期清除所有条目以释放空间。地址往往只会在缓存中停留几分钟。频繁更新使网络中的其他设备能够看到物理主机何时更改其请求的 IP 地址。在清理过程中,未使用的条目以及与当前未开机的计算机进行通信的任何失败尝试都会被删除。

 

新悦网络提供SIP VoIP网关、SIP音频模块,集成商可根据项目需求进行配置,我们的工程师将提供专业的支持和建议。

最新内容

知识库