Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Beispiel: Konfigurieren der SRv6-Netzwerkprogrammierung in IS-IS-Netzwerken

Dieses Beispiel zeigt, wie die SRv6-Netzwerkprogrammierung in einem IS-IS-Netzwerk konfiguriert wird. Diese Funktion ist nützlich für Service Provider, deren Netzwerke überwiegend aus IPv6 bestehen und keine MPLS bereitgestellt haben. Solche Netzwerke sind für die Datenübertragung nur von den IPv6-Headern und Header-Erweiterungen abhängig. Die SRv6-Netzwerkprogrammierung bietet die Flexibilität, Segment-Routing zu nutzen, ohne MPLS bereitzustellen.

Anforderungen

In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:

  • Acht Router der MX-Serie mit MPC7E-, MPC8E- oder MPC9E-Linecards

  • Junos OS Version 20.3R1 oder höher

Überblick

Ab Junos OS-Version 20.3R1 können Sie SRv6 ohne MPLS in einem IPv6-Core-Netzwerk konfigurieren. SRv6-Netzwerkprogrammierung ist die Fähigkeit eines Netzwerks, ein Netzwerkprogramm in einzelne Netzwerkanweisungen zu kodieren, die dann in die IPv6-Paketheader eingefügt werden. Das IPv6-Paket, das die Netzwerkanweisungen enthält, informiert das Netzwerk explizit über die genauen SRv6-Knoten, die für die Paketverarbeitung verfügbar sind. Bei der Netzwerkanweisung handelt es sich um die SRv6-Segmentkennung (Segment Identifier, SID), die durch 128-Bit-IPv6-Adressen dargestellt wird. Diese Anweisungen werden in den IPv6-Paket-Headern über das Netzwerk verteilt. Zusammen mit der Adressierung definieren Netzwerkanweisungen eine bestimmte Aufgabe oder Funktion für jeden SRv6-fähigen Knoten im SRv6-Netzwerk. Diese Funktion kommt Netzwerken zugute, die SR-Datenverkehr über Transitrouter bereitstellen müssen, die noch nicht über Segment-Routing-Funktionen verfügen.

Topologie

In Abbildung 1 sind Router R0 und Router R7 Eingangs- und Ausgangsrouter, die nur die IPv4-Geräte CE1 und CE2 unterstützen. Die Router R1, R2, R3, R4, R5 und R6 umfassen ein reines IPv6-Provider-Kernnetzwerk. Alle Router gehören zum gleichen autonomen System. IS-IS ist das innere Gateway-Protokoll im IPv6-Core und ist für die Unterstützung von SRv6 konfiguriert. In diesem Beispiel ist der Router R2 als IPv6-Routenreflektor mit IBGP-Peering-Sitzungen zu R0 und R7 konfiguriert. In diesem Beispiel spricht kein anderer Router BGP.

Anmerkung:

Zur besseren Veranschaulichung von SRv6-Tunneling wird in diesem Beispiel ein reiner IPv6-Provider-Core zugrunde gelegt. SRv6 wird mit einem Dual-Stack-Core unterstützt, in dem sowohl IPv6 als auch IPv4 bereitgestellt werden.

Die Edge-Router, die IPv4-Geräte unterstützen, müssen IPv4-Datenverkehr mithilfe der IPv6-Tunnelkapselung transportieren. Die Kapselungstunnel werden von SRv6-SIDs abgeleitet, die auf SRv6-fähigen Routern konfiguriert sind. Das IS-IS-Protokoll verarbeitet diese SRv6-SIDs und aktualisiert die inet6.3-Tabelle mit den Next-Hop-Adressen der verfügbaren Tunnelendpunkte. Wenn eine IPv4-Route über BGP gelernt wird, versucht der Router, den zugehörigen nächsten Hop über die inet6.3-Tabelle aufzulösen. Wenn ein übereinstimmender Eintrag gefunden wird, ist das Ergebnis ein automatischer IPv6-Tunnel zu dem Endpunkt, der die BGP-Route angekündigt hat.

