Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
AUF DIESER SEITE
 

Segment-Routing

Der Cloud-native Router von Juniper bietet Unterstützung für Segment-Routing (SR-MPLS und SRv6). Lesen Sie dieses Thema, um sich mit den unterstützten Funktionen vertraut zu machen.

Segment-Routing (SR) ist eine moderne Variante des Quell-Routings, die das Netzwerk simplifiziert, indem Netzwerkstatusinformationen von Zwischenroutern entfernt und stattdessen Pfadstatusinformationen in Paketheader auf der Weiterleitungsebene hinzugefügt werden. Wenn ein Paket an einem SR-Eingangsknoten eintrifft, unterwirft der Eingangsknoten das Paket einer Richtlinie. Die Richtlinie ordnet das Paket einem SR-Pfad zu seinem Ziel zu. Der SR-Pfad ist eine geordnete Reihe von Segmenten, die einen SR-Eingangsknoten mit einem SR-Ausgangsknoten verbinden. Dieser SR-Pfad kann so konzipiert werden, dass er eine beliebige Anzahl von Einschränkungen erfüllt, z. B. Verbindungsbandbreite, minimale Pfadlatenz und mehr.

Segment-Routing kann entweder MPLS oder IPv6 in der Weiterleitungsebene nutzen. Wenn Segment-Routing die MPLS-Weiterleitungsebene verwendet, wird sie als SR-MPLS bezeichnet. SR-MPLS unterstützt sowohl ein IPv4- als auch ein IPv6-Underlay. Wenn Segment-Routing eine IPv6-Weiterleitungsebene nutzt, wird es als SRv6 bezeichnet. Lesen Sie das SR-MPLS Day One-Buch und das SRv6 Day One-Buch für weitere Details.

Segment-Routing kann als Transport-Tunneling-Technologie für die Verbindung von Datencentern für die nächste Generation der Network Function Virtualization (NFV)-basierten Telco-Cloud, 5G, Cloud-WAN und Content Distribution Networks (CDNs) verwendet werden. In den folgenden Anwendungsszenarien kann es mehrere Vorteile bieten:

  • Traffic Engineering – Segment-Routing bietet eine effiziente und dynamische Steuerung des Datenverkehrs auf der Grundlage der Netzwerkbedingungen, um Load Balancing, Überlastungsvermeidung und eine bessere Nutzung der Bandbreite zu ermöglichen. Dies führt zu einer verbesserten Netzwerkleistung und Benutzererfahrung.

  • Network Slicing— Segment-Routing schafft virtualisierte Netzwerk-Slices, indem es die Koexistenz verschiedener Services oder Mandanten auf derselben physischen Infrastruktur ermöglicht. Jeder Netzwerk-Slice kann seine eigenen Weiterleitungsrichtlinien und Ressourcen haben, was eine verbesserte Isolierung und Flexibilität für verschiedene Anwendungen bietet.

  • Servicefunktionsverkettung— Segment-Routing ermöglicht eine flexible und dynamische Dienstfunktionsverkettung, bei der Pakete eine Abfolge von Netzwerkservices wie Firewalls, Lastausgleich und mehr durchlaufen. Er simplifiziert die Servicebereitstellung und ermöglicht eine On-Demand-Dienstverkettung durch die Definition bestimmter Pfade für den Paketfluss.

  • Mobilfunknetze – Segment-Routing optimiert das Routing des Datenverkehrs und die Übergabevorgänge für ein Mobilfunknetz, indem es eine effiziente Pfadauswahl und reduzierte Latenzzeiten ermöglicht.

SR-MPLS

Cloud-nativer Router unterstützt SR-MPLS sowohl für IPv4- als auch für IPv6-Underlay. Der Cloud-native Router kann als Sende-, Empfangs- oder Transit-Router an SR-MPLS-Netzwerken teilnehmen. Es unterstützt SR-MPLS-Implementierung mit oder ohne vorletztes Hop-Popping (PHP), mit und ohne Overlay-ECMP und Explicit/Implicit NULL. Der flexible Segment-Routing-Algorithmus (Flex-Algo) wird ab Version 24.1 des Cloud-nativen Routers unterstützt. Weitere Informationen finden Sie unter Segment-Routing (IS-IS).

