Sunteți pe pagina 1din 15

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

Laborator 6 QoS Calitatea Serviciilor Partea 1: Tehnologii Cisco QoS 1.1 Generaliti Termenul QoS, folosit extensiv n ultimii 10+ ani, are un sens foarte larg i se poate referi la orice modalitate prin care se poate asigura o mbuntire/prioritizare fa de serviciul standard oferit de Internet, i anume best effort. mplicit, termenul best effort poate fi considerat sinonim cu lipsa oricrui mecanism QoS. n continuare, ne vom concentra pe o parte din acele tehnologii/mecanisme QoS configurabile pe ruterele Cisco (deci QoS la nivelul 3), folosind protocolul IP. De notat c alte tehnologii, cum ar fi ATM, asigur, conform unora, abiliti QoS mai ridicate, sau chiar singurele abiliti QoS adevrate. O clasificare larg a mecanismelor QoS identific urmtoarele categorii: mecanisme i politici de control al cozilor i de control/evitare a congestiilor mecanisme de traffic policing i traffic shaping mecanisme de marcare/clasificare a traficului (ToS, Diffserv, NBAR) mecanisme de rezervare (RSVP) Figura 1 ilustreaz, pe modelul unui ruter, locul de aciune a diferitelor mecanisme QoS.

Fig. 1 Aciunea mecanismelor QoS ntr-un ruter Cisco; sursa: Cisco

1.2 Congestie; cozi Atunci cnd cererea de band depeste disponibilitatea apare fenomenul de congestie. De exemplu, exist mai multe fluxuri de intrare ntr-un nod, iar suma benzilor (maxime) ale acestor fluxuri depete banda disponibil pe interfaa de ieire. n acest caz, soluia este mpiedicarea (sau prevenirea) congestiei, dar atunci cnd acest lucru nu este posibil, implementarea unor 1

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

mecanisme de control al cozilor face ca mcar o parte din trafic (n funcie de prioriti) s poat folosi interfaa de ieire n condiii controlate. Dou mecanisme snt n general folosite ca referin n procesele de control al cozilor: 1. Leaky Bucket (gleata gurit). Se refer la o situaie similar cu a unei glei cu o gaur la partea inferioar i cu umplerea pe la partea superioar. Gaura de ieire face ca debitul de scurgere a apei s fie constant, n timp ce diametrul mult mai mare al gurii gleii permite acumularea cu debit variabil a apei n gleat. Atta vreme ct gleata nu se umple complet, este posibil s se succead perioade n care gleata s se umple cu vitez mult mai mare dect se poate goli, i perioade n care se umple ncet sau de loc. La ieire, aceste evenimente care au loc la intrare nu se vd gleata se golete cu rat constant. 2. Token Bucket (gleata cu jetoane). Se refer la o gleat care se umple i se golete pe aceeai parte (pe sus). Umplerea gleii se face ca mai nainte; n schimb, golirea gleii se face pe baza unor jetoane: o aplicaie care dorete s extrag o anumit cantitate de ap dintr-o gleat o poate face doar dac are un jeton. Jetoanele snt introduse n gleat de ctre controlorul de ieire, n spe de ctre reea, n funcie de diferite criterii. Aplicaiile nu pot scoate o cantitate mai mare de ap dect cantitatea de jetoane disponibile. Pe de alt parte, dac jetoanele se adun i nu snt folosite, peste o limit ele se pierd i nu mai pot fi utilizate acest proces se poate modela ca o gleat n care se scurg jetoane, i care atunci cnd d pe dinafar, jetoanele respective se pierd. Aceasta nseamn c, spre deosebire de leaky bucket, un mecanism de tip token bucket permite ca la ieire s se formeze burst-uri de trafic, adic momente n care viteza traficului de ieire este mai mare dect media, dar mrimea acestor burst-uri este controlat de numrul maxim de jetoane care se pot acumula. Tipuri de cozi FIFO (First In First Out) este cel mai simplu tip de coad; se bazeaz pe leaky bucket, nu se asigur nici o alt prioritate dect prioritatea primului venit. FQ (Fair Queueing) reprezint un mecanism n care traficul de intrare este mprit n fluxuri sau conversaii. mprirea se face automat, pe baza adresei S/D, portului i protocolului; Nici un flux nu poate monopoliza interfaa de ieire; fiecare flux va fi alocat unei cozi i cozile vor fi deservite pe rnd spre a avea acces la aceast interfa. Mai mult, dac anumite fluxuri de trafic au band ocupat mic, dar au constrngeri de ntrziere (de exemplu, traficul Telnet), pachetele relativ rare ale acestor fluxuri vor avea prioritate fa de pachetele acelor fluxuri de band mare i fr constrngeri de ntrziere (de exemplu FTP). Numrul de cozi este, tipic, mare (256). WFQ (Weighted Fair Queueing) este similar cu FQ, dar se ine seama i de prioritatea pachetului n funcie de un cmp special tipic, cmpul ToS (Type of Service) din header-ul IP. WFQ este varianta de FQ implicit pe ruterele Cisco. Pachetele cu prioritate mare primesc o pondere (weight) mai mare i au acces preferenial la ieire. Aceasta se face pstrnd ordinea prin care snt deservite cozile, dar extrgnd mai multe pachete dintr-o coad atunci cnd vine rndul cozii i pachetele au pondere mai mare. La FQ i WFQ traficul este mprit automat n conversaii separate, fr ca administratorul s poat interveni. Dac se dorete configurarea manual a unor clase pe baza unor ACL-uri, protocoale sau interfee, se folosete CBWFQ (Class-Based WFQ), care permite definirea a 64 de clase. O anumit clas poate primi un procent semnificativ mai mare din band dect alt clas; de exemplu, dac se dorete transferul unui flux video prin FQ/WFQ, n prezena multor altor fluxuri, datorit conceptului de fairness, banda alocat fluxului video poate scdea sub minimul necesar unei transmisii inteligibile; n cazul CBWFQ, se poate aloca un minim pentru traficul video, care s fie unfair pentru celelate forme de trafic, dar care va garanta o anumit calitate pentru acest trafic. 2

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

