Rechnernetze
Home Nach oben

Address Resolution Protocol (ARP)

In lokalen Netzen wird zur Bindung einer Protokolladresse mit einer Hardwareadresse meist das Address Resolution Protocol (ARP) verwendet, welches in RFC 826 standardisiert ist. Es wird ein ARP-Format definiert, welches für beliebige Adressformate gelten soll.

ARP-Nachrichten im Ethernet werden anhand des Ethernet-Typ-Feldes (Kennung 80616) kenntlich gemacht. Anfragen und Antworten werden durch unterschiedliche Einträge im Operationsfeld dargestellt. 

In der Regel besitzt jeder Rechner einen Speicher für Adressbindungen (Cache), in welchem die entsprechenden Adressen abgelegt sind. Sobald er ein Paket an einen anderen Rechner senden muss, untersucht der Rechner, ob sich die Protokolladresse in diesem Speicher befindet. Ist dieses der Fall, so wird das IP-Datagramm in einen Frame verpackt, der mit der entsprechenden Zieladresse versehen wird. Ist das nicht der Fall, muss eine Adressauflösung durchgeführt werden. 

Dazu sendet der Rechner eine beschränkte Rundspruch-Nachricht an alle anderen Rechner im eigenen Netz aus, in die er im ARP-Format seine eigene Internet- und Hardwareadresse einfügt; das Operationsfeld ist auf Anfrage (Wert=1) gesetzt. Der angesprochene Rechner erkennt als einziger seine Internetadresse und liefert in einem Frame dem anfragenden Rechner seine Hardware- und Internetadressen (falls er mehrere besitzt) zurück. Dazu wird das Protokollfeld auf Antwort (Wert = 2) gesetzt. Außerdem verwendet er die Senderadressen, um eine eigene Bindung herzustellen, da er vermutlich auf ein demnächst von diesem Rechner zu erwartendes Paket eine Antwort zu senden hat. Auf diese Weise wird der ARP-Verkehr optimiert.

Der Cache für die Adressbindung wird in gewissen zeitlichen Abständen (z.B. 20 Minuten) gelöscht, um Änderungen im Netz besser folgen zu können. Daher würde auch eine überflüssige Speicherung einer Bindung bald wieder korrigiert werden.

Meldet sich auf eine ARP-Anfrage kein Rechner, so ist dieser entweder abgestellt oder er befindet sich in einem anderen physikalischen Netz. Dann sollte der Router dieses feststellen; er kann dann seine eigene Hardwareadresse zurücksenden und das folgende Paket weitersenden.