Suchen

Definition Was ist ARP (Address Resolution Protocol)?

Mit Hilfe des Address Resolution Protocols (ARP) ist es möglich, zu einer bekannten Netzwerk- bzw. IP-Adresse die physikalische MAC-Adresse zu ermitteln. Die zur IPv4-Adresse passende Hardwareadresse wird anschließend in der ARP-Tabelle gespeichert und für das Versenden von Paketen auf Layer 2 des ISO/OSI-Schichtenmodells verwendet.

(© aga7ta - Fotolia)

Um Pakete in einem TCP/IP-Netzwerk zu verschicken, benötigt der Sender die IP-Adresse und die MAC-Adresse des Ziels sowie die Subnetzmaske. Das Address Resolution Protocol ist ein Netzwerkprotokoll, mit dem sich die Layer-2-Adresse (Hardwareadresse) passend zu einer (Netzwerkadresse) IP-Adresse ermitteln lässt. Dadurch ist es möglich, dem Zielrechner oder dem zuständigen Router Pakete auf der Schicht 2 (Layer 2) zuzustellen.

Die Zuordnung der IP-Adresse zur MAC-Adresse wird in einer Tabelle, oft als ARP-Cache bezeichnet, gespeichert. Prinzipiell ist ARP nicht auf IP-Netze oder das Ethernet beschränkt und kann auch für andere Netzwerkprotokolle genutzt werden. Im ISO/OSI-Schichtenmodell arbeitet ARP auf dem Layer 2 (Sicherungsschicht). Die MAC-Adresse jedes Rechners bzw. jedes Netzwerkgeräts ist einzigartig und setzt sich aus einer Herstellerkennung sowie einer vom Hersteller vergebenen Codierung zusammen.

Das RARP-Protokoll (Reverse Address Resolution Protocol) arbeitet in umgekehrter Richtung und kann zu einer bekannten MAC-Adresse die IP-Adresse herausfinden. Im IPv4-Nachfolgeprotokoll IPv6 übernimmt das Neighbor Discovery Protocol (NDP) die Aufgaben des Address Resolution Protocols.

Typischer Ablauf einer Adressauflösung mit dem Address Resolution Protocol

Möchte eine Station im Netzwerk an eine bestimmte IP-Adresse ein Paket senden, muss sie zunächst anhand der Subnetzmaske feststellen, ob es sich um eine IP-Adresse im eigenen Subnetz oder in einem fremden Netz handelt. Befindet sich das Ziel im eigenen Subnetz, prüft der Sender, ob er die passende MAC-Adresse in seinem Cache hat.

Ist dies nicht der Fall, sendet er per Address Resolution Protocol eine Anfrage mit der IP-Adresse des Ziels. Alle Stationen eines Subnetzes empfangen diese Anfrage. Stimmt die IP-Adresse mit der eigenen überein, sendet die Station eine ARP-Antwort mit der eigenen MAC-Adresse an den Sender der Anfrage. Dieser kann nun die Hardwareadresse in seinem Cache speichern und Pakete auf Layer 2 passend adressieren. Der Datenaustausch zwischen den beiden Stationen ist möglich.

Ist der Zielrechner nicht im gleichen Subnetz, verwendet der Sender die IP-Adresse des Default-Gateways. Existiert zu dieser IP-Adresse ein Eintrag im Cache, schickt er das Paket direkt an den Router. Ist kein Eintrag vorhanden, muss er zuvor per ARP-Anfrage die MAC-Adresse des Routers ermitteln. Der Router ist nach der Zustellung des Pakets durch den Sender für die weitere Zustellung des Datenpakets verantwortlich und kann es an einen anderen Router oder an eine Station eines angeschlossenen Subnetzes verschicken. Für die Adressauflösung auf dem Layer 2 verwendet auch der Router das Address Resolution Protocol.

Die Bedeutung des ARP-Caches

Der ARP-Cache verhindert, dass für jedes zu sendende Datenpaket neue Anfragen via Address Resolution Protocol versendet werden müssen. Bereits ermittelte MAC-Adressen werden in einer Tabelle eingetragen und für die weitere Paketzustellung verwendet. Die Einträge im Cache können sowohl dynamisch direkt vom Address Resolution Protocol oder statisch per manueller Eingabe erfolgen.

Jeder dynamische Eintrag der Tabelle ist in der Regel mit einem Zeitstempel versehen. Wird ein Eintrag über einen definierten Zeitraum nicht mehr genutzt, verliert er seine Gültigkeit und verschwindet aus der Tabelle. Bei jedem Neustart eines Rechners werden alle Einträge der Tabellen gelöscht. Wären die dynamischen Mechanismen im ARP-Cache nicht vorhanden, könnten IP-Stationen, bei denen beispielsweise die Netzwerkhardware getauscht wurde, niemals angesprochen werden. Die Zeitstempel in der Tabelle lassen alte Einträge automatisch ungültig und neue Stationen erreichbar werden.

Aufbau der Nachrichten des Address Resolution Protocols

Das ARP-Paket ist am Typfeld des Ethernetframes zu erkennen. Die Nummer 0x0806 (2054) ist für das Address Resolution Protocol vorgesehen und macht es von anderen Protokollen unterscheidbar. Da ARP-Pakete recht kurz sind, kommt das so genannte Padding zum Auffüllen der Pakete auf die minimale Framelänge zum Einsatz. Das ARP-Paket besitzt Felder für Protokollgrößen und Adresstypen, was es für andere Protokolle geeignet machen. Prinzipiell wäre es beispielsweise möglich, die Protokolladressgröße für IPv6 entsprechend anzupassen. Allerdings übernimmt das Neighbor Discovery Protocol (NDP) bei IPv6 die Aufgaben des Address Resolution Protocols.

Sicherheitsaspekte und Probleme des Address Resolution Protocols

Das Address Resolution Protocol arbeitet im Hintergrund und ist für den User meist nur sichtbar, wenn Probleme bei der Adressauflösung auftauchen. So kann beispielsweise der Zeitstempel eines Eintrags im ARP-Cache ein Problem verursachen, wenn falsche oder alte Einträge vorhanden sind.

Erst wenn der Timer abgelaufen und der Eintrag gelöscht ist, ist die MAC-Adresse von neuem zu ermitteln. Solange ist keine Kommunikation mit dem betroffenen Host möglich. Über manuelles Löschen des Caches oder einen Neustart des Rechners ist das Problem behebbar.

So genanntes ARP-Spoofing kann absichtlich falsche Einträge in den Caches der Stationen erzeugen. Prinzipiell lässt sich dadurch Netzwerkverkehr auf einen anderen Rechner umleiten. Eine weitere häufige Fehlerursache sind statische Einträge. Auch sie können, wenn fehlerhaft, die Kommunikation mit einem bestimmten Zielrechner blockieren.

(ID:45014149)

Über den Autor