In diesem Beispiel kündigen sowohl der R0- als auch der R7-Router ihr angeschlossenes IPv4-Subnetz mithilfe von BGP an. Dies führt zu IPv6-Tunneln zwischen den Edge-Routern. Die Tunnel werden verwendet, um den IPv4-Datenverkehr über den IPv6-Provider-Core zu transportieren. Beim Ausgang entkapseln die Edge-Router den äußeren IPv6-Header und führen eine IPv4-Routensuche durch, um das Paket an sein Ziel weiterzuleiten.

Abbildung 1: SRv6-Netzwerkprogrammierung in IS-IS SRv6 Network Programming in IS-IS

Konfiguration

CLI Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die erforderlich sind, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie auf der [edit] Hierarchieebene in die CLI ein, und geben Sie dann den Commit-Befehl aus dem Konfigurationsmodus ein.

Router R0

Router R1

Router R2

Router R3

Router R4

Router R5

Router R6

Router R7

Konfigurieren von Router R0

Für das folgende Beispiel ist es erforderlich, dass Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.

Führen Sie die folgenden Schritte auf dem R0-Router aus, um die SRv6-Netzwerkprogrammierung für die Unterstützung von IPv4-Tunneln über einen IPv6-Core zu konfigurieren:

Schritt-für-Schritt-Anleitung

  1. Konfigurieren Sie die Geräteschnittstellen, um den IP-Transport zu aktivieren.

  2. Konfigurieren Sie die Loopback-Schnittstelle mit IPv4- und IPv6-Adressen, die als Router-ID für BGP-Sitzungen verwendet wird.

  3. Konfigurieren Sie die Router-ID und die AS-Nummer (Autonomous System), um Routing-Informationen innerhalb einer Gruppe von Routing-Geräten weiterzugeben, die zum gleichen AS gehören.

  4. Aktivieren Sie SRv6 global und die Locator-Adresse, um die SRv6-Funktion des Routers anzugeben. SRv6 SID ist eine IPv6-Adresse, die aus dem Locator und einer Funktion besteht. Die Routing-Protokolle kündigen die Locator-Adressen an.

  5. Konfigurieren Sie die End-Sid-Funktion für die Präfixsegmente. Geben Sie eine Variante an, d. h. das Verhalten der End-SID-Funktion gemäß Ihren Netzwerkanforderungen. Penultimate Segment Pop (PSP), Ultimate Segment Pop (USP) und Ultimate Segment Decapsulation (USP) sind die drei verfügbaren Varianten für SRv6-Funktionen.

    Anmerkung:

    Stellen Sie sicher, dass sich der Locator und die End-SID im selben Subnetz befinden, um einen Commitfehler zu vermeiden.

  6. Konfigurieren Sie die End-X-SID-Funktion auf der Punkt-zu-Punkt-Schnittstelle (P2P) für die benachbarten Segmente. Geben Sie einen oder mehrere Varianten für die End-X-SID an.

    Anmerkung:

    Stellen Sie sicher, dass sich der Locator und die End-X-SID im selben Subnetz befinden, um einen Commitfehler zu vermeiden. Sie müssen SRv6 aktivieren und den Locator vor dem [edit routing-options] Zuordnen von Locators zu Schnittstellen konfigurieren.

    Wenn Sie eine srv6-adjacency-segment konfigurieren, müssen Sie auch den zugehörigen Locator unter der Hierarchie protocols isis source-packet-routing srv6 locator konfigurieren, wie in Schritt 5 gezeigt.
  7. Konfigurieren Sie SRv6-Optionen für das Adjacency-Segment der LAN-Schnittstelle xe-0/0/0:2.0. Geben Sie eine Variante entsprechend Ihren Netzwerkanforderungen an. Penultimate Segment Pop (PSP), Ultimate Segment Pop (USP) und Ultimate Segment Decapsulation (USP) sind die drei verfügbaren Varianten für das SRv6-Adjacency-Segment.

    Anmerkung:

    Stellen Sie sicher, dass sich der Locator und die End-X-Sid im selben Subnetz befinden, um einen Commitfehler zu vermeiden. Sie müssen SRv6 aktivieren und den Locator vor dem [edit routing-options] Zuordnen von Locators zu Schnittstellen konfigurieren.

  8. Konfigurieren Sie BGP auf der Core-Schnittstelle, um interne Peering-Sitzungen einzurichten.

  9. Definieren Sie eine Richtlinie für den Lastenausgleich von Paketen.

  10. Wenden Sie die Richtlinie pro Paket an, um das Load Balancing des Datenverkehrs zu aktivieren.

