Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Was ist Segment-Routing und Quellpaket-Routing in Netzwerken?

In einem Segment-Routing-Netzwerk generieren Geräte eine Reihe von Anweisungen, die darstellen, wie ein Paket weitergeleitet oder verarbeitet werden kann. Diese Anweisungen werden als Segmente bezeichnet. Durch das Stapeln von Segmenten können Betreiber präzise Pfade zwischen zwei beliebigen Geräten erstellen. Dies ermöglicht Funktionen wie einen BGP-freien Core, Traffic-Engineering (TE), Backup-Pfade, Multi-Domain-Pfade und Multi-Topology-Netzwerke. In der Data Plane können Segmente mithilfe von MPLS-Labels oder IPv6-Adressen dargestellt werden.

Vorausgesetzte Kenntnisse

Wir gehen davon aus, dass die Leser die allgemeinen IP-Routing- und MPLS-Label Switching-Prinzipien verstehen und über fundierte Kenntnisse in IS-IS oder OSPF verfügen. Wir haben diese Konzepte in anderen Ressourcen in unserer Technischen Dokumentation behandelt.

Segment-Routing (SR) ist eine Methode zum Generieren einer Reihe von Anweisungen, die angeben, wie ein Paket über eine Topologie weitergeleitet oder verarbeitet werden kann. Diese Anweisungen werden als Segmente bezeichnet. Diese Anweisungen können dann auf ein Paket geschrieben werden, sodass Transitgeräte das Paket wie vorgesehen weiterleiten und verarbeiten. Mehrere Segmente können gestapelt werden, um einen End-to-End-Pfad zwischen zwei beliebigen Geräten zu definieren.

Segmente werden direkt innerhalb von Routing-Protokollen wie IS-IS, OSPF und BGP angekündigt. Das bedeutet, dass kein zusätzliches Protokoll ausgeführt werden muss, um diese Segmente im gesamten Netzwerk anzukündigen. In diesem Abschnitt wird das Konzept eines Segments definiert. In diesem Abschnitt wird auch erläutert, wie Segmente beworben werden und wie sie verwendet werden können, um einen präzisen Pfad durch ein Netzwerk zu erstellen. Wir untersuchen weiter, wie diese Segmente in der Data Plane durch die Verwendung von MPLS-Labels oder durch die Verwendung spezieller IPv6-Adressen, genannter SRv6-Adressen, dargestellt werden können. Diese Optionen heißen SR-MPLS bzw. SRv6.

Beispiele für Anweisungen, die durch Segmente dargestellt werden

Ein Segment ist der Name für ein Konstrukt, das eine einzelne Anweisung darstellt. Dabei kann es sich um eine Anweisung zur Weiterleitung oder um eine Anweisung handeln, wie das Paket lokal am empfangenden Router verarbeitet werden soll. Beim Segment-Routing werden diese Anweisungen im gesamten Netzwerk angekündigt, z. B. auf einer IS-IS-Ebene oder in einem OSPF-Bereich. Das Ergebnis ist, dass jedes SR-fähige Gerät diese Anweisungen zusammenfügen kann, um einen präzisen Pfad durch das Netzwerk zu jedem beliebigen Remote-Gerät zu erstellen.

