<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"}