Nəzəri əsaslar və memarlıq
MPLS şəbəkələrində QoS təminatı DiffServ arxitekturasına (RFC 3270) əsaslanır. Müştərinin IP paketlərində 6-bitlik DSCP sahəsi olur (məsələn, Səs üçün EF, Kritik data üçün AF31, Adi internet üçün CS0). Lakin MPLS başlığında QoS üçün cəmi 3 bit — Traffic Class (TC/EXP) sahəsi ayrılmışdır və bu sahə yalnız 8 sinfi (0-7) dəstəkləyir. Ingress PE routerinin vəzifəsi 64 DSCP dəyərini 8 MPLS TC sinfinə çevirməkdir (Mapping). Nüvədəki tranzit P routerləri IP DSCP-yə baxmır: onlar növbələri və zolağı xarici etiketin 3-bitlik TC sahəsi əsasında idarə edir. İki üsul var: E-LSP (QoS sırf TC bitləri ilə təyin olunur) və L-LSP (QoS etiketin öz dəyəri ilə müəyyən edilir).
Üç başlıq, üç prioritet sahəsi
Eyni paket prioriteti üç müxtəlif yerdə daşıyır. IP başlığında bu DS sahəsidir (keçmiş ToS): RFC 2474-ə görə 6 bit DSCP və RFC 3168-ə görə 2 bit ECN. 802.1Q Ethernet başlığında bu 3 bit PCP-dir (və DEI biti). MPLS shim başlığında (RFC 3032) bu 3 bit TC-dir: 20 bit etiket, 3 bit TC, 1 bit S, 8 bit TTL. TC sahəsi RFC 5462 onu TC (Traffic Class) adlandırana qədər EXP adlanırdı: o çoxdan "eksperimental" olmaqdan çıxmışdı, adı isə ECN ilə qarışdırılırdı. Hər qovşaqdakı planlaşdırıcı yalnız həmin addımda təhlil edə bildiyi sahəyə baxır: ingress PE müştərinin DSCP-sinə, tranzit P yuxarı etiketin TC-sinə, egress PE isə TC-yə (Pipe) və ya DSCP-yə (Short-Pipe) baxır. Bütün MPLS QoS prioritetin kim tərəfindən, harada və hansı sahəyə yenidən yazılması barədə razılaşmadır.
DSCP və PHB: kod və davranış
DSCP yalnız rəqəm koddur, PHB (Per-Hop Behavior) isə qovşağın yönləndirmə zamanı davranışıdır: hansı növbə, hansı atılma ehtimalı. "Kod - PHB" uyğunluğu hər domendə lokal müəyyən edilir (RFC 2474), standartlar yalnız dəyərləri tövsiyə edir. Class Selector (CS0-CS7, xxx000 formatı) IP Precedence ilə geriyə uyğundur. EF (Expedited Forwarding, RFC 3246) 46 kodudur (101110): aşağı itki, gecikmə və jitter, aqreqatın çıxış sürəti konfiqurasiya olunmuş sürətdən az olmur; EF kənarda mütləq sürətə görə məhdudlaşdırılır, əks halda o, qalan hər şeyi sıxışdırır. AF (Assured Forwarding, RFC 2597) hər biri 3 Drop Precedence səviyyəsi olan 4 müstəqil sinifdir; kod 8*sinif + 2*drop kimi hesablanır: AF11=10, AF12=12, AF13=14, AF21=18 ... AF31=26, AF32=28, AF33=30, AF41=34, AF42=36, AF43=38. AF sinfi daxilində paketlərin sırası dəyişdirilmir, sıxlıq zamanı isə Drop Precedence-i yüksək olan paketlər ilk atılır. RFC 4594 12 xidmət sinfi tövsiyə edir: Network Control CS6, Telephony EF, Signaling CS5, Multimedia Conferencing AF41-43, Real-Time Interactive CS4, Multimedia Streaming AF31-33, Broadcast Video CS3, Low-Latency Data AF21-23, OAM CS2, High-Throughput Data AF11-13, Standard DF, Low-Priority Data CS1.
64 dəyərdən 8-ə: DSCP-nin TC-yə xəritələnməsi
TC-də cəmi 3 bit, yəni 8 dəyər var. Əksər platformalarda susmaya görə DSCP-nin 3 yuxarı biti (yəni IP Precedence) köçürülür: TC = DSCP >> 3. EF üçün: 101110 -> 101 = 5, AF41 (100010) üçün 4, AF31 üçün 3. Nəticə cədvəli:
| TC | Susmaya görə ona düşən DSCP-lər | Tipik PHB |
|---|---|---|
| 7 | CS7 (56) | Network Control, operator ehtiyatı |
| 6 | CS6 (48) | Operatorun routing/OAM trafiki: IGP, BGP, LDP, BFD |
| 5 | CS5 (40), VA (44), EF (46) | Telephony, strict priority |
| 4 | CS4 (32), AF41-AF43 (34-38) | Video, interaktiv |
| 3 | CS3 (24), AF31-AF33 (26-30) | Siqnalizasiya, kritik data |
| 2 | CS2 (16), AF21-AF23 (18-22) | Tranzaksiya datası, OAM |
| 1 | CS1 (8), AF11-AF13 (10-14) | Bulk, Scavenger |
| 0 | CS0/DF (0) | Best Effort |
Cədvəldə iki itki görünür. Birincisi: bir sətirdəki AFx1/x2/x3 Drop Precedence-i P marşrutlaşdırıcısı üçün fərqlənmir, buna görə TC 4 daxilində WRED AF43-ü AF41-dən əvvəl ata bilmir. Fərq vacibdirsə, operator 8 dəyəri başqa cür bölür: məsələn, iki Drop Precedence səviyyəsi olan 4 AF sinfi bütün 8 dəyəri tutur və EF ilə CS6 üçün yer qalmır, ona görə praktikada ya üçüncü drop səviyyəsindən, ya da bəzi siniflərdən imtina edilir. İkincisi: CS5 və EF eyni TC 5-ə düşür; müştəri bütün trafikini CS5 kimi işarələsə, prioritet növbəni tutacaq. Buradan qayda: ingress PE-də təsnifat "yuxarı üç bitə" görə yox, dəqiq DSCP/ACL-ə görə aparılır, uyğunluq cədvəli isə sənəddə təsbit edilir və bütün platformalarda eyni tətbiq olunur (vendorların susmaya görə dəyərləri fərqlidir).
E-LSP və L-LSP (RFC 3270)
RFC 3270 PHB-ni LSP üzərindən daşımağın iki üsulunu təsvir edir. E-LSP (EXP-Inferred-PSC LSP): PHB TC sahəsindən çıxarılır, bir LSP 8-ə qədər PHB daşıyır, TC-PHB uyğunluğu ya şəbəkə boyu eyni cür əvvəlcədən konfiqurasiya olunur, ya da LSP qurularkən siqnallaşdırılır (RSVP-TE: DIFFSERV obyekti; LDP: Diff-Serv TLV); E-LSP üçün siqnallaşma məcburi deyil. L-LSP (Label-Only-Inferred-PSC LSP): PSC-ni (Per-Hop Scheduling Class, məsələn, bütün üç Drop Precedence səviyyəsi ilə AF1) etiketin özü müəyyən edir, TC isə yalnız Drop Precedence daşıyır; PSC mütləq siqnallaşdırılır. L-LSP PHB sayı 8-dən çox olduqda və ya kanal səviyyəsi TC daşıya bilmədikdə lazımdır, lakin hər PSC üçün bir etiketə başa gəlir: EF, AF1-AF4, BE və CS6 ilə bu, hər FEC üçün bir əvəzinə 7 bağlama, yəni LFIB və RSVP vəziyyətinin 7 dəfə çox olması deməkdir. Ona görə real şəbəkələrdə (və kursun bütün platformalarında) E-LSP istifadə olunur.
TC harada qoyulur və P onunla nə edir
Ingress PE TC-ni push zamanı yazır: nəqliyyat etiketinə və VPN etiketinə (L3VPN-də ikisi olur; əksər platformalarda dəyər eynidir). Tranzit P swap zamanı daxil olan etiketin TC-sini çıxan etiketə köçürür, siyasət başqa şey demirsə; P profildən kənar trafik üçün TC-ni aşağı sala bilər (re-marking). Etiket götürüləndə nə baş verdiyi (PHP, Uniform/Pipe) növbəti dərsdə izah olunur; burada bir nəticə vacibdir: PHP ilə egress PE-yə son hop yalnız VPN etiketini (və ya VPN-siz IPv4-over-LDP üçün sadə IP-ni) daşıyır, ona görə penultimate P-nin çıxış növbəsi həm TC-yə, həm DSCP-yə görə təsnifat aparmalıdır.
Etibar sərhədi və control plane-in qorunması
Müştərinin DSCP-sinə siyasət olmadan etibar etmək olmaz: ingress PE ya DSCP-ni yalnız razılaşdırılmış çoxluqdan (SLA üzrə) qəbul edir, ya da ACL/port/VLAN üzrə təsnifat aparır, hər iki halda EF-i polisher ilə məhdudlaşdırır. Operatorun öz xidməti trafiki (IGP, LDP, BGP, BFD) CS6 ilə yaradılır və TC 6-ya düşməlidir: o, yüklənmiş linkdə Best Effort-a düşərsə, 50 ms intervalı və 3 vuruğu olan BFD 150 ms-dən sonra uğursuz olur, LDP sessiyası Hold Time-a görə düşür və LSP-lər məhz şəbəkə yüklənəndə yoxa çıxır. VPN-də müştərinin CS6/CS7-si kritik data ilə birlikdə TC 3-də daşınır: TC 6 və 7 operatora məxsusdur.