Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPv6 Neighbor Discovery

ZUSAMMENFASSUNG Neighbor Discovery ist ein Protokoll, das für IPv6-Datenverkehr verwendet wird und es verschiedenen Knoten auf demselben Link ermöglicht, ihren Nachbarn ihre Existenz anzukündigen und mehr über die Existenz ihrer Nachbarn zu erfahren.

IPv6 Neighbor Discovery – Übersicht

Neighbor Discovery ist ein Protokoll, mit dem verschiedene Knoten auf demselben Link ihren Nachbarn ihre Existenz bekannt geben und mehr über die Existenz ihrer Nachbarn erfahren können.

Router und Hosts (Knoten) verwenden Neighbor Discovery-Nachrichten (ND), um die Link-Layer-Adressen von Nachbarn zu ermitteln, die sich auf verbundenen Verbindungen befinden, und ungültige Cache-Einträge zu überschreiben. Hosts verwenden ND auch, um benachbarte Router zu finden, die Pakete in ihrem Namen weiterleiten können.

Darüber hinaus nutzen Knoten ND, um die Fähigkeit, Nachbarn zu erreichen, aktiv zu verfolgen. Wenn ein Router (oder der Pfad zu einem Router) ausfällt, suchen Knoten aktiv nach Alternativen, um das Ziel zu erreichen.

In diesem Abschnitt werden die folgenden Themen behandelt:

Verbesserungen gegenüber IPv4-Protokollen

IPv6 Neighbor Discovery entspricht einer Reihe der IPv4-Protokolle – ARP, ICMP Router Discovery und ICMP-Weiterleitung. Neighbor Discovery bietet jedoch viele Verbesserungen gegenüber den IPv4-Protokollen. Diese Verbesserungen befassen sich mit den folgenden Verbesserungen:

  • Routererkennung: So lokalisiert ein Host Router, die sich auf einer angeschlossenen Verbindung befinden.

  • Präfixerkennung: Wie ein Host Adresspräfixe für Ziele erkennt, die sich auf einem angeschlossenen Link befinden. Knoten verwenden Präfixe, um zwischen Zielen zu unterscheiden, die sich auf einer angeschlossenen Verbindung befinden, und den Zielen, die sie nur über einen Router erreichen können.

  • Parametererkennung: Wie ein Knoten verschiedene Parameter (Verbindungsparameter oder Internetparameter) lernt, die er in ausgehenden Paketen platziert.

  • Adressauflösung: Wie ein Knoten nur eine Ziel-IPv6-Adresse verwendet, um eine Link-Layer-Adresse für Ziele in einem angeschlossenen Link zu ermitteln.

  • Bestimmung des nächsten Hops: Der Algorithmus, den ein Knoten verwendet, um eine IPv6-Zieladresse einer benachbarten IPv6-Adresse (entweder dem nächsten Router-Hop oder dem Ziel selbst) zuzuordnen, an die er Datenverkehr für das Ziel senden will.

  • Erkennung von Unerreichbarkeit beim Nachbarn: Wie ein Knoten feststellt, dass er einen Nachbarn nicht mehr erreichen kann.

  • Erkennung doppelter Adressen: Wie ein Knoten feststellt, ob eine Adresse bereits von einem anderen Knoten verwendet wird.

Ein Router multicastt in regelmäßigen Abständen einen Router von jedem seiner Multicast-Schnittstellen und kündigt dessen Verfügbarkeit an. Hosts lauschen auf diese Ankündigungen, um Adressen automatisch zu konfigurieren und link-lokale Adressen der benachbarten Router zu erkennen. Wenn ein Host gestartet wird, wird ein Router multicasts, der zur sofortigen Ankündigung aufgefordert wird.

Die Routererkennungsmeldungen stellen kein Routing-Protokoll dar. Sie ermöglichen Es Hosts, die Existenz benachbarter Router zu erkennen, werden jedoch nicht verwendet, um zu bestimmen, welcher Router am besten ein bestimmtes Ziel erreichen kann.

Neighbor Discovery verwendet die folgenden Internet Control Message Protocol Version 6 (ICMPv6)-Nachrichten: Router-Aufforderung, Router-Ankündigung, Neighbor Solicitation, Neighbor Advertisement und Redirect.

