<style>
.reveal .slides {
background: url(https://hedgedoc.xinux.net/uploads/xinux-weiss.png) no-repeat;
background-position: right 10px bottom 10px;
background-size: 80px;
}
.reveal section { text-align: left; padding: 20px 40px !important; }
.reveal h2 { font-size: 34px !important; margin-bottom: 10px !important; }
.reveal ul li { font-size: 26px !important; line-height: 1.25 !important; margin-bottom: 6px !important; }
</style>
## IPv6 – ARP-Ersatz
- IPv6 verwendet kein **ARP-Broadcast** mehr.
- Die Adressauflösung erfolgt über **ICMPv6 Neighbor Discovery (ND)**.
- Dafür werden zwei Nachrichtentypen verwendet:
- **Neighbor Solicitation (NS)** – Anfrage
- **Neighbor Advertisement (NA)** – Antwort
- Definiert in **RFC 4861**.
---
## Funktionsprinzip (kompakt)
- Host A möchte Host B erreichen → kennt nur dessen IPv6, nicht die MAC.
- Host A sendet **Neighbor Solicitation (135)** an
**Solicited-Node-Multicast** `ff02::1:ffXX:XXXX`.
- Host B prüft, ob die Adresse zu ihm gehört.
- Host B antwortet mit **Neighbor Advertisement (136)**
→ enthält seine MAC-Adresse.
- Host A speichert die Zuordnung im **Neighbor Cache**.
---
## Solicited-Node-Multicast-Adresse
- IPv6 ersetzt Broadcast durch gezielten Multicast.
- Format: `ff02::1:ffXX:XXXX`
- letzte 24 Bit = letzte 24 Bit der Ziel-IPv6-Adresse (Erklärung folgt)
- Beispiel:
- Zieladresse: `fe80::a00:27ff:fe12:3456`
- Multicast: `ff02::1:ff12:3456`
- Nur der Zielhost empfängt die Anfrage → kein Netz-Broadcast.
---
## Warum genau 24 Bit?
- Kompromiss zwischen **Eindeutigkeit** und **Effizienz**
- Nur Hosts mit gleicher 24-Bit-Endung hören mit
- Reduziert unnötigen Traffic – kein Broadcast wie bei ARP
- 24 Bit = 16 Mio Kombinationen → geringe Kollisionswahrscheinlichkeit
- Ergebnis: **Gezielte Zustellung, minimale Netzlast**
---
## Solicited-Node-Multicast – Bildung und Beispiel
- Jede IPv6-Adresse besitzt eine zugehörige **Solicited-Node-Multicast-Adresse**
- Format: `ff02::1:ffXX:XXXX`
- **XX:XXXX = letzte 24 Bit** der IPv6-Adresse
- Beispiel:
- IPv6-Adresse: `2a02:24d8:71:3030::2`
- Letzte 24 Bit: `00:0002`
- Multicast: `ff02::1:ff00:0002`
- Host hört automatisch auf diese Gruppe, um **Neighbor-Solicitations** empfangen zu können
---
## Gruppenprinzip und Vergleich zu ARP
- Mehrere Hosts können dieselbe Solicited-Node-Gruppe nutzen
→ alle empfangen die Anfrage
- Nur der Host mit der **passenden Zieladresse** im ICMPv6-Payload antwortet
- Damit kein „Flooding“ wie bei IPv4-Broadcasts, sondern **gezielter Multicast**
- Beispiel:
- `2a02:24d8:71:3030::2` und `2a02:24d8:71:3030:1::2` → beide hören auf `ff02::1:ff00:0002`
- Anfrage erreicht beide, **aber nur der richtige antwortet**
- 💡 **Vergleich:**
- IPv4 → ARP-Broadcast an alle
- IPv6 → Multicast nur an Hosts mit passenden letzten 24 Bit
---
## Neighbor Advertisement (NA)
- Antwort auf eine Neighbor Solicitation.
- Enthält:
- Quell-MAC-Adresse des Antwortgebers
- Flag „Solicited“ = 1 (Antwort auf Anfrage)
- Flag „Override“ = 1 (aktualisiert vorhandenen Eintrag)
- Wird direkt an den Anfragenden (Unicast) gesendet.
---
## Neighbor Cache (vergleichbar mit ARP-Tabelle)
- **Linux:** `ip -6 neigh show`
- **Cisco IOS:** `show ipv6 neighbors`
- **FreeBSD / BSD:** `ndp -a`
- **Windows (CMD):** `netsh interface ipv6 show neighbors`
- **Windows (PS):** `Get-NetNeighbor -AddressFamily IPv6`
{"title":"IPv6 – Neighbor Discovery (ARP-Ersatz)","author":"Thomas Will","date":"2025-10-14"}