Address Resolution Protocol (ARP) is a fundamental Layer 2 and Layer 3 network protocol defined in RFC 826 that maps IPv4 addresses to MAC addresses on local network segments, enabling hosts to build correct Ethernet frames through broadcast requests and cached unicast replies. The protocol operates transparently in nearly every IPv4 Ethernet network, with hosts and routers maintaining ARP caches that can contain thousands of entries, but common operational issues such as duplicate IP addresses, stale cache entries, and ARP spoofing attacks can cause intermittent connectivity failures and require troubleshooting via commands like arp -a and arp -d. Administrators defend against ARP-based attacks using dynamic ARP inspection, port security, static entries for critical devices, and monitoring for unexpected IP-to-MAC mapping changes, while IPv6 networks avoid these vulnerabilities entirely by using the Neighbor Discovery Protocol instead.
So funktioniert ARP
Ein Host, der ein IPv4-Paket an ein anderes Gerät in seinem eigenen Subnetz senden möchte, muss die Ziel-MAC-Adresse kennen, bevor er einen Ethernet-Frame aufbauen kann. ARP stellt diese Zuordnung durch eine Broadcast-Anfrage und eine Unicast -Antwort bereit.
- Cache prüfen: Der sendende Host sucht in seinem ARP-Cache nach einem Eintrag, der mit der IPv4-Zieladresse übereinstimmt. Wenn ein gültiger Eintrag vorhanden ist, verwendet er diese MAC-Adresse und überspringt die restlichen Schritte.
- Eine Anfrage per Broadcast senden: Wenn kein Eintrag vorhanden ist, sendet der Host eine ARP-Anfrage an die Broadcast-MAC-Adresse. Die Anfrage fragt ab, welchem Gerät die Ziel-IPv4-Adresse gehört, und enthält die eigene IP- und MAC-Adresse des Absenders.
- Antwort erhalten: Jedes Gerät im Segment sieht die Anfrage, aber nur das Gerät, das die Zieladresse besitzt, antwortet. Es sendet eine Unicast-ARP-Antwort, die seine MAC-Adresse enthält.
- Zwischenspeicherung der Zuordnung: Der Anfragende speichert das IP-zu-MAC-Paar in seinem ARP-Cache und sendet den ursprünglichen Frame. Einträge verfallen nach einer je nach Betriebssystem unterschiedlichen Zeitspanne, sodass veraltete Zuordnungen schließlich entfernt werden.
Befindet sich das Ziel in einem anderen Subnetz, ermittelt der Host die MAC-Adresse seines Standard-Gateways anstelle der des endgültigen Ziels. Administratoren können den Cache auf den meisten Systemen mit dem Befehl „arp -a“ einsehen und Einträge mit „arp -d“ löschen. Befehle wie „show arp“ dienen auf Netzwerkgeräten demselben Zweck. IPv6 verwendet kein ARP, sondern stützt sich auf das Neighbor Discovery Protocol.
Häufige ARP-Probleme
Wenn zwei Geräte dieselbe IPv4-Adresse beanspruchen, wechselt der ARP-Cache auf anderen Hosts zwischen zwei MAC-Adressen hin und her. Benutzer erleben dabei zeitweise Verbindungsstörungen, und Betriebssysteme protokollieren häufig eine Konfliktwarnung.
Nach einem Netzwerkkartenwechsel oder einem Failover behalten Hosts möglicherweise die alte MAC-Adresse bei, bis der Eintrag abläuft. Der Datenverkehr wird an ein Gerät weitergeleitet, das nicht mehr antwortet, und das Löschen des Eintrags auf dem betroffenen Host stellt in der Regel die Konnektivität wieder her.
ARP verfügt über keine Authentifizierung, sodass jeder Host im Segment Antworten senden kann, die die IP-Adresse eines anderen Geräts vorgeben. Ein Angreifer kann dies nutzen, um Datenverkehr abzufangen oder umzuleiten; typische Anzeichen hierfür sind eine Gateway-IP, die einer unerwarteten MAC-Adresse zugeordnet ist.
Eine Layer-2-Schleife oder ein sehr großes flaches Segment kann ARP-Broadcasts vervielfachen, bis Geräte spürbare Ressourcen für deren Verarbeitung aufwenden müssen. Die CPU-Auslastung des Switches steigt und Anwendungen werden im gesamten VLAN langsamer.
Ein Host mit einer zu breiten Subnetzmaske sendet ARP-Anfragen für Adressen, die sich tatsächlich in einem anderen Netzwerk befinden. Da keine Antwort erfolgt, wird der Eintrag als unvollständig angezeigt und das Ziel als nicht erreichbar.