PQ (Priority Queueing) este un mecanism care i d administratorului un control foarte mare asupra traficului, prin punerea la dispoziie a 4 cozi n care s mpart tipurile de trafic dorite. Cele 4 cozi au prioriti n ordine descresctoare (high, medium, normal i low). PQ funcioneaz pe principiul c ntotdeauna pachetele dintr-o coad de prioritate mai mare va trece naintea traficului de prioritate mai mic, n mod integral (nu ponderat). Deci, dup ce un pachet iese prin interfaa de ieire, se examineaz pe rnd, n ordine, cozile, i urmtorul pachet este luat din coada de prioritatea cea mai mare. Aceasta nseamn c eventuala existen continu a traficul prioritar va bloca complet traficul de prioritate mai mic. Acesta este un avantaj dac exist cu adevrat trafic al crui prioritate justific blocarea altor tipuri de trafic (de exemplu, Telnet fa de FTP), dar prezint dezavantajul c, n cazul unei configurri incorecte (de exemplu, alocarea unei prioriti mari traficului FTP sau HTTP) se poate bloca complet, pe perioade lungi, interfaa de ieire. CQ (Custom Queuing) este o variant mai soft de PQ, care permite stabilirea unor ordini stricte a prioritii fr a bloca complet traficul mai puin prioritar. Se aloc maxim16 cozi; pentru fiecare coad se definete numrul de octei care vor fi extrai atunci cnd vine rndul cozii respective la ieire; cozile snt servite pe rnd (round-robin). Prin urmare, cozilor de prioritate mare li se vor configura un numr mai mare de octei dect celor de prioritate mai mic. Un amnunt specific CQ este c el nu fragmenteaz pachetele. Dac unei cozi i se aloc 1600 de octei i un pachet Ethernet are 1500 octei (MTU standard pe Ethernet), cnd vine rndul cozii respective se procedeaz astfel: se transmite primul pachet, se constat c mai rmn 16001500=100 de octei, deci se ncepe transmiterea urmtorului pachet, i nu se ntrerupe ceea ce ar nsemna fragmentarea pachetului; prin urmare, se vor transmite 1500+1500=3000 de octei, dei administratorul a configurat 1600 ! Trebuie inut seama de acest aspect la configurare. Cozi software i hardware Toate mecanismele precedente snt implementate n software-ul IOS i folosesc buffere de memorie pentru memorarea pachetelor n cozi. Astfel, mecanismul i mrimea cozii snt configurabile. Interfaa propriu-zis are, n plus, i o coad hardware de tip FIFO, de dimensiuni reduse. Mecanismul de queueing, atunci cnd decide ce pachet s fie scos din coad i trimis la ieire, de fapt scrie acest pachet n coada hardware. Acest lucru este util, n principal pentru a reduce numrul de ntreruperi pe care CPU-ul l primete de la interfee, dar i pentru a asigura o vitez ct mai constant de ieire. Eliminarea congestiei n toate cazurile precedente, coada (sau cozile) de prioritate mai mic pot ajunge s fie deservite prea rar i ca urmare, prin analogie cu modelul gleii (gurite sau cu jetoane), gleata se umple i d pe dinafar. n termeni de reea, la depirea spaiului de memorie alocat cozii, pachetele ulterioare vor fi eliminate (dropped). Acest lucru este detectat de ctre entitatea de protocol care emite pachetele respective; dac aceasta folosete un mecanism de control al fluxului (tipic, n cazul TCP, mecanismul sliding window), acest mecanism va determina scderea fluxului emis. 1.3 Traffic Policing i Traffic Shaping Suplimentar fa de mecanismele prezentate, se poate dori ca diferite tipuri de trafic s fie configurate astfel nct banda fiecruia atunci cnd prsete ruterul s fie diferit i/sau banda total s nu fie egal cu banda maxim disponibil la ieirea din ruter. Motivele pentru care putem dori acest comportament ar fi:

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

