Nəzəri əsaslar və memarlıq
Operator nüvəsi trafiki nasazlıq anında yox, xəttin qırılması ilə yeni yönləndirmə cədvəlinin bütün marşrutlaşdırıcılarda proqramlaşdırıldığı an arasındakı pəncərədə itirir. Bu pəncərə nasazlığın aşkarlanması, LSA/LSP flooding-i, SPF hesablaması, RIB/FIB yenilənməsi və LDP etiketlərinin yenidən hesablanmasından ibarətdir; tənzimlənmədikdə yüz millisaniyədən bir neçə saniyəyə qədər davam edir. IP Fast Reroute (RFC 5714) pəncərənin böyük hissəsini aradan qaldırır: marşrutlaşdırıcı ehtiyat next hop-u əvvəlcədən hesablayır və nasazlıq anında SPF-i gözləmədən lokal olaraq keçid edir. Loop-Free Alternate (RFC 5286) paketi geri qaytarmayacağına zəmanət verilən qonşudan istifadə edir; Remote LFA (RFC 7490) birbaşa LFA olmadıqda uzaq qovşağa LDP tuneli qurur. Dərs LFA və rLFA seçim şərtlərini, konvergensiya zamanı mikro-döngülərin səbəblərini (RFC 5715), SPF/LSA taymerlərinin və BFD-nin tənzimlənməsini, həmçinin Graceful Restart, NSF və NSR-i kompromisləri ilə birlikdə əhatə edir. TI-LFA burada yalnız xatırlanır: o, Segment Routing moduluna aiddir.
Konvergensiya vaxtı nədən ibarətdir
Xətt nasazlığından sonra trafik itkisi beş mərhələnin cəmidir. Aşkarlama: aparat səviyyəsində carrier itkisi siqnalı bir neçə millisaniyə çəkir, 50 ms interval və multiplier 3 ilə BFD təxminən 150 ms, IS-IS (adətən 10/30 s) və OSPF (10/40 s) Hello/Dead taymerləri isə onlarla saniyə verir. LSP/LSA yaradılması və flooding: hər hop üçün bir neçə-onlarla millisaniyə üstəgəl generation taymerləri. SPF: verilənlər bazasının ölçüsündən və CPU-dan asılıdır, müasir platformalarda yüzlərlə qovşaq üçün bir neçə-onlarla millisaniyə üstəgəl throttling gecikməsi. RIB və FIB yenilənməsi: FIB iyerarxik deyilsə, yüz minlərlə prefiks üçün onlarla millisaniyədən saniyələrə qədər. Nəhayət LDP etiketləri: liberal retention ilə növbəti qonşunun etiketi artıq LIB-dədir, yenidən hesablama FIB proqramlaşdırılmasına qədər azalır. IP FRR 2-4 mərhələlərini kritik yoldan çıxarır: ehtiyat yol artıq FIB-dədir.
LFA: şərt və qoruma növləri
LFA (RFC 5286) S marşrutlaşdırıcısının elə N qonşusunu seçir ki, onun D təyinatına ən qısa yolu S-dən keçmir. Əsas loop-free şərti: D(N,D) < D(N,S) + D(S,D), burada D ən qısa yolun metrikasıdır. Laboratoriya şəbəkəsində PE1-P1 xətti qırıldıqda namizəd qonşu P2-dir: D(P2,PE2)=10, D(P2,PE1)+D(PE1,PE2)=20+20=40-dan kiçikdir, deməli P2 loop-free alternate-dir. Qovşaq qorunması (P1-in özü nasaz olarsa) daha sərt şərt tələb edir: D(N,D) < D(N,E) + D(E,D), burada E qorunan əsas qonşudur; şərt ödənmirsə, LFA yalnız xətti qoruyur, qovşaq nasazlığında döngü mümkündür. Downstream şərti D(N,D) < D(S,D) qovşaq nasazlığında belə döngünün olmamasına zəmanət verir, lakin daha az istiqaməti əhatə edir. Bir neçə namizəd olduqda implementasiya tie-break tətbiq edir (RFC 5286 bölmə 3.8): əvvəlcə qovşaq qorunması, sonra kiçik metrika, əlavə olaraq SRLG və ECMP uyğunluğu kimi siyasətlər. LFA 100% əhatə vermir: halqalarda və simmetrik metrikalı topologiyalarda qorunan prefikslərin payı çox vaxt azalır, Clos və full-mesh strukturlarda isə yüksək qalır. Əhatəni həmişə platforma əmri ilə yoxlayın, onu zəmanətli saymayın.
Remote LFA və PQ qovşaqları
Birbaşa LFA olmadıqda Remote LFA (RFC 7490) həm P-fəzada (S-dən qorunan xətti keçmədən çatılan), həm də Q-fəzada (PQ-dan D-yə qorunan xətti keçmədən çatılan) yerləşən uzaq PQ qovşağı axtarır. S PQ-yə tunel qurur: praktikada targeted LDP sessiyası və PQ-nun təyinat FEC üçün elan etdiyi etiket. Ehtiyat paket iki etiketli stek daşıyır: xarici etiket PQ-yə transport etiketi, daxili etiket PQ-nun elan etdiyi D FEC etiketidir. Buna görə rLFA yol üzərindəki bütün qovşaqlarda LDP və PQ namizədlərinə targeted Hello (UDP 646, 224.0.0.2 əvəzinə unicast) tələb edir, PQ isə belə sessiyaları qəbul etməlidir ("targeted-hello accept" tipli əmr və ya avtomatik implementasiya). Məhdudiyyətlər: yalnız xətt nasazlığından qoruyur (qovşaq nasazlığından yox), əhatə topologiyadan asılıdır, çoxlu mümkün PQ qovşağı olduqda seçim gecikmə baxımından optimal olmaya bilər. Segment Routing modulundakı TI-LFA eyni məsələni LDP olmadan həll edir və metrika məhdudiyyəti olmayan topologiyada tam əhatə verir, lakin burada yalnız xatırlanır.
Mikro-döngülər
Mikro-döngü (RFC 5715) qovşaqların eyni vaxtda konvergensiya etməməsindən yaranır: FIB-i əvvəl yeniləyən qovşaq paketi hələ köhnə cədvəli olan qonşuya göndərir, o isə paketi geri qaytarır. Döngü FIB yenilənmə anları arasındakı fərq qədər, adətən yüz millisaniyələrlə, TTL bitənədək davam edir; itki nasazlığın özündən yox, növbələrin böyüməsindən və xəttin dolmasından yaranır. Mikro-döngülər həm nasazlıqda, həm də xəttin bərpasında (recovery) baş verir: ikinci hal çox vaxt nəzərə alınmır, halbuki ikinci itki partlayışını məhz o yaradır. Azaltma üsulları: sıralı FIB yenilənməsi (RFC 6976: qovşaq nasazlıqdan uzaq qovşaqların yenilənməsini gözləyir), lokal RIB-update gecikməsi (RFC 8333, "local delay": hadisəyə yaxın qovşaq yeni yolun quraşdırılmasını digərlərinin konvergensiyası üçün kifayət qədər, adətən yüz millisaniyədən bir neçə saniyəyə qədər gecikdirir), xəttin bərpasında make-before-break və SR mikro-döngü qorunması (Segment Routing modulunda). Gecikmənin qiyməti: qovşaq ehtiyat yoldan daha uzun müddət istifadə edir, buna görə dəyəri şəbəkənin ölçüsünə uyğun seçin.
IGP tənzimi
SPF və LSA generasiya parametrləri eksponensial backoff istifadə edir: birinci işə düşmə initial-wait-dən sonra (məsələn 50 ms), ikinci secondary-wait-dən sonra (200 ms), sonra max-interval-a (5 s) qədər ikiqat artım. SPF, PRC və LSP generasiyası üçün tipik 50/200/5000 ms birləşməsi tək nasazlığa sürətli reaksiya və flap edən xətt zamanı CPU qorunması verir. Bunlara əlavə olaraq fast-flood (növbəti interval gözlənilmədən LSP göndərilməsi), Hello prioritetinin tənzimlənməsi, optika üçün link debounce / carrier-delay və flap-ların basdırılması (IP event dampening, interfeysdə eksponensial backoff) tətbiq olunur. Qorunmasız çox kiçik dəyərlər daimi SPF yenidən hesablamasına və qeyri-sabitliyə gətirir.