Neighbor-Discovery-Protocol

Das Neighbor Discovery Protocol (NDP) verhilft dem IPv6 Protokoll zur Umsetzung des Ziels der automatischen Konfiguration der im Netz befindlichen Computer.  DHCPv6 und das NDP sind 2 Konzepte die dieses Ziel unterstützen. NDP dient somit als Ergänzung zu ICMPv6 und löst gleichzeitig  das ARP (Address Resolution Protocol) ab.  Bei IPv6 besteht die Möglichkeit der Adresskonfiguration ohne Konfigurationsserver (Stateless Autoconfiguration). DHCPv6 arbeitet noch mit Konfigurationsserver nach dem Client-Server-Verfahren (Stateful Autoconfiguration).  Das Neighbor Discovery Protocol ermöglicht also die serverlose Autokonfiguration in IPv6 Netzen und damit das Herausfinden der Netznachbarn.  IPv6 funktioniert sowohl in verbindungsorientierten Netzen als auch in Nicht-verbindungsorientierten Netzen. Ein Link in einem verbindungslosen Netzwerk stellt ein  Subnetz dar und eine Link-Adresse eine physikalische Adresse innerhalb eines solchen Links.  NDP kann als Bestandteil des ICMPv6 gesehen werden und nutzt auch ICMPv6 Nachrichten. 

Funktionen von NDP 
Das Neighbor Discovery Protocol erfüllt folgende Funktionen:
Router Discovery: befindet sich das Ziel des Datenpaketes in demselben Subnet bzw. Link oder in einem 'Remote'-Subnet? 
Prefix Discovery: es wird anhand des Link-Präfixes festgestellt, ob sich der Zielrechner in demselben Subnet befindet (eine IPv6 Adresse besteht aus einem Link-Präfix und einer Link-Adresse)
Danach erfolgt die Parameter Ermittlung z.B. MTU-Wert und  die
Address Autoconfiguration (Stateless Autoconfiguration (serverlose Autokonfiguration) und
Address Resolution (Feststellung der physikalischen Netzadresse) sowie
Next Hop Determination
Neighbor Unreachability Detection 
Duplicate Address Detection und
Redirect. 

NDP Nachrichten 
NDP nutzt ICMPv6 Nachrichten. Darunter sind: Router Advertisements, Router Solicitations, Neighbor Solicitations, Neighbor Advertisements und Redirect. 

Zielbestimmung für IPv6 Pakete 
Bei IPv4 besteht eine Adresse aus Subnetz-ID und Host-ID, so daß mit einer Operation (Bitweise-AND) festelltbar ist, ob sich die Zieladresse im selben Subnetz befindet. Bei IPv6 sind unterschiedliche Formen von Adressen möglich und NDP wird eingesetzt  um dies zu unterstützen. Die dazu erforderlichen Parameter und Adresszuordnungen werden bei IPv6 in verschiedenen Zwischenspeichern (Caches) vorgehalten. Dazu dienen folgende Caches: Präfix Cache mit einer Anzahl von Link-Präfixen die im gleichen Subnetz  gültig sind, der Neighbor Cache (ARP-Cache bei IPv4) enthält die Zuordnung: IPv6-Adresse - Link Lokale Adresse sowie der Router Cache (Zuordnung: Router IPv6 Adresse - Link Adresse).                     
Siehe auch:    IPv6   IPv4   IPv4-Technologien   Link-Lokale-Adresse   6to4   Teredo