264
1. Host A looks in 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. Then Host A
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 using
the following information:
{ Source IP address and source MAC address—Host A’s own IP address and the MAC address.
{ Target IP address—Host B’s IP address.
{ Target MAC address—An all-zero MAC address.
Because the ARP request is a broadcast, all hosts on this subnet can receive the request, but only
the requested host (Host B) will process the request.
3. Host B compares its own IP address with the target IP address in the ARP request. If they are the
same, Host B:
a. Adds the sender IP address and sender MAC address to its ARP table.
b. Encapsulates its MAC address into an ARP reply.
c. Unicasts the ARP reply to Host A.
4. After receiving the ARP reply, Host A:
a. Adds the MAC address of Host B to its ARP table.
b. Encapsulates the MAC address in the IP packet and sends it to Host B.
Figure 230 ARP address resolution process
If Host A and Host B are not on the same subnet:
1. Host A broadcasts an ARP request to the gateway. The target IP address in the ARP request is the
IP address of the gateway.
2. After obtaining the MAC address of the gateway from an ARP reply, Host A sends the packet to the
gateway.
3. If the gateway maintains an ARP entry for Host B, it forwards the packet to Host B directly. If not,
the gateway broadcasts an ARP request, in which the target IP address is the IP address of Host B.
4. After the gateway gets the MAC address of Host B, it sends the packet to Host B.
ARP table
An ARP table contains dynamic and static ARP entries.