Nəzəri əsaslar və memarlıq
Laboratoriya: girişdən nüvəyə qədər operatorun tam QoS zənciri. Üç pilləli sxem qurulur. 1. Giriş PE: müştəri policing-i, dörd sinfə (səs EF, kritik data AF31, video AF41, best effort CS0) təsnifat və TC-yə uyğunlaşdırma. 2. Nüvə (PE1 və P1 hər çıxış interfeysində): səs üçün prioritet növbə ilə Low Latency Queuing (TC 5), video və data üçün CBWFQ (TC 4 və 3) və best effort üçün WRED; üstündə valideyn shaper. 3. Çıxış PE: Short-Pipe, müştəriyə növbə ilkin DSCP-yə görə seçilir. Əlavə olaraq səsə DS-TE Class-Type CT1 ayrılır ki, səs həcmi artıq siqnalizasiya mərhələsində məhdudlaşsın. Nəticə ölçmə ilə yoxlanılır: sinif sayğacları, sintetik tıxac altında (Iperf və ya TRex) səs sinfinin itkisi və citteri SLA hədəfləri ilə müqayisə edilir; sıfır itki və konkret citter fərz edilməməli, təsdiqlənməlidir.
Laboratoriya dəqiq nəyi qurur
Məqsəd əmrlər toplusu deyil, sübut oluna bilən başdan-başa zəncirdir: CE-də müştəri DSCP-si, ingress PE1-də TC, hər tranzit interfeysdə (PE1, P1) TC üzrə növbə və egress PE2-də Short-Pipe. Bunun üzərinə DS-TE əlavə olunur: səs öz Class-Type CT1-ni və rezerv edilmiş zolaqlı tunel alır ki, nüvədə səsin həcmi yalnız növbədə deyil, siqnallaşma mərhələsində də məhdudlaşdırılsın. Nəticə konfiqurasiya ilə yox, ölçmə ilə yoxlanılır: sinif sayğacları, itki və sıxlıq zamanı jitter.
| Qovşaq | Təsnifat | İşarələmə | Növbə/məhdudiyyət |
|---|---|---|---|
| PE1 ingress (CE-A-dan) | Müştəri DSCP-sinə görə | EF -> TC 5, AF41 -> TC 4, AF31 -> TC 3, qalanı -> TC 0 | EF policer-i 10 Mbit/s |
| PE1 egress (nüvəyə) | Yuxarı etiketin TC-sinə görə | Dəyişmir | LLQ 10% + CBWFQ 20/30% + WRED, parent shaper 100 Mbit/s |
| P1 | TC-yə görə | Dəyişmir | PE2-yə çıxışda eyni siniflər və shaper |
| PE2 egress (CE-yə) | Müştəri DSCP-sinə görə (Short-Pipe) | Dəyişmir | DSCP EF üzrə prioritet |
Bir səs sinfi üçün tutum planı
İki MPLS etiketi olan bir G.711 zəngi Ethernet-də təxminən 98 kbit/s tutur (hesablama 1-ci dərsdədir). 10 Mbit/s prioritet sinfə təxminən 100 zəng sığır; 20% ehtiyat (link overhead ilə zəngə 120 kbit/s-ə qədər) zəngləri 83-ə endirir. Prioritet sinfin növbəsi kiçik edilir: 10 Mbit/s-də 10 ms 12 500 bayt, yəni 1500 baytlıq 8 paketdir; daha dərin növbə sıxlığı jitterə çevirir. Data sinfi bandwidth percent 30 və WRED alır; Best Effort qalığı və ən aqressiv WRED əyrisini alır. Zəmanətlərin cəmi (10 + 20 + 30) default üçün 40% qoyur: parent zolağının 100%-dən çoxunu zəmanət etmək olmaz.
DS-TE: Class-Type nə üçün lazımdır
Adi RSVP-TE interfeys başına bir zolaq pulu saxlayır: 10 Mbit/s səsli tunel və 100 Mbit/s bulk-lu tunel ümumi pulda rəqabət aparır və konkret linkdə məhz səs üçün yer qalmasına heç nə zəmanət vermir. DS-TE (RFC 3564, protokol RFC 4124-də) Class-Type (CT0-CT7) təqdim edir: siniflər üzrə rezervasiyanın müstəqil uçotu. Tunel CLASSTYPE obyekti ilə siqnallaşdırılır; head-end yolu (CSPF) məhz bu CT-nin zolağına görə hesablayır, IGP (OSPF-TE/IS-IS-TE) isə mövcud zolağı hər TE-class üzrə yayır. TE-class (Class-Type, preemption priority) cütüdür; domendə onların sayı səkkizdən çox deyil. CT0 adi trafik və DS-TE-siz qovşaqlarla uyğunluqdur; səs adətən CT1-dir.
Zolaq məhdudiyyəti modelləri: MAM və RDM
Bandwidth Constraints (BC) hər CT üçün nə qədər zolağın mövcud olduğunu müəyyən edir. MAM-da (Maximum Allocation Model, RFC 4125) hər CT öz BC-si ilə müstəqil məhdudlaşdırılır: CTi <= BCi, BC-lərin cəmi maksimal rezerv oluna bilən zolağı aşmır. MAM sinifləri preemption olmadan izolyasiya edir, lakin CT1-in istifadə olunmayan zolağı CT0 üçün əlçatmaz qalır. RDM-də (Russian Dolls Model, RFC 4127) məhdudiyyətlər iç-içədir: CT1 <= BC1, CT0 + CT1 <= BC0, burada BC0 maksimal rezerv oluna bilən zolağa bərabərdir. CT1-in istifadə olunmayan zolağı CT0 üçün əlçatandır, lakin iç-içə siniflərin qorunması üçün RDM preemption prioritetləri ilə işləmək üçün nəzərdə tutulub. RFC 4128 modelləri müqayisə edir. Rezervasiya maksimumu 90 olan 100 Mbit/s link üçün misal: MAM - BC0 = 80, BC1 = 10; RDM - BC0 = 90, BC1 = 10 (CT1 istifadə olunmursa, CT0 90 tuta bilər; CT1 10 istifadə edirsə, CT0 80 alır).
CT1, EF və LLQ əlaqəsi
DS-TE control plane-də uçotdur: 10 Mbit/s rezervasiya data plane-də heç nəyi məhdudlaşdırmır. Ona görə üç dəyər üst-üstə düşməlidir: interfeysdəki BC1 (10 Mbit/s), prioritet növbənin sürəti (LLQ 10%) və SBC-nin icazə verdiyi zəng sayı (CAC). BC1 LLQ-dan böyükdürsə, DS-TE növbənin xidmət edə biləcəyindən çox səsə icazə verəcək: sıxlıqda növbənin policer-i artıq zəngləri qurulma mərhələsində rədd etmək əvəzinə, sinifdəki bütün zəngləri birdən kəsəcək. Head-end tunelə gedən trafikə TC 5 qoymalıdır: Cisco-da bu ingress PE1-dəki işarələmə siyasətidir, Junos-da isə LSP parametrlərindəki class-of-service 5-dir (LSP-nin bütün paketləri üçün EXP). Tunelə yalnız səs yönəldilməlidir: səs şlüzlərinin subnetinə statik marşrut və ya ingress-də siyasət; əks halda PE2-yə gedən bütün trafik 10 Mbit/s-lik tunelə düşər.
Yoxlama metodikası
Trafik generatoru lazımdır: iperf3 və ya TRex. Səs: DSCP 46 ilə təxminən 8 Mbit/s UDP (iperf3 -u -b 8M -S 0xb8), video: DSCP 34 ilə 30 Mbit/s UDP (-S 0x88), data: DSCP 26 ilə 50 Mbit/s TCP/UDP (-S 0x68), bulk: DSCP 0 ilə 60 Mbit/s. Cəmi 100 Mbit/s shaper üzərinə təxminən 150 Mbit/s. Ardıcıllıq: 1) yüksüz - siyasət sayğacları ilə TC-nin qoyulduğundan əmin olmaq (L-VOICE sinfi paketləri sayır); 2) shaper-dən yuxarı yük - səs itkisiz keçməli, digər siniflər isə ən azı zəmanətlərini almalıdır; 3) PE1 çıxışında sinif siyasətini söndürüb təkrarlamaq: səs itkisi yaranacaq, bu da trafiki məhz növbənin qoruduğunu sübut edir; 4) link nasazlığı - CT1 tuneli yenidən siqnallaşdırılır və ya yol tapmır. Jitter üçün UDP paketləri arasında qəbul intervallarının yayılması ölçülür (iperf3 Jitter bildirir) və capture-də DSCP/TC-yə baxılır.
Gözlənilən rəqəmlər
8 (səs) + 30 (video) + 50 (data) + 60 (bulk) = 148 Mbit/s yük 100 Mbit/s üzərinə düşəndə: səs öz 8 Mbit/s-ini itkisiz alır, qalan 92 Mbit/s elə bölünür ki, video ən azı 20, data ən azı 30, bulk ən azı 40 alır (istifadə olunmayan səs zolağına görə 2 Mbit/s-ə qədər düzəlişlə); itki bulk-da cəmlənir. Siyasət söndürüləndən sonra itki yükə mütənasib olaraq bütün siniflər arasında, o cümlədən səsdə paylanır (100-ün üzərinə 148-də təxminən 32%).
Tipik nasazlıqlar
LLQ fiziki portun faizi ilə verilib, parent shaper isə sürəti artıq məhdudlaşdırıb: 100 Mbit/s-in 10%-i əvəzinə 1 Gbit/s-in 10%-i (100 Mbit/s) və səs qalan hər şeyi sıxışdırır. P1-dəki siniflər match dscp ilə təyin edilib, paketlər isə artıq etiketlidir: tranzitdəki növbələr işə düşmür. BC1 LLQ-dan böyükdür: CAC növbəyə sığandan çox zəngə icazə verir. CT1 tuneli düşdü və statik marşrut yoxa çıxdı: səs zəmanətsiz IGP yolu ilə getdi. WRED prioritet sinifdə aktivdir. Short-Pipe egress PE2-də DSCP siyasəti yoxdur: son linkdə səs Best Effort-a düşür. DS-TE rezervasiyası mükəmməl hesab olunur, halbuki faktiki səs 10 Mbit/s-i aşır (zənglərin sayı CT1 dəyişmədən artıb).
Memarlıq sxemi və topologiya
+-------------+ Multi-Service Queue Scheduling (PE Interface) +-------------+
| PE-1 | ==========================================================> | P-1 |
| Service | [LLQ Strict Priority: Voice 10% (EXP 5)] | Linecard |
| Policy In | [CBWFQ Guaranteed: Video 20% (EXP 4) + Data 30% (EXP 3)] | WRED Active |
| Policy Out | [Default Fair-Queue: Best Effort 40% (EXP 0) with WRED] | Core Queue |
+-------------+ +-------------+Trafik axını və etiket steki sxemi
Hardware Linecard Queuing Pipeline:
1. Packet arrives with MPLS TC=5 ---> Directed to Strict Priority LLQ (Serviced first, low latency).
2. Packets with TC=3..4 ---> Serviced via Deficit Weighted Round Robin (DWRR) proportional to allocated bandwidth.
3. Best-Effort (TC=0) ---> Enters default queue governed by Weighted Random Early Detection (WRED).
4. If interface saturates, WRED preemptively drops TCP Best-Effort to prevent global synchronization.