📜  ARP数据包格式

📅  最后修改于: 2020-11-10 04:47:36             🧑  作者: Mango

ARP报文格式

地址解析协议(ARP)使用一种基本消息格式,其中包含地址解析请求或地址解析响应。 ARP消息的大小取决于链路层和网络层的地址大小。消息头描述了每层使用的网络类型和每层的地址大小。消息头是在操作码的帮助下完成的,操作码是1表示请求,2表示响应。数据包的有效负载有四个地址,分别是:

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

图中显示了地址解析协议的数据包格式:

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

Hardware Type (HTYPE) Value
Ethernet 1
IEEE 802 Networks 6
ARCNET 7
Frame Relay 15
Asynchronous Transfer Mode (ATM) 16
HDLC 17
Fibre Channel 18
Asynchronous Transfer Mode (ATM) 19
Serial Line 20

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

注意:ARP可以与任何更高级别的协议(例如IPv4,IPv6等)一起使用。

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

示例:为此,以太网的地址长度为6。

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

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

ARP Message Type Opcode (Operation Code)
ARP Request 1
ARP Reply 2
RARP Request 3
RARP Reply 4
DRARP Request 5
DRARP Reply 6
DRARP Error 7
InARP Request 8
InARP Reply 9

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

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

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

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

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