ARP

Was ist ARP?

IP-Adressen sind logische Adressen – sie identifizieren Geräte im Netzwerk auf Schicht 3. Für die eigentliche Übertragung im lokalen Netzwerk benötigt Ethernet aber physische MAC-Adressen auf Schicht 2.

Das Address Resolution Protocol (ARP) übersetzt IP-Adressen in MAC-Adressen – es ist die Brücke zwischen Schicht 3 und Schicht 2.

Problem: Ich kenne die IP 192.168.1.50 – aber welche MAC hat dieses Gerät?
Lösung: ARP fragt im gesamten Netzwerk nach!

Wie ARP funktioniert

PC-A (192.168.1.10)              PC-B (192.168.1.50)
MAC: AA:AA:AA:AA:AA:AA           MAC: BB:BB:BB:BB:BB:BB
  │                                   │
  │── ARP REQUEST (Broadcast) ───────▶│ (und alle anderen im Netzwerk)
  │   "Wer hat 192.168.1.50?         │
  │    Bitte antworte an AA:AA:..."   │
  │                                   │
  │◀── ARP REPLY (Unicast) ──────────│
  │    "192.168.1.50 bin ich –        │
  │     meine MAC ist BB:BB:BB:..."   │
  │                                   │
  └── ARP-Cache aktualisiert ─────────┘
      192.168.1.50 → BB:BB:BB:BB:BB:BB

ARP-Cache

Um nicht bei jeder Kommunikation ARP-Anfragen senden zu müssen, speichert jedes Gerät bekannte IP-MAC-Zuordnungen im ARP-Cache (auch ARP-Tabelle):

Windows – ARP-Cache anzeigen:
arp -a

Ausgabe:
Interface: 192.168.1.10
  Internet Address    Physical Address    Type
  192.168.1.1         00-1a-2b-3c-4d-5e   dynamic  ← Router
  192.168.1.50        bb-bb-bb-bb-bb-bb   dynamic  ← PC-B
  192.168.1.100       cc-cc-cc-cc-cc-cc   static   ← Manuell eingetragen

Linux:
arp -n
ip neigh show

Einträge löschen:
arp -d 192.168.1.50  (Windows)
ip neigh del 192.168.1.50 dev eth0  (Linux)

ARP-Eintragstypen

Typ

Beschreibung

Ablaufzeit

Dynamic

Automatisch per ARP gelernt

Ablaufzeit ca. 2-20 Minuten

Static

Manuell eingetragen

Kein Ablauf

Gratuitous ARP

Ein Gratuitous ARP ist eine ARP-Anfrage eines Geräts nach seiner eigenen IP-Adresse. Das klingt sinnlos – hat aber wichtige Aufgaben:

  • IP-Konflikt erkennen: Antwortet jemand auf meine eigene IP-Anfrage, gibt es einen Konflikt

  • ARP-Cache aktualisieren: Nach IP- oder MAC-Änderung alle Nachbarn informieren

  • Failover: Bei High-Availability-Systemen – neue MAC für eine IP bekanntgeben

ARP-Sicherheit – ARP-Spoofing

ARP hat keine Authentifizierung – jeder kann gefälschte ARP-Antworten senden. Das ermöglicht den gefährlichsten Netzwerkangriff im lokalen Netz: ARP-Spoofing:

Normaler Datenfluss:
PC-A ──────────────────────▶ Router

ARP-Spoofing (Man-in-the-Middle):
Angreifer sendet gefälschte ARP-Replies:
→ PC-A glaubt: "Router IP = Angreifer MAC"
→ Router glaubt: "PC-A IP = Angreifer MAC"

Ergebnis:
PC-A ──▶ Angreifer ──▶ Router   (Angreifer liest alles mit!)

Schutzmaßnahmen:
- Dynamic ARP Inspection (DAI) am Switch
- Statische ARP-Einträge für kritische Geräte
- Netzwerksegmentierung
- Verschlüsselung (HTTPS, SSH) – macht Mitlesen nutzlos

ARP vs. NDP (IPv6)

Bei IPv6 gibt es kein ARP mehr. Die Aufgabe übernimmt das Neighbor Discovery Protocol (NDP) das auf ICMPv6 basiert:

Merkmal

ARP (IPv4)

NDP (IPv6)

Protokoll

Eigenständig (EtherType 0x0806)

ICMPv6 (Typ 135/136)

Anfrage

Broadcast an alle

Multicast an Solicited-Node-Adresse

Effizienz

Alle Geräte werden gestört

Nur relevante Geräte werden erreicht

Sicherheit

Keine Authentifizierung

SEcure Neighbor Discovery (SEND) möglich

Zusammenfassung

  • ARP übersetzt IP-Adressen in MAC-Adressen – Brücke zwischen Schicht 3 und 2

  • ARP Request ist ein Broadcast – alle Geräte im Netz empfangen ihn

  • ARP Reply ist ein Unicast – nur der Fragesteller erhält die Antwort

  • Der ARP-Cache speichert bekannte IP-MAC-Zuordnungen temporär

  • Gratuitous ARP dient zur Konfliktprüfung und Cache-Aktualisierung

  • ARP-Spoofing ist ein gefährlicher Man-in-the-Middle-Angriff

  • Dynamic ARP Inspection (DAI) schützt vor ARP-Spoofing

  • IPv6 ersetzt ARP durch das Neighbor Discovery Protocol (NDP)