Konfigurieren von SR-MPLS auf JCNR

Betrachten Sie die folgende Topologie:

Wir wollen das Routing in diesem Netzwerk segmentieren. PE1 ist ein Cloud-nativer Eingangsrouter-Knoten, P ist ein Cloud-nativer Transit-Router-Knoten und PE2 ist ein ausgehender Cloud-nativer Router-Knoten. Wir konfigurieren einen gemeinsamen SRGB-Bereich (Common Segment Routing Global Block) für alle Knoten. Allen Knoten wird sowohl für IPv4 als auch für IPv6 eine Segment-ID (Knoten-SID) zugewiesen.

Anmerkung:

Verwenden Sie die Configlet-Ressource , um die cRPD-Pods zu konfigurieren.

Konfiguration des Cloud-nativen Router-Eingangs (PE1)

Konfigurieren Sie den PE1-Router (Cloud-Native Router Ingress) mit der folgenden Konfiguration:

  1. Konfigurieren Sie die Schnittstellen:

  2. Konfigurieren von IS-IS:

  3. Konfigurieren von Routing-Optionen:

  4. Konfigurieren Sie das MPLS-Protokoll auf den Schnittstellen:

  5. Konfigurieren von BGP-Nachbarn:

  6. Konfigurieren Sie die Startbezeichnung und den Indexbereich von SRGB:

  7. Konfigurieren Sie die IPv4- und IPv6-Knotensegment-ID:

  8. Konfigurieren Sie optional die explizite NULL-Bezeichnung:

Cloud-native Router-Transitkonfiguration (P)

Konfigurieren Sie den Cloud-nativen Router-Transit (P)-Router mit der folgenden Konfiguration:

  1. Konfigurieren Sie die Schnittstellen:

  2. Konfigurieren von IS-IS:

  3. Konfigurieren von Routing-Optionen:

  4. Konfigurieren Sie das MPLS-Protokoll auf den Schnittstellen:

  5. Konfigurieren Sie die Startbezeichnung und den Indexbereich von SRGB:

  6. Konfigurieren Sie die IPv4- und IPv6-Knotensegment-ID:

Konfiguration Cloud-nativer Router-Ausgang (PE2)

Konfigurieren Sie den PE2-Router (Cloud-Native Router Egress) mit der folgenden Konfiguration:

  1. Konfigurieren Sie die Schnittstellen:

  2. Konfigurieren von IS-IS:

  3. Konfigurieren von Routing-Optionen:

  4. Konfigurieren Sie das MPLS-Protokoll auf den Schnittstellen:

  5. Konfigurieren von BGP-Nachbarn:

  6. Konfigurieren Sie die Startbezeichnung und den Indexbereich von SRGB:

  7. Konfigurieren Sie die IPv4- und IPv6-Knotensegment-ID:

  8. Konfigurieren Sie optional die explizite NULL-Bezeichnung:

Überprüfen der SR-MPLS-Konfiguration auf JCNR

Die folgenden Befehle können verwendet werden, um die SRv6-Konfiguration auf cRPD zu überprüfen:

Überprüfen Sie die Konfiguration auf der Weiterleitungsebene des Cloud-nativen Routers

Überprüfen Sie den Datenverkehrsfluss über den vRouter auf jedem PE-Knoten:

SRv6

SRv6 ist ein Segment-Routing-Paradigma, das mit einem neuen IPv6-Erweiterungs-Header namens Segment-Routing Header (SRH) auf ein IPv6-Underlay angewendet wird. SRv6 nutzt vorhandene IPv6-Weiterleitungstechnologie zur Codierung von Netzwerkprogrammieranweisungen, die auch als Segmentidentifikatoren (SIDs) bezeichnet werden. In SRv6 werden die SIDs als IPv6-Adressen dargestellt, wenn sie mit SR-MPLS verglichen werden, bei dem SIDs als SR-MPLS-Labels codiert sind. Eine SRv6-SID hat eine Länge von 128 Bit und besteht aus den folgenden Komponenten:

