ARP (Address Resolution Protocol) ist ein Netzwerkprotokoll auf Layer 2 des OSI Modell, das in Computernetzwerken zur Zuordnung einer IP-Adresse zu einer physikalischen MAC-Adresse (Media Access Control) verwendet wird. Dies ist wichtig, da MAC-Adressen auf der Hardwareebene verwendet werden, um Geräte eindeutig zu identifizieren, während IP-Adressen auf der Netzwerkebene verwendet werden. Durch die Zuordnung einer IP-Adresse zu einer MAC-Adresse können Geräte im Netzwerk Datenpakete austauschen.
Wenn ein Gerät in einem Netzwerk versucht, mit einem anderen Gerät zu kommunizieren, überprüft es zuerst den ARP-Cache, eine lokale Tabelle, die IP-Adressen mit den entsprechenden MAC-Adressen verknüpft. Wenn die gesuchte IP-Adresse bereits im ARP-Cache vorhanden ist, wird die zugehörige MAC-Adresse verwendet, um das Datenpaket an das Zielgerät zu senden.
Falls die gesuchte IP-Adresse jedoch nicht im ARP-Cache gefunden wird, sendet das sendende Gerät eine ARP-Anfrage an das Netzwerk. Diese ARP-Anfrage enthält die IP-Adresse des Zielgeräts, für das die zugehörige MAC-Adresse ermittelt werden soll. Die ARP-Anfrage wird als Broadcast-Paket an alle Geräte im Netzwerk gesendet.
Alle Geräte im Netzwerk erhalten die ARP-Anfrage, aber nur das Gerät mit der entsprechenden IP-Adresse antwortet darauf. Das Gerät mit der IP-Adresse, die in der ARP-Anfrage angegeben ist, sendet seine MAC-Adresse als ARP-Antwort zurück an den anfragenden Host. Der anfragende Host speichert diese Information in seinem ARP-Cache und kann dann die Kommunikation mit dem Zielgerät aufnehmen, indem es die MAC-Adresse verwendet.
Ein Gerät sendet einen ARP-Request, um die MAC-Adresse eines bestimmten IP-Geräts im Netzwerk zu erfragen. Der Request enthält die IP-Adresse des Zielgeräts, dessen MAC-Adresse ermittelt werden soll. Alle Geräte im lokalen Netzwerk erhalten den Request, aber nur das Gerät mit der angeforderten IP-Adresse antwortet mit einer ARP-Reply-Nachricht.
Wenn das Zielgerät die ARP-Anforderung empfängt und die passende IP-Adresse hat, sendet es eine ARP-Reply-Nachricht zurück. Diese Antwort enthält die MAC-Adresse des Zielgeräts. Das ursprüngliche anfragende Gerät speichert dann diese Zuordnung (IP zu MAC) in seinem ARP-Cache, um zukünftige Kommunikation zu beschleunigen.
Es ist wichtig anzumerken, dass ARP auf der Annahme beruht, dass alle Geräte im Netzwerk korrekte Informationen bereitstellen. Es gibt jedoch keine integrierten Sicherheitsmechanismen, um die Authentizität der ARP-Antworten zu überprüfen. Dadurch eröffnet ARP potenziell Angriffsmöglichkeiten wie ARP Spoofing (siehe arpspoof), bei dem ein Angreifer falsche ARP-Antworten sendet, um den Datenverkehr abzufangen oder umzuleiten.
Um die Sicherheit von Netzwerken zu verbessern, wurden verschiedene Mechanismen entwickelt, um ARP-Angriffe zu erkennen und zu verhindern. Dazu gehören beispielsweise ARP Inspection (ARPI), das die Echtheit von ARP-Paketen überprüft, oder Secure ARP (SARP), das den ARP-Cache vor Manipulationen schützt.