Segment Routing Primer — SR-MPLS and SRv6
Segment Routing Primer – SR-MPLS ja SRv6
Lähdereititys ilman vuokohtaista tilaa: kuinka SR korvaa RSVP-TE:n, mitä solmu-SID:t ja Adj-SID:t tekevät, miten SRv6 koodaa ohjeet IPv6-osoitteisiin ja mihin SR-TE sopii liikennesuunnittelussa.
1. Ongelma RSVP-TE:n kanssa
RSVP-TE (resurssien varausprotokolla — liikennesuunnittelu,RFC 3209) otti käyttöön nimenomaisen polunhallinnan MPLS-verkoissa, mutta lisäsi huomattavaa toiminnallista monimutkaisuutta:
- Virtauskohtainen tila:Jokainen LSP vaatii tilan jokaisessa reitittimessä polun varrella (RSVP PATH- ja RESV-viestit). Verkossa, jossa on tuhansia LSP:itä, siirtoreitittimet ylläpitävät valtavia pehmeän tilan taulukoita, joita on päivitettävä jatkuvasti.
- Head-end-signalointi:Sisääntuloreititin (head-end) ilmoittaa polun RSVP:n kautta. Mikä tahansa topologian muutos vaatii uudelleensignaloinnin, mikä luo konvergenssiylimäärää.
- Skaalautuvuus:LSP:iden määrä kasvaa O(N²):llä koko meshillä, ja jokainen LSP kuluttaa LFIB-merkintöjä jokaisessa siirtoreitittimessä.
- Nopean uudelleenreitityksen monimutkaisuus:RSVP-FRR (RFC 4090) suojaa LSP:itä ennalta lasketuilla kiertoteillä tai laitoksen ohitustunneleilla – ominaisuus, joka toimii, mutta lisää uuden tilakerroksen.
Segmenttien reititys (RFC 8402) poistaa virtauskohtaisen tilan kauttakulkusolmuista kokonaan. Lähdereititin koodaa koko edelleenlähetyspolun järjestetyksi luetteloksisegmenttejäitse paketin otsikossa. Transit-reitittimet käsittelevät vain aktiivisen segmentin eivätkä tarvitse LSP-tilaa.
2. SR-arkkitehtuuri (RFC 8402)
A segmenttion ohje, joka kertoo reitittimelle, kuinka paketti välitetään - se voi tarkoittaa "siirry tähän solmuun", "poistu tästä tietystä viereisyydestä" tai "käytä tätä VPN-hakua". Segmentit tunnistetaan segmenttitunnisteilla (SID). Järjestetty SID-luettelo onsegmenttiluettelo(tai SID-lista). Aktiivinen segmentti käsitellään jokaisessa hyppyssä; kun käsittely on valmis, segmentti poistetaan ja seuraavasta tulee aktiivinen.
Kaksi datatason ilmentymää on olemassa:
- SR-MPLS: SID:t ovat MPLS-tunnisteita. Segmenttiluettelo on tarrapino. Taaksepäin yhteensopiva olemassa olevan MPLS-laitteiston kanssa.
- SRv6: SID:t ovat 128-bittisiä IPv6-osoitteita. Segmenttiluettelo kuljetetaan Segment Routing Headerissä (SRH, IPv6-laajennusotsikko). IPv6-natiivi; MPLS:ää ei tarvita.
3. SR-MPLS: Solmu-SID:t, Adj-SID:t ja SRGB
SR-MPLS (RFC 8660) määrittelee kaksi perus-SID-tyyppiä, joita IS-IS mainostaa (RFC 8667) tai OSPF (RFC 8665) TLV-laajennuksina:
| SID-tyyppi | Laajuus | Vakaus | Merkitys |
|---|---|---|---|
| Solmu-SID | Maailmanlaajuinen (SRGB) | Pysyvä | "Toimita tähän solmuun lyhimmän IGP-polun avulla." Jokaisella reitittimellä on yksi solmu-SID per takaisinkytkentä/reititintunnus. Kaikkien SR-toimialueen reitittimien on ohjelmoitava tämä tarra. |
| Viereisyys-SID(Adj-SID) | Paikallinen (SRLB tai dynaaminen) | Efemeraalinen (istuntoa kohti) | "Lähetä tämä rajapinta tälle tietylle naapurille." Käytetään pakottamaan paketti tiettyyn linkkiin lyhimmästä polusta riippumatta. |
| Anycast-SID | Maailmanlaajuinen | Pysyvä | Solmujoukon jakama (esim. reitinheijastajien tai datakeskuksen PoP-pisteiden anycast-ryhmä). Paketit toimitetaan lähimmälle jäsenelle. |
TheSRGB(Segment Routing Global Block) on maailmanlaajuisesti merkittäville SID:ille varattu etikettialue. Yleinen oletusarvo on 16000–23999 (Cisco, Juniper), vaikka se on konfiguroitavissa. Solmu-SID:t on koodattu muodossaindeksiarvot(esim. indeksi 100) ja ratkaistu tunnisteeksi lisäämällä indeksi SRGB-pohjaan (esim. 16000 + 100 = tunniste 16100). Kaikkien reitittimien on käytettävä samaa SRGB:tä, jotta globaalit SID:t olisivat yhdenmukaisia – toimittajien tai kokoonpanojen väliset yhteensopimattomat SGRB:t aiheuttavat virheellisiä merkintöjä.
Esimerkki SR-MPLS-tarrapinosta— liikenteen lähettäminen R1:stä R5:een R3:n (eksplisiittisen reittipisteen) kautta välttäen suoraa R1→R5-polkua:
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:t IPv6-osoitteina
SRv6 (RFC 8986) koodaa SID:t 128-bittisiksi IPv6-osoitteiksi, jotka on rakennettu seuraavasti:
| Locator (e.g., /48) | Function (operator-defined, typically 16 bits) | Argument (remaining bits) |
- Paikannin: Solmulle määritetty reititettävä IPv6-etuliite. Julkisen liikenteen reitittimet reitittävät tätä etuliitettä normaalisti. Paikannin mainostetaan IGP:ssä.
- Toiminto: Tunnistaa tietyn toiminnon, joka suoritetaan SID-päätepisteessä. Esimerkkejä: End (välitä seuraavaan SID:hen), End.X (lähetä eteenpäin tiettyyn läheisyyteen), End.DT4 (decap ja IPv4-taulukkohaku – käytetään IPv4 VPN:issä), End.DX2 (decap ja L2 crossconnect).
- Argumentti: Valinnainen lisäkonteksti funktiolle (esim. entropian vuotunnus).
Segmenttiluettelo on mukanaSRH(Segmentin reititysotsikko,RFC 8754) — IPv6-laajennuksen otsikko, jossa Next Header = 43 (reititysotsikko), reititystyyppi = 4. SRH sisältää:
- Segment Left (SL): Indeksi segmenttiluetteloon osoittaen aktiiviseen SID:hen
- Tag: virtauksen luokitteluvinkki
- Segment List[0..n]: tilatut SID:t (viimeinen SID on kohde)
Jokaisessa SR-tietoisessa solmussa, jos IPv6-kohde vastaa paikallista SID:tä, solmu suorittaa SID:n toiminnon, pienentää segmenttiä vasemmalla ja kopioi segmenttiluettelon [Segmentti vasen] IPv6 DA:hen ennen edelleenlähetystä.
5. Liikennesuunnittelu SR-TE:n kanssa
SR-TE (RFC 9256— SR Policy Architecture) korvaa RSVP-TE LSP:t:lläSR-käytännöt, joista jokainen määrittelee:
- Headend: Sisääntulosolmu, joka ilmentää käytännön
- Väri: 32-bittinen tunniste, jota käytetään liikenteen liittämiseen (laajennettu BGP Color -yhteisön kautta) käytäntöön
- Päätepiste: Kohdesolmu
- Yksi tai useampiehdokaspolut, jokaisessa on painotettu segmenttiluettelo
Ehdokaspolut laskee headend (käyttäen paikallista CSPF/PCE:tä) tai jakaa keskitetyn SR-PCE/ohjaimen PCEP:n kautta (RFC 5440) tai BGP SR -käytäntö (katsoRFC 9256§8). Tämä eliminoi RSVP-signalointitason kokonaan säilyttäen samalla selkeän polun ohjauksen.
On-demand Next-Hop (ODN)on SR-TE-ominaisuus, jossa headend luo automaattisesti SR-käytännön, kun BGP-reitti saapuu tietyn väriyhteisön kanssa, ilman ennakkovarmennusta – mahdollistaen automaattisen liikenteen ohjauksen VPN:ille ja CDN-etuliitteille.
6. SR-MPLS vs SRv6 vs RSVP-TE
| SR-MPLS | SRv6 | RSVP-TE | |
|---|---|---|---|
| Datataso | MPLS-tarrapino | IPv6 + SRH -laajennuksen otsikko | MPLS-tarrapino |
| Virtauskohtainen tila kuljetuksessa | Ei mitään | Ei mitään | Kyllä (vastaa pehmeä tila) |
| Signalointiprotokolla | IGP (IS-IS/OSPF) -laajennukset | IGP-laajennukset | RSVP-TE (PATH/RESV) |
| HW-yhteensopivuus | Mikä tahansa MPLS HW | Vaatii SRv6-yhteensopivan ASIC:n | Mikä tahansa MPLS HW |
| Yleiskustannukset pakettia kohden | 4 B per tarra | 8 + 16n B (SRH n SID:llä) | 0 (MPLS-etiketti jo pinossa) |
| VPN-tuki | MPLS VPN -etikettien kautta | End.DT4/DT6/DX2 SID-toiminnot | MPLS VPN -etikettien kautta |
| Nopea uudelleenreititys | TI-LFA (topologiasta riippumaton, ei esiasetuksia) | TI-LFA | RSVP-FRR (ennalta määrätty ohitus) |
| Käyttöönoton kypsyys | Levinnyt SP/DC:ssä | Kasvava; ASIC-tuki on vielä kypsymässä | Aikuinen mutta taantuva |
Viitteet
- RFC 8402— Segmenttien reititysarkkitehtuuri
- RFC 8660— Segmenttien reititys MPLS-datatason avulla
- RFC 8665— OSPF-laajennukset segmenttien reititystä varten
- RFC 8667— IS-IS-laajennukset segmenttireititystä varten
- RFC 8669— Segment Routing Prefix SID Extensions for BGP
- RFC 8754— IPv6 Segment Routing Header (SRH)
- RFC 8986— Segment Routing over IPv6 (SRv6) Network Programming
- RFC 9252— BGP-peittopalvelut, jotka perustuvat segmenttireitittämiseen IPv6:n kautta (SRv6)
- RFC 9256— Segmenttien reitityspolitiikan arkkitehtuuri
- IETF SPRING -työryhmä— Lähdepakettien reititys Networkingissä (aktiiviset SR-luonnokset)