Tabelle 1: SID-Komponenten

Bestandteil

Beschreibung

Zeiger

Erster Teil einer SID, der die Adresse eines SRv6-Knotens identifiziert. Es handelt sich um eine Netzwerkadresse, die die Route zu ihrem übergeordneten Knoten bereitstellt und vom IS-IS-Protokoll in der Tabelle inet6.0 installiert wird. IS-IS leitet das Segment an seinen übergeordneten Knoten weiter, der eine Funktion ausführt, die im zweiten Teil der SID definiert ist. Es ist 64 Bit lang.

Funktion

Zweiter Teil einer SID, der die Funktion definiert, die ein Knoten (identifiziert durch den Locator) ausführt, z. B.:

Ende: Endpoint-Funktion für SRv6-Instanziierung einer Präfix-SID [RFC8402]

End.X: Endpunkt mit L3-Cross-Connect-Funktion für SRv6-Instanziierung einer benachbarten SID [RFC8402]

End.DT4: Endpunkt mit Entkapselung und spezifischer IPv4-Tabellen-Lookup-Funktion für SRv6-Instanziierung von Global oder IPv4 L3VPN (Transport von IPv4-Services über SRv6-Underlay)

End.DT6: Endpunkt mit Entkapselung und spezifischer IPv6-Tabellen-Lookup-Funktion für SRv6-Instanziierung von Global oder IPv6 L3VPN (Transport von IPv6-Services über SRv6-Underlay)

End.DT46: Endpunkt mit Entkapselung und spezifischer IP-Tabellen-Lookup-Funktion für die SRv6-Instanziierung von globalem, IPv4- oder IPv6-L3VPN (Transport von IPv4- und IPv6-Diensten über SRv6-Underlay). Es wird von IPv4- und IPv6-Präfixen gemeinsam genutzt.

Das End-SID-Verhalten kann über Varianten wie Penultimate Segment Pop (PSP), Ultimate Segment Pop (USP) und Ultimate Segment Decapsulation (USD) angegeben werden.

Die Function-Komponente ist 16 Bit lang.

Argument

Ein Feld mit variabler Länge, das zusätzliche Informationen über die Weiterleitungsaktion bereitstellt. Kann maximal 48 Bit lang sein.

Der SRH trägt die SIDs. Während das Paket durch das Netzwerk übertragen wird, untersucht jeder Knoten die nächste SID in der SRH, um den entsprechenden nächsten Hop zu bestimmen, und leitet das Paket weiter, bis das Paket sein Ziel erreicht. Wenn ein Paket über mehrere Segmente im SRv6-Pfad geführt werden soll, müssen die SRv6-SIDs mithilfe der SRH auf maximal 6 typische SRv6-SIDs gestapelt werden. Dies bedeutet zusätzliche Bandbreite und Verarbeitungsaufwand. So Micro-SIDs (uSIDs) sind vorgesehen, bei denen mehrere SRV6-Adressen zu einer einzigen IPv6-Adresse komprimiert werden. Die 16-Byte-uSID ist als Mikroprogramm oder Container-Anweisung kodiert, die entweder in der Paketzieladresse oder im SRH mitgeführt wird. Es hat eine bestimmte Struktur, die durch das folgende Format dargestellt wird:

BBBB:BBBB:<uSID1>:<uSID2>:<uSID3>:<uSID4>:<uSID5>:<uSID6>

