ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol)

Copyright © Shutterstock/A_stockphoto

Was ist das ARP (Address Resolution Protocol)?

Das ARP (Address Resolution Protocol) wurde im Jahr 1982 im RFC-Standard 826 definiert. Es dient dazu, eine IPv4-Adresse in eine MAC-Adresse aufzulösen. ARP ist aus zwei Gründen für eine Datenübertragung in Ethernet-Netzwerken unverzichtbar. Zum einen können Datenframes (Ethernet-Frames) eines IP-Pakets nur mit der MAC-Adresse an den Zielhost gesendet werden, das Internetprotokoll kann die MAC-Adresse jedoch nicht selbstständig beziehen. Zum anderen hat das IPv4-Protokoll keine Möglichkeit die MAC-Adresse zu speichern, da es nicht die nötige Länge besitzt. Da das ARP (Address Resolution Protocol) einen Caching-Mechanismus hat, kann es dieses Problem ebenfalls beseitigen. Für das neue IPv6-Protokoll werden die Funktionen des Neighbor Discovery Protocol (NDP) übernommen.

Definition des ARP (Address Resolution Protocol)

Um in TCP/IP-Netzwerken Daten übertragen zu können, benötigt der Sender drei wichtige Adressinformationen über den Empfänger: die IP-Adresse, die MAC-Adresse und die Subnetzmaske. Die Netzmaske, sowie IP-Adresse wird Netzwerkgeräten automatisch zugeteilt, wenn sie sich mit einem Netz verbinden.

Dafür greifen Router oder Hubs auf das DHCP-Protokoll zu. In lokalen Netzwerken können diese beiden Informationen auch manuell erfragt werden. Die MAC-Adresse wird vom Hersteller eines Geräts an dieses vergeben und kann erst durch das ARP (Address Resolution Protocol) mit einer IP-Adresse verknüpft werden.

  1. Wichtig bei der Adressauflösung ist, festzustellen, ob sich die IP-Adresse des Empfängers im selben lokalen Netz oder in einem anderen befindet. Zunächst wird also die Subnetzmakse geprüft.
  2. Befindet sich die Adresse im eigenen lokalen Netz, wird geprüft, ob bereits ein Eintrag im ARP-Cache vorliegt.
  3. Wurde die IP-Adresse bereits eine MAC-Adresse zugeordnet, wird diese für die Übertragung genutzt. Falls nicht, schickt der Absender eine ARP-Request mit der Ziel-AP an alle Geräte im Netz. Dafür nutzt er die ARP-Broadcast-Adresse (FF:FF:FF:FF:FF:FF).
  4. Die Stationen im Netzwerk vergleichen dann die IP-Adresse im Request mit der eigenen und löschen die Anfrage, wenn diese nicht übereinstimmt. Wenn eine Station eine Übereinstimmung feststellt, sendet diese eine ARP-Reply und übermittelt die MAC-Adresse.
  5. Nun können beide Stationen sowohl die MAC-Adresse, als auch die IP-Adresse des jeweils anderen Teilnehmer im Cache hinterlegen und eine Datenübertragung ist möglich.

Wenn sich der Zielhost in einem anderen Netzwerk befindet, muss sich der Absender an ein Gateway – meistens ein Router – wenden. Dafür benötigt er ebenfalls die MAC- und IP-Adresse. Das Gateway empfängt dann das Datenpaket und leitet dieses an den Zielhost weiter. Dazu analysiert es den IP-Header, um die nötigen Informationen zu bekommen. Dann nutzt das Gateway ebenfalls die Möglichkeiten des ARP (Address Resolution Protocol).

Entweder löst es die MAC-Adresse des Zielhosts direkt auf, wenn sich dieser in einem Nachbar-Subnetz befindet, oder er leitet die Daten an ein weiteres Gateway weiter, wenn sich der Zielhost in einem anderen Subnetz befindet und der Routing-Weg nicht bestimmt werden kann. Im letzten Szenario wird dieser Vorgang wiederholt, bis die Daten beim Zielhost angekommen sind oder die Time to live (TTL) im IP-Header 0 erreicht hat.

