www.wikidata.de-de.nina.az
Das Neighbor Discovery Protocol NDP ist der Ersatz fur das Address Resolution Protocol ARP des IPv4 Protokollstacks bei dessen Nachfolger IPv6 Es wird unter anderem dazu benutzt IPv6 Adressen in Link Layer Adressen aufzulosen Neighbor Discovery ProtocolFamilie InternetprotokollfamilieEinsatzfeld Netzwerkadressenzuordnungaufbauend auf NetzzugangsschichtStandard RFC 3122 1 RFC 4861 2 NDP im TCP IP Protokollstapel Anwendung HTTP IMAP SMTP DNS Transport TCP UDPInternet IPv6Netzzugang NDPEthernet TokenBus TokenRing FDDI Inhaltsverzeichnis 1 Verwendung 2 Funktionsweise 2 1 Router und Prafix Ermittlung 2 2 Parameterermittlung 2 3 Adress Autokonfiguration 2 4 Bestimmung des nachsten Hops 2 5 Adressauflosung 2 6 Erkennung der Nichterreichbarkeit des Nachbarn 2 7 Erkennung doppelter Adressen 2 8 Umleitung 3 ICMPv6 Typen 3 1 Router Solicitation Type 133 3 2 Router Advertisement Type 134 3 3 Neighbor Solicitation Type 135 3 4 Neighbor Advertisement Type 136 3 5 Redirect Type 137 4 Implementierung in Betriebssystemen 5 Weblinks 6 EinzelnachweiseVerwendung BearbeitenNDP wird von den am IPv6 Netzwerk beteiligten Knoten benutzt um die Link Layer Adresse von anderen am selben Netzwerk hangenden Knoten ausfindig zu machen und zum Aktualisieren der gecachten Adressen Fur alle nicht am selben Netzwerk hangenden Knoten wird NDP benutzt um einen den Router zu finden der die Pakete weiterleiten kann Funktionsweise BearbeitenFur NDP muss der Knoten fur jedes Interface folgende Informationen verwalten Im Neighbor Cache werden Adressen verwaltet an die etwas gesendet wurde und die sich im selben Netzwerk befinden Zu jedem Eintrag einer IPv6 Adresse steht ihre Link Layer Adresse Auch weitere Informationen werden hier verwaltet wie zum Beispiel Pointer auf Pakete die auf die Adressauflosung warten Informationen fur die Erreichbarkeitsprufung oder ob es ein Router ist Im Destination Cache werden Adressen verwaltet an die etwas gesendet wurde Fur jeden Eintrag wird per Link auf den Neighbor Cache gespeichert welches der nachste Hop ist den ein Paket nehmen soll In der Prefix List werden die Prafixe verwaltet die auf demselben Netz gultig sind Jeder Eintrag ausser der zur link lokalen Adresse hat ein Ablaufdatum Somit bleiben nur Netze in der Liste die von einem Router verkundet werden In der Default Router List werden alle Router verwaltet die fur das Interface bekannt sind Die Eintrage verweisen auf Eintrage im Neighbor Cache Zusatzlich haben sie ein Ablaufdatum sodass alte Router verschwinden und nur die erhalten bleiben die ihre Anwesenheit verkunden Die Informationen zum Erstellen dieser Listen werden per ICMPv6 Internet Control Message Protocol V6 ausgetauscht NDP definiert zu diesem Zweck funf ICMPv6 Typen Router und Prafix Ermittlung Bearbeiten Router versenden in gewissen Zeitabstanden Router Advertisement Nachrichten per Multicast Die Informationen in diesen Nachrichten werden verwendet um die Default Router List und die Prefix List zu erstellen Nach Ablauf der angegebenen Lebenszeit werden die Eintrage wieder aus den Listen geloscht Dadurch bleiben nur Router eingetragen die aktiv sind und ihre Anwesenheit periodisch kundtun Um nicht auf das nachste geplante Router Advertisement warten zu mussen kann ein Knoten per Router Solicitation Nachricht an die Router Multicast Adresse ein Router Advertisement erzwingen Dies ist besonders beim Aktivieren eines neuen Interfaces von Vorteil um mit der Konfiguration nicht warten zu mussen Parameterermittlung Bearbeiten Mit diesem Mechanismus ermitteln Knoten relevante Parameter fur den Link z B die fur den Link verwendete MTU an dem sie angeschlossen sind oder Internet Parameter wie zum Beispiel den Wert fur das Hop Limit die fur ausgehende Pakete verwendet werden mussen Adress Autokonfiguration Bearbeiten Mit diesem Verfahren konfigurieren Netzknoten IPv6 Adressen fur ihre Interfaces ohne einen DHCP Dienst zu nutzen Siehe SLAAC Bestimmung des nachsten Hops Bearbeiten Wenn ein Paket versendet werden soll wird im Destination Cache nachgeschaut ob fur dieses Ziel schon ein Eintrag vorhanden ist Wenn kein Eintrag existiert wird anhand der Prefix List und der Default Router List der nachste Hop fur das Paket ermittelt Diese Information wird dann im Destination Cache gespeichert um dies nicht jedes Mal ermitteln zu mussen Wenn der neue Eintrag auf einen nichtvorhandenen Eintrag im Neighbor Cache zeigt wird dieser ebenfalls erzeugt als unfertig markiert und die Adressauflosung engl Address resolution angestossen Das Paket wird in die Queue gestellt und im Neighbor Cache ein Pointer darauf gesetzt Adressauflosung Bearbeiten Um die Link Layer Adresse eines Knotens zu ermitteln wird eine Neighbor Solicitation Nachricht per IPv6 Multicast an die sog Solicited Nodes Adresse des Ziels versendet Anzumerken ist dass auf Link Layer Ebene ebenfalls Multicast genutzt wird jeder IPv6 Knoten muss also auf Link Layer Ebene nicht nur auf seine originare feste MAC Adresse z B Ethernet horen sondern auch auf eine spezifische Multicast Adresse die auf seiner IPv6 Adresse beruht Im Neighbor Solicitation Paket ist dann die vollstandige gesuchte IPv6 Adresse in den Nutzdaten enthalten und nur der Knoten mit der gleichen Adresse antwortet darauf Er verschickt eine Neighbor Advertisement Nachricht Die darin enthaltenen Informationen werden im Neighbor Cache gespeichert Wenn ein Eintrag noch unfertig war kann er nun als erreichbar markiert werden und die Pakete auf die er verweist konnen ausgelost werden Beispiel Ein IPv6 Host in einem Ethernet Netzwerk mit einer MAC Adresse 00 1d e0 2a 42 42 bekommt uber EUI 64 eine link lokale IPv6 Adresse fe80 021d e0ff fe2a 4242 Die zugehorige Solicitated Node Multicast Adresse an welche Neighbor Solicitation Paket auf IPv6 Ebene versendet werden lautet FF02 1 FF2a 4242 3 Der Host hort auf der Link Layer Ebene nicht nur auf seine MAC Adresse 00 1d e0 2a 42 42 sondern auch auf die der Solicitated Node Multicast Adresse zugeordneten Ethernet Multicast Adresse 33 33 ff 2a 42 42 33 33 ist dabei der Teil der ein IPv6 Multicast Paket im Ethernet kennzeichnet ff 2a 42 42 identifiziert die eigentliche Gruppe Multicast 4 Erkennung der Nichterreichbarkeit des Nachbarn Bearbeiten Um den Neighbor Cache aktuell zu halten wird versucht herauszufinden ob die Eintrage darin noch aktuell sind Es gibt dabei verschiedene Wege festzustellen ob ein Knoten nicht aktiv ist Solange man TCP Daten oder TCP Empfangsbestatigungen erhalt weiss man dass der Knoten noch erreichbar ist Wenn ein Eintrag seine Lebenszeit uberschreitet ohne durch Verkehr bestatigt zu werden wird er als veraltet markiert Sobald ein Paket versendet werden will wird der Eintrag als verzogert markiert und fur kurze Zeit versucht ihn durch Verkehr zu bestatigen Wenn dies nicht passiert wird erneut eine Neighbor Solicitation Nachricht gesendet um den Knoten aktiv zu testen Wenn er nicht antwortet wird er aus dem Neighbor Cache geloscht Erkennung doppelter Adressen Bearbeiten Mit diesem Verfahren ermitteln Netzknoten ob die Adresse die sie sich bei der Autokonfiguration gegeben haben eindeutig ist Umleitung Bearbeiten Redirect Nachrichten werden vom Router verschickt um andere Knoten uber einen besseren ersten Hop fur eine Zieladresse zu informieren Beim Empfangen einer solchen Nachricht wird der Destination Cache aktualisiert Wenn kein passender Eintrag im Destination Cache gefunden wird wird ein neuer erstellt ICMPv6 Typen BearbeitenRouter Solicitation Type 133 Bearbeiten Router Solicitation Schema Bits 0 7 Bits 8 15 Bits 16 23 Bits 24 310 Type Code Prufsumme32 Reserviert OptionenPer Router Solicitation an die Router Multicast Adresse werden alle Router im selben Netz aufgefordert sich zu melden Der Code dieser Nachricht ist immer 0 Das Feld Reserviert muss vom Sender mit Nullen initialisiert werden und der Empfanger muss es ignorieren Die einzig mogliche Option ist die Link Layer Adresse des Senders Um bei Protokollerweiterungen keine Probleme zu bekommen mussen alle unbekannten Optionen ignoriert werden Router Advertisement Type 134 Bearbeiten Router Advertisement Schema Bits 0 7 Bits 8 15 Bits 16 23 Bits 24 310 Type Code Prufsumme32 Hop Limit M O HA Pref Proxy reserved Router Lifetime64 Erreichbarkeits Timeout96 Auflosungs Timeout OptionenPer Router Advertisement verkunden Router ihre Anwesenheit im Netz Entweder auf Anfrage per Router Solicitation oder periodisch um nicht vergessen zu werden Das Hop Limit ist ein 8 Bit Wert der die vom Router vorgeschlagene Standard Hop Limits enthalt Es folgen 8 Flags Ein gesetztes M Bit sagt dem Knoten dass er neben Autokonfiguration fur die IP Adresse auch Stateful Autokonfiguration verwenden soll Ein gesetztes O Bit sagt dem Knoten dass er neben Autokonfiguration fur alle Nicht IP Adress Informationen auch Stateful Autokonfiguration verwenden soll HA signalisiert ob ein Home Agent fur mobile Erreichbarkeit aktiv ist Pref ermoglicht es bei mehreren Routern im Netz Praferenzen zu setzen Proxy signalisiert ob ein Proxy verwendet wird Die Router Lifetime ist ein 16 Bit Integer der angibt wie viele Sekunden ein Router in der Default Router List bleiben soll Das theoretische Maximum sind 18 2 Stunden 65 536 Sekunden 2 16 displaystyle 2 16 nbsp Sekunden RFC 4861 2 begrenzt den Maximalwert auf 9000 Sekunden d h auf 2 5 Stunden Ein Wert von 0 besagt dass der Router kein Default Router ist und nicht in die Default Router List eingetragen werden soll Das Erreichbarkeits Timeout ist ein 32 Bit Integer der angibt wie viele Millisekunden ein Eintrag im Neighbor Cache nach dem Empfangen von Daten noch als erreichbar gelten soll Das Auflosungs Timeout ist ein 32 Bit Integer der angibt nach wie vielen Millisekunden erneut ein Neighbor Solicitation gesendet werden soll Gultige Optionen sind die Link Layer Adresse des Senders die MTU des Routers und alle gultigen Prafixe Um problemfreie Protokollerweiterungen zu ermoglichen mussen alle unbekannten Optionen ignoriert werden Neighbor Solicitation Type 135 Bearbeiten Neighbor Solicitation Schema Bits 0 7 Bits 8 15 Bits 16 23 Bits 24 310 Type Code Prufsumme32 Reserviert64 Zieladresse96128160 OptionenPer Neighbor Solicitation so viel wie Nachbar Anfrage an die Link Layer Multicast Adresse einer IPv6 Adresse wird diese Adresse zu einer Link Layer Adresse aufgelost Die zu verwendende Link Layer Multicast Adresse wird dabei wie oben unter Adressauflosung beschrieben aus der IPv6 Adresse des Zielknotens berechnet Ebenfalls wird so die Erreichbarkeit eines Knotens gepruft Der Typ wird auf 135 gesetzt und der Code auf 0 Das reservierte Feld muss vom Sender mit Nullen initialisiert und vom Empfanger ignoriert werden Die Zieladresse ist die IPv6 Adresse die in eine Link Layer Adresse aufgelost werden soll Es darf keine Multicast Adresse angegeben werden Die einzig mogliche Option ist die Link Layer Adresse des Senders Um bei Protokollerweiterungen keine Probleme zu bekommen mussen alle unbekannten Optionen ignoriert werden Neighbor Advertisement Type 136 Bearbeiten Neighbor Advertisement Schema Bits 0 7 Bits 8 15 Bits 16 23 Bits 24 310 Type Code Prufsumme32 R S O Reserviert Reserviert64 Zieladresse96128160 OptionenMit einer Neighbor Advertisement Nachricht wird auf Neighbor Solicitation Nachrichten geantwortet Der Typ wird auf 136 gesetzt und der Code auf 0 Das R Bit wird gesetzt wenn der Knoten ein Router ist Das S Bit wird gesetzt wenn das Neighbor Advertisement aufgrund einer Unicast Neighbor Solicitation Nachricht gesendet wird Ein gesetztes O Bit bedeutet dass der Eintrag im Neighbor Cache aktualisiert werden muss Das reservierte Feld muss vom Sender mit Nullen initialisiert werden und vom Empfanger ignoriert werden Als Zieladresse wird die IPv6 Zieladresse aus der dazugehorigen Neighbor Solicitation Nachricht eingetragen oder die IPv6 Adresse fur die eine neue Link Layer Adresse bekanntgegeben werden soll Die einzig mogliche Option ist die Link Layer Adresse des Senders Um bei Protokollerweiterungen keine Probleme zu bekommen mussen alle unbekannten Optionen ignoriert werden Redirect Type 137 Bearbeiten Redirect Schema Bits 0 7 Bits 8 15 Bits 16 23 Bits 24 310 Type Code Prufsumme32 Reserviert64 Hop Adresse96128160192 Zieladresse224256288 OptionenPer Redirect Nachricht teilen Router mit wenn es einen besseren ersten Hop fur ein gewisses Ziel gibt Der Typ wird auf 137 gesetzt und der Code auf 0 Das reservierte Feld muss vom Sender mit Nullen initialisiert werden und vom Empfanger ignoriert werden Die Hop Adresse ist der zu bevorzugende Router fur die Adresse Die Zieladresse ist die Adresse fur die es einen besseren First Hop gibt Die einzigen moglichen Optionen sind die Link Layer Adresse des Senders und der Header des auslosenden Paketes Um bei Protokollerweiterungen keine Probleme zu bekommen mussen alle unbekannten Optionen ignoriert werden Implementierung in Betriebssystemen BearbeitenAlle IPv6 fahigen Betriebssysteme die in Ethernet basierten Netzwerken betrieben werden sind in der Lage mittels NDP Adressen aufzulosen Unter den meisten Linux Distributionen erhalt man mit dem iproute2 Werkzeug Einsicht in den Neighbor Cache ip 6 neigh 2001 470 1f0b 2f2 5cad a77f aaff 849 dev wlan0 lladdr 00 11 25 32 10 ab REACHABLE fe80 2a10 7bff fe65 58a dev wlan0 lladdr 28 10 7b 65 ab cd router REACHABLE 2001 470 1f0b 2f2 cafe dev wlan0 lladdr 00 11 25 32 10 ab REACHABLE Auf vielen BSD basierten Systemen wie FreeBSD und OpenBSD hilft hierbei das Werkzeug ndp wobei die Optionen an bedeuten dass alle Hosts numerisch angezeigt werden sollen hier bei FreeBSD 9 die Kommentare rechts wurden nachtraglich eingefugt ndp an Neighbor Linklayer Address Netif Expire S Flags 2001 475 abcd 2f2 3189 67c1 b550 9400 c6 ab 27 56 b5 30 em0 14s R R lt Ein anderer Rechner im Netzwerk mit Privacy Extensions 2001 475 abcd 2f2 211 25ff fe32 10ab 00 11 25 32 10 ab em0 permanent R fe80 211 25ff fe32 10ab em0 00 11 25 32 10 ab em0 permanent R 2001 475 abcd 2f2 cafe 00 11 25 32 10 ab em0 permanent R lt Alias Adresse fe80 2a10 7bff fe65 58a em0 28 10 7b 65 ab cd em0 23h59m25s S R lt Das ist der Router 2001 475 abcd 2f2 5cad a77f aaff 849 00 11 25 32 10 ab em0 permanent R fe80 c6ab 27ff fe56 b530 em0 c6 ab 27 56 b5 30 em0 24s R R lt Derselbe Rechner wie in der ersten Zeile mit seiner link local address Hierbei ist insbesondere die Spalte Expire zu beachten Sie legt fest wann ein Namenseintrag als veraltet einzustufen ist Die Adressen des Rechners selbst sind dabei permanent der Router liegt hier bei fast 24 Stunden und die Nachbargerate im Netzwerk liegen zumeist bei unter einer Minute bis der Eintrag wieder aufgefrischt wird Unter Windows lautet der Befehl netsh interface ipv6 show neighbors level verboseWeblinks BearbeitenRFC 4861 Neighbor Discovery for IP Version 6 IPv6 englisch RFC 3122 Extensions to IPv6 Neighbor Discovery for Inverse Discovery Specification englisch Einzelnachweise Bearbeiten RFC 3122 Extensions to IPv6 Neighbor Discovery for Inverse Discovery Specification englisch a b RFC 4861 Neighbor Discovery for IP Version 6 IPv6 englisch Robert M Hinden RFC 2373 IP Version 6 Addressing Architecture Abschnitt 2 7 1 englisch Matt Crawford RFC 2464 Transmission of IPv6 Packets over Ethernet Networks Abschnitt 7 englisch Abgerufen von https de wikipedia org w index php title Neighbor Discovery Protocol amp oldid 235682231