1-2
ARP Message Format
Figure 1-1
ARP message format
The following explains the fields in
Figure 1-1
.
z
Hardware type: This field specifies the hardware address type. The value “1” represents Ethernet.
z
Protocol type: This field specifies the type of the protocol address to be mapped. The hexadecimal
value “0x0800” represents IP.
z
Hardware address length and protocol address length: They respectively specify the length of a
hardware address and a protocol address, in bytes. For an Ethernet address, the value of the
hardware address length field is "6”. For an IP(v4) address, the value of the protocol address length
field is “4”.
z
OP: Operation code. This field specifies the type of ARP message. The value “1” represents an
ARP request and “2” represents an ARP reply.
z
Sender hardware address: This field specifies the hardware address of the device sending the
message.
z
Sender protocol address: This field specifies the protocol address of the device sending the
message.
z
Target hardware address: This field specifies the hardware address of the device the message is
being sent to.
z
Target protocol address: This field specifies the protocol address of the device the message is
being sent to.
ARP Address Resolution Process
Suppose that Host A and Host B are on the same subnet and Host A sends a packet to Host B, as
shown in
Figure 1-2
. The resolution process is as follows:
1) Host A looks into its ARP table to see whether there is an ARP entry for Host B. If yes, Host A uses
the MAC address in the entry to encapsulate the IP packet into a data link layer frame and sends
the frame to Host B.
2) If Host A finds no entry for Host B, Host A buffers the packet and broadcasts an ARP request, in
which the sender IP address and the sender MAC address are the IP address and the MAC
address of Host A respectively, and the target IP address and the target MAC address are the IP
address of Host B and an all-zero MAC address respectively. Because the ARP request is a
broadcast, all hosts on this subnet can receive the request, but only the requested host (namely,
Host B) will respond to the request.
3) Host B compares its own IP address with the destination IP address in the ARP request. If they are
the same, Host B saves the source IP address and source MAC address in its ARP table,
encapsulates its MAC address into an ARP reply, and unicasts the reply to Host A.