Reverse Address Resolution Protocol (RARP)
1. Motivation and Purpose of RARP
In the early days of networked computing, many workstations were diskless machines (computers without a local hard drive or permanent storage).
- When a diskless workstation boots up, its operating system code resides in ROM, and its Physical (MAC) Address is permanently hardcoded on its Network Interface Card (NIC).
- However, the machine does not know its own Logical (IP) Address because it has no local storage drive to read a configuration file from!
- The Reverse Address Resolution Protocol (RARP) (RFC 903) was designed to solve this: it allows a host to discover its unknown IP address given its known physical MAC address.
2. The RARP Operation
Operational Steps:
- RARP Request:
- The booting host broadcasts an RARP request frame (
EtherType = 0x8035). - The frame contains its own physical hardware MAC address in both the
Sender Hardware AddressandTarget Hardware Addressfields, with the IP address fields left blank (0.0.0.0).
- The booting host broadcasts an RARP request frame (
- RARP Reply:
- One or more dedicated RARP Servers on the local network intercept the broadcast.
- The server queries its static mapping database (e.g.,
/etc/ethers). - If a matching MAC entry is found, the server replies via unicast with the host's assigned IP address.
3. Critical Limitations of RARP
Why was RARP declared obsolete and replaced?
- Data Link Layer Limitation:
- RARP operates directly on top of the physical/data link layer (using raw Ethernet frames).
- Because routers do not forward Layer 2 broadcasts, every physical subnet required its own dedicated RARP server! In a large enterprise with 50 subnets, 50 separate RARP servers were required.
- Incomplete Configuration:
- RARP only provided the 32-bit IP address.
- It did not provide the Subnet Mask, the Default Gateway IP, the DNS Server IP, or the Boot Image File Path. The machine still could not communicate outside its local wire without further complex steps.
- Static Mapping Only:
- Administrators had to manually register every machine's MAC address in server configuration files. It could not dynamically lease or reclaim addresses.
4. Comparison: ARP vs. RARP
| Parameter | ARP (RFC 826) | RARP (RFC 903) |
|---|---|---|
| Input (Known) | Layer 3 Logical IP Address | Layer 2 Physical MAC Address |
| Output (Desired) | Layer 2 Physical MAC Address | Layer 3 Logical IP Address |
| Primary Use Case | Standard packet delivery on LAN | Diskless machine booting |
| Request Type | Broadcast (FF:FF:FF:FF:FF:FF) |
Broadcast (FF:FF:FF:FF:FF:FF) |
| Reply Type | Unicast | Unicast |
| EtherType | 0x0806 |
0x8035 |
| Status Today | Active (Universal in IPv4) | Obsolete (Replaced by BOOTP & DHCP) |
Frequently Asked Questions
QWhy was RARP developed?
To enable diskless workstations with no persistent local storage to query an RARP server upon booting and discover their assigned IP address based on their hardcoded MAC address.
QWhy can RARP not operate across routers?
RARP packets are encapsulated directly into Layer 2 Ethernet frames without IP headers. Routers do not forward Layer 2 broadcasts across network boundaries, preventing RARP requests from reaching servers on remote subnets.
QWhat protocols succeeded RARP?
BOOTP (Bootstrap Protocol), which encapsulated requests in UDP/IP datagrams that could cross routers via relay agents, followed by DHCP (Dynamic Host Configuration Protocol), which introduced dynamic leasing and full network configuration parameters.
QWhat information does RARP fail to provide?
RARP returns only the IP address. It does not give the subnet mask, default gateway, DNS server or boot file path, so the host still cannot communicate beyond its local network.