ARP包格式

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

地址解析协议(ARP)使用一个基本的消息格式,该格式包含地址解析请求或地址解析响应。ARP 消息的大小取决于链路层和网络层的地址大小。消息头描述了每一层使用的网络类型和每一层的地址大小。通过操作码可以完成消息头,操作码为1 表示请求2 表示响应。数据包的载荷有四个地址,这些地址是:

  • 发送主机的硬件地址
  • 接收主机的硬件地址
  • 发送主机的协议地址
  • 接收主机的协议地址

地址解析协议的数据包格式如图所示

ARP Packet Format

HTYPE (硬件类型) - 硬件类型字段的大小为 16 位。此字段定义了本地网络需要传输 ARP 消息的网络类型。此字段有一些典型值,如下所示:

硬件类型 (HTYPE)
以太网1
IEEE 802 网络6
ARCNET7
帧中继15
异步传输模式 (ATM)16
HDLC17
光纤通道18
异步传输模式 (ATM)19
串行线路20

PTYPE (协议类型) - 协议类型是一个 16 位字段,用于指定协议的类型。

注意:ARP 可与任何上层协议一起使用,如 IPv4、IPv6 等。

HLEN (硬件长度) - 硬件长度字段的大小为 8 位。此字段指定物理地址的长度(以字节为单位)。

示例:对于以太网,地址长度为 6。

PLEN (协议长度) - 协议长度字段的大小为 8 位。它定义了 IP 地址的长度(以字节为单位)。

OPER (操作) - 这是一个 16 位字段,用于确定 ARP 数据包的类型。ARP 数据包有两种类型,即 ARP 请求和 ARP 响应。在给定的表中,前两个值用于 ARP 请求和响应。表中还指定了 RARP、DRARP 等其他 ARP 帧格式的值。

ARP 消息类型操作码 (Operation Code)
ARP请求1
ARP 响应2
RARP 请求3
RARP 响应4
DRARP 请求5
DRARP 响应6
DRARP 错误7
InARP 请求8
InARP 响应9

SHA (发送方硬件地址) - 此字段指定发送方的物理地址,并且此字段的长度不固定。

SPA (发送方协议地址) - 此字段用于确定发送方的逻辑地址,并且此字段的长度不固定。

THA (目标硬件地址) - 目标硬件地址指定目标的物理地址。这是一个可变长度字段。对于 ARP 请求数据包,此字段包含全零,因为发送方不知道接收方的物理地址。

注意:默认目标硬件地址为零。

TPA (目标协议地址) - 此字段用于确定目标的逻辑地址。TPA 是一个可变长度字段。


下一个主题ARP 表