Neighbor Discovery für IPv6 ersetzt die folgenden IPv4-Protokolle: Router Discovery (RDISC), Address Resolution Protocol (ARP) und ICMPv4-Umleitung.

Junos OS Version 9.3 und höher unterstützt Secure Neighbor Discovery (SEND). MIT SEND können Sie NDP-Nachrichten (Neighbor Discovery Protocol) sichern. Es ist in Umgebungen anwendbar, in denen die physische Sicherheit auf einem Link nicht gewährleistet ist und Angriffe auf NDP-Nachrichten ein Problem darstellen. Das Junos OS sichert NDP-Nachrichten über kryptografisch generierte Adressen (CGAs).

Routererkennung

Router-Ankündigungen können eine Liste von Präfixen enthalten. Diese Präfixe werden für die automatische Adresskonfiguration, für die Verwaltung einer Datenbank mit Onlink-Präfixen (auf demselben Datenlink) und für die Erkennung von Duplikatadressen verwendet. Wenn ein Knoten onlink ist, leitet der Router Pakete an diesen Knoten weiter. Wenn der Knoten nicht verbunden ist, werden die Pakete zur Erwägung an den nächsten Router gesendet. Für IPv6 kann jedes Präfix in der Präfixliste eine Präfixlänge, eine gültige Lebensdauer für das Präfix, eine bevorzugte Lebensdauer für das Präfix, ein Onlink-Flag und ein Autokonfigurations-Flag enthalten. Diese Informationen ermöglichen die automatische Adresskonfiguration und die Einstellung von Verbindungsparametern wie maximale MTU-Größe (Transmission Unit) und Hop-Begrenzung.

Junos OS Version 22.4R1 und höher unterstützt NAT64 IPv6-Adresspräfix-Router-Ankündigung. Der Router kündigt das konfigurierte NAT64-IPv6-Adresspräfix in den Router-Ankündigungspaketen an. Sie können bis zu 3 NAT64 IPv6-Adresspräfixe pro Schnittstelle konfigurieren.

Sie können das NAT64-IPv6-Adresspräfix mit dem Befehl konfigurieren set protocols router-advertisement interface <interface-name> nat-prefix <prefix>.

Sie können die Router-Ankündigungszeit mit dem Befehl konfigurieren, set protocols router-advertisement interface <interface-name> nat-prefix <prefix> lifetime <lifetime>.

Adressauflösung

Für IPv6 ersetzt die ICMPv6 Neighbor Discovery das Address Resolution Protocol (ARP), um Netzwerkadressen in Adressen auf Link-Ebene aufzulösen. Neighbor Discovery verarbeitet auch Änderungen an Link-Layer-Adressen, eingehendem Load Balancing, Anycast-Adressen und Proxy-Ankündigungen.

Knoten, die die Link-Layer-Adresse eines Zielknotens anfordern, multicast eine Neighbor-Solicitation-Nachricht mit der Zieladresse. Das Ziel sendet eine Neighbor-Ankündigungsnachricht mit seiner Link-Layer-Adresse zurück.

Nachbarschaftswerbung und Werbenachrichten werden verwendet, um doppelte Unicast-Adressen auf demselben Link zu erkennen. Die automatische Konfiguration einer IP-Adresse hängt davon ab, ob auf diesem Link eine doppelte Adresse vorhanden ist. Die Erkennung doppelter Adressen ist eine Voraussetzung für die automatische Konfiguration.

Neighbor Solicitation und Werbenachrichten werden auch für die Erkennung von Nichterreichbarkeit von Nachbarn verwendet. Zur Erkennung von Unerreichbarkeit beim Nachbarn wird das Vorhandensein eines Zielknotens auf einer bestimmten Verbindung erkannt.

Umleiten

Umleitungsmeldungen werden gesendet, um einen Host eines besseren Next-Hop-Routers an ein bestimmtes Ziel oder einen Onlink-Nachbarn zu informieren. Dies ist ähnlich wie die ICMPv4-Umleitung. Ähnlich wie die ICMPv4-Umleitungsfunktion wird die ICMPv6-Umleitungsnachricht von Routern verwendet, um On-Link-Hosts über einen besseren Next-Hop für ein bestimmtes Ziel zu informieren. Ziel ist es, den Routern zu ermöglichen, Hosts dabei zu helfen, die effizientesten lokalen Routing-Entscheidungen zu treffen.