tim c interfaa de ieire va fi conectat la o interfa de vitez mai mic; de exemplu, avem o interfa Fast Ethernet de 100Mbps dar tim c ne vom conecta la un echipament Ethernet de 10Mbps. dorim s alocm anumite valori maxime de trafic din motive administrative, de exemplu traficul de tip bit torrent s nu ocupe toat banda, n detrimentul traficului http, ci doar o fraciune predeterminat din banda disponibil. Pentru a implementa aceste cerine se folosesc mecanisme numite traffic policing i shaping.

Traffic policing Se folosete un mecanism de tip token bucket pentru a limita n mod strict banda. Mecanismul Cisco CAR (Commited Acces Rate) se bazeaz pe acest principiu. Pachetele n exces de rata maxim snt fie eliminate, fie cmpul ToS (vezi mai jos, paragraful 1.4) le este rescris astfel nct s fie candidate la eliminare mai trziu. Traffic shaping Este o extensie fa de cazul precedent; se poate lua n considerare valoarea medie a benzii de ieire n locul celei maxime; astfel, este permis depirea valorii medii de ctre burst-uri, cu condiia ca acestea s fie de lungime i band maxim controlat, i s existe i perioade de trafic zero sau sub medie. Practic, se face policing pe valoarea medie a benzii, ceea ce este benefic pentru anumite tipuri de aplicaii care nu snt de band constant. Implementarea shaping se face pe baza unui buffer (ca n leaky bucket). Atunci cnd banda medie este depit, pachetele snt stocate n buffer. Dezavantajul este consumul de memorie pe ruter, precum i faptul c jitter-ul pachetelor devine variabil. Mecanismul Cisco corespunztor se numete GTS (Generic Traffic Shaping). Se folosesc liste de acces pentru clasificarea traficului i fiecare list primete un tratament difereniat. Singura opiune pentru pachetele care depesc rata maxim i nu pot fi stocate n coad este drop (nu i rescrierea ToS);

1.4 Clasificarea pachetelor ToS i DSCP nc din 1981, n header-ul pachetelor IP s-a definit cmpul de 8 bii numit ToS (Type of Service), care permite diferenierea pachetelor. Acest cmp a fost modificat de ctre RFC1394. Tipurile de pachete se mpart dup 2 criterii: criteriul Precedence (primii 3 bii), cu valori de la 000 (normal) pn la 111 (Network Control). n principiu, o valoare mai mare nseamn o prioritate mai mare i un tratament preferenial (mai puin susceptibile la eliminare n caz de congestie). citeriul Service Profile (urmtorii 4 bii), cu urmtoarele valori: 0000=normal, 0001=minimize monetary cost, 0010=maximize reliability, 0100=maximize throughput, 1000=minimize delay. n principiu, nu se pot pune 2 bii simultan pe 1; Cele 2 criterii s-au folosit, istoric vorbind, din diferite motive, foarte puin, dei exist de la nceputurile Internetului, ceea ce a fcut ca acesta din urm s fie considerat n general best effort; majoritatea ruterelor au tratat traficul ca fiind de tipurile 000 respectiv 0000. n 1998, grupul de lucru Diffserv (de la Differentiated Services, definite de RFC2474, RFC2475) a propus nlocuirea cmpului ToS cu un cmp n mare parte incompatibil, numit DSCP (Diffserv Code Point), cu diferena de principiu c acest cmp nu va fi standard i constant pe ntreaga durat de via a pachetului (ct timp acesta strbate Internetul), ci este interpretat (i poate fi modificat) n interiorul unui domeniu Diffserv. ntr-un astfel de domeniu, se definete conceptul de PHB (Per4

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

Hop Behaviour) care se refer la modul n care este tratat un pachet ntr-un nod (hop) n funcie de valoarea DSCP.

