📅  最后修改于: 2020-11-10 04:47:36             🧑  作者: Mango
地址解析协议(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是一个可变长度字段。