Befund

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show interfacesBefehle , show protocolsshow policy-options, und show routing-options eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln Sie commit aus dem Konfigurationsmodus.

Verifizierung

Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfen der IS-IS-Nachbarschaft und der IBGP-Sitzung

Zweck

Überprüfen Sie die IS-IS-Nachbarschaften und die IBGP-Sitzung bei R2. R2 wird für diese Aufgabe ausgewählt, da es 5 Nachbarschaften aufweist und auch als Routerreflektor für die BGP-Steuerungsebene dient.

Anmerkung:

Es empfiehlt sich, die IS-IS-IS-Nachbarschaften auf allen Routern zu überprüfen, bevor Sie mit den verbleibenden Verifizierungsschritten fortfahren. Für eine erfolgreiche SRv6-Bereitstellung ist es erforderlich, dass das Interior Gateway-Protokoll auf allen Knoten betriebsbereit ist.

Aktion

Führen Sie im Betriebsmodus den Befehl auf dem show isis adjacency Router R2 aus.

Führen Sie im Betriebsmodus den Befehl auf dem show bgp summary Router R2 aus.

Bedeutung

Die Ausgabe bestätigt die erwartete Anzahl von IS-IS-Nachbarschaften für den R2-Router. Es bestätigt auch, dass R2 IPv6-basierte BGP-Sitzungen sowohl für den R0- als auch für den R7-Router eingerichtet hat.

Überprüfen, ob SRv6 aktiviert ist

Zweck

Stellen Sie sicher, dass SRv6 mit einem Locator, einer End-SID und einem Flavor auf Router R0 aktiviert ist.

Aktion

Führen Sie im Betriebsmodus den show isis overview Befehl auf Router R0 aus.

Bedeutung

Der konfigurierte SRv6-Locator SRv6: Enabled Locator: 2001:db8:0:a0::/64, Algorithm: 0 und , die End-SID und der Typ END-SID: 2001:db8:0:a0:d01::, Flavor: USD werden in der Ausgabe angezeigt.

Überprüfen der SRv6-End-X-SID-Konfiguration

Zweck

Stellen Sie sicher, dass eine End-X-SID-Funktion und ein End-X-SID-Typ auf R0 konfiguriert sind.

Aktion

Führen Sie im Betriebsmodus den show isis adjacency detail Befehl auf Router R0 aus.

Bedeutung

Das Feld SRv6 protected END-X-SID: 2001:db8:0:a0:1a01:: gibt an, dass die End-X-SID-Funktion mit auf Flavor PSP dem Router R0 für die Schnittstelle konfiguriert wurde, die für die Verbindung mit R1 verwendet wird. Eine ähnliche Ausgabe wird für die an R4 angeschlossene Schnittstelle bestätigt, die eine andere End-X-SID verwendet.

Überprüfen, ob die Locator-Route installiert ist

Zweck

Vergewissern Sie sich, dass die Locator-Route installiert wurde.

Aktion

Führen Sie im Betriebsmodus den Befehl auf Router show route 2001:db8:0:a0::/64 detail R0 aus.

Bedeutung

Die Ausgabe bestätigt, dass die Locator-Route 2001:db8:0:a0::/64*[IS-IS/18] in der inet6.0 Tabelle installiert ist.

Überprüfen, ob die End-X-SID-Route installiert ist

Zweck

Zum Anzeigen der konfigurierten End-X-SID-Routeninformationen, die an der Schnittstelle angewendet werden.

Aktion

Führen Sie im Betriebsmodus den show route 2001:db8:0:a0:1a01:: Befehl auf Router R0 aus.

Bedeutung

Die Ausgabe bestätigt, dass die End-X-SID-Route 2001:db8:0:a0::1a01/128 in der inet.6.0 Routing-Tabelle installiert ist.

Überprüfen, ob die End-SID-Route installiert ist

Zweck

Stellen Sie sicher, dass die End-SID-Routen für alle Router in der SRv6-Domäne in der inet6.3 Tabelle unter Router R0 installiert sind.

