Nəzəri əsaslar və memarlıq

Müasir operator nüvəsinin monitorinqi dövri SNMP sorğusundan axın telemetriyasına (YANG modelli məlumatlara abunə: gNMI Subscribe və ya dial-out gRPC) və NetFlow v9/IPFIX (RFC 7011) axın analizinə keçir. 1-5 dəqiqə intervalla SNMP məlumatı ortalayır və mikropartlayışları, saniyədən qısa hadisələri görmür. Axın telemetriyası push modeli ilə işləyir: marşrutlaşdırıcı abunəliyə əsasən strukturlaşdırılmış məlumatı (interfeys sayğacları, BGP və LDP vəziyyəti, növbələr) özü göndərir, gRPC/HTTP/2 üzərindən bir neçə saniyəlik periodla (sample rejimi) və ya dəyişiklikdə (on_change); kollektor bunları zaman seriyası bazasına (Prometheus, InfluxDB) çox vaxt broker vasitəsilə yazır. Yük sıfır deyil: minlərlə interfeysdə 1 s tezlik marşrutlaşdırıcı CPU-sunu və kollektoru yükləyir, ona görə yollar və period məhdudlaşdırılır. IPFIX (IP Flow Information Export) axın qeydlərini (ünvanlar, portlar, protokol, MPLS label-ləri, DSCP, bayt və paket sayğacları) adətən 1:N seçmə ilə ixrac edir: həcmlər N-ə vurulmalıdır (samplingInterval elementi), ona görə mənzərə tam yox, statistikdir. Birlikdə onlar sıxlığın harada olduğunu və onu kimin yaratdığını müştəri VRF-ləri və kanallar üzrə göstərir.

Şəbəkə məlumatlarının dörd növü

MPLS nüvəsinin monitorinqi dörd müstəqil mənbəyə söykənir. Sayğaclar və vəziyyət (interfeys yükü, LDP, BGP, BFD vəziyyəti) SNMP sorğusu və ya axın telemetriyası ilə toplanır. Hadisələr (qonşunun düşməsi, LSP vəziyyətinin dəyişməsi) SNMP trap/inform və syslog kimi gəlir. Axınlar (kim kimə nə qədər ötürüb) NetFlow v9 və IPFIX ilə ixrac olunur. Aktiv yoxlamalar (LSP ping, BFD) əlçatanlığı özləri ölçür. Heç bir mənbə digərlərini əvəz etmir: sayğaclar xəttin yükləndiyini, axınlar bunun kim tərəfindən olduğunu, hadisələr isə nə vaxt başladığını göstərir.

SNMP: sorğu, trap və MIB

SNMP 161 UDP portunda sorğulara cavab verir, bildirişləri isə 162 UDP portuna göndərir. v2c versiyası yalnız community sətri ilə qorunur, v3 isə autentifikasiya və şifrələmə (USM) əlavə edir. Trap təsdiqsiz göndərilir, inform isə qəbuledici tərəfindən təsdiqlənir və itki zamanı təkrarlanır, ona görə kritik hadisələr üçün inform istifadə olunur. Sorğu adətən 1-5 dəqiqədən bir aparılır; bu, qrafiklərin həllini müəyyən edir, qısa yük sıçrayışları isə ortalamada itir. İnterfeys sayğacları üçün ifXTable-dan 64 bitlik ifHCInOctets/ifHCOutOctets lazımdır: 10 Gbit/s-də 32 bitlik oktet sayğacı təxminən 3,4 saniyəyə dolur, dəqiqəlik sorğuda nəticə yalan olacaq.

MPLS üçün standartlaşdırılmış MIB-lər var: MPLS-LSR-STD-MIB (RFC 3813, LFIB cədvəlləri), MPLS-LDP-STD-MIB (RFC 3815, sessiyalar və əlaqələr), MPLS-TE-STD-MIB (RFC 3812, tunellər), MPLS-L3VPN-STD-MIB (RFC 4382, VRF cədvəlləri və marşrut sayının aşılması barədə bildirişlər), BGP4-MIB (RFC 4273, bgpBackwardTransition), BFD-STD-MIB (RFC 7330, bfdSessUp/bfdSessDown) və IF-MIB (linkUp/linkDown). Realizasiya və əhatə istehsalçıdan asılıdır, bəzi metrikalar yalnız xüsusi MIB-lərdə mövcuddur. Yenidən yükləmədən sonra ifIndex dəyişə bilər, ona görə onun saxlanmasını aktivləşdirin (Cisco-da snmp-server ifindex persist).

