IPv6 Source Routing · SRH Extension Header

Segment Routing su IPv6

SR applicato al data plane IPv6: liste di segmenti codificate come sequenza di indirizzi IPv6 in un header di estensione SRH, abilitando il source routing senza etichette MPLS né overhead di incapsulamento aggiuntivo.

SRv6 SID List Forwarding

Un pacchetto attraversa tre endpoint SR. La lista dei SID è codificata direttamente nell'indirizzo di destinazione IPv6: ogni hop esegue il pop dello uSID attivo e inoltra al successivo.

Flusso di pacchetti SRv6 attraverso tre endpoint con SID list IPv6 fc00::1, fc00::2, fc00::3
SRv6: attraversamento dei pacchetti tra tre endpoint guidato da una SID list IPv6.

Che cos'è il Segment Routing?

Segment Routing (RFC 8402) è un'architettura di routing dalla sorgente. Il nodo di ingresso codifica il percorso seguito da un pacchetto come un elenco ordinato di istruzioni denominate segmenti, e la rete inoltra in base a tale elenco senza mantenere uno stato per flusso a ogni hop. Funziona su due piani dati: SR-MPLS trasporta l'elenco dei segmenti come stack di etichette MPLS, e SRv6 lo trasporta come elenco di indirizzi IPv6. Questa pagina tratta SRv6, e il piano dati SR-MPLS è documentato in una pagina dedicata.

Cos'è SRv6

SRv6 (RFC 8986) codifica un percorso source-initiated come una lista ordinata di indirizzi IPv6 chiamati SID, ciascuno dei quali rappresenta un'istruzione topologica (segmento) presso uno specifico nodo. Il Segment Routing Header (SRH, RFC 8754) trasporta la lista di SID nello stack di header di estensione IPv6. Su ogni nodo SR, il SID attivo viene elaborato, il puntatore SL (Segments Left) viene decrementato e il DA IPv6 viene aggiornato al SID successivo.

I SID SRv6 sono indirizzi IPv6 instradabili strutturati con un Locator (prefisso topologicamente significativo, tipicamente /48 o /64) e una Function (identificatore di comportamento). Lo stato di forwarding SR è quindi incorporato nella tabella di routing IPv6: nessuno spazio etichette separato, nessuna LFIB, nessuna risorsa HW specifica per MPLS. I nodi di transito non necessitano di consapevolezza dell'SRH a meno che non siano endpoint SR.

SRv6 uSID (draft-ietf-spring-srv6-srh-compression) comprime significativamente la codifica del SID: più micro-SID vengono impacchettati in un singolo indirizzo IPv6 a 128 bit, riducendo l'elaborazione per hop e l'overhead di header a livelli competitivi con SR-MPLS nei deployment SP tipici.

SRv6 Network Programming

RFC 8986 definisce un insieme di comportamenti endpoint SRv6: End (endpoint SR), End.X (endpoint con cross-connect), End.T (endpoint con lookup di tabella), End.DT4/DT6/DT46 (endpoint con decapsulazione e lookup di tabella L3). Tali comportamenti implementano la funzione di forwarding VPN completa all'interno della semantica del SID, abilitando servizi L3VPN e L2VPN su un core IPv6 puro.

OcNOS-SP Implementation

IS-IS SRv6 Extensions

IS-IS con estensioni SRv6 (draft-ietf-lsr-isis-srv6-extensions). Annuncio Locator, SID sub-TLV per prefisso. Flexible Algorithms per assegnazione SID topology-aware.

Compressione uSID

Implementazione uSID conforme a draft-ietf-spring-srv6-srh-compression. Blocco /32, locator /48. Più uSID impacchettati per indirizzo a 128 bit. Compatibile con l'HW di forwarding IPv6 esistente: nessuna elaborazione SRH in transito.

Comportamento H.Encaps

Encapsulation head-end che inserisce un nuovo header esterno IPv6 con SRH. H.Encaps.Red per SRH ridotto (SID singolo). Supporta steering policy-based tramite criteri di match.

Policy SRv6-TE

Policy di traffic engineering SRv6 con liste di SID esplicite. Percorsi calcolati dal PCE via PCEP. BGP SR-TE per la distribuzione di policy cross-domain.

L3VPN su SRv6

Comportamento End.DT46 per decap e lookup VRF. BGP L3VPN con trasporto SRv6 secondo RFC 9252 (BGP Overlay Services on SRv6). Allocazione SID per-VRF dal blocco Locator.

SR-MPLS Co-existence

SRv6 e SR-MPLS attivi simultaneamente sullo stesso nodo. Selezione del piano di trasporto per VPN. Funzione di interworking per lo stitching cross-domain ai confini di dominio.