SLAAC

Zusätzlich zu all den anderen Verbesserungen, die es für die Netzwerkwelt bringt, ermöglicht Neighbor Discovery auch die automatische Adresskonfiguration, nämlich Zustandslose Adressautokonfiguration (Stateless Address Autoconfiguration, SLAAC). IPv6 behält die Fähigkeit zur statusbehafteten Adresszuweisung über DHCPv6 (und zur statischen Zuweisung) bei, aber SLAAC bietet eine einfache Adresskonfigurationsmethode, die unter vielen Umständen wünschenswert sein könnte.

SLAAC bietet Plug-and-Play-IP-Konnektivität in zwei Phasen: Phase 1: Link-Local Address Zuweisung; und dann in Phase 2: Globale Adresszuweisung.

  • Phase 1 – Schritte für die lokale Konnektivität:

    1. Link-Local Address Generation: Wenn eine Multicast-fähige IPv6-fähige Schnittstelle aktiviert wird, generiert der Knoten eine link-lokale Adresse für diese Schnittstelle. Dazu wird ein Schnittstellenbezeichner an das link-lokale Präfix (FE80::/10) angefügt. Die automatisch generierte link-lokale Adresse kann nicht gelöscht werden. Es kann jedoch auch eine neue link-lokale Adresse manuell eingegeben werden, die die automatisch generierte link-lokale Adresse überschreibt.

    2. Doppelte Erkennung: Bevor er der Schnittstelle die neue link-lokale Adresse ordnet, überprüft der Knoten, ob die Adresse eindeutig ist. Dies wird erreicht, indem eine Neighbor Solicitation-Nachricht an die neue Adresse gesendet wird. Wenn es eine Antwort gibt, ist die Adresse eine Duplikate und der Prozess wird beendet, sodass ein Eingreifen des Bedieners erforderlich ist.

    3. Link-Local Address Zuweisung: Wenn die Adresse eindeutig ist, weist der Knoten sie der Schnittstelle zu, für die sie generiert wurde.

    Zu diesem Zeitpunkt verfügt der Knoten über IPv6-Konnektivität zu allen anderen Knoten auf derselben Verbindung. Phase 2 kann nur von Hosts durchgeführt werden. Die Schnittstellenadressen des Routers müssen auf andere Wege konfiguriert werden.

  • Phase 2 – Schritte für die globale Konnektivität:

    1. Router-Ankündigung: Der Knoten sendet eine Router-Aufforderung, um alle Router aufzufordern, ihm Router-Ankündigungen zu senden. Wenn der Router zustandslose Automatische Konfiguration unterstützt, enthält die Routerankündigung ein Subnetzpräfix für die Verwendung durch benachbarte Hosts.

    2. Globale Adressgenerierung: Sobald er ein Subnetzpräfix von einem Router erhält, generiert der Host eine globale Adresse, indem er die Schnittstellen-ID an das bereitgestellte Präfix anhängt.

    3. Erkennung doppelter Adressen: Der Host führt erneut Dplicate Address Detection (DAD) durch, diesmal für die neue globale Adresse. 4. Globale Adresszuweisung: Wenn es sich bei der Adresse nicht um eine duplizierte Adresse handelt, weist der Host sie der Schnittstelle zu.

    Dieser Prozess gewährleistet die vollständige globale IPv6-Konnektivität ohne manuelle Host-Konfiguration und sehr wenig Routerkonfiguration.

Unterstützte ICMP Router Discovery und IPv6 Neighbor Discovery Standards