Hier sind einige Beispiele für Anweisungen, die ein Segment darstellen kann:

  • Leiten Sie ein Paket über den kürzesten Pfad des Interior Gateway Protocol (IGP) an einen bestimmten Remote-Router weiter.

  • Weisen Sie einen Transit-Router an, das Paket direkt an einen Next-Hop-Nachbarn und somit von einer bestimmten lokalen Schnittstelle aus zu senden.

  • Weisen Sie einen Border-Router des autonomen Systems (AS) an, das Paket an einen bestimmten externen BGP (EBGP)-Peer zu senden, wobei die Entscheidung über den besten Pfad des BGP außer Kraft gesetzt wird.

  • Führen Sie einen Lastausgleich für ein Paket zwischen zwei oder mehr Transit- oder Endgerät-Routern durch.

  • Senden Sie ein Paket an den nächstgelegenen Border-Router von mehreren potenziellen Ausgangspunkten.

  • Weisen Sie einen Transit-Router an, das Paket über einen bestimmten Traffic-Engineering-Tunnel (TE) umzuleiten.

  • Definieren Sie eine kleinere eingeschränkte Topologie innerhalb Ihrer Haupttopologie und leiten Sie dann ein Paket über den kürzesten Pfad innerhalb dieser eingeschränkten Topologie weiter.

  • Entfernen Sie alle Segmentanweisungen, die auf das Paket übertragen wurden, und verarbeiten Sie dann das Paket selbst in einer speziellen Layer-2- oder Layer-3-Weiterleitungstabelle.

Segmente werden innerhalb Ihrer bestehenden Routing-Protokolle angekündigt

In einem SR-Netzwerk generiert jedes Gerät eine Vielzahl von Segmenten, die darstellen, wie es ein Paket weiterleiten oder verarbeiten kann. Die meisten dieser Segmente werden dann allen anderen Routern innerhalb derselben Routing-Domäne angekündigt, z. B. demselben OSPF-Bereich oder derselben IS-IS-Ebene oder zwischen BGP-Peers.

Anstatt ein dediziertes Protokoll zu verwenden, kündigt Segment-Routing Segmente über Protokollerweiterungen direkt in IS-IS, OSPF und BGP an. Sie müssen keine neuen Protokolle für das Segment-Routing aktivieren. Sie können sich einfach auf die Protokolle verlassen, die Sie bereits verwenden.

Daher hat jedes SR-aktivierte Gerät in Ihrer Routing-Domain vollständige Visibilität aller Segmentanweisungen, die von jedem anderen SR-fähigen Knoten im Netzwerk angekündigt wurden. Mit anderen Worten, jedes Gerät lernt über jedes beworbene Segment, das jedes andere Gerät empfangen kann.

Abbildung 1 veranschaulicht diese Idee und zeigt ein allgemeines Beispiel dafür, wie Segmente in einem SR-MPLS-Netzwerk aussehen. Das Konzept ist in SRv6 ähnlich.

Abbildung 1: Jeder Router generiert ein OSPF LSA oder IS-IS TLV mit seinen Topologieinformationen. Dieses Objekt kündigt auch Segmentanweisungsinformationen an. Each router generates an OSPF LSA or IS-IS TLV containing their topology information. This object also advertises segment instruction information.We recommend that you shorten the figure title. You can add additional information to the paragraph describing the image. Suggested figure titles styled in title case: 1. Router-Generated OSPF LSA or IS-IS TLV Containing Segment Instructions. 2. OSPF LSA or IS-IS TLV, Showing Router Topology and Segment Instructions. 3. Router Topology and Segment Instructions Within OSPF LSA or IS-IS TLV.

Abbildung 1 zeigt eine Topologie von 10 Routern mit den Nummern R1 bis R10. In einem Link-State-Netzwerk generiert jeder Router ein Objekt, das seine Position im Netzwerk beschreibt. OSPF nennt dieses Objekt eine Link-State-Advertisement (LSA), während IS-IS es eine Link-State-Protokoll-Dateneinheit (LSP) nennt. In beiden Fällen kann SR zusätzliche Informationen an diese LSA oder LSP anhängen.

In Abbildung 1 hat R5 beispielsweise angekündigt, dass es Angrenzungen zu R4 und R10 hat. Segment-Routing kann diese Informationen im LSA oder LSP mit einer Segmentanweisung versehen, die besagt, dass R5 Segment-Routing verwenden kann, um Datenverkehr direkt an diese Nachbarn zu senden, zusammen mit einer Nummer, die als Segmentkennung (SID) bezeichnet wird. Diese werden in SR-MPLS als Nachbarschaftssegmente bezeichnet. Das entsprechende Konstrukt in SRv6 heißt End.X-SID.