Fig. 4 Cmpurile ToS i DSCP; sursa: [7] Practic, ntr-un domeniu Diffserv se procedeaz astfel: se definesc un numr (redus) de clase de serviciu dorite; fiecrei clase i se aloc o valoare DSCP; se face clasificarea pachetelor n ruterele de frontier ale domeniului, n funcie de criteriile dorite, i li se aloc valoarea DSCP respectiv; ruterele din interiorul domeniului trateaz toate pachetele cu un anumit DSCP ntr-un anumit mod, adic un anumit PHB; aceasta poate nsemna o anumit prioritate ntr-o coad, o anumit band alocat prin shaping, etc. Structura DSCP presupune folosirea primilor 6 bii din octet; valoarea 000000 este rezervat pentru best effort. n afara acesteia, snt 5 clase relativ standardizate: clasa EF (Expedited Forwarding) este clasa de prioritate maxim; pachetele marcate EF ar trebui s beneficieze de un comportament similar unui circuit dedicat, adic delay ct mai mic i fr pierderi 4 clase AF (Assured Forwarding) notate AF1...AF4, cu AF4 avnd prioritatea cea mai mare. n cadrul fiecrei clase se definesc 3 sub-clase numite Gold, Silver i Bronze n total 12 categorii care difer prin parametrii cu care se configureaz mecanismele de queueing, policing i/sau shaping. Aadar trebuie reinut c Diffserv nu reprezint un set de valori standard, ci posibilitatea administratorilor dintr-un anumit domeniu (de exemplu, reeaua unui ISP) de a mpri traficul n clase DSCP dup criterii proprii (adres S/D, protocol, port, etc) i de a-i asigura un tratament difereniat n noduri (PHB). DSCP este suportat att pe IPv4 ct i IPv6. 1.5 Clasificarea automat a pachetelor - NBAR O variant alternativ clasificrii manuale este clasificarea automat, pe baza recunoaterii tipului pachetului prin examinarea sa de ctre ruter, numit NBAR (Network Based Application Recognition). NBAR este o funcie avansat, destinat doar pachetelor IP (nu i IPX, etc), care nu examineaz doar numrul de port, ci i o parte din coninutul pachetului n cazul pachetelor HTTP, se examineaz primii 400 de octei pentru a determina MIME-TYPE, adic tipul pachetelor multimedia cum ar fi .mp3, etc. Pe baza examinrii pachetului, se determin aplicaia i protocolul care l folosete, inclusiv (n cazul anumitor protocoale) situaiile n care numrul portului este 5

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

alocat dinamic. Fiecare versiune mai nou de IOS a adus recunoaterea unor aplicaii suplimentare cum ar fi SSH, Napster, eDonkey, Gnutella, Kazaa, Bit Torrent, Skype, etc. De notat c, dac o versiune IOS mai veche nu recunoate anumite protocoale mai noi, se poate folosi un fiier PLDM (Packet Description Language Module) care specific stringuri de text din interiorul pachetelor, ce snt asociate cu protocoalele. Fiierul se ncarc n flash-ul ruterului, fr a fi necesar schimbarea IOS-ului. NBAR nu poate funciona n cazul tunelelor sau a traficului criptat. n plus, folosirea NBAR poate consuma resurse semnificative de memorie i de procesor. 1.6 Suportul Cisco IOS pentru QoS n general, strategiile de queuing, policing i shaping snt disponibile pe majoritatea imaginilor IOS pentru ruterele Cisco, inclusiv pe cele de tip low-end cum ar fi 800, 1700, 1800, 2500, 2600 etc, deoarece se consider c aceste strategii trebuie implementate la periferia reelei, i nu n core unde se folosesc, tipic, rutere de tip high-end cum ar fi seriile 7000 etc, dar al cror rol este n principal s ruteze pachetele pe linkuri de mare vitez (backbone). Feature-set-ul numit generic IP BASIC suport o parte din strategii, cele considerate de baz. Un set complet, cuprinznd i cele mai avansate snt suportate n variantele IP PLUS. Featureset-ul specific unei imagini IOS se poate determina folosind [6]. Pe linkurile de vitez mai mic sau egal cu E1 (2.048Mbps) politica de queueing implicit este (ncepnd cu IOS 11.0) WFQ, n timp ce pe linkurile mai rapide este FIFO. Aceasta pentru c, dei mai ineficient, FIFO este mai rapid, i pe interfeele de vitez mare se presupune c se dorete (implicit) s se consume ct mai puin timp de procesare. NBAR i CAR snt suportate numai pe IOS care includ CEF Cisco Express Forwarding, un tip de forwarding rapid al pachetelor IP ntre interfee, implementat din punct de vedere istoric n versiuni mai noi de IOS dect cel clasic. Practic, se creaz o tabel de forwarding rapid numit FIB Forwarding Information Base pe baza tabelei de rutare, care nu mai este consultat la fiecare pachet. Folosirea CEF este activat prin comanda router(config)# ip cef care apare implicit n fiierul de configurare la IOS mai noi (i se poate da manual la IOS mai vechi care l suport). Pe seria 7000, CEF este activat implicit. De notat c ip cef este o comand care, spre deosebire de comenzile globale folosite pn acum (gen ip classless, ip subnet-zero, ip routing etc.) modific modul intern de funcionare al ruterului, nu activeaz/configureaz un serviciu. Pe seriile 2600, 3600, 7100, 7200 NBAR este disponibil de la IOS 12.1(5)T i pe 1700 de la 12.2(2)T. n general T semnific Technology Release i marcheaz apariia unei funcionaliti noi.

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