OcNOS-Validated Hardware

Solo a titolo di riferimento. Le piattaforme seguenti rappresentano un sottoinsieme indicativo dell'hardware validato per SRv6. L'elenco completo e aggiornato delle piattaforme qualificate, con ASIC, densità di porte e copertura delle versioni, è mantenuto nella OcNOS Hardware Compatibility List.

UfiSpace S9600-56DX
Qumran2c · 4×25G + 48×100G + 8×400G
UfiSpace S9600-28DX
Qumran2c · 4×25G + 24×100G + 4×400G
UfiSpace S9600-32X
Qumran2c · 32×100G
UfiSpace S9600-64X
Qumran2c · 64×100G
UfiSpace S9610-46DX
Qumran2c+ · 4×25G + 40×100G + 6×400G
UfiSpace S9510-28DC
Qumran2a · 24×25G + 2×100G + 2×400G
Edgecore AS7535-28XB
Qumran2a · 24×25G + 2×100G + 2×400G
UfiSpace S9510-30XC
Qumran2u · 28×25G + 2×100G

Confronti il supporto SRv6 su tutte le piattaforme validate per OcNOS

Open Feature Matrix →
FAQ

Domande frequenti

Che cos'è SRv6?
SRv6 (Segment Routing over IPv6) è un segment routing che utilizza direttamente il data plane IPv6. Ogni segmento è codificato come un indirizzo IPv6 a 128 bit denominato SID, così la rete indirizza il traffico lungo un percorso ingegnerizzato tramite il forwarding IPv6 nativo, senza stack di etichette MPLS.
Qual è la differenza tra SRv6 e SR-MPLS?
SRv6 codifica i segmenti come indirizzi IPv6 a 128 bit e li inoltra sul data plane IPv6, mentre SR-MPLS codifica i segmenti come etichette MPLS e li inoltra sul data plane MPLS. SRv6 richiede solo IPv6 nel core, laddove SR-MPLS mantiene un piano di forwarding MPLS.
Che cos'è un uSID in SRv6?
Un uSID (micro-SID) raggruppa diverse istruzioni SRv6 in un unico indirizzo IPv6 a 128 bit, così un solo indirizzo può trasportare molti segmenti. Ciò riduce la lista dei segmenti, diminuisce l'overhead dei pacchetti e consente a percorsi ingegnerizzati più lunghi di rientrare nel forwarding IPv6 standard.
SRv6 richiede MPLS?
No, SRv6 non necessita di MPLS. Funziona sul data plane IPv6 nativo e utilizza gli indirizzi IPv6 come identificatori di segmento, quindi il core inoltra unicamente su IPv6. Ciò consente agli operatori di svolgere il traffic engineering e il routing dei servizi senza un piano di commutazione di etichette MPLS.
Che cos'è l'SRH in SRv6?
L'SRH (Segment Routing Header) è un header di estensione IPv6 che trasporta l'elenco ordinato dei SID che un pacchetto deve seguire. Man mano che il pacchetto attraversa il percorso, il segmento attivo nell'SRH determina l'hop successivo, codificando la route progettata all'interno del pacchetto IPv6 stesso.
Conviene scegliere SRv6 o SR-MPLS?
Dipende dal piano dati del core. SRv6 elimina MPLS ed esegue il traffic engineering e i servizi VPN su IPv6 nativo, il che è adatto alle reti IPv6-first e greenfield. SR-MPLS mantiene il piano di inoltro MPLS, il che è adatto agli operatori con una base MPLS installata che desiderano il segment routing senza modificare il piano dati. OcNOS-SP supporta entrambi, così una rete può migrare un dominio alla volta e interoperare al confine.
SRv6 supporta L3VPN?
Sì. SRv6 trasporta L3VPN utilizzando i comportamenti di endpoint End.DT4, End.DT6 ed End.DT46 della RFC 8986, che decapsulano un pacchetto e lo consultano nel VRF di destinazione. BGP annuncia i SID per VPN come servizi SRv6 secondo la RFC 9252, così una VPN funziona su un core IPv6 puro, senza etichetta di servizio MPLS.
Quale hardware supporta SRv6 in OcNOS?
OcNOS-SP esegue SRv6 sulle piattaforme per service provider Broadcom Qumran con compressione uSID, così i nodi di transito inoltrano in IPv6 standard senza elaborazione dell'SRH. L'elenco attuale delle piattaforme qualificate per SRv6, con ASIC, densità di porte e versione, è mantenuto nella OcNOS Hardware Compatibility List.