R5 hat auch sein eigenes Loopback-IPv4-Adresspräfix mit einer Anweisung versehen, die darauf hinweist, dass R5 bereit ist, Datenverkehr zu akzeptieren, der über den kürzesten IGP-Pfad gesendet wurde. Dies wird in SR-MPLS als Knotensegment bezeichnet.

Der LSA oder LSP wird in der gesamten Routing-Domäne geflutet, was bedeutet, dass jeder Router im OSPF-Bereich oder auf IS-IS-Ebene von jedem einzelnen Segment erfährt, das mit diesen Protokollen angekündigt wurde. Mithilfe dieser Segmentinformationen können SR-fähige Router eine oder mehrere Segmentanweisungen direkt auf ein Paket stapeln, um den Pfad anzugeben, den das Paket zu einem bestimmten Remote-Router nehmen soll, sowie Informationen über die Art und Weise, wie das Paket verarbeitet werden soll.

Segmente kombinieren, um einen präzisen Pfad durch ein Netzwerk zu erstellen

Nachdem jeder Router die verschiedenen Segmente angekündigt hat, die die von ihm generierten Anweisungen darstellen, kann jeder Router im Netzwerk diese Segmente miteinander kombinieren, um einen beliebigen Pfad Ihrer Wahl zu erstellen. Dies kann die Erstellung eines Stapels von Segmenten beinhalten oder es kann so einfach sein wie die Verwendung eines einzigen Segments mit dem kürzesten Pfad zum Ziel-Router.

Segment-Routing erreicht dies, ohne dass der Pfad aktiv signalisiert oder angefordert werden muss, da alle Segmentanweisungen bereits von bestehenden Routing-Protokollen angekündigt und gelernt wurden. Jeder Router kann einfach den erforderlichen Pfad berechnen, die erforderlichen Segmente extrahieren, die mit diesem Pfad verknüpft sind, und dann diese Anweisungen an das Paket in der Data Plane anhängen.

Abbildung 2 zeigt ein für Menschen lesbares Beispiel dafür, wie diese Segmente miteinander kombiniert werden können.

Abbildung 2: Segment-Routing erstellt Anweisungen zum Senden von Datenverkehr über die Topologie. Segment routing builds instructions to send traffic over the topology.Suggested rephrases for figure title: 1. Segment Routing Instructions for Traffic Flow 2. Traffic Direction Using Segment Routing 3. Segment Routing: Traffic Path Assembly

Beginnend mit R1 zeigt die Abbildung eine Reihe von drei Anweisungen, die ein Paket in Richtung R7 senden. Der erste Abschnitt folgt dem kürzesten Weg zu R4. Der zweite Abschnitt geht direkt von R4 nach R9. Die letzte Anweisung nimmt den kürzesten Weg zu R7.

R4 generierte und bewarb die ersten beiden Segmente. R7 generierte das dritte Segment. Jeder Router im Netzwerk kann diese Segmente dann nutzen, um einen präzisen Pfad durch eine Topologie zu erstellen.

Sie müssen keinen Stapel von Segmenten verwenden. Wenn Sie beispielsweise nur verlangen, dass der Datenverkehr dem kürzesten Pfad zu einem Remote-Gerät folgt, benötigt das Paket nur ein Segment. Dies ist in Abbildung 3 dargestellt, wo nur ein Segment erforderlich ist, um den kürzesten Weg zwischen R1 und R5 zu beschreiben.

Abbildung 3: Es ist nur ein Segment erforderlich, um den kürzesten Pfad zwischen zwei beliebigen Geräten zu beschreiben. Only one segment is required to describe the shortest path between any two devices.Suggested figure title: One Segment for Shortest Path

Dies reicht aus, um ein klassisches BGP-freies Core-Design ohne Traffic-Engineering zu ermöglichen, bei dem die Pakete einfach dem kürzesten IGP-Pfad zum Ziel-Border-Router folgen.