wobei BBBB:BBBB/32 das Präfix oder der Block darstellt, das bzw. der von einem Operator innerhalb einer SR-Domäne zugewiesen wurde. Es werden verschiedene Präfixlängen unterstützt, darunter /16, /32, /48, /64 Blöcke. Am häufigsten wird ein /32 Block verwendet. Bei den Blöcken kann es sich entweder um einen Global Identifier Block (GIB) oder einen Local Identifier Block (LIB) handeln. Die GIB stellt einen weltweit einzigartigen Bereich von uSIDs dar, die aus einem öffentlichen oder reservierten Adressraum zugewiesen werden, der speziell für SRv6-Bereitstellungen vorgesehen ist. Die LIB wird von einem bestimmten Netzwerkknoten innerhalb der SR-Domäne zugewiesen und ist nur im lokalen Kontext des Knotens anwendbar. Die uSIDx stellt die einzelnen 16-Bit-uSIDs dar, die entweder von der GIB oder der LIB stammen können. Die uSIDs implementieren die folgenden Funktionen:

  • uN: Micro-Node-SID, die dem endgültigen Ziel (Ende) zugeordnet wird.

  • uA: Micro-Adjacency-SID mit adjazenzspezifischem Verhalten (End.X)

  • uDT: Micro-Service-SID, d. h. domänenspezifische Informationen (End.DT4, End.DT6, End.DT46)

Der Cloud-native Router unterstützt die folgenden SRv6-Funktionen:

Tabelle 2: Unterstützte SRv6-Funktionen

Funktionalitäten

Notizen

SRv6 L3VPN mit uSID

uSID-Typen: Globale uSID, lokale uSID

uSID-Codierung in der Zieladresse

Block- und uSID-Größen

Unterstützung für /16-, /32-, /48- und /64-Blöcke

Cloud-nativer Router SRv6 Knotentypen und Mikroanweisungen

Ingress: SRv6-Kapselung in der Zieladresse (SRH ist nicht erforderlich)

Transit: IPv6-Weiterleitung, wenn der Eingangsknoten JCNR ist; Verschieben und vorwärts, wenn der Eingangsknoten nicht dem JCNR entspricht

Ausgang: Depasulate und Ausführen der SID-Dienstfunktion

SR-Endgeräte (Funktionen)

Ende, Ende.X, Ende.DT4, End.DT6 und Ende.DT46

uSID-Verhalten

uN, uDT

Wiederherstellung nach Fehlern

Von der Control Plane initiierte Fehlerbehebung (alternativer Pfad als nächster Hop)

Der Cloud-native Router unterstützt die folgenden SRv6-Netzwerkprogrammierfunktionen:
Tabelle 3: Unterstützte SRv6-Funktionen

Merkmal

Beschreibung

SRv6 uSID-Underlay-Tunnel über IS-IS

IS-IS ruft den Best-Effort-Tunnel zu den angekündigten Locators auf und programmiert sie in der Tabelle inet6.3.

SRv6 uSID Underlay-Tunnel über IS-IS mit ECMP-Pfaden

IS-IS ruft den Best-Effort-Tunnel zu den angekündigten Locators auf und programmiert sie in der Tabelle inet6.3. Die Tunnel können über ECMP-Weiterleitungspfade verfügen.

Routen für BGP-Internetpräfixe, die mit uN SID angekündigt werden

BGP-Internetpräfixe, die mit uN-SIDs angekündigt werden, werden über entsprechende Locators (SRv6-uSID-Underlay-Tunnel) aufgelöst. Die Underlay-Routen können über ein einzelnes Gateway oder ECMP verfügen.

Multipath-Routen für BGP-Internetpräfixe, die mit uN SID angekündigt werden

Mehrere Provide Edge (PE)-Router können dasselbe Internetpräfix (Multihoming) haben, das zu BGP-Multipath am Eingangs-PE führen kann. Jede Multipath-Route wird über Underlay-SRv6-Tunnel aufgelöst, die entweder über ein einzelnes Gateway oder ECMP verfügen.

Routen für L3VPN-Präfixe, die mit uN SID angekündigt werden

L3VPN-Präfixe, die mit uN-SIDs angekündigt werden, werden über entsprechende Locators (SRV6 uSID-Underlay-Tunnel) aufgelöst. Diese Underlay-Routen können über ein einzelnes Gateway oder ECMP verfügen.

Multipath-Routen für L3VPN-Präfixe, die mit uN SID angekündigt werden