Aktion

Führen Sie im Betriebsmodus den show route table inet6.3 protocol isis Befehl auf Router R0 aus, um alle End-SIDs anzuzeigen, die der Router gelernt hat. Zeigen Sie dann detaillierte Informationen über die End-SID an, die dem R7-Router zugeordnet ist.

Bedeutung

Die Ausgabe bestätigt, dass Router R0 End-SIDs, d. h., 2001:db8:0:a1::d11/128 und 2001:db8:0:a2::d21/128von allen anderen Routern in der Topologie gelernt hat. Beachten Sie, dass die End-SIDs in der inet6.3 Tabelle installiert wurden. Die detaillierte Ausgabe für die End-SID, die von R7 2001:db8:0:a7:d71:: angekündigt wird, bestätigt, dass ein SRv6-Tunnel zwischen Router R0 und Router R7 eingerichtet wurde.

Beachten Sie, dass die Segmentliste mit dem End-SID-Wert aufgefüllt wird, der auf dem Router R7 konfiguriert ist. Denken Sie daran, dass alle End-SIDs in diesem Beispiel mit der Variante Ultimate Segment Decapsulate (USD) konfiguriert sind. Es ist die Kombination aus einer lokalen End-SID und dem zugehörigen USD-Flavor, die R7 mitteilt, dass es sich um den Ausgang des IPv6-Tunnels handelt. Nach dem Empfang entkapselt R7 das IPv4-Paket und leitet es entsprechend der IPv4-Zieladresse weiter.

Überprüfen der SRv6-Konfiguration in der IS-IS-Datenbank

Zweck

Zeigen Sie die IS-IS-Datenbank an, um die End-SID und den am Router R7 konfigurierten Typ zu überprüfen. In diesem Beispiel wird der Befehl auf Router R0 ausgeführt. Eine ähnliche Ausgabe wird auf allen Routern erwartet, da die IS-IS-Datenbank auf alle Knoten repliziert wird.

Aktion

Führen Sie im Betriebsmodus den show isis database R7.00-00 extensive Befehl auf Router R0 aus.

Bedeutung

Das Vorhandensein von SRv6 SID: 2001:db8:0:a7:d71:: with Flavor: USD bestätigt, dass SRv6 mit einem SID-Entkapselungstyp auf dem R7-Router aktiviert ist. Die Ausgabe zeigt auch, dass die Schnittstellen bei R7 für den TI-LFA-Schutz mit einer PSP-Variante konfiguriert wurden.

Bei der Überprüfung der Route zu CE2 wird ein SRv6-Tunnel verwendet

Zweck

Zeigen Sie die Route zum IPv4-Subnetz bei R7 an, um zu bestätigen, dass der nächste Hop auf einen SRv6-Tunnel verweist.

Aktion

Führen Sie im Betriebsmodus den Befehl auf Router show route 172.16.20.0/24 R0 aus.

Bedeutung

Die Ausgabe bestätigt, dass R0 die Route zum 172.16.20.0/24 Subnetz durch seine BGP-Sitzung zu R2 gelernt hat, wobei dieser Abruf in diesem Beispiel als Routenreflektor konfiguriert ist. Die nächsten Hops bestätigen, dass für diese Route ein SRv6-Tunnel zum R7-Router installiert wurde. Es stehen zwei Next Hops zur Verfügung, da es sich in der Beispieltopologie um zwei kostengünstige Pfade zwischen dem R0- und dem R7-Router handelt.

Testen der IPv4-Konnektivität zwischen CE1 und CE2

Zweck

Generieren Sie Pings, um die IPv4-Konnektivität zwischen den CE-Geräten über den IPv6-Provider-Core zu überprüfen.

Aktion

Führen Sie im Betriebsmodus den Befehl auf Router ping 172.16.20.2 source 172.16.10.2 count 2 R0 aus.

Bedeutung

Die Ausgabe bestätigt, dass die IPv4-Konnektivität zwischen den CE-Gerätenetzwerken funktioniert. Dadurch wird überprüft, ob das SRv6-Tunneling über einen IPv6-Anbieter-Core in diesem Beispiel ordnungsgemäß funktioniert.