Address Resolution Protocol
Hardwareadresstyp (2 Byte) enthält den Typ der MAC-Adresse im Paket (für Ethernet:
1). Protokolladresstyp (2 Byte) enthält den Protokolltyp, der für die MAC-Adresse angefordert wird (für IPv4-Adressen:
0x0800 (2048)). Hardwareadressgröße (1 Byte) enthält die Größe der MAC-Adresse (für Ethernet:
6). Protokolladressgröße (1 Byte) enthält die Größe des Protokolls (für IPv4:
4, für IPv6: 16).Operation (2 Byte) enthält den Wert, der angibt, welche Operation ausgeführt werden soll (
1 für ARP-Anforderung, 2 für ARP-Antwort).Quell-MAC-Adresse (6 Byte) enthält in einer ARP-Anforderung die MAC-Adresse des Senders. In einer ARP-Antwort enthält es die MAC-Adresse des antwortenden Hosts.
Quell-IP-Adresse (4 Bytes bei IPv4, 16 Bytes bei IPv6) enthält bei einer ARP-Anforderung die IP-Adresse des anfragenden Hosts. In einer ARP-Antwort enthält es die IP-Adresse des antwortenden Hosts.
Ziel-MAC-Adresse (6 Byte) ist in einer ARP-Anforderung undefiniert. In einer ARP-Antwort enthält es die MAC-Adresse des anfragenden Hosts.
Ziel-IP-Adresse (4 Bytes bei IPv4, 16 Bytes bei IPv6) ist bei einer ARP-Anforderung die IP-Adresse des gesuchten Hosts. In einer ARP-Antwort enthält es die IP-Adresse des anfragenden Hosts.
Spezielle ARP-Nachrichten
Proxy ARP
Router ARP-Anforderungen für Hosts zu beantworten.
Die Hosts befinden sich dabei in verschiedenen Netzen. Bei der Kommunikation ist für die Hosts der Router transparent, das heißt er muss nicht speziell angesprochen werden, sondern die Hosts können wie gewöhnlich Pakete über verschiedene Netze hinweg versenden.
Sendet Computer A eine ARP-Anforderung an Computer B, erwidert der dazwischenliegende Router an Stelle des Computers B mit einer ARP-Antwort und der Hardwareadresse der Schnittstelle (MAC des Ports am Router) auf der die Anfrage empfangen wurde. Der anfragende Computer A sendet dann seine Daten an den Router, der sie dann an Computer B weiterleitet.
Proxy ARP kann man am ARP-Cache von Computer A erkennen. Falls für mehrere IP-Adressen die selbe MAC-Adresse eingetragen ist, arbeitet der Router mit dieser MAC-Adresse als Proxy. Die Einträge können auch ein Hinweis auf einen Angriff durch ARP-Spoofing sein.
Gratuitous ARP
Gratuitous ARP (engl. ?unaufgefordertes ARP?) bezeichnet eine spezielle Verwendung von ARP. Dabei wird von einem Host ein ARP-Anforderungs-Broadcast gesendet, bei der er seine eigene IP-Adresse als Quell- und Ziel-IP-Adresse einträgt. Damit teilt er seine ggf. neue MAC-Adresse unaufgefordert mit. Das kann mehreren Zwecken dienen:
# Normalerweise darf keine Antwort kommen, denn eine IP-Adresse muss in einem Netz eindeutig sein. Bekommt er trotzdem eine Antwort, ist das für den Administrator ein Hinweis darauf, dass ein Host nicht richtig konfiguriert ist.
# Jeder Host aktualisiert seinen ARP-Cache. Das ist beispielsweise dann nützlich, wenn die Netzwerkkarte eines Rechners ausgetauscht wurde und die anderen Hosts über die neue MAC-Adresse informiert werden sollen. Gratuitous ARP geschieht deshalb normalerweise beim Booten eines Computers.
# Wenn zwei Server aus Gründen der Ausfallsicherheit als Server und Ersatzserver aufgebaut sind und sich eine IP-Adresse teilen und der aktive Verkehr vom einen auf den anderen geschwenkt werden soll, ist die IP-Adresse jetzt über eine andere MAC-Adresse zu erreichen. Diese neue MAC-/IP-Adress-Zuordnung muss bekannt gemacht werden. Sonst bekommt niemand den Wechsel mit.
# In einem Mobile IP Szenario sendet der Home Agent einen Gratuitous ARP, wenn sich der Mobile Host aus dem Heimatnetz entfernt, um die Pakete stellvertretend für diesen zu empfangen. Analog sendet der Mobile Host einen Gratuitous ARP, sobald er sich wieder im Netz befindet.
RARP ? Reverse ARP
Das Reverse Address Resolution Protocol (RARP) funktioniert umgekehrt zu ARP. Es kann also MAC-Adressen zu IP-Adressen auflösen. Dies ist für die Ermittlung der eigenen IP-Adresse bei Geräten nützlich bei denen keine dauerhafte Speicherung oder Zuweisung einer Adresse vorgesehen ist. Beide Protokolle besitzen das gleiche Paketformat. Die Anwendungsbereiche von RARP und ARP unterscheiden sich jedoch stark voneinander.
Probleme
ARP ist für den Benutzer unsichtbar, so dass das Vorhandensein dieses Protokolls meist nur bemerkt wird, wenn seltene Fehler auftreten.
Die Länge der Gültigkeit eines ARP-Eintrags (normalerweise wenige Minuten) kann ein Problem darstellen, wenn falsche Einträge vorhanden sind. Solange ein fehlerhafter Eintrag existiert, kann mit dem betreffenden Host nicht kommuniziert werden. Die Fehlfunktion wird häufig nicht dem ARP-Protokoll zugeschrieben, sondern dem Netz oder einem Fehler in der Netzwerkimplementierung. Darüber hinaus ermöglicht nicht jedes Betriebssystem das Erzeugen eines korrigierten Eintrags oder einer Anforderung.
Gravierender ist das Eintragen von Daten in den ARP-Cache aus Paketen, für die keine Anforderung erzeugt wurde (blinder Glaube). Ein überlasteter Host, der eine alte IP-Adresse führt, antwortet mit großer Wahrscheinlichkeit als letzter auf eine ARP-Anforderung mit einer Antwort, die die falsche Adresse enthält. Dieses letzte Paket überschreibt die ARP-Tabelle aller Geräte im Netz, ein fehlerhafter Eintrag bleibt übrig.
Mit ARP-Spoofing ist es auch möglich, absichtlich eine falsche Hardwareadresse in einem Netz zu verteilen, teilweise sogar von außen über einen Remote-Broadcast. Dadurch kann der Datenverkehr für einen Rechner auf einen anderen umgelenkt und eventuell von diesem sogar gefiltert werden (Man-In-The-Middle-Angriff). Dies stellt ein Sicherheitsproblem dar.
Moderne Implementierungen ändern die ARP-Tabelle nur für ARP-Antworten, für die vorher von dem betreffenden Host eine -Anforderung generiert wurde.
Siehe auch
Protokollstapel
Service Access Point
Datenkapselung (Netzwerktechnik)
Internet Protocol
IP-Adresse
IPv4
IPv6
DoD Standard Internet Protocol
ICMP
IPTV
IP-Paket
IP-Telefonie
Mobile IP
Referenzmodell
TCP/IP-Referenzmodell
Weblinks
* RFC 826 ? Address Resolution Protocol