Verwenden von MPLS oder IPv6 zur Darstellung von Segmenten in der Data Plane

In der Data Plane können Segmente mithilfe von MPLS-Labels oder IPv6-Adressen dargestellt werden. Diese Methoden heißen SR-MPLS bzw. SRv6.

Abbildung 4 zeigt einen allgemeinen Überblick darüber, wie die einzelnen Protokolle in der Data Plane aussehen. SR-MPLS verwendet ein MPLS-Label, um ein einzelnes Segment darzustellen, während SRv6 ein oder mehrere Segmente innerhalb einer einzigen IPv6-Adresse codieren kann. Wenn mehrere IPv6-Adressen erforderlich sind, um den vollständigen Pfad zu beschreiben, werden diese Adressen in einem IPv6-Erweiterungsheader gespeichert, der als Segment-Routing-Header (SRH) bezeichnet wird.

Abbildung 4: Ein allgemeiner Vergleich der Erstellung eines Stacks aus SR-MPLS- und klassischen SRv6-Segmenten zur Erstellung eines Traffic-Engineering-Pfads. A high-level comparison of creating a stack of SR-MPLS and classic SRv6 segments to create a traffic-engineered path.Suggested rephrase to shorten caption: SR-MPLS Versus SRv6: Traffic-Engineered Path Creation

Abbildung 4 zeigt einen Stapel von Segmenten in jedem Data-Plane-Protokoll. Wenn ein Paket jedoch einfach dem kürzesten Pfad zu einem entfernten Gerät folgen muss, ist es nicht erforderlich, einen Stapel von Segmenten zu verwenden. Stattdessen kann diese Anweisung in einem einzelnen MPLS-Label oder einer IPv6-Adresse codiert werden.

Sowohl SR-MPLS als auch SRv6 verwenden ein numerisches Konstrukt, das als Segment Identifier (SID) bezeichnet wird. SID wird verwendet, um das MPLS-Label oder die IPv6-Adresse zu kommunizieren, die in der Data Plane verwendet werden soll. Der SID-Wert wird je nach Typ des beworbenen Segments auf unterschiedliche Weise verwendet.

In SR-MPLS ist der SID-Wert beispielsweise manchmal genau das MPLS-Label, das ein Router für dieses Segment erwartet. Andere Segmenttypen verwenden den SID-Wert jedoch als Index, der mit einem vorab zugewiesenen Satz von MPLS-Labels kombiniert werden kann, um das richtige MPLS-Label zu berechnen, das ein Router für ein Segment erwartet.

Im Gegensatz dazu weisen SRv6-Bereitstellungen in der Regel jedem einzelnen Router im Netzwerk ein ganzes eindeutiges Subnetz mit IPv6-Adressen zu. Die Router weisen dann einzelne Segmente von diesem größeren Präfix zu. Sowohl die Segmente als auch das Präfix werden im Netzwerk so angekündigt, dass jeder Router zumindest dem metrisch kürzesten Pfad zu diesem Segment folgen kann.

Sowohl IS-IS als auch OSPF erstellen und kündigen denselben Segmenttyp an, und beide verwenden den Segment-ID-Wert auf die gleiche Weise. Jedes Protokoll hat jedoch seine eigene einzigartige Art, diese Informationen zu bewerben.

In unserer Dokumentation werden SR-MPLS und SRv6 separat und detaillierter behandelt, zusammen mit der IS-IS- und OSPF-Konfiguration, die diese Data-Plane-Protokolle ermöglicht, und den einzigartigen Segmenttypen von SR-MPLS und SRv6. Bevor Sie diese ausführliche Dokumentation lesen, wird den Lesern dringend empfohlen, zunächst die im folgenden Abschnitt genannten Dokumente zu lesen, um ein umfassendes Verständnis des Segment-Routing im Allgemeinen zu erlangen.

Wie geht es weiter?

Wir empfehlen dringend, die folgenden Artikel zu lesen, um ein allgemeines Verständnis des Segment-Routings zu erlangen: