History and Purpose of ARP
ARP was developed in the early 1980s as a general-purpose address translation protocol for IP networks. Besides Ethernet and Wi-Fi, ARP has been implemented for ATM, Token Ring, and other physical network types. ARP allows a network to manage connections independently of the specific physical device attached to each one. This enables the internet protocol to work more efficiently than managing various hardware devices and physical networks independently.
How ARP Works
ARP operates at Layer 2 in the OSI model. Protocol support is implemented in the device drivers of network operating systems. Internet RFC 826 documents technical details of the protocol, including its packet format and the workings of request and response messages ARP works on modern Ethernet and Wi-Fi networks as follows:
Network adapters are produced with a physical address embedded in the hardware called the Media Access Control (MAC) address. Manufacturers ensure that these six-byte (48-bit) addresses are unique because IP relies on these unique identifiers for message delivery. Before any device sends data to another target device, it must determine the MAC address given its IP address. These IP-to-MAC address mappings are derived from an ARP cache maintained on each device. If the given IP address does not appear in a device’s cache, that device cannot direct messages to that target until it obtains a new mapping. To do this, the initiating device first sends an ARP request broadcast message on the local subnet. The host with the given IP address sends an ARP reply in response to the broadcast, allowing the initiating device to update its cache and deliver messages directly to the target.
Inverse ARP and Reverse ARP
Experts developed another network protocol called RARP (Reverse ARP) in the 1980s to complement ARP. RARP performed the opposite function of ARP, converting from physical network addresses to the IP addresses assigned to those devices. RARP was made obsolete by DHCP (Dynamic Host Configuration Protocol) and is no longer used. A separate protocol called Inverse ARP also supports the reverse address mapping function. Inverse ARP is not used on Ethernet or Wi-Fi networks, although you can sometimes find it on other types.
Gratuitous ARP
To improve the efficiency of ARP, some networks and network devices use a method of communication called gratuitous ARP. A device broadcasts an ARP request message to the local network to notify the other devices of its existence.