Partea 2. Desfurare; exerciii Faza 1. Generarea traficului de test ntre PC-uri Se realizeaz urmtoarea topologie:

Fig. 5 Topologia folosit Q1. Desenai topologia corespunztoare echipei, notnd numele ruterelor, interfeelor i PC-urilor folosite. Pe rutere: - seriala DCE va fi configurat cu clock rate 500000 (nu alt valoare!) ; Atenie ! n funcie de tipul ruterului folosit, este posibil s primii o eroare de tipul unsupported clock rate sau clock rate exceeds .... ; n acest caz, configurai cellalt capt ca DCE (schimbnd corespunztor cablul), cci o interfa care nu accept s genereze aceast valoare, o va accepta dac este generat de cellalt capt. - se configureaz RIP v2 pentru a avea comunicaie capt-la-capt. - pe R1 se pornete ip cef Dac nu e deja, pe fiecare dintre cele 2 PC-uri trebuie configurat cte o rut static ctre net-ul celuilalt, de exemplu: PC1# ifconfig eth1 10.1.1.2 netmask 255.255.255.0 PC1# route add net 192.168.1.0/24 gw 10.1.1.1 Rutele pe PC se vd cu comanda: PC1$ route -n Se verific abilitatea de a da ping de pe un PC pe cellalt (trebuie s funcioneze). Verificai de pe R2 posibilitatea de a da ping pe PC1. Q2. De ce nu funcioneaz, dei funcioneaz ping ntre PC-uri ? ce trebuie fcut pentru ca s funcioneze (fr a aduga rute suplimentare) ? Pe PC-uri, traficul de test se poate genera/msura folosind utilitarul iperf. Acesta se apeleaz n modul client pentru generarea traficului, care se conecteaz la un server unde tot iperf 7

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

recepioneaz traficul i afieaz rezultatele (vitez, jitter, pachete pierdute). Cteva comenzi (n linia de comand Linux): PC1$ iperf c 192.168.1.2 l 100 b 100k p 1234 t 10 Trimite (n mod client, ctre serverul 192.168.1.1) pachete de lungime 100 bii, cu rata de 100kbii/s, UDP, portul 1234, timp de funcionare 10s; Specificarea b nseamn automat UDP. PC2$ iperf s u p 1234 i 0.5

Recepioneaz n mod server, UDP, portul 1234, interval de afisare 0.5 secunde

Faza 2. Strategii de queueing 1. Se examineaz cele 2 interfee active de pe R1 i R2 folosind show interface nume Q3. Ce tip de queueing strategy este folosit pe fiecare interfa? corespunde aceasta cu regula prezentat n 1.7, privind legtura dintre band i strategia implicit? Se verific banda afiat cu comanda show de mai sus, pe R1/S0. Se observ c nu este egal cu clock rate-ul setat. La ruterele Cisco, banda afiat (si setat) cu comanda bandwidth este doar o convenie, nu este automat egal cu viteza de la nivelul 2; este responsabilitatea userului s o seteze cu comanda bandwidth, pentru ca protocoalele de rutare i alte funcii care folosesc banda, s foloseasc valoarea corect (vezi OSPF). ntruct viteza liniei a fost setat la 500kbps, se seteaz pe ambele rutere: R1(config)# int S0 R1(config-if)# bandwidth 500 2. Se configureaz pe seriala R1 strategia FIFO folosind: R1(config)# interface S0 R1(config-if)# no fair-queue Se testeaz capacitatea liniei; se pornesc 2 conversaii simultane ntre PC-uri (lansai attea terminale ct este nevoie) - pornii ping de pe PC2 pe PC1 - folosind iperf, generai trafic de pe PC1 pe PC2: banda 100kbps, lungime 100b, timp de lucru 10s; portul poate fi lsat default (se va alege automat 5001); pe PC1 lansai un client i pe PC2 un server, folosind comenzile ilustrate n introducere. Q4. Ct este banda raportat de server (PC2), precum i packet loss ? Mai merge pingul n cellalt terminal ? Se repet testul iperf, incrementnd succesiv banda la emisie, la valorile: 300kbps, 500kbps, 1Mbps (prescurtri folosite: k=kbps, M=Mbps).

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