Der ARP-Cache ist eine Auflistung der MAC-Adressen, die am häufigsten benötigt werden. Diese können entweder manuell eingegeben oder automatisch vom Netzwerkprotokoll erfasst werden. Die automatisch erzeugten Einträge (dynamisch) haben einen Zeitstempel. Läuft dieser ab, werden die Daten aus dem Cache entfernt. Manuelle Einträge (statisch) bleiben solange im Cache, bis das Gerät ausgeschaltet oder der Cache geleert wird.
Im ARP wird ein einfaches Nachrichtenformat verwendet, um Request zu versenden oder auf diese zu antworten. Obwohl es eigentlich für IPv4- und MAC-Adressen entwickelt wurde, ist es auch möglich, andere Protokolle zu nutzen. Dafür wurden Felder für die Größe und den Typ der Mac- und Protokolladressen eingefügt. Die Größe von ARP-Paketen variiert also immer. Für den vorgesehenen Einsatz in IPv4-Netzen hat das Paket eine Länge von 224 Bit.

Der Header beginnt mit einer Information über den Typ der MAC-Adresse, welche 16 Bit lang ist. Danach folge eine Angabe über das Protokoll, ebenfalls 16 Bit. IPV4-Adressen sind durch den Wert 0x0800 identifizierbar. Die nächsten zwei Felder liefern Informationen über die Länger der Adressen. MAC-Adressen sind 6 Byte (48 Bit) groß und werden somit durch eine 6 gekennzeichnet. IP-Adressen nur 4 Byte (32 Bit) und erhalten den Wert 4.

Danach kommen 16 Bit für die Spezifizierung der ARP-Nachricht. Der Wert 1 steht für eine Anfrage (Request) und der Wert 2 für eine Antwort (Reply). Anschließend folgen die relevanten Adressen:

MAC-Adresse – Absender:

Enthält in einer Request die MAC-Adresse des Senders und einer Reply die MAC-Adresse des Ziels oder des nächsten Gateways.

IP-Adresse – Absender:

Enthält die IP-Adresse des Senders (Request) oder die Adresse des Ziels bzw. des nächsten Gateways (Reply).

MAC-Adresse – Empfänger:

Hier findet sich die Broadcast-Adresse FF:FF:FF:FF:FF:FF bei einer Anfrage. In einer Antwort ist es die MAC-Adresse des anfragenden Geräts.

IP-Adresse – Empfänger:

Bei einer Request steht hier die IP-Adresse des Ziels, dessen MAC-Adresse gesucht ist. In einer Reply die IP-Adresse des Senders der Anfrage.

Bekannte Probleme des ARP (Address Resolution Protocol)

Das ARP (Address Resolution Protocol) arbeitet im Hintergrund und ist daher für Nutzer nur dann sichtbar, wenn Probleme bei der Auflösung einer Adresse auftreten. Beispielsweise kann der Zeitstempel eines Eintrags im Cache Komplikationen verursachen, wenn veraltete oder falsche Einträge enthalten sind.

Die MAC-Adresse kann erst neu ermittelt werden, wenn der Eintrag gelöscht wurde, oder der Timer abgelaufen ist. Bis zu diesem Zeitpunkt ist eine Kommunikation mit dem Host nicht möglich. Das Problem ist jedoch relativ schnell durch einen Neustart oder durch die Löschung des Caches behebbar.

Ein größeres Sicherheitsproblem bei der Benutzung des ARP (Address Resolution Protocol) stellt jedoch das sogenannte ARP-Spoofing dar. Es erzeugt vorsätzlich falsche Einträge im Cache und kann so den Netzwerkverkehr auf andere Geräte umleiten. Eine andere häufige Fehlerquelle ist die Eingabe von statischen Daten. Wenn diese nicht korrekt sind, können sie die Kommunikation mit einem Gerät blockieren.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte