What is Reverse Address Resolution Protocol (RARP)?

Computer NetworkNetworkOperating System

Reverse Address Resolution Protocol (RARP) is a network-specific standard protocol. It is described in RFC 903. Some network hosts, such as a diskless workstation, do not know their own IP address when they are booted. To determine their own IP address, they use a mechanism similar to ARP, but now the hardware address of the host is the known parameter, and the IP address is the queried parameter.

The reverse address resolution is performed the same way as the ARP address resolution. The same packet format is used for the ARP.

An exception is the operation code field that now takes the following values−

  • 3 for RARP request
  • 4 for RARP reply

The physical header of the frame will now indicate RARP as the higher-level protocol (8035 hex) instead of ARP (0806 hex) or IP-(0800 hex) in the Ether type field.

When a framework with a local disk is bootstrapped, it generally accepts its IP address from a configuration document that's read from a disk file. But a system without a disk, including an X terminal or a diskless workstation, needs some other way to accept its IP address.

The feature of RARP is for the diskless framework to read its specific hardware address from the interface card and send a RARP request asking for someone to reply with the diskless systems IP address.

The format of a RARP packet is almost identical to an ARP packet. The only difference is that the frame type is 0X8035 for a RARP request or reply, and the op-field has a value of 3 for a RARP request and 4 for a RARP reply.

The problem with RARP includes its use of a link-layer broadcast, preventing most routers from forwarding a RARP request, and the minimal information returned just the system's IP address. While the RARP concept is easy, the implementation of a RARP server is system dependent.

Some differences arise from the concept of RARP itself−

  • ARP only assumes that every host knows the mapping between its own hardware address and protocol address. RARP requires one or more server hosts in the network to maintain a database of mapping between hardware address and protocol address so that they will be able to reply to requests from client hosts.
  • Due to the size of this database, part of the server function is usually implemented outside the adapter−s microcode, with optionally a small cache in the microcode. The microcode part is then only responsible for reception and transmission of the RARP frames, the RARP mapping itself being taken care of by server software running as a normal process on the host machine.
  • The nature of this database also requires some software to create and update the database manually.
  • If there are multiple RARP servers in the network, the RARP requests only uses the first RARP reply received in response to its broadcast RARP request and discards the others.
Updated on 05-May-2021 10:41:58