What is Reverse Address Resolution Protocol (RARP)?
Reverse Address Resolution Protocol (RARP) is a protocol a physical machine in a local area network (LAN) can use to request its IP address. It does this by sending the device's physical address to a specialized RARP server that is on the same LAN and is actively listening for RARP requests.
How does RARP work?
A network administrator creates a table in a RARP server that maps the physical interface or media access control (MAC) addresses to corresponding IP addresses. This table can be referenced by devices seeking to dynamically learn their IP address. When a new RARP-enabled device first connects to the network, its RARP client program sends its physical MAC address to the RARP server for the purpose of receiving an IP address in return that the device can use to communicate with other devices on the IP network. The RARP request is sent in the form of a data link layer broadcast. It is, therefore, important that the RARP server be on the same LAN as the devices requesting IP address information.
Assuming an entry for the device's MAC address is set up in the RARP database, the RARP server returns the IP address associated with the device's specific MAC address.
The general RARP process flow follows these steps:
- Device 1 connects to the local network and sends an RARP broadcast to all devices on the subnet. In the RARP broadcast, the device sends its physical MAC address and requests an IP address it can use.
- Because a broadcast is sent, device 2 receives the broadcast request. However, since it is not a RARP server, device 2 ignores the request.
- The broadcast message also reaches the RARP server. The server processes the packet and attempts to find device 1's MAC address in the RARP lookup table. If one is found, the RARP server returns the IP address assigned to the device. In this case, the IP address is 51.100.102.
Is RARP obsolete? If so, what alternatives exist?
Historically, RARP was used on Ethernet, Fiber Distributed Data Interface and token ring LANs.
RARP offers a basic service, as it was designed to only provide IP address information to devices that either are not statically assigned an IP address or lack the internal storage capacity to store one locally. Bootstrap Protocol and Dynamic Host Configuration Protocol have largely rendered RARP obsolete from a LAN access perspective. Both protocols offer more features and can scale better on modern LANs that contain multiple IP subnets.
But the world of server and data center virtualization has brought RARP back into the enterprise. For example, the ability to automate the migration of a virtual server from one physical host to another --located either in the same physical data center or in a remote data center -- is a key feature used for high-availability purposes in virtual machine (VM) management platforms, such as VMware's vMotion. When a VM needs to be moved due to an outage or interruption on the primary physical host, vMotion relies on RARP to shift the IP address to a backup host.
How is RARP different from ARP?
Unlike RARP, which uses the known physical address to find and use an associated IP address, Address Resolution Protocol (ARP) performs the opposite action. If the logical IP address is known but the MAC address is unknown, a network device can initiate an ARP request that seeks to learn the physical MAC address of a device so data can be sent in a more efficient unicast packet, as opposed to a broadcast packet. Today, ARP lookups and ARP tables are commonly performed on network routers and Layer 3 switches.