Nəzəri əsaslar və memarlıq
Nüvədə nasazlıqların sürətli aşkarlanması üçün MPLS LSP üçün BFD (RFC 5884) və MPLS Transport Profile (MPLS-TP, RFC 5921) tətbiq olunur. 1. MPLS LSP üçün BFD: BFD-ni label-li yolların monitorinqi üçün genişləndirir. Sessiya LSP Ping ilə başladılır (Echo Request-ə BFD Discriminator TLV əlavə olunur), sonra ingress asinxron rejimdə BFD Control paketlərini LSP label-i daxilində göndərir (127/8 ünvanı, UDP 3784, TTL 1), egress isə adi IP paketi ilə cavab verir; echo rejimi burada istifadə olunmur. İnterval tənzimlənir: proqram platformalarında adətən 100 ms və daha çox, offload-lu aparat platformalarında bir neçə millisaniyəyə qədər; aşkarlama vaxtı intervalın vuruq əmsalına hasilinə bərabərdir. Yalnız LSP-nin irəli istiqaməti monitorinq olunur, lakin "səssiz" data plane nasazlıqları (IGP və LDP sağlam, label ötürməsi sınıq) görünən olur. 2. MPLS-TP SDH/OTN tipli nəqliyyat davranışı olan MPLS alt çoxluğudur (IETF və ITU-T birgə hazırlayıb). Data plane-də IP ötürməsi, ECMP və LSP birləşməsi yoxdur; LSP və PW-lər ikiistiqamətlidir (adətən co-routed) və LDP ilə deyil, idarəetmə sistemi və ya GMPLS RSVP-TE ilə yaradılır. OAM yol daxilində IP olmadan Generic Associated Channel (G-ACh, RFC 5586) üzərindən işləyir, o cümlədən əlaqə yoxlaması üçün BFD (RFC 6428). 1+1 və 1:1 xətti qoruma (RFC 6378) uclar arasında PSC protokolundan istifadə edir; 50 ms-dən az keçid hədəfinə yalnız sürətli aşkarlama və əvvəlcədən qurulmuş qoruyucu yol ilə nail olmaq mümkündür.
Hello taymerləri varsa, BFD niyə lazımdır
IGP və LDP hello taymerləri saniyələr üçün nəzərdə tutulub: OSPF susmaya görə hər 10 saniyədən bir hello göndərir və qonşunu 40 saniyədən sonra əlçatmaz elan edir, LDP sessiyasında isə keepalive/hold taymerləri susmaya görə Cisco-da 60/180 s, Junos-da 10/30 s-dir. Sürətli müdafiəsi olan xidmətlər (FRR, TI-LFA, VPN ehtiyatı) onlarla və ya yüzlərlə millisaniyə ərzində işə düşən və konkret protokoldan asılı olmayan detektora ehtiyac duyur. Bu, Bidirectional Forwarding Detection-dır (RFC 5880): iki qovşaq arasındakı yolun ikitərəfli əlaqəsini yoxlayan və itkini klient tətbiqlərə (OSPF, IS-IS, BGP, statik marşrutlar, MPLS) bildirən yüngül protokoldur. Bildirişdən sonra klient özü qərar verir: qonşuluğu pozmaq, FRR-i işə salmaq, SPF-i yenidən hesablamaq.
BFD protokolu: paketlər, vəziyyətlər, taymerlər
BFD Control-un məcburi hissəsi 24 baytdır: Version (1), Diag, State, bayraqlar (P, F, C, A, D, M), Detect Mult, Length, My Discriminator, Your Discriminator, Desired Min TX Interval, Required Min RX Interval, Required Min Echo RX Interval. Təkatlamalı sessiya (RFC 5881) təyinat UDP portu 3784, mənbə portu 49152-65535 diapazonundan və IP TTL 255 istifadə edir (başqa TTL ilə gələn paket qəbul edilməməlidir, bu GTSM tipli müdafiədir). Çoxatlamalı sessiya (RFC 5883) 4784 portundan, echo rejimi 3785 portundan istifadə edir. Vəziyyətlər: AdminDown, Down, Init, Up; Up-a keçid üçtərəfli mübadilədən sonra baş verir, sessiya Up olmayanadək paketlər saniyədə birdən çox göndərilmir.
Asynchronous rejim (əsas rejim): hər iki ucu Control paketləri dövri göndərir. Aşkarlama vaxtı uzaq qovşağın Detect Mult-unun razılaşdırılmış intervala hasilinə bərabərdir, yəni lokal Required Min RX ilə uzaq Desired Min TX-in böyüyünə. 100 ms və vuruq 3 üçün bu 300 ms, 50 ms üçün 150 ms-dir; xətt kartına offload edən aparat platformalarında 3,3 ms x 3, yəni təxminən 10 ms-ə çatır. Echo rejimində qovşaq paketləri özü göndərir, qonşu isə onları yalnız öz ötürmə müstəvisi ilə əks etdirir, ona görə qonşunun CPU-su yox, data plane-i yoxlanılır. Diag kodları qəzanın səbəbini izah edir: 1 - aşkarlama taymeri bitib, 3 - qonşu Down elan edib, 5 - yol əlçatmazdır, 7 - administrator tərəfindən söndürülüb.
MPLS-də BFD: dəqiq nə izlənilir
Adi klientlər üçün BFD interfeysə bağlanır: BFD for OSPF/IS-IS/BGP/static xəttin və qonşunun qəzasını millisaniyələr ərzində tutur, LDP sessiyası isə IGP yığıldığı üçün ardınca düşür. Ayrıca LSP üçün BFD mövcuddur (RFC 5884, RFC 7726 ilə dəqiqləşdirilib): ingress BFD Control-u LSP etiketinin daxilində, təyinat ünvanı 127/8-dən, UDP portu 3784 və TTL 1 ilə göndərir, egress isə adi IP paketi ilə cavab verir. Sessiya LSP ping vasitəsilə işə salınır: Echo Request-ə BFD Discriminator TLV (tip 15) əlavə olunur, egress ingress-in diskriminatorunu öyrənir və əks yarısını qaldırır. Yalnız LSP-nin düzünə istiqaməti izlənir: əks yol IP ilə gedir. Belə BFD LDP/RSVP və IGP sağlam olduğu, etiketlə ötürmənin isə sındığı "səssiz" data plane qəzalarını aşkarlayır.
Psevdotellər üçün VCCV üzərindən BFD mövcuddur (RFC 5885): idarəetmə kanalının tipi və yoxlama tipi PW qurulanda razılaşdırılır; 0x04 və 0x08 CV tipləri IP/UDP-də BFD-dir (AC/PW statusu olmadan və olmaqla), 0x10 və 0x20 PW-ACH-də BFD-dir. Segment routing üçün S-BFD mövcuddur (RFC 7880): əvvəlcədən verilmiş diskriminatorlu reflektor və üçtərəfli mübadilə yoxdur. BFD yalnız özünün getdiyi yolu yoxlayır: o, VPN etiketindən və müştəri VRF cədvəlindən xəbərsizdir.
MPLS-TP: nəqliyyat profili
MPLS-TP (RFC 5921, tələblər RFC 5654-də) SDH/OTN ruhunda nəqliyyat şəbəkəsi davranışı olan MPLS alt çoxluğudur. Burada data plane-də IP ötürməsi, ECMP və LSP birləşməsi yoxdur; yolları (LSP və PW) idarəetmə sistemi əl ilə və ya GMPLS RSVP-TE yaradır, LDP yox; LSP-lər həmişə ikitərəflidir, adətən co-routed (hər iki istiqamət eyni marşrutla gedir). Qovşaqlar IP ünvanı ilə yox, Global_ID və Node_ID ilə (RFC 6370) identifikasiya olunur.