Mehrere PEs können das gleiche L3VPN-Präfix (Multihoming) haben, was zu BGP-Multipath am Eingangs-PE führen kann. Jede Multipath-Route wird über die Underlay-SRv6-Tunnel aufgelöst, die entweder über ein einzelnes Gateway oder ECMP verfügen.

BGP-Intent-Routen über IS-IS-IS-Tunnel mit Flex-Algorithmus

Flex-Algorithmus-uSIDs können über IS-IS mit SRv6-Underlay-Tunneln angekündigt werden. BGP-Internetpräfixe und L3VPN-Präfixe mit uSIDs können über die Underlay-Tunnel aufgelöst werden. Diese Präfixe können nicht beabsichtigt sein (ohne dass eine Farbgemeinschaft an sie angehängt ist). Die Präfixe werden über SRV6-Underlay-Tunnel aufgelöst, die in der Tabelle inet6.3 installiert sind.

BGP-Intent-Routen über IS-IS-IS-Tunnel mit Flex-Algorithmus und Fallback-Mechanismus

Flex-Algorithmus-uSIDs können über IS-IS mit SRv6-Underlay-Tunneln angekündigt werden. Die BGP-Internetpräfixe und L3VPN-Präfixe mit uSIDs können über die Underlay-Tunnel aufgelöst werden. Bei diesen Präfixen kann es sich um Absichten handeln (mit einer an sie angehängten Farbgemeinschaft). Die Präfixe werden über SRv6-Underlay-Tunnel aufgelöst, die in der Tabelle junos-rti-tc-<color>.inet6.3 installiert sind, wobei die Farbe der Farbe in der mit dem Präfix beworbenen Farbgemeinschaft entspricht. Wenn die Präfixauflösung nicht über die Tabelle junos-rti-tc-<color>.inet6.3 erfolgt, kann sie über den in der inet6.3-Tabelle installierten Flex-Algorithmus-Underlay-Tunnel aufgelöst werden und so einen Fallback-Mechanismus bereitstellen.

Unterstützung für die Programmierung von uN SID und das Weiterleiten von Paketen basierend auf den uN SID-Routen

Wir unterstützen die Programmierung von uN-SID-Routen in der Tabelle inet6.0. Dies erleichtert die Weiterleitung von Paketen, deren Zieladresse uN-SIDs enthält. Beachten Sie, dass Pakete mit Segment-Routing-Header (SRH) derzeit nicht unterstützt werden.

Unterstützte SID-Funktionalitäten

uN SID-Verschiebung und -Suche (Flavor-Typ none)

uDT für IPv4

uDT für IPv6

uDT für IPv4 und IPv6

Locator-Zusammenfassung und -Lecks

Die Zusammenfassung und das Lecken von Locators ist ein Vorteil von SRv6 gegenüber SR-MPLS. Eine L1-L2-Plattform kann Locators von anderen Ebenen zusammenfassen und an eine andere Ebene weitergeben. Locator-Undichtigkeiten können auch ohne Zusammenfassung auftreten.

Konfigurieren von SRv6 in JCNR

Betrachten Sie die folgende Topologie:

Abbildung 1: Topologiediagramm Topology Diagram

Wir wollen die Kommunikation zwischen den Hosts 10.1.1.1/32 und 10.2.2.2/32 über einen SRv6-Tunnel ermöglichen. PE1 ist ein Cloud-nativer Eingangsrouter-Knoten, P ist ein Cloud-nativer Transit-Router-Knoten und PE2 ist ein ausgehender Cloud-nativer Router-Knoten. PE1, P und PE2 kündigen ihre uSIDs (in der Abbildung dargestellt) über IS-IS zusammen mit Overlay-Präfixen über BGP untereinander an. CE1 leitet den Paketfluss zum Eingangsknoten (PE1) ein. PE1 verkapselt das Quellpaket mit dem SRv6-Header und legt die Zieladresse auf die uSID des Ausgangsknotens (PE2) fest. Da der Cloud-native Router in dieser Topologie der Eingangsknoten ist, leitet der Transitknoten (P) das IPv6-Paket einfach weiter. Der Ausgangsknoten (PE2) ist mit einer Microservice-SID (uDT) konfiguriert, um das Paket zu entkapseln und eine bestimmte IP-Tabelle zu suchen, um das Paket an CE2 weiterzuleiten.

