IP sends information to ARP. ARP receives the IP packet, the forwarding IP address, and the interface to be used to forward the packet. Whether performing a direct or indirect delivery, ARP performs the following process, as displayed in Figure 1.15:
Based on the interface and the forwarding IP address, ARP consults the appropriate ARP cache for an entry for the forwarding IP address. If an entry is found, ARP skips to step 6.
If the entry is not found, ARP builds an ARP Request frame containing the MAC address of the interface sending the ARP Request, the IP address of the interface sending the ARP Request, and the forwarding IP address. ARP then broadcasts the ARP Request using the appropriate interface.
All hosts receive the broadcasted frame and the ARP Request is processed. If the receiving host's IP address matches the requested IP address (the forwarding IP address), its ARP cache is updated with the address mapping of the sender of the ARP Request.
If the receiving host's IP address does not match the requested IP address, the ARP Request is silently discarded.
The receiving host formulates an ARP Reply containing the requested MAC address and sends it directly to the sender of the ARP Request.
When the ARP Reply is received by the sender of the ARP Request, it updates its ARP cache with the address mapping.
Between the ARP Request and the ARP Reply, both hosts have each other's address mappings in their ARP caches.
The IP packet is sent to the forwarding host by addressing it to the resolved MAC address.
Figure 1.15 ARP Process