Junos OS unterstützt im Wesentlichen die folgenden RFCs, die Standards für internet Control Message Protocol (ICMP für IP-Version 4 [IPv4]) und Neighbor Discovery (für IP-Version 6 [IPv6]) definieren.

  • RFC 1256, ICMP-Routererkennungsmeldungen

  • RFC 4861, Neighbor Discovery für IP-Version 6 (IPv6)

  • RFC 2462, IPv6 Zustandslose Adressautokonfiguration

  • RFC 2463, Internet Control Message Protocol (ICMPv6) für die Internet Protocol Version 6 (IPv6)-Spezifikation

  • RFC 4443, Internet Control Message Protocol (ICMPv6) für die Internet Protocol Version 6 (IPv6)-Spezifikation

  • RFC 4861, Neighbor Discovery für IP-Version 6 (IPv6)

  • RFC 4862, IPv6 Zustandslose Adressautokonfiguration

  • RFC 8335, PROBE: Ein Dienstprogramm für Sondierungsschnittstellen

Beispiel: Konfigurieren von IPv6-Schnittstellen und Aktivieren der Neighbor Discovery

In diesem Beispiel wird gezeigt, wie Sie den Router oder Switch so konfigurieren, dass IPv6 Neighbor Discovery-Nachrichten gesendet werden.

Anforderungen

In diesem Beispiel ist keine spezielle Konfiguration über die Geräteinitialisierung hinaus erforderlich.

Übersicht

In diesem Beispiel werden alle Schnittstellen in der Beispieltopologie mit IPv6-Adressen konfiguriert. Wenn Sie planen, die IPv6-Funktionalität auf Ihre LAN-, Datencenter- oder Kundennetzwerke auszuweiten, können Sie SLAAC (Stateless Address Auto-Configuration) verwenden, und das bedeutet die Konfiguration von Router-Ankündigungen. SLAAC ist ein IPv6-Protokoll, das ähnliche Funktionen wie DHCP in IPv4 bietet. Mithilfe von SLAAC können Netzwerkhosts eine global eindeutige IPv6-Adresse basierend auf dem Präfix, das von einem nahegelegenen Router in einer Router-Ankündigung bereitgestellt wird, automatisch konfigurieren. Dadurch entfällt die Notwendigkeit, jede Schnittstelle in einem bestimmten Abschnitt des Netzwerks explizit zu konfigurieren. Router-Ankündigungsnachrichten sind standardmäßig deaktiviert, und Sie müssen sie aktivieren, um SLAAC zu nutzen.

Um den Router zum Senden von Router-Ankündigungsnachrichten zu konfigurieren, müssen Sie mindestens die folgenden Anweisungen in die Konfiguration aufnehmen. Alle anderen Anweisungen zur Router-Ankündigungskonfiguration sind optional.

Um die Neighbor Discovery zu konfigurieren, fügen Sie die folgenden Anweisungen ein. Sie konfigurieren die Router-Ankündigung auf Schnittstellenbasis.

Topologie

Abbildung 1 zeigt eine vereinfachte Beispieltopologie.

Abbildung 1: ICMP-Router Entdecken der Topologie ICMP Router Discover Topology

Dieses Beispiel zeigt, wie Sie sicherstellen können, dass alle IPv6-Hosts, die an die Subnets in der Beispieltopologie angeschlossen sind, automatisch eine lokale EUI-64-Adresse konfigurieren können.

Cli-Schnellkonfiguration zeigt die Konfiguration für alle Geräte in Abbildung 1. #d11e197__d11e365 beschreibt die Schritte auf Gerät R1.

Konfiguration

Verfahren

CLI-Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie auf Hierarchieebene in die [edit] CLI ein.

Gerät R1

Gerät R2

Gerät R3

Gerät R4

Schritt-für-Schritt-Verfahren

Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.

So konfigurieren Sie eine IPv6 Neighbor Discovery:

  1. Konfigurieren Sie die Netzwerkschnittstellen.

    Dieses Beispiel zeigt mehrere Loopback-Schnittstellenadressen zur Simulation angeschlossener Netzwerke.

  2. Ermöglichen Sie die Neighbor Discovery.

Ergebnisse

Bestätigen Sie ihre Konfiguration im Konfigurationsmodus, indem Sie die show interfaces befehle eingeben show protocols . Wenn in der Ausgabe die beabsichtigte Konfiguration nicht angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, geben Sie Commit aus dem Konfigurationsmodus ein.

Überprüfung

Führen Sie diese Aufgabe durch, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:

