Segment Routing Primer — SR-MPLS and SRv6
Segment Routing Primer — SR-MPLS und SRv6
Source Routing ohne per-flow-Zustand: wie SR RSVP-TE ersetzt, was Node-SIDs und Adj-SIDs tun, wie SRv6 Anweisungen in IPv6-Adressen kodiert und wo SR-TE in die Verkehrstechnik passt.
1. Das Problem mit RSVP-TE
RSVP-TE (Resource Reservation Protocol — Traffic Engineering, ) ermöglichte eine explizite Wegsteuerung in MPLS-Netzwerken, führte jedoch erhebliche betriebliche Komplexität ein:
- Per-flow-Zustand:
- Kopf-End-Signalisierung:
- Skalierbarkeit:
- Schnell-Reroute Komplexität:
Segment Routing () eliminiert Per-Flow-Zustand an Transit-Knoten ganz. Der Quellrouter kodiert den gesamten Weiterleitungspfad als geordnete Liste im Paketkopf selbst. Transitrouter verarbeiten nur das aktive Segment und benötigen keinen LSP-Zustand.
2. SR Architektur (RFC 8402)
A ist eine Anweisung, die einem Router sagt, wie man das Paket weitergibt – es könnte bedeuten, "zu diesem Knoten zu gehen", "auf diese bestimmte Adjacency" oder "anwenden dieses VPN-Lookup." Segmente werden von Segment Identifiers (SIDs) identifiziert. Eine geordnete Liste von SIDs ist die (oder SID-Liste). Das aktive Segment wird an jedem Hopfen verarbeitet; bei vollständiger Verarbeitung wird das Segment entfernt und das nächste wird aktiv.
Es existieren zwei Datenplan-Istrationen:
- SR-MPLS
- SRv6
3. SR-MPLS: Node-SIDs, Adj-SIDs und SRGB
SR-MPLS () definiert zwei grundlegende SID-Typen, die von IS-IS () oder OSPF () als TLV-Erweiterungen:
| SID-Typ | Anwendungsbereich | Stabilität | Bedeutung |
|---|---|---|---|
| Node-SID | Global (SRGB) | Dauer | "Liber an diesen Knoten mit dem kürzesten IGP-Pfad." Jeder Router hat eine Node-SID pro Loopback/router-ID. Alle Router in der SR-Domain müssen dieses Label programmieren. |
| Adjacency-SID | Lokal (SRLB oder dynamisch) | Ephemeral (pro-session) | "Forward out this specific interface to this specific Nachbar." Wird verwendet, um ein Paket auf einen bestimmten Link unabhängig vom kürzesten Weg zu drücken. |
| Jedecast-SID | Global | Persistent | Geteilt durch eine Reihe von Knoten (z.B. eine beliebigecast Gruppe von Routenreflektoren oder Rechenzentrum PoPs). Pakete werden an das nächste Mitglied geliefert. |
Die (Segment Routing Global Block) ist die Label-Range für weltweit bedeutende SIDs reserviert. Der gemeinsame Standard ist 16000–23999 (Cisco, Juniper), obwohl er konfigurierbar ist. Node-SIDs werden als (z.B. Index 100) und auf ein Etikett durch Hinzufügen des Index zur SRGB-Basis (z.B. 16000 + 100 = Label 16100) aufgelöst. Alle Router müssen den gleichen SRGB für globale SIDs verwenden, um konsistent zu sein — fehlübertroffene SGRBs zwischen Anbietern oder Konfigurationen verursachen eine falsche Kennzeichnung.
SR-MPLS Etikettenstapel Beispiel
Ingress R1 pushes: [Node-SID(R3)] [Node-SID(R5)] R1→R2: outer label = SID(R3), inner = SID(R5) R2→R3: pops SID(R3) (PHP or explicit-null) R3 sees top label = SID(R5); forwards on shortest path to R5 R5 pops SID(R5); delivers to local application
4. SRv6: SIDs als IPv6-Adressen
SRv6 () kodiert SIDs als 128-Bit IPv6-Adressen strukturiert als:
| Locator (e.g., /48) | Function (operator-defined, typically 16 bits) | Argument (remaining bits) |
- Ort
- Funktion
- Argument
Die Segmentliste wird in der (Segment Routing Header, ) — ein IPv6-Erweiterungskopf mit Next Header = 43 (Routing Header), Routing Type = 4. Der SRH enthält:
- Segment Left (SL): Index in die Segmentliste mit dem aktiven SID
- Tag: Flussklassifikation Hinweis
- Segmentliste[0.n]: die bestellten SIDs (letzte SID ist das Ziel)
An jedem SR-Aware-Knoten, wenn das IPv6-Ziel einer lokalen SID entspricht, führt der Knoten die Funktion der SID aus, dekrementiert Segment Left und kopiert Segment List[Segment Left] in den IPv6 DA vor dem Weiterleiten.
5. Verkehrstechnik mit SR-TE
SR-TE ( — SR Policy Architecture) ersetzt RSVP-TE LSPs durch , jeweils definiert durch:
- Kopf
- Farbe
- Endpunkt
- ein oder mehrere , jede mit einer gewichteten Segmentliste
Kandidatpfade werden vom Headend (mit lokalem CSPF/PCE) berechnet oder von einem zentralisierten SR-PCE/Controller über PCEP verteilt () oder BGP SR Policy (siehe §8). Dies eliminiert die RSVP-Signalisierungsebene vollständig, während die explizite Wegsteuerung beibehalten wird.
On-Demand Next-Hop (ODN)
6. SR-MPLS vs SRv6 vs RSVP-TE
| SR-MPLS | SRv6 | RSVP-TE | |
|---|---|---|---|
| Datenebene | MPLS Etikettenstapel | IPv6 + SRH Verlängerungskopf | MPLS label stack |
| Per-Flow-Zustand beim Versand | Keine | None | Ja (RSVP weicher Zustand) |
| Signalisierungsprotokoll | IGP (IS-IS/OSPF) Erweiterungen | IGP Erweiterungen | RSVP-TE (PATH/RESV) |
| HW-Kompatibilität | Alle MPLS HW | Erfordert SRv6-fähigen ASIC | Any MPLS HW |
| Overhead pro Paket | 4 B pro Etikett | 8 + 16n B (SRH mit n SIDs) | 0 (MPLS-Label bereits im Stapel) |
| VPN Unterstützung | Über MPLS VPN-Etiketten | End.DT4/DT6/DX2 SID Funktionen | Via MPLS VPN labels |
| Schnelle Umleitung | TI-LFA (topologieunabhängig, keine Vorkonfiguration) | TITEL-LFA | RSVP-FRR (vorbereitete Bypass) |
| Laufzeit der Bereitstellung | Weit verbreitet in SP/DC | Wachsen; ASIC-Unterstützung noch widerstandsfähig | Reifen, jedoch abnehmend |