Reverse Address Resolution Protocol
RARP (Reverse Address Resolution Protocol) ist ein Netzwerkprotokoll, das die Zuordnung von Internetadressen zu Hardwareadressen ermöglicht. Es gehört zur Internetschicht der TCP/IP-Protokollfamilie.
Verwendung und Funktionsweise
Beispiel für Ethernet-Netzwerke:
RARP wird verwendet, wenn einem Computer seine IP-Adresse nicht bekannt ist. Das ist normalerweise bei Rechner ohne Speichermedium der Fall (z.B. Terminals oder Diskless-Workstations), da diese ihre IP-Adresse nicht von einer Konfigurationsdatei lesen können.
RARP sendet dazu ein RARP Request-Broadcast mit der eigenen MAC-Adresse als Inhalt an die am Netzwerk angeschlossenen Rechner. Ein RARP-Server, welcher alle Zuordnungen IP- zu MAC-Adressen kennt, sendet daraufhin eine Antwort mit der IP-Adresse an die anfragende MAC-Adresse (RARP-Reply).
Ausgenutzt wird bei RARP, dass die MAC-Adressen weltweit eindeutig von der Herstellern vergeben werden, das heißt es dürfen keine zwei Geräte auf der Welt mit derselben MAC-Adresse existieren. Ein Gerät ohne Speichermedium kann sich daher eindeutig identifizieren.
Die Zuordnungstabelle auf dem RARP-Server, die zu jeder MAC-Adresse die lokal vergebene IP-Adresse enthält, muss vom Systemverwalter manuell gepflegt werden.
Probleme
Ethernet-Broadcasts sind auf Subnetze beschränkt, so dass RARP nur in einem Subnetz eingesetzt werden kann. Wird ein lokales Netzwerk (LAN) in Subnetze aufgeteilt, muss in jedem dieser Subnetze, in dem RARP-fähige Terminals oder Workstations eingesetzt werden, ein eigener RARP-Server vorhanden sein.
Durch RARP erfährt ein Rechner nur seine IP-Adresse. Zu einer vollständigen Konfiguration einer Netzwerkschnittstelle für Endgeräte gehört aber mindestens noch die Netzmaske und das Default-Gateway. IP-Adressen werden in Klassen eingeteilt, deren Netzmaske bekannt ist. Im Falle von Subnetting ist diese Netzmaske jedoch falsch. Auch das Setzen von weiteren Parametern wäre wünschenswert, kann aber nicht über RARP vorgenommen werden.
RARP und ARP
RARP hat das gleiche Header Format wie ARP. Bis einschließlich der "Protokolladressgröße" sind die Header Felder identisch mit ARP.
RARP und TFTP
Nach RARP wird häufig TFTP (Trivial File Transfer Protocol) eingesetzt, das z. B. bei Diskless-Workstations einen Speicherabzug des Betriebssystems an den Rechner überträgt. Erst nachdem dieser Speicherabzug in den Speicher der Workstation geladen ist, kann sie hochgefahren werden. Wird RARP eingesetzt, so kann weder der Name des Speicherabzugs noch die Adresse des TFTP-Servers übergeben werden.
Frühe Diskless-Workstations der Firma Sun-Microsystems verwenden deshalb die hexadezimale Darstellung der IP-Adresse als Dateiname. Zunächst versuchen sie unter der Annahme, dass RARP- und TFTP-Server identisch sind, den TFTP-Transfer mit dem RARP-Server durchzuführen, dessen Adresse sie im Quelladressen-Feld des RARP-Replies finden. Falls dieser eine bestimmte Zeit (3 Sekunden) nicht antwortet, wird der gesamte TFTP-Transfer mit Hilfe von Ethernet-Broadcasts durchgeführt. Der TFTP-Server muss daher nicht mit dem RARP-Server identisch sein. Trotzdem muss auch der TFTP-Server bei diesem Verfahren ein lokaler Rechner auf dem jeweiligen Subnetz sein. Daneben werden unter Umständen viele Broadcast-Frames gesendet, was zu einer Belastung der anderen Geräte im gleichen Subnetz führt.
BOOTP und DHCP
Das BOOTP-Protokoll und das darauf aufsetzende DHCP-Protokoll vermeiden die Probleme des RARP-Protokolls. Sie gestatten das Setzen vieler Parameter und damit unter anderem die vollständige Konfiguration der Netzwerkschnittstelle. Falls zusätzlich TFTP verwendet wird, kann der Dateiname und die Serveradresse mehrerer Server übergeben werden. Wird die Adresse eines Gateways bei der Schnittstellenkonfiguration gesetzt, können die TFTP-Server in einem beliebigen Netzwerk stehen, da die Pakete korrekt geroutet werden.
Bei Verwendung eines BOOTP-Helpers auf dem Router kann der BOOTP-Broadcast auch in andere Netzwerke geroutet werden. Die Notwendigkeit eines Servers auf jedem Subnetz entfällt daher. Da die Aufteilung von LANs in Subnetze mittlerweile üblich ist, haben BOOTP und DHCP das RARP-Protokoll fast vollständig verdrängt.
Header Format
Operation (2 Byte) enthält den Wert, der angibt, welche Operation ausgeführt werden soll (3
für RARP Request, 4
für RARP Reply).
Quell-MAC-Adresse (6 Byte) enthält in einem RARP Request Paket die MAC-Adresse des Senders. In einem RARP Reply enthält es die MAC-Adresse des antwortenden Servers. Quell-IP-Adresse (4 Byte) ist bei einem RARP Request undefiniert. In einem RARP Reply enthält es die IP-Adresse des anwortenden Servers. Ziel-MAC-Adresse (6 Byte) enthält in einem RARP Request Paket die MAC-Adresse des Senders. In einem RARP Reply enthält es die MAC-Adresse des anfragenden Hosts. Ziel-IP-Adresse (4 Byte) ist bei einem RARP Request undefiniert. In einem RARP Reply enthält es die IP-Adresse des anfragenden Hosts.
Weblinks
- RFC 903 - Reverse Address Resolution Protocol