Überprüfen der Schnittstellen

Zweck

Stellen Sie sicher, dass die Schnittstellen verfügbar sind, und sehen Sie sich die zugewiesenen EUI-64-Adressen an.

Aktion

Geben Sie im Betriebsmodus den show interfaces terse Befehl ein.

Bedeutung

Die Ausgabe zeigt, dass alle Schnittstellen mit der IPv6 -Adressfamilie (inet6) konfiguriert sind. Jede IPv6-fähige Schnittstelle hat zwei IPv6-Adressen; eine link-lokale Adresse und eine globale Adresse. Die globalen Adressen entsprechen den in Abbildung 1 dargestellten Adressen. Junos OS erstellt automatisch eine link-lokale Adresse für jede Schnittstelle, die für den IPv6-Betrieb aktiviert ist. Alle link-lokalen Adressen beginnen mit dem Präfix fe80::/64. Der Host-Teil der Adresse ist ganze 64 Bits lang und entspricht dem link-lokalen Schnittstellenbezeichner. Wenn eine Schnittstellenadresse mithilfe der eui-64 Anweisung konfiguriert wird, entspricht ihre Schnittstellenkennung mit dem Schnittstellenbezeichner der link-lokalen Adresse. Dies liegt daran, dass link-lokale Adressen gemäß der EUI-64-Spezifikation codiert sind.

Pinging der Schnittstellen

Zweck

Überprüfen Sie die Konnektivität zwischen den direkt verbundenen Schnittstellen.

Aktion
  1. Ermitteln der IPv6-Schnittstellenadresse des Remote-Routers.

    Führen Sie auf Gerät R2 den show interfaces terse Befehl für die Schnittstelle aus, die direkt mit Gerät R1 verbunden ist, und kopieren Sie die globale Adresse in den Erfassungspuffer Ihres Terminal-Emulators.

  2. Führen Sie auf Gerät R1 den ping Befehl unter Verwendung der kopierten globalen Adresse aus.

Bedeutung

Junos OS verwendet denselben Ping-Befehl für IPv4- und IPv6-Tests. Der Mangel an Interior Gateway Protocol (IGP) im Netzwerk beschränkt die Ping-Tests auf direkt verbundene Nachbarn. Wiederholen Sie den Ping-Test für andere direkt verbundene Nachbarn.

Überprüfen des IPv6 Neighbor Cache

Zweck

Zeigen Sie Informationen über die IPv6-Nachbarn an.

Nach dem Durchführen von Ping-Tests finden Sie Einträge für Schnittstellenadressen im IPv6-Nachbarn-Cache.

Aktion

Geben Sie im Betriebsmodus den show ipv6 neighbors Befehl ein.

Bedeutung

In IPv6 wurde das Address Resolution Protocol (ARP) durch das Neighbor Discovery Protocol (NDP) ersetzt. Der IPv4-Befehl show arp wird durch den IPv6-Befehl show ipv6 neighborsersetzt. Die wichtigsten Informationen, die in diesem Befehl angezeigt werden, sind die IP-Adresse, die MAC-Adresse (Link Layer) und die Schnittstelle.

Überprüfung der IPv6-Router-Ankündigungen

Zweck

Bestätigen Sie, dass Geräte mithilfe von SLAAC zum Netzwerk hinzugefügt werden können, indem Sie sicherstellen, dass die Router-Ankündigungen ordnungsgemäß funktionieren.

Aktion

Geben Sie im Betriebsmodus den show ipv6 router-advertisement Befehl ein.

Bedeutung

Die Ausgabe zeigt, dass Router-Ankündigungen an den Schnittstellen von Gerät R1 gesendet und empfangen werden, was darauf hinweist, dass sowohl Das Gerät R1 als auch die direkt verbundenen Nachbarn so konfiguriert sind, dass Router-Ankündigungen generiert werden.

Nachverfolgung von Neighbor Discovery-Ereignissen

Zweck

Führen Sie zusätzliche Validierung durch Verfolgen von Router-Ankündigungen durch.

Aktion
  1. Konfigurieren Sie Trace-Vorgänge.

  2. Führen Sie den show log Befehl aus.