Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


RARP

News Recommended Links Recommended Papers ARP Humor Etc

If ARP maps IP address to MAC address. RARP perform reverse operation and maps MAC address to IP address.

RARP is one of the protocols that systems use when they need to determine IP address of the system for which they know MAC address (including self). This case when you know your MAC address and use RAPR to determine your IP address is the most important.

Diskless clients and JumpStart™ clients depend on another host or server from which to retrieve a network boot file. Each network boot file is  named according to the IP address of each client. To request the correct network boot file, each client uses RARP to obtain its IP address at boot time.

A system sends a RARP request to the Ethernet broadcast address when the system is booting and does not have any way to determine what its IP address will be. Systems on the subnet running the RARP server daemon (in.rarpd) with appropriately configured files respond with the booting system’s IP address.

RARP operations include a request and a response. The RARP request is reported as a REVARP request by the snoop utility. For example:

sys11# snoop -v -d qfe0 rarp
Using device /dev/qfe (promiscuous mode)


ETHER: ----- Ether Header ----
ETHER:
ETHER: Packet 1 arrived at 12:52:11.32
ETHER: Packet size = 64 bytes
ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast)
ETHER: Source = 8:0:20:90:b5:c7, Sun
ETHER: Ethertype = 8035 (RARP)
ETHER:

ARP: ----- ARP/RARP Frame ----
ARP:
ARP: Hardware type = 1
ARP: Protocol type = 0800 (IP)
ARP: Length of hardware address = 6 bytes

ARP: Length of protocol address = 4 bytes
ARP: Opcode 3 (REVARP Request)
ARP: Sender’s hardware address = 8:0:20:90:b5:c7
ARP: Sender’s protocol address = 0.0.0.0, OLD-BROADCAST
ARP: Target hardware address = 8:0:20:90:b5:c7
ARP: Target protocol address = ?
...
...
The RARP reply is reported as a REVARP reply by the snoop utility. For
example:

sys11# snoop -v -d qfe0 rarp
Using device /dev/qfe (promiscuous mode)
ETHER: ----- Ether Header ----
ETHER:
ETHER: Packet 1 arrived at 12:52:19.52
ETHER: Packet size = 42 bytes
ETHER: Destination = 8:0:20:90:b5:c7, Sun
ETHER: Source = 8:00:20:b9:72:23, Sun
ETHER: Ethertype = 8035 (RARP)
ETHER:
ARP: ----- ARP/RARP Frame ----
ARP:
ARP: Hardware type = 1
ARP: Protocol type = 0800 (IP)
ARP: Length of hardware address = 6 bytes
ARP: Length of protocol address = 4 bytes
ARP: Opcode 3 (REVARP Reply)
ARP: Sender’s hardware address = 8:00:20:b9:72:23
ARP: Sender’s protocol address = 192.168.1.1, sys11
ARP: Target hardware address = 8:0:20:90:b5:c7
ARP: Target protocol address = 192.168.1.2, sys12...
...

By default, system PROM is configured to use RARP as the network boot strategy. To force a system to perform a RARP boot, perform the command:

ok boot net:rarp

The in.rarpd RARP Daemon

The in.rarpd RARP daemon must be running (as root) on systems that provide RARP responses to requests. Typically, the daemon is started on all interfaces at boot time by the /etc/rc3.d/S16boot.server start
script. The script only starts the in.rarpd process if the /tftpboot directory exists.

Note – Before the Solaris 9, the in.rarpd RARP daemon was started from the /etc/rc3.d/S15nfs.server start script.

The /etc/ethers and the /etc/inet/hosts Databases

The /etc/ethers and the /etc/inet/hosts files (or the Network Information Service/Network Information Service Plus [NIS/NIS+] equivalent files) support the Ethernet address-to-IP address relationship.

The /etc/ethers file contains the Ethernet address and corresponding host name. View the ethers file with any text viewer, for example:

sys11# cat /etc/ethers
8:0:20:c0:78:73 sys13
8:0:20:90:b5:c7 sys12
8:0:20:9a:e2:30 sys22
sys11#

Note – The /etc/ethers file is only available on boot servers.

The in.rarpd process queries the /etc/ethers file for the host name of the system that is performing the reverse address resolution. The host name resolves to an IP address using the /etc/inet/hosts file on the server. The resulting IP address is returned to the system that is requesting reverse address resolution. Whether the boot server uses the
local ethers and hosts files or the corresponding name-service database, is specified in the /etc/nsswitch.conf file.


Copyright © 1996-2008 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: September 03, 2008