Das Address Resolution Protocol (ARP) ist ein Netzwerkprotokoll, das die Zuordnung von IP-Adressen zu den entsprechenden physikalischen MAC-Adressen ermöglicht. In lokalen Netzwerken (LANs) hilft ARP, IP-Adressen in die MAC-Adressen von Geräten wie Computern oder Routern zu übersetzen, damit Datenpakete an die richtige Hardware gesendet werden können.
Das Address Resolution Protocol arbeitet im Wesentlichen durch Anfrage-Antwort-Mechanismen, um die IP-Adresse eines Zielgeräts in eine physikalische MAC-Adresse aufzulösen.
Wenn ein Gerät (zum Beispiel Computer A) ein Datenpaket an ein anderes Gerät im lokalen Netzwerk senden möchte und nur dessen IP-Adresse, aber nicht die MAC-Adresse kennt, startet es eine ARP-Anfrage.
Computer A sendet eine ARP-Anfrage als Broadcast, das heißt, das Paket wird an alle Geräte im Netzwerk gesendet. Die Anfrage lautet etwa: „Wer hat die IP-Adresse XYZ? Bitte sende mir deine MAC-Adresse.“
Jedes Gerät im Netzwerk empfängt diesen Broadcast und überprüft, ob die gesuchte IP-Adresse mit seiner eigenen IP-Adresse übereinstimmt. Nur das Gerät, das die angefragte IP-Adresse besitzt (zum Beispiel Computer B), wird auf die ARP-Anfrage antworten. Alle anderen ignorieren die Anfrage.
Computer B, das Gerät mit der angefragten IP-Adresse, sendet eine ARP-Antwort direkt an Computer A. Die ARP-Antwort enthält die MAC-Adresse von Computer B und wird gezielt an Computer A gesendet (Unicast).
Nach Erhalt der ARP-Antwort speichert Computer A die Zuordnung von IP-Adresse zu MAC-Adresse im ARP-Cache. Dies ermöglicht eine schnellere Kommunikation, da zukünftige Anfragen an die gleiche IP-Adresse direkt verarbeitet werden können, ohne eine neue ARP-Anfrage zu senden.
Nun kann Computer A die eigentlichen Datenpakete direkt an die MAC-Adresse von Computer B senden, wodurch die Kommunikation im Netzwerk effizient erfolgt.
ARP ermöglicht die Kommunikation innerhalb eines Netzwerks und stellt sicher, dass Datenpakete an die richtigen Geräte gelangen. Ohne ARP wäre die Datenübertragung in IP-basierten Netzwerken nicht möglich, da es keine Verbindung zwischen den logischen IP-Adressen und den physikalischen Hardware-Adressen gäbe.
Es gibt mehrere Varianten des Address Resolution Protocol (ARP), die jeweils für spezifische Anwendungsfälle in Netzwerken konzipiert sind.
ARP (Standard ARP)
Die Standardversion von ARP, auch als „Request and Reply ARP“ bekannt, wird verwendet, um die MAC-Adresse eines Geräts im Netzwerk basierend auf seiner IP-Adresse zu ermitteln. Ein Gerät sendet eine ARP-Anfrage als Broadcast, und das Gerät mit der passenden IP-Adresse antwortet mit seiner MAC-Adresse.
Proxy ARP
Bei Proxy ARP antwortet ein Gerät (z. B. ein Router) auf eine ARP-Anfrage für eine IP-Adresse, die eigentlich zu einem anderen Netzwerksegment gehört. Der Router „tut so“, als hätte er die angefragte IP-Adresse, und ermöglicht dadurch, dass Geräte in verschiedenen Subnetzen ohne zusätzliche Routing-Konfiguration kommunizieren können.
Proxy ARP wird häufig in Netzwerken eingesetzt, die nicht vollständig geroutet sind, oder in Situationen, in denen Geräte aus verschiedenen Netzwerken so kommunizieren sollen, als ob sie im selben Subnetz wären.
Gratuitous ARP (GARP)
Gratuitous ARP ist eine ARP-Anfrage, bei der ein Gerät seine eigene IP- und MAC-Adresse ankündigt, ohne auf eine bestimmte Antwort zu warten. Dies dient meist zur Aktualisierung des ARP-Caches anderer Geräte im Netzwerk oder zur Überprüfung, ob es bereits eine andere Instanz mit derselben IP-Adresse gibt.
GARP wird verwendet, um IP-Adressenkonflikte zu vermeiden oder die eigenen ARP-Einträge bei Netzwerkänderungen zu aktualisieren. Es wird auch bei Failover-Mechanismen und virtuellen IP-Adressen genutzt, um den Netzwerkteilnehmern mitzuteilen, dass die MAC-Adresse einer IP-Adresse geändert wurde.
Inverse ARP (InARP)
Inverse ARP ist das Gegenteil des Standard-ARP. Es wird verwendet, um die IP-Adresse eines Geräts zu ermitteln, wenn nur die MAC-Adresse bekannt ist. InARP ist besonders in Frame-Relay-Netzwerken verbreitet.
Reverse ARP (RARP)
RARP ermöglicht einem Gerät, das nur seine MAC-Adresse kennt, seine eigene IP-Adresse zu ermitteln. Das Gerät sendet eine RARP-Anfrage, und ein RARP-Server antwortet mit der entsprechenden IP-Adresse.
RARP wurde häufig von Boot-Routern und diskless Workstations verwendet, um eine IP-Adresse zu erhalten. Heute ist es jedoch größtenteils durch das Dynamic Host Configuration Protocol (DHCP) ersetzt worden.
Beim Einsatz von eines Address Resolution Protocols können verschiedene Probleme und Sicherheitsrisiken auftreten, die die Netzwerkleistung und -sicherheit beeinträchtigen können. Eines der größten Risiken ist das sogenannte Spoofing (oder ARP-Poisoning). Bei dieser Attacke sendet ein Angreifer gefälschte ARP-Antworten an Geräte im Netzwerk, um die Zuordnung von IP- zu MAC-Adressen zu manipulieren.
So kann er den Datenverkehr zwischen Geräten umleiten oder abhören, was ihm Zugriff auf sensible Daten verschaffen kann. Dieser Angriff kann erhebliche Folgen haben, da der Angreifer durch ARP-Spoofing Daten abfangen, manipulieren oder sogar gezielt blockieren kann. Gegenmaßnahmen wie Dynamic ARP Inspection (DAI) und der Einsatz sicherer VPN-Verbindungen können dazu beitragen, das Risiko solcher Angriffe zu verringern.
Ein weiteres Problem, das im Zusammenhang mit ARP auftreten kann, ist der Cache-Überlauf. Der Cache speichert die Zuordnungen von IP- zu MAC-Adressen für eine bestimmte Zeitspanne, aber bei sehr vielen Geräten oder einer hohen Frequenz an Anfragen kann der Cache überlaufen.
In einem solchen Fall müssen die Geräte häufig neue ARP-Anfragen senden, was das Netzwerk zusätzlich belastet und zu einer Verlangsamung der Kommunikation führen kann. Ein Lösungsansatz ist hier die Anpassung der Lebensdauer von ARP-Einträgen und eine regelmäßige Bereinigung des Caches, um Überläufe zu vermeiden.
Zusätzlich können in großen Netzwerken sogenannte ARP-Broadcast-Storms entstehen. Da ARP-Anfragen per Broadcast gesendet werden, empfängt jedes Gerät im Netzwerk diese Anfragen. Eine hohe Anzahl an ARP-Broadcasts kann das Netzwerk überlasten und die verfügbare Bandbreite stark einschränken. Ein Broadcast-Storm kann im schlimmsten Fall sogar das gesamte Netzwerk zum Erliegen bringen. Hier kann die Segmentierung des Netzwerks mit VLANs helfen, die Broadcast-Domänen zu begrenzen und so die Auswirkungen von Broadcast-Storms zu reduzieren.
Auch inkonsistente ARP-Caches stellen ein potenzielles Problem dar. Da ARP-Einträge nur eine begrenzte Lebensdauer haben, können Geräte mit veralteten oder inkonsistenten ARP-Zuordnungen arbeiten, wenn sich die MAC-Adresse eines bestimmten Geräts geändert hat. Dies führt dazu, dass Datenpakete möglicherweise an falsche oder nicht mehr existierende MAC-Adressen gesendet werden, was zu Kommunikationsfehlern und Zeitüberschreitungen führen kann. Häufige Aktualisierungen und eine kürzere Lebensdauer der ARP-Einträge können hier hilfreich sein, um solche Probleme zu vermeiden.
Ein grundlegendes Problem ist schließlich das Fehlen einer Authentifizierung. Da ARP ursprünglich ohne Sicherheitsmechanismen entwickelt wurde, gibt es keine Möglichkeit, die Authentizität von Antworten zu überprüfen. Dadurch ist ARP besonders anfällig für Manipulationen und Angriffe wie das bereits erwähnte ARP-Spoofing. Sicherheitsprotokolle wie IPsec oder der Einsatz von VLANs mit eingeschränktem Zugriff können jedoch dazu beitragen, die Risiken dieser Schwachstelle zu minimieren.