ARP - Address Resolution Protocol

Das Address Resolution Protocol (ARP) arbeitet auf der Schicht 2, der Sicherungsschicht, des OSI-Schichtenmodells und setzt IP-Adressen in Hardware- und MAC-Adressen um. Alle Netzwerktypen und -topologien benutzen Hardware-Adressen um die Datenpakete zu adressieren. Damit ein IP-Paket innerhalb eines lokalen Netzwerks zugestellt werden kann, muss die Hardware-Adresse des Ziels bekannt sein.
Jeder Netzwerk-Adapter besitzt eine einzigartige und eindeutige Hardware-Adresse, die fest auf dem Adapter eingestellt ist.

Bevor nun ein Datenpaket verschickt werden kann, muss durch ARP eine Adressauflösung erfolgen. Dazu sendet der Host einen ARP-Request mit der MAC-Adresse "FF-FF-FF-FF-FF-FF". Das ist ein MAC-Broadcast an alle Systeme im Netzwerk. Diese Meldung wird von jedem Netzwerk-Interface entgegengenommen und ausgewertet. Das Ethernet-Frame enthält die IP-Adresse des gesuchten Hosts. Fühlt sich ein Host mit dieser IP-Adresse angesprochen, schickt er ein ARP-Reply an den Sender zurück. Die gemeldete MAC-Adresse wird dann im lokalen ARP-Cache des Senders gespeichert. Dieser Cache dient zur schnelleren ARP-Adressauflösung.
Eine Variante von ARP ist das RARP-Protokoll. Das wird verwendet, wenn die MAC-Adresse bekannt ist und die IP-Adresse gesucht wird.

Häufig findet man in anderen Dokumentationen, das ARP ein Schicht-3-Protokoll ist. Allerdings sind ARP und auch RARP für die Adressauflösung zuständig, was eigentlich keine Aufgabe der Schicht 3 ist. Da ARP und IP eng verzahnt sind, wäre ARP zwischen Schicht 3 und Schicht 2 richtig zugeordnet.

Ablauf einer ARP-Adressauflösung

Eine ARP-Auflösung unterscheidet zwischen lokalen IP-Adressen und IP-Adressen in einem anderen Subnetz. Als erstes wird anhand der Subnetzmaske festgestellt, ob sich die IP-Adresse im gleichen Subnetz befindet. Ist das der Fall, wird im ARP-Cache geprüft, ob bereits eine MAC-Adresse für die IP-Adresse hinterlegt ist. Wenn ja, dann wird die MAC-Adresse zur Adressierung verwendet. Wenn nicht, setzt ARP eine Anfrage mit der IP-Adresse nach der Hardware-Adresse in das Netzwerk. Diese Anfrage wird von allen Stationen im selben Subnetz entgegengenommen und ausgewertet. Die Stationen vergleichen die gesendete IP-Adresse mit ihrer eigenen. Wenn sie nicht übereinstimmt, wird die Anfrage verworfen. Wenn die IP-Adresse übereinstimmt schickt die betreffende Station eine ARP-Antwort direkt an den Sender der ARP-Anfrage. Dieser speichert die Hardware-Adresse in seinem Cache. Da bei beiden Stationen die Hardware-Adresse bekannt sind, können sie nun miteinander Daten austauschen.

Befindet sich eine IP-Adresse nicht im gleichen Subnetz, muss das Datenpaket über das Standard-Gateway gesendet werden. Dazu muss das Datenpaket an die Hardware-Adresse des Standard-Gateways gesendet werden. Findet ARP die Hardware-Adresse des Standard-Gateways im eigenen Cache nicht, wird eine lokale ARP-Adressauflösung ausgelöst.
Ist die Hardware-Adresse des Standard-Gateways bekannt, schickt der Sender das Datenpaket an das Standard-Gateway. Der Standard-Gateway (Router) untersucht den IP-Header. Wenn die Ziel-IP-Adresse in einem angeschlossenen Subnetz befindet, ermittelt er anhand der lokalen ARP-Adressauflösung die MAC-Adresse des Ziels und leitet das Datenpaket weiter.

Ist das Ziel (IP-Adresse) in einem entfernten Netzwerk, überprüft der Router seine Routing-Tabelle, ob ein Weg zum Ziel bekannt ist. Ist das nicht der Fall steht dem Router auch ein Standard-Gateway zu Verfügung. Der Router leitet das Datenpaket bei unbekannter route an dieses weiter.
In einem Ethernet-basierten Netzwerk wiederholen sich die vorangegangenen Schritte so oft, bis das Datenpaket das Ethernet-basierte Netzwerk verlässt, das Datenpaket sein Ziel erreicht oder das IP-Header-Feld TTL auf den Wert 0 springt. Dann wird das Datenpaket vom Netz genommen.

Hinweis: Erreicht das Datenpaket irgendwann sein Ziel, schreibt der betreffende Host seine Rückantwort in ein ICMP-Paket an den Sender. In dieser Antwort wird, falls möglich ein Gateway vermerkt, über das die beiden Stationen miteinander kommunizieren. So werden weitere ARP-Adressauflösungen und dadurch Broadcasts vermieden.

ARP-Cache

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>arp -a

Schnittstelle: 192.168.168.11 --- 0x2
  Internetadresse       Physikal. Adresse     Typ
  192.168.168.8         00-30-ab-0e-d3-6a     dynamisch

Durch den ARP-Cache wird vermieden, dass bei jedem Datenpaket an das selbe Ziel wieder und immer wieder ein ARP-Broadcast ausgelöst wird. Häufig benutzte Hardware-Adressen sind im ARP-Cache gespeichert. Die Einträge im ARP-Cache können statisch oder dynamisch sein. Statische Einträge können manuell hinzugefügt und gelöscht werden. Dynamische Einträge werden durch die ARP-Adressauflösung erzeugt.
Jeder dynamische Eintrag bekommt einen Zeitstempel. Ist er nach einer bestimmten Zeit, zum Beispiel zwei Minuten, nicht mehr abgerufen worden, wird der Eintrag gelöscht. Wird eine Adresse auch nach diesen zwei Minuten noch benutzt, wird der Eintrag erst später gelöscht. Ist der ARP-Cache für neue Einträge zu klein, werden die ältesten Einträge entfernt.
Wird die Hardware neu gestartet oder ausgeschaltet, wird der ARP-Cache gelöscht. Es gehen dabei auch die statischen Einträge verloren.

Fehler und Probleme mit ARP

Grundsätzlich gibt es keine Probleme oder Fehler mit ARP, solange keine statischen Einträge im ARP-Cache vorgenommen werden oder Hardware-Adressen von Netzwerk-Adaptern verändert werden (manuell oder durch ARP-Spoofing).
ARP läuft für den Benutzer ganz im Verborgenen.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Artikel-Sammlungen zum Thema Netzwerktechnik

Collection: IPv6

Was du über IPv6 wissen solltest.

eBook kaufen

Collection: Netzwerk-Grundlagen

Was du über Netzwerk-Grundlagen wissen solltest.

eBook herunterladen

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!