1. Problemet med OSA-TE
RSVP-TE (Resource Reservation Protocol — Traffic Engineering,RFC 3209) aktiverade explicit vägkontroll i MPLS-nätverk men introducerade betydande operationell komplexitet:
- Tillstånd per flöde:Varje LSP kräver tillstånd på varje router längs vägen (RSVP PATH och RESV-meddelanden). I ett nätverk med tusentals LSP:er upprätthåller transitroutrar enorma mjuka tillståndstabeller som måste uppdateras kontinuerligt.
- Head-end-signalering:Ingångsroutern (huvudänden) signalerar vägen genom OSA. Varje topologiändring kräver omsignalering, vilket skapar konvergensoverhead.
- Skalbarhet:Antalet LSP:er växer med O(N²) för full mesh, och varje LSP förbrukar LFIB-poster på varje transitrouter.
- Komplexitet för snabb omdirigering:RSVP-FRR (RFC 4090) skyddar LSP:er med förberäknade omvägar eller förbikopplingstunnlar för anläggningar - en funktion som fungerar men lägger till ytterligare ett tillståndslager.
Segment routing (RFC 8402) eliminerar tillståndet per flöde vid transitnoder helt. Källroutern kodar hela vidarebefordringsvägen som en ordnad lista översegmenti själva pakethuvudet. Transitroutrar bearbetar endast det aktiva segmentet och behöver inte LSP-tillstånd.
2. SR Architecture (RFC 8402)
A segmentär en instruktion som talar om för en router hur den ska vidarebefordra paketet - det kan betyda "gå till den här noden", "avsluta på denna specifika angränsning" eller "tillämpa denna VPN-uppslagning." Segment identifieras av Segment Identifiers (SID). En ordnad lista över SID ärsegmentlistan(eller SID-lista). Det aktiva segmentet bearbetas vid varje hopp; när bearbetningen är klar tas segmentet bort och nästa blir aktivt.
Det finns två dataplansinstanseringar:
- SR-MPLS: SID är MPLS-etiketter. Segmentlistan är en etikettstack. Bakåtkompatibel med befintlig MPLS-hårdvara.
- SRv6: SID:n är 128-bitars IPv6-adresser. Segmentlistan bärs i Segment Routing Header (SRH, IPv6 extension header). IPv6-native; ingen MPLS krävs.
3. SR-MPLS: Nod-SID, Adj-SID och SRGB
SR-MPLS (RFC 8660) definierar två grundläggande SID-typer, annonserade av IS-IS (RFC 8667) eller OSPF (RFC 8665) som TLV-tillägg:
| SID-typ | Omfattning | Stabilitet | Menande |
|---|---|---|---|
| Nod-SID | Global (SRGB) | Beständig | "Leverera till denna nod med den kortaste IGP-vägen." Varje router har ett Node-SID per loopback/router-ID. Alla routrar i SR-domänen måste programmera denna etikett. |
| Adjacency-SID(Adj-SID) | Lokal (SRLB eller dynamisk) | Efemerisk (per session) | "Vidarebefordra detta specifika gränssnitt till denna specifika granne." Används för att tvinga ett paket till en viss länk oavsett den kortaste vägen. |
| Anycast-SID | Global | Beständig | Delas av en uppsättning noder (t.ex. en anycast-grupp av ruttreflektorer eller datacenter PoPs). Paketen levereras till närmaste medlem. |
DeSRGB(Segment Routing Global Block) är etikettintervallet reserverat för globalt signifikanta SID. Den vanliga standarden är 16000–23999 (Cisco, Juniper), även om den är konfigurerbar. Nod-SID är kodade somindexvärden(t.ex. index 100) och lösts till en etikett genom att lägga till indexet till SRGB-basen (t.ex. 16000 + 100 = etikett 16100). Alla routrar måste använda samma SRGB för att globala SID:er ska vara konsekventa – felaktiga SGRB:er mellan leverantörer eller konfigurationer orsakar felmärkning.
Exempel på SR-MPLS-etikettstack— skicka trafik från R1 till R5 via R3 (explicit waypoint), undvika den direkta R1→R5-vägen:
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: SID som IPv6-adresser
SRv6 (RFC 8986) kodar SID som 128-bitars IPv6-adresser strukturerade som:
| Locator (e.g., /48) | Function (operator-defined, typically 16 bits) | Argument (remaining bits) |
- Locator: Routbart IPv6-prefix tilldelat noden. Transitroutrar dirigerar normalt mot detta prefix. Lokaliseraren annonseras i IGP.
- Fungera: Identifierar den specifika operation som ska utföras vid SID-ändpunkten. Exempel: End (vidarebefordra till nästa SID), End.X (vidarebefordra ut specifik angränsning), End.DT4 (decap och IPv4-tabelluppslagning — används för IPv4 VPN), End.DX2 (decap och L2 cross-connect).
- Argument: Valfri ytterligare kontext för funktionen (t.ex. ett flödes-ID för entropi).
Segmentlistan bärs iSRH(Segment Routing Header,RFC 8754) — en IPv6-tilläggshuvud med Next Header = 43 (Routing Header), Routing Type = 4. SRH innehåller:
- Segment Left (SL): indexera i segmentlistan som pekar på det aktiva SID
- Tag: flödesklassificeringstips
- Segmentlista[0..n]: de beställda SID:n (sista SID är destinationen)
Vid varje SR-medveten nod, om IPv6-destinationen matchar ett lokalt SID, exekverar noden SID:s funktion, minskar Segment Left och kopierar Segment List [Segment Left] till IPv6 DA innan vidarebefordran.
5. Trafikteknik med SR-TE
SR-TE (RFC 9256— SR Policy Architecture) ersätter RSVP-TE LSPs medSR-policyer, var och en definierad av:
- Huvudände: Ingångsnoden som instansierar policyn
- Färg: En 32-bitars identifierare som används för att associera trafik (via BGP Color extended community) med policyn
- Slutpunkt: Destinationsnoden
- En eller flerakandidatvägar, var och en med en viktad segmentlista
Kandidatsökvägar beräknas av huvudänden (med lokal CSPF/PCE) eller distribueras av en centraliserad SR-PCE/kontroller över PCEP (RFC 5440) eller BGP SR Policy (seRFC 9256§8). Detta eliminerar RSVP-signaleringsplanet helt samtidigt som explicit vägkontroll bevaras.
On-Demand Next-Hop (ODN)är en SR-TE-funktion där headend automatiskt instansierar en SR-policy när en BGP-rutt anländer med en specifik färggemenskap, utan förprovisionering – vilket möjliggör automatisk trafikstyrning för VPN och CDN-prefix.
6. SR-MPLS vs SRv6 vs RSVP-TE
| SR-MPLS | SRv6 | OSA-TE | |
|---|---|---|---|
| Dataplan | MPLS etikettstack | IPv6 + SRH-tilläggshuvud | MPLS etikettstack |
| Tillstånd per flöde vid transitering | Ingen | Ingen | Ja (mjukt tillstånd OSA) |
| Signaleringsprotokoll | IGP (IS-IS/OSPF) tillägg | IGP-tillägg | OSA-TE (PATH/RESV) |
| HW-kompatibilitet | Alla MPLS HW | Kräver SRv6-kompatibel ASIC | Alla MPLS HW |
| Overhead per paket | 4 B per etikett | 8 + 16n B (SRH med n SID) | 0 (MPLS-etikett redan i stack) |
| VPN-stöd | Via MPLS VPN-etiketter | End.DT4/DT6/DX2 SID-funktioner | Via MPLS VPN-etiketter |
| Snabb omdirigering | TI-LFA (topologioberoende, ingen förkonfiguration) | TI-LFA | OSA-FRR (förinställd bypass) |
| Utplaceringsmognad | Utbredd i SP/DC | Växande; ASIC-stödet mognar fortfarande | Mogen men avtagande |
Referenser
- RFC 8402— Segment Routing Architecture
- RFC 8660— Segmentrouting med MPLS-dataplanet
- RFC 8665— OSPF Extensions for Segment Routing
- RFC 8667— IS-IS-tillägg för segmentrouting
- RFC 8669— Segment Routing Prefix SID-tillägg för BGP
- RFC 8754— IPv6 Segment Routing Header (SRH)
- RFC 8986— Segmentrouting över IPv6 (SRv6) nätverksprogrammering
- RFC 9252— BGP Overlay Services baserade på segmentrouting över IPv6 (SRv6)
- RFC 9256— Segment Routing Policy Architecture
- IETF SPRING Arbetsgrupp— Routing av källpaket i nätverk (aktiva SR-utkast)