Q5. Ct este banda raportat de server (PC2), precum i packet loss ? Mai merge pingul n cellalt terminal ? calculai banda obinut ca procentaj din viteza liniei. Observai c banda pe care o putei obine practic este mai mic dect viteza liniei. La ruterele Cisco, se consider c banda disponibil (i care poate fi rezervat, cnd facei calcule de QoS) este de max. 75% din viteza liniei, restul fiind folosit de traficul overhead de nivel 2, traficul de control, i altele. Q6. Examinai seriala pe R1 cu comanda show. Observai vreun drop ? Se crete bufferul alocat cozii FIFO de ieire, pentru a vedea efectul acestuia: R1(config-if)# hold-queue 4096 out Se terg statisticile pe interfee cu comanda: R1# clear counters Se pornete din nou traficul iperf de pe PC1 pe PC2 cu o band de 1Mbps, pentru 15 secunde. Ce observai ? Q7. Cum este procentajul de pachete pierdute la nceputul, respectiv la sfrsitul intervalului de 15s ? Argumentai, innd seama de comanda care tocmai a fost dat pe ruter. Se verific nr. de pachete pierdute pe interfa: R1# sh int S0 summary Concluzia este c, n prezena congestiei, introducerea unei cozi de tip FIFO nu are efect pe termen lung. Mecanismele de queueing nu pot compensa dect n mic msur situaiile n care banda cerut este semnificativ mai mare dect banda disponibil. 3. Se configureaz strategia WFQ Comanda este: R1(config)# interface S0 R1(config-if)# fair-queue [A [B C]] Unde A, B, C snt (momentan nu se introduc, astfel c se vor folosi valorile default): A = congestive discard treshold (putere a lui 2, 16-4096) = pragul unde ncepe eliminarea preventiv a pachetelor dintr-un flux n caz de congestie. WFQ ncepe eliminarea pachetelor din fluxul cel mai agresiv. B = numrul de cozi dinamice pentru conversaii (16-4096, implicit 256); trebuie s fie o putere a lui 2 C = numrul de cozi rezervabile prin RSVP (0-100) Se verific parametrii setai cu show interface (ei snt listai imediat dup ce este precizat queueing strategy) i cu comanda show queueing fair

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

Cu ping-ul pornit n continuare, se genereaz din nou trafic iperf de pe R1 pe R2, cu banda de 1Mbps. Q8. Ct este banda obinut la recepie n iperf ? difer fa de cazul FIFO ? Ce se ntmpl cu pachetele ICMP ping (observai dac snt pierderi sau nu urmrind nr. de secven)? Explicai diferena de comportament i implicit avantajul WFQ. Q9. Ct este numrul de fluxuri (conversaii) indicat pe R1 cu sh queue s0 ? Observaie: WFQ funcioneaz n mod automat i mparte singur traficul n fluxuri (conversaii). WFQ aloc o coad (din cele maxim 4096, parametrul B) atunci cnd primete un pachet pe care nul poate clasifica ntr-o conversaie n derulare, adic pentru care nu exist o coad. Odat ce ultimul pachet dintr-o conversaie este trimis i coada se golete, conversaia respectiv este eliminat din lista de conversaii. O nou serie de pachete trimise mai trziu cu aceiai parametri vor forma o coad, si implicit o conversaie, separat. Pentru a genera mai multe conversaii simultane, se pornesc (n terminale separate, alturi de ping care se las pornit) 2 iperf-uri: 2 clieni pe PC1 i 2 servere pe PC2, cu parametrii similari cu cei precedeni, cu diferena: - un flux de 1Mbps pe portul 2000 - un flux de 1Mbps pe portul 3000 Q10. Ct este banda raportat de iperf la recepie ? Q11. Ct este numrul de conversaii indicat pe R1? vizualizai parametrii fiecreia (nr. protocolului i portul) folosind comanda sh queue s0 n timp ce traficul e n desfurare. Q12. Pe baza observaiei de mai sus, explicai de ce traficul ICMP (1 pachet ping pe secund) apare/nu apare ca o conversaie separat n list. 4. Se configureaz strategia PQ Priority Qeueing folosete un set de 4 cozi cu prioriti diferite; reamintim c se preia un singur pachet dintr-o coad la un moment dat. Congestia ntr-o coad de prioritate N nseamn automat congestia n toate cozile de prioritate < N. Configurarea se face astfel: se mpart tipurile de pachete dorite n 4 cozi, cu numele high, medium, normal, low, pe diverse criterii: protocol, interfa, port, mrimea pachetului sau ACL se asigneaz un tip de pachete o coad, folosind cuvntul-cheie priority-list. Ca i la definirea unui ACL, un priority-list poate avea mai multe definiii. n fiecare definiie, cuvintele-cheie high, medium, normal, low specific crei cozi i se aplic definiia. Comanda este: priority-list numr protocol nume high|medium|normal|low criteriu valoare Criteriul criteriu i valoarea poate fi unul din urmtoarele: - fragment - gt/lt dimensiune (greater than/less than) 10

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