Syslog

Syslog (RFC 5424) 0 (emergency)-dən 7 (debug)-a qədər səviyyəsi və facility ilə mətn hadisələrini ötürür; susmaya görə nəqliyyat UDP 514-dür, 6514-də TCP və ya TLS daha etibarlıdır. MPLS üçün qonşuluq mesajları vacibdir: Cisco-da %OSPF-5-ADJCHG, %LDP-5-NBRCHG, %BGP-5-ADJCHANGE. Təcrübə: vahid mənbə (loopback), müxtəlif qovşaqların hadisələrini vaxta görə tutuşdurmaq üçün NTP ilə vaxt sinxronizasiyası və BFD hadisələri ilə korrelyasiya.

NetFlow v9 və IPFIX: şablonlar və axın açarı

Axın (flow) eyni açara malik paketlər seriyasıdır (adətən mənbə və təyinat ünvanları, portlar, protokol, ToS, giriş interfeysi). Marşrutlaşdırıcı flow cache saxlayır və axın bitəndə (FIN/RST, inactive timeout, adətən 15 s) və ya active timeout-a çatanda (Cisco-da susmaya görə 30 dəq, praktikada 60 s qoyulur, əks halda axın uzun müddət görünmür) qeydləri kollektora ixrac edir. NetFlow v5 sabit formata malikdir və yalnız IPv4-ü əhatə edir, ona görə MPLS və IPv6 üçün yararsızdır. NetFlow v9 (RFC 3954) və IPFIX (RFC 7011) şablonlara əsaslanır: Template Set (v9-da ID 0, IPFIX-də ID 2) sahələri təsvir edir, ID-si 256 və yuxarı olan Data Set isə dəyərləri daşıyır. Sahələr IANA-nın informasiya elementləri reyestrindən götürülür: sourceIPv4Address (8), destinationIPv4Address (12), protocolIdentifier (4), ingressInterface (10), octetDeltaCount (1), packetDeltaCount (2). IPFIX UDP, TCP və ya SCTP üzərində işləyir, standart port 4739-dur (v9 üçün 2055 adət olub, rezerv edilməyib).

MPLS üçün IPFIX-də mplsTopLabelStackSection və növbəti elementlər (70-79: onadək etiket), mplsTopLabelType (46), mplsTopLabelIPv4Address (47) var; VRF-lər ingressVRFID (234) və egressVRFID (235) kimi ötürülür. P marşrutlaşdırıcıda klassik MPLS-aware NetFlow etiketləri ixrac edir (mövqelər ayrıca təyin olunur, Cisco-da ip flow-cache mpls label-positions), PE isə müştəri trafikini VRF daxilində IP kimi görür, ona görə flow monitor müştəri interfeyslərinə (ingress) qoyulur. Hər paketi ixrac etmək çox bahalıdır, ona görə 1:N seçmə (sampling) istifadə olunur: alınan bayt və paketlər N-ə vurulmalıdır, şablona isə samplingInterval opsiyası (34) əlavə olunur, əks halda kollektor həcmi azaldılmış hesab edər.

Axın telemetriyası: gRPC, YANG, gNMI

Telemetriya modeli: marşrutlaşdırıcı məlumatı sorğu ilə yox, abunə üzrə dərc edir. Məlumat YANG modelləri ilə (OpenConfig və ya xüsusi) təsvir olunur, nəqliyyat HTTP/2 üzərindən gRPC-dir və Protobuf (GPB key-value və ya compact) və ya JSON adətən TLS daxilində istifadə olunur. gNMI-də (RPC-lər Capabilities, Get, Set, Subscribe) abunə STREAM (rejimlər sample, on_change, target_defined), ONCE və ya POLL olur. Dial-in (kollektor cihaza qoşulur) ilə dial-out (cihaz bağlantını özü qurur; Cisco MDT və Huawei Telemetry belə işləyir) fərqlənir. Cisco IOS-XE-də update-policy periodic saniyənin yüzdə biri ilə verilir (1000 - 10 s), Junos Telemetry Interface-də reporting-rate isə saniyə ilədir. SNMP-yə nisbətən üstünlüklər: saniyə dövrülüyü, strukturlaşdırılmış məlumat, hadisələr üçün on_change və böyük cədvəllərdə CPU-ya az yük. Lakin "sıfır" yük olmur: sensorlar məlumatı idarəetmə müstəvisində hesablayır, kollektor isə həcmə tab gətirməlidir, ona görə yolları və tezliyi məhdudlaşdırın.