Segment Routing Primer — SR-MPLS and SRv6
Segment Routing Primer – SR-MPLS ja SRv6
Allika marsruutimine ilma voo olekuta: kuidas SR asendab RSVP-TE, mida sõlme-SID-d ja Adj-SID-d teevad, kuidas SRv6 kodeerib juhiseid IPv6-aadressides ja kuhu SR-TE liikluskorralduses sobib.
1. Probleem RSVP-TE-ga
RSVP-TE (ressursside reserveerimise protokoll – liikluskorraldus,RFC 3209) võimaldas MPLS-võrkudes selge teejuhtimise, kuid tõi kaasa märkimisväärse töökeerukuse:
- Voolu olek:Iga LSP nõuab olekut igal teekonnal asuval ruuteril (RSVP PATH ja RESV sõnumid). Tuhandete LSP-dega võrgus säilitavad transiidiruuterid tohutuid pehme oleku tabeleid, mida tuleb pidevalt värskendada.
- Pea otsa signaalimine:Sissepääs (peaotsa) ruuter annab tee RSVP kaudu märku. Iga topoloogia muudatus nõuab uuesti signaalimist, luues konvergentsi üldkulud.
- Skaleeritavus:LSP-de arv kasvab täisvõrgu puhul O(N²)-ga ja iga LSP tarbib LFIB-kirjeid igas transiitruuteris.
- Kiirmarsruudi keerukus:RSVP-FRR (RFC 4090) kaitseb LSP-sid eelnevalt arvutatud ümbersõitudega või rajatise möödaviigutunnelitega – funktsioon, mis töötab, kuid lisab veel ühe olekukihi.
Segmendi marsruutimine (RFC 8402) välistab transiidisõlmedes täielikult voo oleku. Lähteruuter kodeerib kogu edastamistee järjestatud loendinasegmendidpaketi päises endas. Transiidiruuterid töötlevad ainult aktiivset segmenti ega vaja LSP olekut.
2. SR-arhitektuur (RFC 8402)
A segmenton juhis, mis ütleb ruuterile, kuidas paketti edasi saata – see võib tähendada "mine sellesse sõlme", "välju sellest konkreetsest naabrusest" või "rakendage see VPN-otsing". Segmendid tuvastatakse segmendi identifikaatorite (SID) abil. SID-de järjestatud loend onsegmentide loend(või SID-loend). Aktiivset segmenti töödeldakse igal hüppel; kui töötlemine on lõppenud, segment eemaldatakse ja järgmine muutub aktiivseks.
On olemas kaks andmetasandi eksemplari:
- SR-MPLS: SID-d on MPLS-sildid. Segmendiloend on siltide virn. Tagasiühilduv olemasoleva MPLS-riistvaraga.
- SRv6: SID-d on 128-bitised IPv6-aadressid. Segmendiloend kantakse segmendi marsruutimise päisesse (SRH, IPv6 laienduse päis). IPv6-native; MPLS-i pole vaja.
3. SR-MPLS: sõlme-SID-id, Adj-SID-id ja SRGB
SR-MPLS (RFC 8660) määratleb kaks põhilist SID tüüpi, mida reklaamib IS-IS (RFC 8667) või OSPF (RFC 8665) TLV-laienditena:
| SID tüüp | Ulatus | Stabiilsus | Tähendus |
|---|---|---|---|
| Sõlme-SID | Globaalne (SRGB) | Püsiv | "Edasta sellesse sõlme, kasutades lühimat IGP-teed." Igal ruuteril on üks sõlme-SID iga loopback/ruuteri ID kohta. Kõik SR-domeeni ruuterid peavad selle märgistuse programmeerima. |
| Adjacency-SID(Adj-SID) | Kohalik (SRLB või dünaamiline) | Lühiajaline (seansi kohta) | "Edasta see konkreetne liides sellele konkreetsele naabrile." Kasutatakse paketi sundimiseks kindlale lingile olenemata lühimast teest. |
| Anycast-SID | Globaalne | Püsiv | Jagatud sõlmede komplektiga (nt marsruudi peegeldajate mis tahes edastamise rühm või andmekeskuse PoP-d). Pakid toimetatakse lähima liikmeni. |
TheSRGB(Segment Routing Global Block) on globaalselt oluliste SID-de jaoks reserveeritud sildivahemik. Tavaline vaikeväärtus on 16000–23999 (Cisco, Juniper), kuigi see on konfigureeritav. Sõlme-SID-d on kodeeritud kuiindeksi väärtused(nt indeks 100) ja lahendati sildiks, lisades indeksi SRGB alusele (nt 16000 + 100 = silt 16100). Kõik ruuterid peavad kasutama sama SRGB-d, et globaalsed SID-d oleksid järjepidevad – tarnijate või konfiguratsioonide mittevastavad SGRB-d põhjustavad valesid märgistusi.
SR-MPLS sildi virna näide— liikluse saatmine R1-st punktile R5 R3 kaudu (selge teekonnapunkt), vältides otsest R1→R5 teed:
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-id IPv6-aadressidena
SRv6 (RFC 8986) kodeerib SID-sid 128-bitiste IPv6-aadressidena, mis on struktureeritud järgmiselt:
| Locator (e.g., /48) | Function (operator-defined, typically 16 bits) | Argument (remaining bits) |
- Lokaator: sõlmele määratud marsruutitav IPv6 eesliide. Ühistranspordiruuterid suunavad tavaliselt selle eesliite poole. Lokaatorit reklaamitakse IGP-s.
- Funktsioon: identifitseerib konkreetse toimingu, mida SID lõpp-punktis teha. Näited: End (edasi järgmisele SID-le), End.X (edasi teatud külgnevusele), End.DT4 (decap ja IPv4 tabeliotsing – kasutatakse IPv4 VPN-ide jaoks), End.DX2 (decap ja L2 ristühendus).
- Argument: funktsiooni valikuline lisakontekst (nt entroopia voo ID).
Segmendiloend on kantudSRH(Segmendi marsruutimise päis,RFC 8754) — IPv6 laienduse päis järgmise päisega = 43 (marsruutimise päis), marsruutimise tüüp = 4. SRH sisaldab:
- Segment Left (SL): segmendiloendi indeks, mis osutab aktiivsele SID-le
- Silt: voolu klassifitseerimise vihje
- Segment List[0..n]: järjestatud SID-d (viimane SID on sihtkoht)
Kui IPv6 sihtkoht ühtib kohaliku SID-ga, täidab sõlm igas SR-teadlikus sõlmes SID-i funktsiooni, vähendab segmenti vasakult ja kopeerib enne edastamist IPv6 DA-sse segmendiloend[segment vasakule].
5. Liiklustehnika SR-TE-ga
SR-TE (RFC 9256— SR Policy Architecture) asendab RSVP-TE LSP-d järgmistegaSR-i eeskirjad, millest igaüks on määratletud:
- Headend: sisestussõlm, mis loob poliitika
- Värv: 32-bitine identifikaator, mida kasutatakse liikluse (laiendatud kogukonna BGP Color kaudu) seostamiseks poliitikaga
- Lõpp-punkt: sihtkoha sõlm
- Üks või mitukandidaatide teed, millest igaühel on kaalutud segmentide loend
Kandidaatide teed arvutab peaend (kasutades kohalikku CSPF/PCE) või jaotab tsentraliseeritud SR-PCE/kontroller PCEP kaudu (RFC 5440) või BGP SR poliitika (vtRFC 9256§8). See välistab täielikult RSVP signaalimise tasapinna, säilitades samal ajal selge teejuhtimise.
Nõudmisel järgmine hüpe (ODN)on SR-TE funktsioon, mille puhul peaend loob automaatselt SR-poliitika, kui BGP-marsruut saabub konkreetse värvikogukonnaga, ilma eelneva ettevalmistamiseta – see võimaldab VPN-ide ja CDN-i eesliidete jaoks automaatset liikluse juhtimist.
6. SR-MPLS vs SRv6 vs RSVP-TE
| SR-MPLS | SRv6 | RSVP-TE | |
|---|---|---|---|
| Andmetasand | MPLS etikettide virn | IPv6 + SRH laienduse päis | MPLS etikettide virn |
| Voolu olek transiidi ajal | Mitte ühtegi | Mitte ühtegi | Jah (RSVP pehme olek) |
| Signaaliprotokoll | IGP (IS-IS/OSPF) laiendused | IGP laiendused | RSVP-TE (PATH/RESV) |
| HW ühilduvus | Mis tahes MPLS HW | Nõuab SRv6-toega ASIC-i | Mis tahes MPLS HW |
| Üldkulud paketi kohta | 4 B sildi kohta | 8 + 16n B (SRH n SID-ga) | 0 (MPLS-silt juba virnas) |
| VPN-i tugi | MPLS VPN-siltide kaudu | End.DT4/DT6/DX2 SID funktsioonid | MPLS VPN-siltide kaudu |
| Kiire marsruudi muutmine | TI-LFA (topoloogiast sõltumatu, eelkonfiguratsioonita) | TI-LFA | RSVP-FRR (eelmääratud möödaviik) |
| Kasutuselevõtu küpsus | Laialt levinud SP/DC-s | Kasvav; ASIC-tugi on endiselt küpsemas | Küps, kuid kahanev |
Viited
- RFC 8402— Segmendi marsruutimise arhitektuur
- RFC 8660— Segmendi marsruutimine MPLS andmetasandiga
- RFC 8665— OSPF laiendused segmentide marsruutimiseks
- RFC 8667— IS-IS laiendused segmentide marsruutimiseks
- RFC 8669— Segment Routing Prefix SID laiendused BGP jaoks
- RFC 8754— IPv6 segmendi marsruutimise päis (SRH)
- RFC 8986— Segment Routing over IPv6 (SRv6) võrguprogrammeerimine
- RFC 9252— BGP ülekatteteenused, mis põhinevad IPv6 kaudu (SRv6) toimuval segmendi marsruutimisel
- RFC 9256— Segmendi marsruutimispoliitika arhitektuur
- IETF SPRING töörühm— Source Packet Routing In Networking (aktiivsed SR-i mustandid)