- list numr_acl - tcp/udp numr_port Mai exist i variantele: priority-list numr interface nume high|medium|normal|low (clasific n funcie de interfaa pe care vine pachetul) priority-list numr default high|medium|normal|low (definete valoarea implicit a pachetelor care nu snt clasificate altfel) se seteaz dimensiunea celor 4 cozi (dac nu convine valoarea implicit) folosind prioritylist numr queue-limit A B C D. Valorile implicite snt 20,40,60,80 pachete (n ordine de la high la low) se aplic listele de prioriti pe interfee, folosind cuvntul-cheie priority-group numr, folosind acelai numr de list care a fost folosit n priority-list (similar cu comenzile cunoscute access-list i access-group) Se configureaz 4 liste, toate n grupul 1. Prima list plaseaz pachetele ping n coada de prioritate high. Diferenierea se face printr-un ACL. Q13. Scriei i configurai ACL-ul cu numrul 101 pentru selectarea pachetelor ping Urmtoarele 2 liste configureaz n cozile medium/normal traficul UDP pe porturile 2000/3000. Ultima configureaz tot restul ca prioritate low. R1(config)# R1(config)# R1(config)# R1(config)# priority-list priority-list priority-list priority-list 1 1 1 1 protocol ip high list 101 protocol ip medium UDP 2000 protocol ip normal UDP 3000 default low

R1(config)# int s0 R1(config-if)# priority-group 1 Se testeaz genernd trafic ca pn acum (ping R2->R1, 2 iperf R1->R2 pe UDP/2000 i 3000, ambii iperf cu banda de 300k, timp de lucru 10s) Se urmresc rezultatele pe PC2, precum i pe R1 folosind: show int S0 show queueing priority show queue S0 Q14. Ct este banda i packet loss obinute pentru cele 2 porturi UDP? Explicai ! Q15. Exist pierderi pentru pachetele ping ? Pentru a vedea n timp real ce se ntmpl, dai comanda: R1# debug priority

11

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

i repornii cele 2 iperf pentru 2-3 secunde. Observai c activitatea intens de debug ncarc procesorul lui R1 i afecteaz timpul RTT la ping. Oprii debugging-ul cu undebug all. 4. Reamintim c, n afara cozilor software, interfaa are o mic coad hardware de tip FIFO. Pentru seriale/ethernet, aceasta poate fi vizualizat cu comanda show controllers serial numr, respectiv show controllers fastethernet numr, urmrind n rezultat variabila tx_limited (cifra din parantez) sau tx_ring_limit sau tx_ring. Q16. Ct este mrimea cozii hardware pe interfeele serial/ FastEthernet ale R1? explicai mrimile diferite. Faza 3. Configurarea CAR i GTS CAR i GTS snt mecanismele Cisco pentru traffic policing i traffic shaping; diferena dintre ele este c shaping-ul poate lucra cu valori medii, ceea ce nseamn c folosete buffere pentru a acumula pachetele care vin n burst-uri i le trimite la ieire cu o rat constant. n acest fel, atta vreme ct rata medie nu este depit, este posibil acceptarea unor rate de vrf mari. Prin contrast, policing nu asigur buffering pentru a permite depirea unei rate maxime, dar poate accepta, n anumite limite, depirea acestei rate de ctre bursturi (policing fr nici un fel de depire se numete true policing). 1. Configurarea CAR. Sintaxa CAR este versatil, suportnd un mare numr de opiuni: Router(config-if)# rate-limit {input | output} [access-group [rate-limit] numr_acl | qos-group dscp] mean-rate Bc Be conform-action { drop | transmit | continue | set-prec-transmit value | set-prec-continue value | set-qos-transmit value | set-qos-continue value set-dscp-transmit value | set-dscp-continue value} exceed-action { drop | transmit | continue | set-prec-transmit value | set-prec-continue value | set-qos-transmit value | set-qos-continue value set-dscp-transmit value | set-dscp-continue value}

numr

dscp

Comanda se poate aplica la intrarea sau la ieirea dintr-o interfa i are 4 pri: partea de clasificare; se poate face dup un acces list, un grup QoS (setat de alt comand ratelimit), o valoare DSCP valoarea de comparat; n cazul true policing se definete o singur valoare; n cazul n care se accept depiri, Bc este valoarea burstului normal, adic numrul de jetoane care se adaug periodic n mecanismul token-bucket i Be este burstul n exces, adic burstul iniial permis cnd bucket-ul este plin cu numrul maxim de jetoane aciunea n cazul n care rata corespunde ratei maxime: drop, transmit, continue (evalueaz urmtoarea comand rate-limit) sau seteaz o valoare (prec adic preceden ToS, dscp adic valoare DSCP, qos pentru un grup QoS); setarea valorii se poate face urmat de transmiterea pachetului (variantele cu transmit la coad) sau cu evaluarea urmtoarei comenzi rate-limit (variantele cu continue la coad); similar, aciunea n cazul n care rata nu corespunde. Verificarea funcionrii se face cu comanda show interface interfaa rate-limit 12

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