Die Konfiguration von SRv6 im Cloud-nativen Router umfasst die Micro-SID-Blockkonfiguration , die Micro-SID-Locator-Konfiguration , die Micro-Node-SID (uN)-Konfiguration in IS-IS und die Micro-Service-SID (uDT)-Konfiguration in BGP.

Konfigurieren Sie die JCNR-Steuerungsebene für SRv6. Der Kürze halber behandeln wir in diesem Beispiel die Konfiguration für den ausgehenden Cloud-nativen Routerknoten (PE2). Die Konfiguration für andere Knoten ist ähnlich.

  1. Konfigurieren Sie den Micro-SID-Block und optional die maximale Anzahl lokaler statischer SIDs (Standardwert ist 0, muss konfiguriert werden, wenn statische uSIDs verwendet werden):

  2. Konfigurieren Sie den Micro-SID-Locator:

  3. Konfigurieren Sie micro-node-SID (uN SID) in IS-IS, um locator TLV und micro-node-SID anzukündigen:

  4. Es gibt zwei Möglichkeiten, Microservice-SIDs zu konfigurieren. Die erste ist nur BGP, wodurch ein Satz von dt4-, dt6- und dt46-uSIDs pro BGP-Instanz konfiguriert werden kann. Die uSID kann entweder statisch oder dynamisch zugeordnet sein. Die zweite Möglichkeit besteht darin, eine Exportrichtlinie zu konfigurieren, um die Micro-Service-SID anzugeben, die von einem Präfix oder dem Locator zum Ableiten der Micro-Service-SID verwendet wird. BGP wird über das non-default Schlüsselwort konfiguriert. Im Folgenden finden Sie ein Beispiel für jede Methode. Sie dürfen nur eine davon für einen Satz von dt4-, dt6- und dt46-uSIDs verwenden.

    1. Statische Standard-Microservice-SID für IPv4-Services. Beachten Sie, dass die statische uSID in dem maximum-static-sids in Schritt 1 definierten Bereich liegen muss:

    2. Legen Sie die automatisch zugewiesene Standard-Microservice-SID für IPv4-Dienste fest:

    3. Legen Sie eine nicht standardmäßige Micro-Service-SID mit BGP-Exportrichtlinie fest:

  5. Konfigurieren Sie BGP für die Ankündigung des SRv6-Dienstes. Im Folgenden finden Sie ein Beispiel für die Familie inet :

Überprüfen der SRv6-Konfiguration auf JCNR

Die folgenden Befehle können verwendet werden, um die SRv6-Konfiguration auf cRPD zu überprüfen:

Überprüfen Sie den Paketfluss über die Cloud-native Router-Weiterleitungsebene

Überprüfen Sie den Datenverkehrsfluss über den vRouter auf jedem PE-Knoten:

  1. Eingangs-SRv6-Knoten (PE1)

    Beachten Sie, dass der nächste Hop für den Datenverkehr zu 10.2.2.2/32 ein SRv6-Tunnel mit Ziel-IP: (Die uSID des Ausgangsknotens) ist.2001:db8:4600:e001::

  2. SRv6-Transitknoten (P)

    Beachten Sie, dass P nur das IPv6-Paket weiterleitet.

  3. Ausgang SRv6-Knoten (PE2)

    Beachten Sie, dass die Ausgangs-PE in der Standardtabelle nach der uSID-IPv6-Adresse sucht. Der nächste Hop mit exakter Übereinstimmung ist so konfiguriert, dass Vrf_Translate. Er sucht die 10.2.2.2/32 Ziel-IP-Adresse im angegebenen VRF und leitet das Paket an CE2 weiter.