ARP erklärt: IP- und MAC-Adressen verbinden
ARP verbindet im lokalen IPv4-Netz eine bekannte IP-Adresse mit der MAC-Adresse, die für den nächsten Ethernet-Frame benötigt wird. Fehlt die Zuordnung im ARP-Cache, fragt der Sender alle Geräte im lokalen Netz. Liegt das IP-Ziel außerhalb des eigenen Subnetzes, ermittelt ARP stattdessen die MAC-Adresse des lokalen Gateways.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Warum ARP benötigt wird
Stell dir vor, ein Rechner kennt die IPv4-Adresse eines Zielgeräts. Für die Übertragung im lokalen Ethernet reicht das noch nicht: Das IP-Paket wird in einen Ethernet-Frame verpackt, und dieser braucht eine Ziel-MAC-Adresse.
ARP
Das Address Resolution Protocol (ARP) ermittelt im lokalen IPv4-Netz die MAC-Adresse zu einer IP-Adresse. IPv4-Adressen sind 32 Bit, MAC-Adressen 48 Bit lang. Zwischen beiden besteht keine feste Zuordnung, die sich einfach berechnen ließe.
ARP verbindet damit zwei Aufgabenbereiche:
- Die IP-Adresse kennzeichnet das Ziel auf der Netzwerkebene und wird für die Weiterleitung über Netze verwendet.
- Die MAC-Adresse kennzeichnet den Empfänger des nächsten Frames im lokalen Netzsegment.
ARP beantwortet die Frage: „Welche lokale MAC-Adresse brauche ich für den nächsten Ethernet-Frame?“
ARP ist nicht mit DNS oder DHCP zu verwechseln. DNS ordnet Namen wie einen Domainnamen einer IP-Adresse zu. DHCP vergibt Netzwerkkonfigurationen wie IP-Adressen. ARP sucht dagegen zu einer bereits bekannten IPv4-Adresse die passende lokale MAC-Adresse.
Wie Request und Reply zusammenarbeiten
Angenommen, Rechner A möchte im selben Ethernet-Netz ein IP-Paket an Rechner B senden. Die IP-Adresse von B ist bekannt, seine MAC-Adresse aber noch nicht.
- Rechner A prüft seinen ARP-Cache, also den temporären Speicher bekannter IP-/MAC-Zuordnungen.
- Fehlt der Eintrag, erstellt A einen ARP Request. Er enthält die eigene IP- und MAC-Adresse sowie die gesuchte Ziel-IP.
- A sendet den Ethernet-Frame an die Broadcast-MAC
ff:ff:ff:ff:ff:ff. Dadurch erhalten alle Geräte im lokalen Netzsegment die Anfrage. - Jedes Gerät vergleicht die gesuchte IP mit seiner eigenen IP.
- Nur der passende Host antwortet mit einem ARP Reply, der seine IP- und MAC-Adresse enthält.
- A speichert die Zuordnung im ARP-Cache und kann nun den Ethernet-Frame an B adressieren.
Im ARP-Nutzteil des Requests ist die gesuchte Ziel-MAC gewöhnlich noch mit 00:00:00:00:00:00 belegt. Davon zu unterscheiden ist die Broadcast-MAC im Ethernet-Header: Sie sorgt dafür, dass alle Geräte den Request empfangen.
Rechner A kennt die Ziel-IP 192.168.1.20, aber nicht die zugehörige MAC-Adresse.
A sendet sinngemäß: „Wer hat 192.168.1.20? Antworte mir.“ Alle Geräte empfangen die Broadcast-Anfrage. Nur das Gerät mit dieser IP antwortet mit seiner MAC-Adresse. A übernimmt das IP-/MAC-Paar in den Cache und sendet anschließend den eigentlichen Frame gezielt an diese MAC-Adresse.
Welche MAC-Adresse bei entfernten Zielen zählt
Vor der Übertragung prüft der Rechner mithilfe seiner Netzkonfiguration, ob die Ziel-IP zum lokalen Subnetz gehört.
- Ziel im lokalen Subnetz: ARP ermittelt die MAC-Adresse des Zielhosts.
- Ziel außerhalb des lokalen Subnetzes: ARP ermittelt die lokale MAC-Adresse des Standard-Gateways, meist eines Routers.
ARP sucht also niemals über mehrere Router hinweg nach der MAC-Adresse eines entfernten Zielhosts. MAC-Adressen gelten nur für den jeweils nächsten Übertragungsschritt im lokalen Segment. Das IP-Paket behält sein entferntes IP-Ziel, während der lokale Ethernet-Frame an den Router adressiert wird.
Ein Notebook möchte ein Paket an einen Server außerhalb seines Subnetzes senden. Das Notebook benötigt nicht die MAC-Adresse des Servers. Es ermittelt per ARP die MAC-Adresse seines Standard-Gateways und sendet den Frame an den Router. Dieser liest das IP-Ziel und übernimmt die weitere Weiterleitung.
Lokal: MAC des Zielhosts. Entfernt: MAC des nächsten Gateways.
Was Cache und Nachrichtenfelder leisten
Der ARP-Cache verhindert, dass vor jedem Frame eine neue Broadcast-Anfrage nötig ist. Dynamisch gelernte Einträge sind nur vorübergehend gültig und werden nach einer implementierungsabhängigen Zeit entfernt. Statische Zuordnungen können manuell eingerichtet werden.
Ein Ethernet-/IPv4-ARP-Paket ist 28 Byte lang. Request und Reply verwenden dasselbe Grundformat:
| Feld | Größe | Aufgabe |
|---|---|---|
| Hardwaretyp | 2 Byte | kennzeichnet bei Ethernet den Wert 1 |
| Protokolltyp | 2 Byte | kennzeichnet IPv4 mit 0x0800 |
| Hardwareadresslänge | 1 Byte | beträgt bei MAC-Adressen 6 |
| Protokolladresslänge | 1 Byte | beträgt bei IPv4-Adressen 4 |
| Operation | 2 Byte | 1 für Request, 2 für Reply |
| Absender-MAC und -IP | 10 Byte | nennen den Absender |
| Ziel-MAC und -IP | 10 Byte | nennen beziehungsweise suchen das Ziel |
Der EtherType 0x0806 im Ethernet-Frame kennzeichnet den Inhalt als ARP. Das ARP-Format enthält Typ- und Längenfelder, wird praktisch aber vor allem für IPv4 über Ethernet verwendet. IPv6 nutzt statt ARP das Neighbor Discovery Protocol (NDP).
Welche besonderen ARP-Formen es gibt
Neben dem normalen Request-Reply-Ablauf gibt es besondere Formen.
Gratuitous ARP
Bei Gratuitous ARP veröffentlicht ein Host seine eigene IP-/MAC-Zuordnung ohne vorherige Anfrage. Dabei steht seine eigene IP sowohl als Absender- als auch als Ziel-IP im Request.
Das kann dazu dienen,
- eine doppelt vergebene IP-Adresse zu erkennen,
- fremde Caches nach einem Wechsel der MAC-Adresse zu aktualisieren oder
- bei einem Server-Failover die MAC-Adresse des nun aktiven Systems bekannt zu machen.
Proxy ARP
Bei Proxy ARP antwortet ein Router stellvertretend auf eine ARP-Anfrage und nennt seine eigene MAC-Adresse. Der Absender schickt seine Frames daraufhin an den Router, der sie weiterleitet.
RARP
Das historische Reverse Address Resolution Protocol (RARP) arbeitet in der Gegenrichtung: Es sucht zu einer MAC-Adresse eine IP-Adresse. ARP und RARP haben ähnliche Paketstrukturen, aber unterschiedliche Aufgaben.
Wie ARP-Spoofing wirkt und Fehler erkannt werden
ARP-Nachrichten besitzen im normalen Ablauf keine eingebaute zuverlässige Echtheitsprüfung. Bei ARP-Spoofing verbreitet ein Angreifer deshalb gezielt eine falsche IP-/MAC-Zuordnung.
Wird etwa die IP-Adresse des Gateways mit der MAC-Adresse des Angreifers verbunden, können andere Geräte ihre Frames an den falschen Rechner senden. Der Angreifer kann den Verkehr weiterleiten, mitlesen oder verändern. Eine solche Position zwischen zwei Kommunikationspartnern heißt Man-in-the-Middle.
Mehrere IP-Adressen mit derselben MAC-Adresse sind ein Warnsignal, aber kein sicherer Beweis für einen Angriff. Auch Proxy ARP kann dieses Muster absichtlich erzeugen. Für eine Diagnose musst du daher Netzaufbau und erwartete Routerfunktion berücksichtigen.
Bei einer Störung hilft eine schichtweise Diagnose:
- Prüfe, ob Ziel-IP und Subnetzentscheidung plausibel sind.
- Prüfe, ob für ein lokales Ziel oder das Gateway ein passender ARP-Eintrag existiert.
- Achte auf unerwartete Änderungen oder doppelte Zuordnungen im Cache.
- Erst danach untersuchst du höhere Protokolle, wenn die lokale Zustellung funktioniert.
Als Schutzmaßnahme können geeignete Netzwerkkomponenten ARP-Nachrichten mit bekannten Zuordnungen prüfen. Ein Beispiel ist Dynamic ARP Inspection. Seine Wirksamkeit hängt jedoch von korrekten Vergleichsdaten und der Netzkonfiguration ab.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- ARP im lokalen IPv4-Netz
- verbindet IP-Adresse und MAC-Adresse
- prüft zuerst den ARP-Cache
- sendet bei fehlendem Eintrag einen Broadcast-Request
- erhält die Zuordnung durch einen ARP Reply
- nutzt beim lokalen Ziel dessen MAC-Adresse
- nutzt beim entfernten Ziel die MAC-Adresse des Gateways
- kennt besondere Formen wie Gratuitous ARP und Proxy ARP
- kann durch ARP-Spoofing manipuliert werden
Abschluss-Check
Wenn du diese drei Entscheidungen sicher triffst, hast du den Kern verstanden: Cache oder Request, lokales Ziel oder Gateway und erwartete oder verdächtige Zuordnung.
Mit Google fortfahren