Se configureaz R1 pentru a face policing asupra traficului UDP/2000 dinspre R1 spre R2 la valoarea de 200kbps, respectiv 100kbps pentru 3000, cu posibilitile urmtoare de depire: Bc=4000 octei i Be=96000 octei (de notat c rata este n bps i urmtorii 2 parametri snt n octei) Se definesc listele 110, 120 care permit traficul UDP pe porturile, respectiv, 2000 i 3000 Q17. Scriei aceste ACL. Se aplic comanda pe interfaa S0: R1(config)# int S0 R1(config-if)# rate-limit output access-group 96000 conform-action transmit exceed-action drop i similar pentru lista 120, banda 100000 Q18. Ce observai cu comanda sh int S0 rate-limit ? Testai folosind iperf cu pachete de lungime 1000. Q19. Ce band (n medie) ai obinut la recepie pentru cele 2 porturi ? traficul ping a fost afectat ? 2. Configurarea GTS; la nivel global, se face folosind comanda: Router(config-if)# traffic-shape rate rata [Bc [Be]] iar la nivel de flux de trafic, identificat printr-un ACL, se face folosind comanda: Router(config-if)# traffic-shape group numr_ACL rata [Bc [Be]] Observaii: 1) pe aceeai interfa nu se pot combina cele 2 comenzi 2) n cazul folosirii access-grupurilor, traficul care nu corespunde nici unui ACL nu este shaped Se elimin cu no comenzile rate-limit de pe interfaa S0; Se configureaz R0 pentru a face shaping asupra traficului de tip web ctre R2; acesta nu va depi 64kbps; restul traficului nu va fi afectat: R1(config)# int S1 R1(config-if)# traffic-shape group 130 64000 Q20. Scriei i configurai ACL 130 care trebuie folosit n conjuncie cu aceast comand. Pentru vizualizare se folosesc comenzile: show traffic-shape show traffic-shape statistic show traffic-shape queue 13 4000

110

200000

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

(testarea este opional) Se elimin cu no comenzile traffic-shape de pe interfaa S0. Faza 4. Configurarea NBAR 1. Vizualizarea asocierilor cunoscute protocol-port se face cu comanda: show ip nbar port-map Q21. Pe ce protocoale/porturi funcioneaz urmtoarele: netbios, dns, ssh, tftp, pop3, rip, bgp ? Pentru a configura NBAR pe o interfa mai nti se activeaz funcia de protocol discovery. R1(config)# int s0 R1(config-if)# ip nbar protocol-discovery Vizualizarea protocoalelor descoperite se face cu comanda show ip nbar protocol-discovery Q22. Executai aciuni la alegerea voastr pe PC-uri, pentru a face s apar pachete n lista NBAR (mai mult de 0 pachete) pe R1 la cel puin 3 protocoale cunoscute, i documentai alegerile fcute. 2. Folosim NBAR ca s clasifice pachetele, i configurm clase de QoS pentru pachetele clasificate. Vom defini 3 clase, de prioritate mare, mic i default folosind comanda class-map; apoi vom asocia ce procentaj din banda disponibil s fie alocat fiecrei clase, folosind comanda policymap. Protocoalele configurate vor fi dintre cele recunoscute de NBAR (se poate da ? n locul numelui protocolului pentru a vedea opiunile): R1(config)# class-map match-any mare R1(config-cmap)# match protocol rip R1(config-cmap)# match protocol icmp R1(config-cmap)# class-map match-any mica R1(config-cmap)# match protocol http Se vizualizeaz apariia clasei class-default: R1# show class-map Se aloc procentaje din band celor 3 clase: R1(config)# policy-map laborator R1(config-pmap)# class mare R1(config-pmap-c)# bandwidth percent 50 R1(config-pmap)# class mica R1(config-pmap-c)# bandwidth percent 20 14

Facultatea de Electronic i Telecomunicaii Laborator Reele i Servicii

Laborator 6 rev. 1.2

R1(config-pmap)# class class-default R1(config-pmap-c)# bandwidth percent 5 Se vizualizeaz rezultatul: R1# show policy-map Se aplic politica pe interfaa S0, sensul de ieire: R1(config-if)# service-policy out laborator Q23. Ce benzi snt afiate cu comanda show policy-map int s0 ? Q24. Propunei o metod de testare a politicilor definite.

Bibliografie [1] Administering Cisco QoS in IP Networks, Syngress, 2001 [2] Introduction to IP QoS, Cisco Systems, 2001 [3] RFC791, Internet Protocol [4] RFC2474, Definition of the Differentiated Services Field [5] RFC2475, An architecture for Differentiated Services [6] Cisco Feature Navigator, http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp [7] CCNP4, v5.0

15

S-ar putea să vă placă și