Nəzəri əsaslar və memarlıq
Segment Routing-in iki əsas inkişafı TI-LFA (Topology-Independent Loop-Free Alternate) və Flexible Algorithm (Flex-Algo) ilə SR Policy-dir. 1. TI-LFA qəzadan sonra alternativ yolun qaldığı istənilən topologiyada linkin (həmçinin node və SRLG-nin) əvvəlcədən hesablanmış qorumasını verir. Klassik LFA və Remote LFA topologiyaların bir hissəsini (məsələn, halqaları) əhatə etmir, TI-LFA isə ehtiyat yolu yaxınlaşmadan sonrakı (post-convergence) ən qısa yol boyunca qurur və lazım olduqda SID siyahısı ilə kodlayır, ona görə mikro-döngü yaratmır. Keçid vaxtı qəzanın aşkarlanmasından və platformadan asılıdır; hədəf onlarla millisaniyədir. 2. SR Policy yolu seqment siyahısı ilə təyin edir (statik və ya dinamik, o cümlədən kontroller/PCE vasitəsilə) və yol boyu siqnalizasiya olmadan RSVP-TE tunellərini əvəz edir. 3. Flex-Algo (RFC 9350) bir topologiyanı öz metrikası və məhdudiyyətləri olan məntiqi müstəvilərə bölür: 128-255 alqoritm nömrələrini operator təyin edir (məsələn, 128 - minimal gecikmə, 129 - affinity məhdudiyyəti).
SR üzərində iki mexanizm: mühafizə və yolun idarəsi
Birinci vəzifə RSVP-TE olmadan xətt və ya qovşaq nasazlığı zamanı trafiki sürətlə bərpa etməkdir. Onu TI-LFA (Topology-Independent LFA) həll edir: ehtiyat yol əvvəlcədən hesablanır və FIB-ə yazılır. İkinci vəzifə trafiki IGP-nin ən qısa yolu ilə yox, verilmiş yolla aparmaqdır: bunun üçün SR Policy (RFC 9256) istifadə olunur, yəni siqnallaşdırılan tunnel əvəzinə etiket stekində seqment siyahısı. Hər iki mexanizm əvvəl baxılmış eyni SID-lər üzərində işləyir.
TI-LFA: hesablama
Klassik LFA (RFC 5286) məqsədə ən qısa yolu qorunan elementdən keçməyən qonşunu seçir; həlqələrdə və bir çox digər topologiyalarda belə qonşu yoxdur. Remote LFA (RFC 7490) uzaq qovşağa tunnel əlavə edir, lakin targeted LDP tələb edir. TI-LFA (RFC 9855, əvvəllər draft-ietf-rtgwg-segment-routing-ti-lfa) hər iki məhdudiyyəti aradan qaldırır: ehtiyat yol post-convergence yolu kimi qurulur, yəni nasazlıqdan sonra IGP-nin seçəcəyi yol kimi, SID steki isə trafiki onunla yönəldir.
Xəttin mühafizəsi üçün hesablamanı PLR (Point of Local Repair) qovşağı yerinə yetirir:
- Qorunan xətt topologiyadan çıxarılır, SPF hər prefiks üçün post-convergence yolunu tapır.
- P-space PLR-dən ən qısa yollarla, qorunan xətti keçmədən çatılan qovşaqlardır (genişləndirilmiş P-space PLR-in qonşularından çatılan qovşaqları əlavə edir). Q-space məqsədə bu xətt olmadan ən qısa yolla çata bilən qovşaqlardır (məqsəddən əks SPF).
- Post-convergence yolu boyunca gedirik: onun üzərində Q-space-ə də daxil olan P-space qovşağı (PQ qovşağı) varsa, bərpa siyahısı bu qovşağın bir Node-SID-indən ibarət olur. P və Q kəsişmirsə, lakin xətlə birləşirlərsə, siyahıya onların arasındakı Adjacency-SID əlavə olunur: [Node-SID P, Adj-SID P-Q]. Ən çox siyahı 1-2 etiketdən ibarət olur, lakin mürəkkəb metrikalarda daha uzun ola bilər.
- Qovşağın və SRLG-nin mühafizəsi üçün hesablama qovşaq və ya xətlər qrupu istisna olunmaqla təkrarlanır.
Yanaşma ümumiyyətlə alternativ yolun olduğu istənilən topologiyada əhatə verir (nasazlıqdan sonra şəbəkə əlaqəli qalmalıdır). Realizasiya məhdudiyyətləri: siyahı baş qovşağın MSD-sinə sığmalıdır, bərpa yolunun bütün qovşaqları SR-i dəstəkləməli və Prefix-SID-ə malik olmalıdır, LAN interfeyslərində mühafizə platformadan asılıdır.
TI-LFA: vaxt və davranış
Ehtiyat növbəti addım FIB-ə əvvəlcədən yazılır. Nasazlıq aşkarlandıqdan sonra (siqnal itkisi, BFD; sürətli aşkarlamada məqsəd 50 ms-ə qədərdir) xətt kartı IGP-ni gözləmədən trafiki keçirir. Sonra IGP yığılır və eyni yol əsas yola çevrilir, buna görə ikinci keçid olmur. Real vaxt aşkarlama üsulundan və platformadan asılıdır: yavaş interfeyslərdə BFD olmadan onu IS-IS taymerləri müəyyən edir.
Yığılma zamanı mikrodövrələr mümkündür: qovşaqlar SPF-i müxtəlif vaxtda yenidən hesablayır və paket artıq yeni yola keçmiş qovşaqla hələ köhnə yolda olan qovşaq arasında dolaşa bilər. SR microloop avoidance mexanizmi (draft-bashandy-rtgwg-segment-routing-uloop) PLR-də müvəqqəti olaraq post-convergence yolu olan seqment siyahısından istifadə edir və RIB yenilənməsini verilmiş interval qədər gecikdirir.
SR Policy: quruluş
SR Policy (RFC 9256) headend, color, endpoint üçlüyü ilə birmənalı təyin olunur. Color 32 bitlik ədəddir və mənasını operator təyin edir (məsələn 100 aşağı gecikmə deməkdir); endpoint təyinat qovşağının ünvanıdır. Siyasətin bir və ya bir neçə candidate path-i var; hər biri preference (standart 100, yüksək daha yaxşıdır), protocol-origin (standart: PCEP 10, BGP SR-TE 20, lokal konfiqurasiya 30), originator və discriminator ilə təyin olunur. Aktiv yol ən yüksək preference-li etibarlı candidate path-dir, bərabərlikdə origin, originator, discriminator qərar verir. Candidate path çəkili bir və ya bir neçə seqment siyahısını ehtiva edir (çəkili ECMP).
Yol explicit (siyahını operator verir) və ya dynamic ola bilər (headend və ya PCE yolu məhdudiyyətlərə görə hesablayır: IGP metrikası, TE metric və ya delay, affinity, disjoint-path, Flex-Algo). Birinci seqment rezolyusiya olunmursa, MSD aşılırsa və ya yol yoxdursa candidate path etibarsızdır. Nəzarətçi ilə əlaqə üçün PCEP (RFC 8664) və BGP SR-TE xidmət edir.
Binding SID (BSID) siyasətin lokal etiketidir. Headend-ə bu etiketlə gələn paket siyasətə yönəldilir. Tətbiq: stekin qısaldılması (xarici qovşaq on etiket əvəzinə bir BSID bilir), siyasətlərin iç-içə qoyulması, domenlər arası keçid.
Trafikin siyasətə bağlanması
- Automated Steering: Color Extended Community (RFC 9012) və next-hop N olan BGP marşrutu (məsələn VPN) aktiv (color, N) siyasətinə avtomatik yönəldilir. Etibarlı siyasət yoxdursa, marşrut IGP vasitəsilə ən qısa yola rezolyusiya olunur: SLA açıq nasazlıq olmadan pozulur, buna görə bu davranışa nəzarət lazımdır.
- On-Demand Next-hop (ODN): color olan marşrut göründükdə siyasət şablondan avtomatik yaradılır.
- Siyasətə statik marşrut, ACL əsaslı və ya per-flow steering.
VPN xidmət etiketləri siyasət stekinin altında yerləşir.