Networking - RARP (Reverse Address Resolution Protocol) and Its Working
Introduction
RARP stands for Reverse Address Resolution Protocol. It is an older networking protocol used to determine the IP address of a computer when its MAC address is already known. In a normal network communication process, a device generally knows its IP address and may use ARP to find the MAC address associated with another device's IP address. RARP works in the opposite direction: it starts with a MAC address and attempts to obtain the corresponding IP address.
RARP was mainly designed for computers that did not have a permanent storage device from which they could retrieve their IP configuration. Diskless workstations, for example, could identify themselves using their network interface's MAC address and request an IP address from a RARP server when they started.
Why RARP Was Needed
In the early days of computer networking, some systems were designed without local hard disks. These systems were called diskless workstations. When such a computer started, it had very limited information available. Its network interface could provide its MAC address, but the computer did not necessarily know its IP address.
For communication over an IP network, however, the workstation needed an IP address. RARP provided a mechanism through which the workstation could ask a RARP server:
"Here is my MAC address. What is my IP address?"
The RARP server maintained a table that associated MAC addresses with IP addresses. When it received a valid RARP request, it looked up the MAC address and returned the appropriate IP address.
How RARP Works
The basic RARP process consists of several steps.
1. Device Starts
A diskless computer starts up and initializes its network interface. The network interface has a unique MAC address, but the computer does not yet know its IP address.
For example:
MAC address: 00:1A:2B:3C:4D:5E
The device needs to discover its IP address.
2. RARP Request Is Created
The computer creates a RARP request containing its hardware or MAC address. Because the device does not yet know its IP address, it cannot communicate using ordinary IP-based communication.
The request is sent over the local network so that a RARP server can receive it.
3. RARP Server Receives the Request
A RARP server continuously listens for RARP requests. When it receives a request, it examines the MAC address included in the request.
The server has a predefined mapping similar to:
| MAC Address | Assigned IP Address |
|---|---|
| 00:1A:2B:3C:4D:5E | 192.168.1.20 |
| 00:1A:2B:3C:4D:5F | 192.168.1.21 |
The server searches its database for the requesting device's MAC address.
4. Server Finds the IP Address
If the MAC address exists in the RARP server's configuration, the server identifies the corresponding IP address.
For example:
00:1A:2B:3C:4D:5E → 192.168.1.20
5. RARP Reply Is Sent
The RARP server sends a response containing the IP address assigned to that MAC address.
The workstation receives the response and configures its network interface with the provided IP address.
6. Device Can Communicate
Once the device knows its IP address, it can begin normal IP-based network communication.
The simplified process is:
MAC Address → RARP Request → RARP Server → IP Address → Network Communication
RARP and ARP Difference
RARP is often confused with ARP because both deal with MAC and IP addresses. Their directions are different.
| Feature | ARP | RARP |
|---|---|---|
| Full form | Address Resolution Protocol | Reverse Address Resolution Protocol |
| Main purpose | Finds MAC address from IP address | Finds IP address from MAC address |
| Direction | IP → MAC | MAC → IP |
| Typical use | Normal local network communication | Older diskless systems |
| Requires server | No dedicated ARP server | Requires a RARP server |
| Modern usage | Still widely used in IPv4 networks | Largely obsolete |
For example, if a computer knows:
IP address = 192.168.1.10
and wants to discover the corresponding MAC address, it can use ARP.
If a device knows:
MAC address = 00:1A:2B:3C:4D:5E
and wants to discover its IP address, historically it could use RARP.
RARP Packet Structure
RARP uses a packet format closely related to ARP. Important fields include:
Hardware Type: Identifies the type of network hardware being used.
Protocol Type: Identifies the network-layer protocol associated with the request.
Hardware Address Length: Specifies the length of the hardware address. For Ethernet, a MAC address is normally 6 bytes.
Protocol Address Length: Specifies the length of the protocol address. For IPv4, this is 4 bytes.
Operation: Identifies whether the packet is a RARP request or a RARP reply.
Sender Hardware Address: Contains the MAC address of the sender.
Sender Protocol Address: Used for the protocol address information.
Target Hardware Address: Identifies the hardware address of the device for which the information is being requested.
Target Protocol Address: Contains the IP address information when available.
The exact interpretation of some fields differs between ordinary ARP and RARP operations.
Example of RARP in a Network
Consider a company with several diskless workstations.
A workstation has the MAC address:
08:00:27:12:34:56
The administrator has configured the RARP server with:
08:00:27:12:34:56 → 10.10.10.25
When the workstation starts:
-
It identifies its own MAC address.
-
It does not know its IP address.
-
It broadcasts a RARP request.
-
The RARP server receives the request.
-
The server searches its MAC-to-IP table.
-
It finds
10.10.10.25. -
The server sends the IP address to the workstation.
-
The workstation configures itself with
10.10.10.25.
The workstation can then participate in IP networking.
Limitations of RARP
Although RARP was useful historically, it had several important limitations.
RARP Requires a Server
A RARP server is necessary to provide the IP address. This makes the system dependent on a specially configured server.
Limited Information
RARP was primarily designed to provide an IP address. It could not conveniently provide a complete network configuration such as subnet mask, default gateway, DNS server, and other configuration parameters.
Requires Local Network Access
RARP requests were designed around the local network and did not work conveniently across routers. This limited its usefulness in larger networks.
Manual Configuration
The RARP server generally needed a mapping between individual MAC addresses and IP addresses. Maintaining these mappings could become difficult as the number of devices increased.
RARP and BOOTP
RARP was eventually supplemented by protocols such as BOOTP (Bootstrap Protocol).
BOOTP provided more information than RARP, including configuration details needed by a client during startup. It was therefore more suitable for network booting and diskless computers.
BOOTP also introduced greater flexibility compared with the simple MAC-to-IP mapping provided by RARP.
RARP and DHCP
Today, DHCP (Dynamic Host Configuration Protocol) has largely replaced RARP for automatic network configuration.
DHCP can provide a device with much more than an IP address. A DHCP server can provide information such as:
-
IP address
-
Subnet mask
-
Default gateway
-
DNS server addresses
-
Lease duration
-
Domain information
-
Other network configuration parameters
For example, instead of simply receiving:
IP address: 192.168.1.20
a DHCP client can receive a complete configuration such as:
IP address: 192.168.1.20Subnet mask: 255.255.255.0Default gateway: 192.168.1.1DNS server: 8.8.8.8
This makes DHCP much more practical for modern networks.
Advantages of RARP
RARP had several advantages for the environment in which it was designed.
-
It allowed a device to obtain an IP address using its MAC address.
-
It was useful for diskless workstations.
-
It provided a relatively simple method of assigning predetermined IP addresses.
-
It reduced the need for local storage of IP configuration information on diskless systems.
-
Its operation was relatively straightforward to understand and implement.
Disadvantages of RARP
Its disadvantages eventually led to its replacement.
-
It required a dedicated RARP server.
-
It provided limited configuration information.
-
It was primarily designed for local network operation.
-
Maintaining MAC-to-IP mappings could be difficult in large networks.
-
It was less flexible than BOOTP and DHCP.
-
It has largely been replaced by modern network configuration protocols.
RARP in Modern Networking
RARP is now considered a legacy protocol. It is important mainly for understanding the historical development of network configuration and address-resolution mechanisms.
Modern networks generally use DHCP when a device needs automatic IP configuration. Other mechanisms, such as IPv6's Neighbor Discovery and Stateless Address Autoconfiguration, provide corresponding functionality in IPv6 environments.
Therefore, RARP is rarely encountered in contemporary network deployments, but it remains an important educational topic because it demonstrates how early networks solved the problem of assigning an IP address to devices that initially knew only their hardware address.
Conclusion
Reverse Address Resolution Protocol was developed to solve a specific problem: how a device that knows its MAC address but does not know its IP address can obtain that IP address from a network server.
Its basic operation is straightforward. A device sends a RARP request containing its hardware address, a RARP server looks up the corresponding IP address in its database, and the server returns that IP address to the requesting device.
Although RARP has been replaced by more capable technologies such as BOOTP and DHCP, understanding it provides a useful foundation for learning how network address resolution and automatic IP configuration evolved from early networking systems to modern networks.