Sunteți pe pagina 1din 53

Capitolul 3 Managementul resurselor logice ale unei reele de calculatoare

3.1. Componentele logice ale reelei Componentele logice (software) ale reelei care permit calculatoarelor i perifericelor s comunice sunt: sistemul de operare, aplicaiile, aplicaiile pentru comunicaie i protocoalele. Aceste componente conecteaz n mod logic reeaua. Componentele logice corespund nivelelor de deasupra nivelului fizic din stratificarea reelelor. Toate aceste resurse logice influeneaz funcionarea reelei. Fiecare dintre aceste resurse logice vor fi analizate n subcapitolele urmtoare referitor la administrare i performane. Sistemul de operare include sistemul de operare de pe calculator i sistemul de operare pentru reea, care de obicei se instaleaz pe server. Categoria de aplicaii oarecare nu face obiectul prezentei lucrri. Aplicaiile pentru comunicaie sunt prezentate separat fiind direct legate de reelele de calculatoare. Protocoalele sunt i ele tratate separat. Pentru a nelege relaia optim ntre hardware i software, acest lucru implic analiza performanelor direct asupra tuturor elementelor platformei: procesele din calculator, procesorul, memoria, interfaa de I/O i rutarea. 3.2. Sistemul de operare Dac privim reelele prin prisma sistemelor de operare ce pot fi folosite, vom putea clasifica aceste reele n reele de-la-egal-laegal (peer-to-peer) i reele bazate pe server sau tip client-server. n reelele de-la-egal-la-egal fiecare dintre calculatoarele reelei poate ndeplini i funcia de server, sistemul de operare n reea fiind instalat pe fiecare din calculatoarele reelei. Acest model de reea este avantajos pentru reele de dimensiune mic. Exist programe avansate instalate peste sistemul de operare n reea care partajeaz mai bine resursele i securizeaz mai bine calculatorul. Ca dezavantaj al acestor reele: partajarea informaiei este dificil pentru c nu exist un calculator central care s pstreze informaiile pentru toi utilizatori. O reea de laegal-la-egal se poate uor transforma ntr-o reea client-server. Tehnologia egal-la-egal este tehnologia n care fiecare din staiile cooperante realizeaz funciile necasere de administrare, procesare, control i prezentare date. Tehnologia egal-la-egal se folosete pe larg n reelele locale mici. Pentru reelele client-server sistemul de operare n reea ruleaz pe un server. Aceste reele sunt mai complexe i de aceea necesit adminitrare. Pentru aceste reele resursele care trebuie partajate vor fi gestionate de server, precum i securitatea reelei poate fi gestionat centralizat. Tehnologia client-server contribuie esenial la dezvoltarea sistemelor deschise, realiznd accesul pentru diverse staii-client la unul i acelai server din mai multe posibile. Ea asigur performane mai nalte dect tehnologia server-de-fiiere. Sistemul de operare cuprinde urmtoarele elemente logice: interfaa utilizator (interpretorul de comenzi); interfaa de programare (apelurile sistem);

121

manevrarea ntreruperilor; administrarea proceselor; administrarea procesorului; administrarea memoriei; administrarea sistemului de fiiere; administrarea driverelor dispozitivelor periferice; administrarea securitii. Alegerea folosirii unui sistem de operare trebuie s in seama de performanele componentelor sus amintite. Exist sisteme de operare pentru mainframe, servere, calculatoare personale, PDA i alte dispozitive de control, smart-carduri, sisteme n timp-real i pentru alte categorii de echipamente IT. Interfaa utilizator, interfaa de programare i manevrarea ntreruperilor sunt 3 componente care influeneaz prea puin performana reelei. n schimb, numrul comenzilor, al apelurilor de sistem i al ntreruperilor difereniaz sistemele de operare ntre ele i pot influena performana n sensul c pot oferii o administrare mai bun a informaiei, a memoriei, a proceselor i a procesorului. Administrarea resurselor i a proceselor nu face partre din aceast lucrare, ci este obiectul unui studiu legat de sistemele de operar, de aceea sunt prezentate sumar. Administrarea procesorului, a memoriei, a fiierelor i a perifericelor sunt pri componente ale administrrii resurselor hardware care se realizeaz prin intermediul sistemului de operare. Procesorul, memoria i dispozitivele de I/O sunt resurse care produc gtuire n sistem. Procesorul i memoria sunt resurse care se pot planifica. Driverul dispozitivelor reprezint un program la nivel hardware cunoscut drept microcod, care controleaz modul de funcionare al unui anumit dispozitiv individual (de exemplu, placa de interfa cu reeaua). Un driver de dispozitiv poate fi privit ca un sistem de operare n miniatur pentru o singur component hardware. Fiecare driver conine toat logica i toate datele necesare pentru a asigura funcionarea corect a dispozitivului respectiv. n cazul unei plci de interfa cu reeaua (NIC), driverul include furnizarea unei interfee pentru sistemul de operare al gazdei. 3.3. Administrarea proceselor Administrarea proceselor presupune: alocarea resurselor la procese; contorizarea pentru a cunoate care proces ce resurse folosete; planificarea proceselor pentru a folosi resursele; protecia resurselor pentru ca procesul s acceseze doar resursa care i este permis. Administrarea proceselor ine seama de: timpul de calcul (generat de cod); timpul de ncrcare (generat de tabele de adrese); timpul de execuie (generat de procesor). Pentru marea majoritate a proceselor, cantitatea de memorie folosit este fixat n timpul compilrii (alocare continu), excepie fcnd recursivitatea i structurile dinamice de date.

122

3.3.1. Modurile de execuie ale proceselor Un proces poate fi executat n: modul utilizator: pentru programe restricionate la instruciuni de nivel utilizator i spaiu de adres. Excepie: apeluri sistem i instruciuni capcan (trap) care cauzeaz o ntrerupere sau o schimbare a modului de lucru al procesorului. modul supervizor sau privilegiat sau sistem: toate instruciunile inclusiv cele privilegiate i spaiul de adrese. n modul utilizator, programul are acces doar la spaiul propriu de adrese. n modul supervizor, sistemul de operare are acces complet la toat memoria. 3.3.2. ncrcarea cu lucrri a sistemului Lucrrile pot fi clasificate astfel: multiutilizator: mai muli utilizatori lucreaz prin terminale individuale, trebuie maximizat viteza de lucru a sistemului pentru a preveni timpul de rspuns slab; server: ncrcarea cu lucrri const n cereri de la mai multe sisteme. Sarcinile serverului trebuie mprite n funcie de aplicaiile care trebuie s le ndeplineasc: server de mail, server de baze de date, server de aplicaii i programe, etc. staii de lucru: un singur utilizator pe respectivul sistem. Diferene n ncrcarea cu lucrri (procese) a sistemului poate cauza mari variaii n msurarea performanelor sistemului care se difereniaz n viteza UCP i dimensiunea RAM. Este important s inem seama i de activitatea din spate (fundal) a sistemului. 3.3.3. Etapele de utilizare a resursei de ctre procese Resursele hardware folosite de procese sunt: fiierele (spaiul pe disc), memoria RAM, procesorul i dispozitivele de I/O. Cele trei etape de utilizare a resursei sunt: 1. cererea i ateptarea pentru acapararea resursei; 2. utilizarea resursei; 3. eliberarea resursei. O resurs preemptiv este o resurs care poate fi preluat nu numai de procesul creia i aparine fr s afecteze UCP i memoria. O resurs non-preemptabil este resursa care poate fi folosit doar de un proces la un moment dat, de exemplu imprimanta, discheta, intrarea n tabela de i-noduri, Ethernet-ul, nregistrarea ntr-o baz de date. 3.3.4. Ierarhia de execuie a procesului Execuia unui proces este legat att de resurse hardware ct i de resurse software. Ierarhia execuiei procesului (programului) este prezentat n figura urmtoare.

123

Hardware
(nivel fizic) registrele i pipeline-urile procesorului

Sistem de operare
(nivel logic) instruciune curent

cache

secven de program trimis spre execuie secven de program executat

tampon de translatere

memoria real

stri de ateptare sau manevrarea ntreruperi programe executabile

discul

Pentru a rula, un program trebuie s parcurg n paralel unele ierarhii hardware (componente fizice) i ierarhii software (sistemele de operare). Fiecare element hardware din ierarhie este mai scump dect elementul de sub el. n cazul n care programul concureaz cu alt program pentru fiecare resurs, tranziia de la un nivel la urmtorul consum timp. Pentru a nelege dinamica execuiei programului trebuie neles fiecare nivel din ierarhie. 3.3.4.1. Ierarhia hardware Ierarhia hardware face obiectul capitolului 2, dar ceea ce este prezentat aici n continuare are legatur cu administrarea acestor componente de ctre sistemul de operare. Piramida de stocare Piramida prezint relaia ntre toate formele de stocare, capacitatea i timpul de acces crescnd spre baza piramidei, n timp ce limea de band crete spre vrf i de asemenea i costul per octet. Discurile fixe Cele mai lente operaii n rularea unui program sunt obinerea codului i a datelor de pe disc. Timpul de rspuns, numit i ntrziere, reprezint durata scurs de la momentul lansrii cererii pn la apariia primului bit din data respectiv. Componentele hardware ale discului introduc urmtoarele ntrzieri: ntrzierea de coad de ateptare, reprezint timpul ct controlorul de disc este direcionat s acceseze blocurile specificate; ntrzierea de cutare, reprezint timpul ct braul discului caut cilindrul corect;

124

ntrzierea rotaional, reprezint timpul ct capetele de citire/scriere trebuie s atepte pn cnd blocul corect se rotete sub el; timpul de transmisie, reprezint timpul ct datele trebuie s fie transmise la controlor; timpul de manevrare a ntreruperii, reprezint timpul ct datele sunt conduse de la controler la programul de aplicaie. Memoria RAM Memoria RAM (Random Access Memory) este mai rapid dect discul, dar mult mai scump per octet. Sistemul de operare ncearc s in n RAM doar codul i datele care sunt folosite (n momentul respectiv), stocnd orice exces pe disc. n general, ntrzierea introdus de RAM este de cicluri de memorie i apare ntre momentul n care hardware-ul reorganizeaz necesarul pentru accesul la RAM i momentul n care datele i instruciunile sunt disponibile la procesor. Tampon de translatare n cazul n care codul programului are nevoie de memorie mult, sistemul translateaz adresele virtuale ale programului pentru instruciuni i date n adrese reale care sunt necesare pentru a prelua instruciunile i datele de la RAM. Deoarece procesul de translatare a adreselor consum timp, sistemul pstreaz adresele reale ale paginilor de memorie virtual accesate recent ntr-un cache numit tampon de translatare ntr-o parte (TLB Translation Lookaside Buffer). Dac apare o eroare de pagin, execuia programului este suspendat pn cnd pagina este citit de la disc. Cache Pentru a minimiza timpul pe care programul l consum cu ntrzierea pentru transferul n RAM, sistemul folosete o zon de memorie cu acces rapid (cache) pentru instruciuni i date, astfel acestea sunt disponibile pentru procesor n urmtorul ciclu fr ntrziere (dac lipsete memoria cache apare ntrzierea datorat memoriei RAM). Exist mai multe nivele cache: L1, L2, L3. Dac nivelul L1 lipsete este cutat L2 i tot aa dac nu exist nici L3 se folosete RAM. Structura i dimensiunea cache variaz de la model la model. Exist memorii cache pentru calculatoare, harddiscuri, rutoare, etc. Instruciunile curente ale mainii Marea majoritate a instruciunilor main sunt capabile s se execute ntr-un singur ciclu de procesor dac nu lipsesc TLB sau cache. n contrast, dac programul se mparte rapid la diferite zone de program i acceseaz date de la un numr mare de zone diferite cauzeaz un TLB ridicat i frecvente absene ale cache, astfel numrul de cicluri de proces per instruciune (CPI) executate poate fi mai mare dect 1. Programele trebuie s foloseasc un numr minim de instruciuni necesare pentru a ndeplini acea activitate, pentru a nu consuma ineficient numr mare de cicluri. Pipeline i registre Folosite pentru a procesa simultan mai multe instruciuni. Numeroase registre folosite n scop general i registre de virgul-mobil pot pstra cantiti considerabile de date de program n registre, chiar dac stocarea i rencrcarea datelor este continu. Funciile de optimizare a compilatoarelor trebuie folosite ntotdeauna cnd generm programe productive.

125

3.3.4.2. Ierarhia software Pentru a rula un program, acesta trebuie s parcurg paii ierarhiei din figura din pag 4. Programe executabile Cnd cerei execuia unui program, sistemul de operare produce un numr de operaii care transform programul executabil de pe disc n program rulabil. nti se gsete pe calea indicat programul de executat. Apoi, ncrctorul trebuie s rezolve orice referin extern de la program pentru a partaja resursele, librriile. Sistemul de operare creaz un proces sau un set de resurse, care sunt cerute de ctre orice rulare de program. Un thread este o stare curent de execuie a unei singure instane a programului. Multiple astfel de stri pot fi create ntr-un proces de ctre programul de aplicaie. Aceste stri curente partajeaz resursele proprii procesului n care acestea ruleaz. Manevrarea ntreruperilor Mecanismul de avertizare a sistemului de operare asupra unui eveniment extern are loc n ntreruperea strii curent de rulare i transferarea controlului ctre un mnuitor de ntreruperi (handler). nainte ca mnuitorul de ntrerupere s poat rula trebuie s fie salvat starea hardware pentru a asigura faptul c sistemul poate restaura contextul strii curente dup ce manevrarea nteruperii este complet. Stare curent de ateptare Reprezint cererea care nu poate fi satisfcut imediat este o operaie sincron de I/O. 3.4. Administrarea procesorului Instruciuni privilegiate pe care le execut procesorul sunt: instruciuni pentru schimbarea modului de lucru al procesorului; instruciuni de administrare a memoriei; instruciuni pentru cronometrare; instruciuni care seteaz ali registrii hardware importani. 3.4.1. Modelarea utilizrii unitii centrale de prelucrare Modelarea utilizrii unitii centrale de prelucrare poate fi fcut dup: modelul nativ: dac un proces calculeaz p% din timp un sistem cu 100/p procesoare va calcula 100% din timp; modelul probabilistic: dac procesul petrece o fraciune p din timpul su ntr-o stare de ateptare pentru I/O, un sistem cu n procese va avea utilizarea UCP egal cu 1 - pn; teoria cozilor: este un model mai exact (de acuratee). 3.4.2. Planificarea unitii centrare de prelucrare Unitatea central de prelucrare trebuie planificat, deoarece este o resurs care produce gtuire n reea. Un proces poate fi ntr-una din strile: proces nou, gata de execuie, n rulare, gata

126

(suspendat, ateptnd procesorul), blocat, blocat (n ateptare, amnat), terminat. Planificarea deciziilor are loc cnd procesele comut de la rulare la ateptare, rulare la gata, ateptare la gata i rulare la terminare. Selectarea unui proces din coad este realizat din planificator pe baza algoritmilor de planificare. Aceste aspecte in de sistemul de operare. Planificarea non-preemptiv nu necesit hard special (de exemplu timer) i procesorul curent folosete unitatea central de prelucrare pn o elibereaz. Planificare preemptiv rularea procesului curent poate fi ntrerupt i mutat n starea gata de ctre sistemul de operare. Necesit hard special (timer - pentru sincronizare), mecanisme pentru coordonarea accesului la datele partajate, nucleul (de sistem) protejat pentru a proteja integritatea structurilor de date proprii. Majoritatea sistemelor de operare UNIX ateapt apeluri sistem pentru a rezolva I/O. n viitor ntreruperile vor fi dezactivate. 3.4.3. Planificarea mai multor procesoare n cazul mai multor procesoare ele trebuie grupate pentru a executa procese astfel: set eterogen de procesoare: procesele pot fi un set de instruciuni specific - poate fi cazul n calcul distribuit (procesarea distribuit); set omogen de procesoare: ncrcare partajat (sharing). coad separat pentru fiecare procesor; coad comun; multiprocesare asimetric: procesoare distincte pentru planificare, pentru procesarea intrrilor/ieirilor i pentru alte activiti ale sistemului; multiprocesare simetric: fiecare procesor se autoplanific sau exist o structur de tip stpn-aservit (master-slave). 3.4.4. Monitorizarea unitii centrale de prelucrare O unitate central de prelucrare care este mult ncrcat trebuie s partajeze execuia ciclurilor ntre toate procesele i fiecare proces ateapt pentru execuie ntr-o coad. Timpii lungi de ateptare pentru execuie pot afecta abilitatea procesului de a oferi timp de rspuns adecvat, aceasta introducnd gtuirea. Putei monitoriza folosirea unitii centrale de prelucrare prin comanda sar (system activity resourcer) (vezi cap. 3 subcap. Monitorizarea resurselor interne ale calculatorului). Pentru a determina dac exist o gtuire a unitii centrale de prelucrare este necesar s monitorizai i lungimea cozii de ateptare a proceselor pentru execuie folosind aceeai comand, dar cu alt opiune. Aceast comand arat i cte procese sunt n coada de ateptare pentru execuie. Pentru comanda vmstat se indic numrul proceselor care nu pot fi executate deoarece ele ateapt discul, terminalul sau operaii de I/O cu reeaua. La testele prezentate n lucrare am determinat n ce condiii apare gtuirea unitii centrale de prelucrare.

127

3.5. Administrarea memoriei Funcia sistemului de operare dedicat administrrii memoriei implic: alocarea memoriei corespunztoare la procese; partejarea memoriei ntre procesele active; protecia memorie pentru ca un proces s nu afecteze zona de memorie a altui proces; utilizarea procesorului ntr-un mod eficient funcie de politica de planificare; dezvoltarea programelor s nu restricioneze dimensiunea memoriei; pentru optimizare n memoria principal trebuie s existe un numr mare de procese. Administrarea spaiului de memorie se realizeaz de ctre sistemul de operare prin: paginare (alocare necontinu): minimizeaz fragmentarea extern i simplific alocarea. Memoria fizic este mprit n zone de dimensiune fixat. Dimensiunea va determina gradul de fragmentare intern. Memoria logic este mprit n blocuri de aceeai dimensiune numite pagini. Fiecare proces are o tabel a paginilor, iar sistemul de operare menine o tabel a paginilor (pentru fiecare pagin liber sau alocat i crui proces). Adresa efectiv este dat de formula: numrul de pagin + deplasament n pagin Pentru protecie sunt asociai bii de protecie la fiecare pagin (citire, scriere, citire-scriere). Paginarea multinivel este ntlnit n cazul spaiilor mari de adres, pentru care tabela paginilor este mare i trebuie i aceasta la rndul ei s fie paginat. segmentare: (n caz extrem fiecare subrutin are propriul segment). Metoda se bazeaz pe adresa logic (adic numr de segment i deplasament n cadrul segmentului) i pe tabela segmentelor. Dac segmentele au lungime variabil se fragmenteaz. segmentare cu paginare: mbin avantajele celor 2 metode. 3.5.1. Organizarea ierarhic a memoriei Memoria este organizat ierarhic n urmtoarele categorii: registre; memoria cache; memorie principal; memoria cache a discului; discul; memorii de stocare externe, eventual reutilizabile (CD-ROM, flash, etc.). O parte a acestei ierarhizri a fost prezentat i n subcapitolul Ierarhia de execuie a procesului. 3.5.2. Performana memoriei Dac o unitate central de prelucrare acceseaz date direct din memorie, mai degrab dect de la disc, performana este ridicat, deoarece accesul la memorie este cu cteva ordine mai rapid dect accesul la disc (viteza memoriei este msurat n nanosecunde n timp ce viteza discului este msurat n milisecunde).

128

Creterea accesului discului n schimbul accesului la memorie reduce performana. La achiziionarea sistemelor, nu economisii RAM. n general sistemele sunt subconfigurate (subdimensionate) din punctul de vedere al memoriei RAM pentru a menine sczut costul de achiziie. Comanda sar cu opiunea -r va raporta paginile de memorie nefolosite i spaiul de salvare (swap) pe disc n pagini de 4 Koctei sau blocuri de 512 Koctei (vezi cap.3). freemem indic numrul de pagini din RAM care sunt imediat gata de a fi folosite cnd un proces demareaz sau are nevoie de mai mult memorie. O utilizare redus i continu (mai puin de 6% din memoria instalat) a valorilor freemem poate indica o diminuare a memoriei disponibile i o gtuire potenial. 3.6. Administrarea sistemului de fiiere Funciile administrrii fiierelor sunt: identific i localizeaz fiierul selectat; folosete un director pentru a descrie locaia fiierelor i atributele acestora; pe un sistem partajat descrie controlul accesului utilizatorilor; blocheaz accesul la fiiere; aloc fiierele la blocurile libere; administreaz spaiul de stocare liber. Directorul este un fiier proprietate a sistemului de operare. Pentru accesul partajat la fiiere pentru a se evita accesul simultan se folosete excluderea mutual i blocarea. 3.6.1. Implementarea sistemului de fiiere Sistemul de fiiere poate avea structura: secvene de octei; secvene de nregistrri; arbore de nregistrri. Cererile I/O de transfer de blocuri trebuie s fie eficiente. Sectoarele discului au n mod uzual o dimensiune de la 32 la 4096 octei, iar valoarea 512 este cea mai frecvent. Sistemul de fiiere de pe disc suport acces direct sau secvenial, precum i rescriere n acelai loc. 3.6.2. Organizarea sistemului de fiiere Sistemul de fiiere are o arhitectur stratificat dup cum urmeaz: control I/O prin driverele dispozitivelor i ntreruperi; sistemul de fiiere de baz prin comenzi pentru driverele dispozitivelor pentru poziionare pe unitate, cilindru, platan, sector; modul de organizare a datelor n fiiere i blocuri logice; blocuri fizice translateaz structura logic n structur fizic i organizeaz spaiile goale; sistemul de fiiere logic folosit pentru protecie i securitate. Sistemele de operare UNIX i MacOS pentru a avea acces la fiiere trebuie nti s monteze sistemul de fiiere respectiv.

129

3.6.3. Metode de alocare a spaiului pentru date Alocarea poate fi: alocare continu - performan bun, dar apare fragmentarea; alocare legat - administrare eficient, dar cere spaiu pentru punctatori; slab performan pentru acces aleator la date. Dac sistemul de fiiere are organizare sub form arborescent, unele din problemele de mai sus se rezolv; alocare indexat - ofer administrarea eficient a memoriei i acces cu ajutorul unui index bloc, dar risipete spaiu. La UNIX se folosete o schem combinat cu index multinivel i scheme legate i apare inodul. Pentru performane bune se combin metoda contigu cu alocarea indexat i n plus UCP trebuie s aib vitez la fel i timpul de acces al discului s fie bun. De aceste aspecte trebuie inut seama n alegerea unui disc i a unui sistem de fiiere. 3.6.4. Probleme ale sistemului de fiiere Sistemul de operare nu scrie imediat pe disc cnd un fiier este modificat. Pentru a salva timp el scrie ntr-un tampon cache care este mult mai rapid. Sistemul de fiiere este corupt din cauza opririlor/pornirilor improprii sau a erorilor de scriere a NFS sau a problemelor hardware. Nu oprii calculatorul direct de la buton. Pornirea incorect nu va verifica sistemul de fiiere. Problemele hard pot fi blocuri defecte pe harddisc, controlere defecte ale harddiscurilor, fluctuaii de tensiune, deconectare accidental de la curent. Dac sistemul este ntrerupt nainte ca memoria-tampon s fie golit pe harddisc, sistemul de fiiere de pe disc poate fi afectat. Pentru ca unii utilizatori s nu monopolizeze harddiscul, acetia pot folosi doar o cot din capacitatea total a harddiscului. Spaiul folosit de un utilizator, grupuri de utilizatori sau aplicaii poate fi limitat prin cote hard sau soft. Cotele hardware pot afecta negativ performana sistemului I/O. Salvarea transparent trebuie fcut sptmnal (cel complet) pentru fiecare sistem de fiiere n parte. Atenie! Compresia fiierelor n general salveaz de la 1/2 pn la 2/3 din spaiul fiierului iniial. Un fiier compresat este un fiier binar. 3.7. Administrarea dispozitivelor periferice. Statistici pentru sistemul de intrare/ieire Sistemul de I/O lucreaz cu: procesele utilizatorilor; sistemul de fiiere (dispozitive independente de aplicaie); drivere; sistemul de ntreruperi; componente hardware (controlele, driverele discurilor, etc.). Sistemul de intrare/ieire este un prim candidat pentru a reprezenta gtuirea sistemului. De exemplu, gtuirea discurilor apare cnd sistemul nu poate citi i/sau scrie date pe disc

130

suficient de repede. Aceasta reprezint o problem frecvent pe serverele de fiiere care au clieni care cer date care sunt localizate n diferite locaii fizice pe discul serverului de fiiere. Putem verifica dac discul este suprancrcat prin comanda iostat. Discurile care sunt ocupate mai mult de 30% i care au un timp de servire a intrrilor/ieirilor (valoare svc_entry din ieirea comenzii) mai mare de 50 ms sunt considerate lente. Timpul serverului este timpul care se scurge pentru un proces al utilizatorului (de exemplu comanda de citire i efectuarea complet a citirii). Tot comenda iostat nsumeaz statistici I/O de cnd sistemul a fost pentru prima dat butat. Discurile sunt comparate pentru o perioad de test de 5 secunde pentru a vedea care dintre ele este folosit mult mai mult dect celelalte. Dac aceasta este situaia, singura soluie este transferarea unei pri din sistemul de fiiere pe alt disc mai puin ncrcat. Dac discurile ncrcate au zone de date de tip swap, creai zone suplimentare de swap pe unul sau mai multe discuri din cele mai puin ncrcate. 3.8. Probleme de performan pentru resurse Probleme posibile de performan: a) un program particular ruleaz mai ncet; b) totul ruleaz mai ncet ntr-o perioad a zilei; c) totul ruleaz mai ncet la intervale imprevizibile; d) tot ce ruleaz un utilizator individual merge lent; e) un numr de sisteme conectate la reeaua local se depreciaz n funcionare simultan; f) totul pentru un serviciu particular sau dispozitiv ncetinete la un moment dat. g) totul ruleaz mai ncet cnd ne conectm la distan. Cauze i soluii Pentru punctul a) limbajul interpretativ nu este optimizat de ctre compilator. Pentru punctul b) identificai programele care ruleaz n UCP n perioada respectiv. Pentru punctul c) problemele apar la transmisia de la sisteme independente la sisteme distribuite. Folosii statistici de reea pentru a v asigura dac nu exist probleme fizice de reea. Comanda netstat -v nu raporteaz erori sau coliziuni n exces pe adaptor. Pentru punctele d) i e) diferite probleme de software sau firmware pot satura sporadic reeaua local cu difuzare sau alte pachete. Cnd apar rafale de difuzare, chiar sistemele care nu folosesc n mod activ reeaua pot fi ncetinite de nencetatele ntreruperi i de ctre resursa UCP consumat n recepia i procesarea pachetelor. Aceste probleme sunt mai bine detectate i localizate cu dispozitive de analiza (analizoare) de reea local dect cu utilitare de performan. Dac avei 2 reele locale conectate printr-un sistem (folosind un sistem drept rutor), se consum mult timp din activitatea UCP pentru a procesa i copia pachete. Rutoarele hardware dedicate i punile reprezint o soluie mai robust, dar cu un cost mai mare. Accesul la fiiere prin NFS determin un cost considerabil n traficul reelei locale, n timpul UCP pentru client i server i n timpul de rspuns al utilizatorului final. Pentru punctul f) monitorizai performana UCP, a memoriei, a volumului fizic i logic, a sistemului de fiiere, a reelei. Pentru punctul g) autentificarea pe un sistem aflat la distan are un timp de rspuns mai mare. (vezi capitolul 4)

131

3.9. Administrarea securitii din perspectiva sistemului de operare Pentru funcia de securitate, sistemul de operare: controleaz accesul la fiiere (autorizare); autentific utilizatorul (stabilete identitatea sigur a utilizatorului); asigur comunicaii sigure (criptare). 3.10. Criterii pentru alegerea sistemului de operare Administratorul de reea are doar obligaia de a alege cel mai performant sistem de operare pentru reeaua ce o va administra, innd seama n modul de alegere de: eficien; robustee; flexibilitate; portabilitate; compatibilitate; faciliti n utilizare; s asigure administrarea proceselor; s asigure administrarea resurselor; s asigure protecia i securitatea resurselor. Pentru a alege un sistem de operare care planific eficient procesele trebuie s avem n vedere urmtoarele criterii de planificare: echilibrare: fiecare proces are propria partajare; eficien: eficiena utilizrii unitii centrale de prelucrare; viteza de execuie: numrul de procese/unitatea de timp; durat de execuie: timpul consumat cu executarea unui proces de la nceput pn la sfrit; timp de ateptare: timpul total petrecut n coada gata pentru execuie; timp de rspuns: cantitatea (medie) de timp pentru care o comand lansat primete rspunsul. 3.11. Parametrii de performan pentru alegerea sistemului de operare Dup ce definii activitile pe care sistemul dvs. de calcul le va executa, putei alege criteriile de performan i obiectivele de performane bazate pe aceste criterii. Parametrii principali de performan pentru calculatorul dvs. sunt timpul de rspuns i viteza de execuie. Timpul de rspuns reprezint timpul scurs ntre momentul cnd o cerere este preluat i pn cnd rspunsul la cerere este returnat. Exemple de timpi de rspuns: timpul pentru a interoga o baz de date, timpul pentru a accesa o pagin Web, timpul pentru a vedea caracterele apsate pe ecran. Acetia variaz funcie de aplicaia (procesul) rulat de ctre sistemul de operare. De exemplu, timpul de rspuns variaz al protocolului HTTP este 2 RTT + timpul de transmisie (nu i retransmisie) pentru fiecare obiect (pagini mici). Pentru imagini timpul de rspuns = 3 RTT + timpul de transmisie (cel mai bun).

132

Viteza de execuie este o msur a cantitii de munc care poate fi realizat de-a lungul unor uniti de timp. De exemplu, tranzacii per minut cu baza de date, kilooctei transferai per secund dintrun fiier, kilooctei citii/scriei per secund dintr-un fiier, accesri per minut la serverul Web. O performan acceptabil se bazeaz pe o vitez de execuie rezonabil combinat cu un timp de rspuns rezonabil. n planificarea unui sistem fii siguri c avei obiective clare att pentru timpul de rspuns ct i pentru viteza de execuie cnd procesai o ncrcare specific. Algoritmii de evaluare definesc criteriul care trebuie folosit innd seama de: utilizarea UCP, timpul de rspuns, viteza de execuie. Este de preferat ca s asigurm tuturor proceselor timpul de execuie al UCP de care au nevoie i s maximizm utilizarea unitii centrale de preluare i a vitezei i s minimizm timpul de execuie, timpul de ateptare i timpul de rspuns. Observaie: 1. Deoarece serverele pot avea 2 sau mai multe procesoare trebuie ca sistemul de operare s poat planifica mai multe procesoare. 2. 80% din ncrcrile UCP trebuie s fie mai mici dac cuanta de timp. n prezent sistemele de operare trebuie s poat planifica i n timp real procesele. Se folosesc pentru multimedia, grafic interactiv la vitez mare de procesare i alte tascuri critice. Planificarea n timp real necesit hardware pentru timp real i rezolv complet procesul critic ntr-un timp garantat (nu poate avea capacitate de stocare secundar sau memorie virtual). Planificarea politicii i procesele n timp real au cel mai mare grad de prioritate. 3.12. Aplicaii pentru comunicaie Componentele hardware i software de reea nu au capacitatea de a-i permite unui utilizator s foloseasc efectiv reeaua. Ele nu fac dect s asigure infrastructura i mecanismele care permit utilizarea acesteia. Sarcina utilizrii efective a reelei cade n seama programelor specializate, care controleaz comunicaiile. Acestea se instaleaz peste sistemul de operare i reprezint o interfa ntre sistemul de operare i protocoale. Aplicaiile pentru comunicaie sau aplicaiile de comunicaie implementeaz protocoalele. Exemple de aplicaii pentru comunicaie: aplicaii pentru transfer informaie, navigatoarele, motoarele de cutare. Aplicaiile de comunicaie mai pot fi mprite n aplicaii cu misiune critic i aplicaii fr misiune critic. Aplicaiile cu misiune critic sunt protejate i aplicaiile fr misiune critic sunt administrate. Exemple de aplicaii cu misiune critic (lista este deschis): web (tip http, https); transfer de fiier (ftp); pori (SMTP, POP, IMAP); filme video (Real, Quick Time, Windows Media, RTSP, etc.); video interactiv (H323, SIP, RTP, etc.);

133

emulare terminal (telnet, ssh); VPN; mesagerie (AIM, MSM, etc.). De exemplu, transferul prin ftp este de fapt o aplicaie din cadrul sistemului de operare, care permite transferul de fiiere mari fr a folosi discul i fr a memora n cache tot fiierul, folosind doar /dev/zero ca intrare i /dev/null ca ieire. Aplicaii fr misiune critic nu sunt blocate de reeaua local, dar sunt restricionate cu privire la cantitatea de limea de band din reeaua extern pe care o poate consuma. Aplicaiile fr misiune critic sunt aplicaii de la egal-la-egal (P2P pear-to-pear) i permit utilizatorilor s mpart mediul de transmisie al reelei respectiv n audio, video, documente i chiar aplicaii de-a lungul reelei. Aceste aplicaii permit utilizatorilor s descarce (upload) fiiere ntre ei nsui i nu sunt dependente de un server centralizat. Exemplu de aplicaii P2P: DirectConnect, iTunes, Audiogalaxy, etc. i jocurile. n perioada de vrf de utilizare (dimineaa i dup-amiaza), aplicaiile fr misiune critic se porduc cu timp redus. Volumul traficului P2P poate consuma aproape toat capacitatea Internet disponibil dac nu sunt administrate. Cnd acest volum atinge capacitatea maxim care a fost definit pentru politici QoS fr misiune critic, viteza de transfer va ncepe s se diminueze i s devin imprevizibil. 3.12.1. Clasificarea aplicaiilor de comunicaie Infrastructura reelelor actuale ofer aplicaii de comunicaie precum: aplicaii utilizator-la-utitlizator; aplicaii utilizator-la-server de informaii; aplicaii n timp real; aplicaii de mesagerie; aplicaii de la egal-la-egal (ntre terminale pereche); aplicaii client-server (ntre terminalul clientului i server). n continuare, vor fi prezentate cteva msurtori pentru aplicaiile de comunicaie i un exemplu particular de aplicaie de comunicaie. 3.13. Msurtori pentru aplicaiile de reea 3.13.1. Studiu de caz pentru aplicaii de mesagerie: Pota electronic Msurtorile cu privire la frecvena utilizrii potei analizeaz: a) procentul celor mai frecveni utilizatori de pot; b) procentul celor mai puin frecveni utilizatori de pot. a) Sunt utilizatorii care trimit i/sau primesc un numr predeterminat de mesaje ntr-un interval de timp. b) Sunt utilizatorii care trimit i/sau recepioneaz un numr predeterminat de mesaje sau mai puin n acelai interval de timp. Se poate alege un numr de mesaje, de exemplu, 50 sau mai multe pentru utilizatorii frecveni i mai puin de 50 pentru utilizatorii mai puin frecveni. Aceast valoare depinde de la un caz de reea la altul de numrul mediu de mesaje trimise i recepionate de o persoan.

134

Urmtoarele formule calculeaz valorile ce vor fi analizate: numrul utilizatorilor frecveni de reea mprit la numrul utilizatorilor de reea; numrul de utilizatori mai puin frecveni mprit la numrul utilizatorilor de reea. Analizm numrul utilizatorilor de reea comparativ numrului utilizatorilor de pot. n general toi utilizatorii care au un cont au dreptul s-l foloseasc i pentru pot. n general, reelele au un server central care poate analiza traficul de pot sau poate exista un server special dedicat pentru acest serviciu. Alegem o perioad de teste de 2 sptmni, iar n aceast perioad alegem eantioane de 3 zile. Repetm testele de 2 sau 3 ori pe an pentru a observa tendinele. Alte informaii adiionale pot fi incluse n test, precum: ct timp a fost pota accesat; numrul de mesaje trimise i recepionate; tipul mesajelor (personale, de servici, etc.). Instalai o aplicaie de administrare care monitorizeaz traficul de pot la serverul central i dac se dorete la fiecare server distribuit. Unele servere de pot menin automat tranzaciile de conectare (la contul de pot). Aplicaia trebuie s numere de cte ori fiecare utilizator (sau grup de utilizatori) a trimis i/sau recepionat mesaje de pot n perioada de testare. Dac se folosete activitatea de conectare la cont, utilizatorii pot fi mprii pe zone de lucru (departamente). Se calculeaz numrul celor mai frecveni utilizatori, respectiv al celor mai puin frecveni pentru fiecare categorie de utilizatori. Aceste date ne ajut s evalum distribuia utilizatorilor pentru a-i putea include n fiecare grup. Dac 75% din totalul datelor sunt utilizatori frecveni, pentru evaluare trebuie redefinite criteriile care trebuie luate n considerare n analiz pentru respectiva reea. Cunoscnd numrul de utilizatori frecveni i mai puin frecveni putem dezvolta reeaua folosind ca linie de baz (baseline) numrul de utilizatori frecveni. Acest numr trebuie actualizat i poate fi folosit i pentru mprirea utilizatorilor pe categorii. Folosirea unui e-mail directory (pentru reea) poate fi calea cea mai bun de identificare a utilizatorilor comparativ cu celelalte 2 modaliti. O alt mrime interesant este raportul ntre numrul de mesaje de pot trimise de ctre utilizatori reelei i numrul de mesaje de pot recepionate n timpul aceleiai perioade de timp. O astfel de msur ofer un indicator extern pentru reea cu privire la gradul n care pota de la utilizatori din afara reelei afecteaz ncrcarea n ntregime a traficului. 3.13.2. Msurtori pentru managementul aplicaiilor de reea Se vor analiza: numrul de aplicaii active; utilizarea aplicaiilor de ctre un grup de utilizatori specific. Acestea analiz arat ct de des sunt folosite aplicaiile specifice ntr-o perioad dat de timp. Aplicaiile pot fi disponibile pentru utilizatori pe calculatoarele de birou individuale de la un server prin reeaua local. Tipul de aplicaie de care are serverul nevoie pentru a contoriza aplicaiile folosite i pentru a le ordona ntr-un top depinde de sistemul de operare care

135

controleaz serverul. Dar, muli utilizatori primesc aplicaiile de pe mai multe servere sau supercalculatoare i n acest caz este dificil s obinem cu acuratee numrul de aplicaii folosite n ntreaga reea. Totui, pentru contorizare se aplic 2 metode: software pentru msurarea aplicaiilor; activitatea de conectare a utilizatorilor. Posibilitatea serverului sau supercalculatorului s ruleze un program care s contorizeze numrul de utilizri a aplicaiilor (topul), depinde de muli factori de configurare a reelei. Determinai care servere/mainframe-uri ofer acces la aceste aplicaii. Determinai ce sisteme de operare se gsesc pe aceste servere. Alegei o perioad de test care s fie o perioad tipic de folosire a reelei. Not: Aceast metod nu poate msura ce aplicaii folosesc utilizatorii de pe harddiscurile locale i nu poate s msoare utilizarea tuturor aplicaiilor disponibile n reea, ci doar de pe serverele pe care este instalat programul. Programul nu poate face distincie ntre cine utilizeaz aplicaia sau ci utilizatori diferii folosesc aplicaia, dar poate spune ct timp a fost utilizat aplicaia. Atenie! Rularea programului de monitorizare a aplicaiilor poate reduce performana pe server! 3.13.3. Monitorizare prin acces distribuit la aplicaii Deoarece arhitectura majoritii reelelor LAN este distribuit, aceleai aplicaii pot fi rezidente pe mai multe servere diferite din reea. Plasnd astfel de programe n toate serverele care ofer aplicaiile n discuie putem cere o cooperare a unitilor de calcul distribuit care controleaz aceste servere. Selectai serverele de analizat. O metod poate fi doar msurarea cererii de aplicaii de pe serverele care servesc clusterele publice. Alt metod ar fi selectarea aleatoare a unui numr dat de servere din reea sau selectarea ctorva servere din cele mai importante categorii de servere i apoi msurarea aplicaiilor cerute de acestea. Pot fi chestionai i utilizatorii conectai n legtur cu ce aplicaii folosesc n perioada de timp de test pentru ct timp folosesc aplicaia i n ce scop (cercetare, nvare, etc.). Trebuie selectat un grup de utilizatori care au un spectru larg de activiti. Odat obinute datele, acestea pot fi analizate pentru calcularea numrului de cte ori o aplicaie particular este folosit n perioada de timp de ctre un utilizator. Apoi stabilesc de cte ori pe zi au fost cerute aplicaiile respective. De aceea, prima metod de testare (program de administrare a sistemului) ofer informaii cantitative cu privire la numrul total de utilizri a aplicaiei (topul aplicaiilor) pentru o perioad de timp stabilit, n timp ce a 2-a metod de testare al unei utilizari (conectarea utilizatorilor) putem obine informaii cu privire la numrul de aplicaii folosite pe categorii de utilizatori, pe ce durat de timp i scopul folosirii aplicaiei respective. Aceste rezultate combinate cu opiniile i percepiile utilizatorilor cu privire la importana aplicaiilor ne dau informaii despre aplicaiile din reea i ce ar trebui sporit ca numr de licene sau n sens contrar. Dac este necesar creterea numrului de licene, performana reelei sporete, deoarece numrul de cerine de utilizare a unei aplicaii nu este subdimensionat. Putem

136

alctui un top cu aplicaiile pe care utilizatorii le consider cele mai importante pentru activitile desfurate de acetia. Aceste 2 abordri (cantitative i calitative) ofer sprijin n planificarea cror aplicaii s fie oferite n viitor. 3.13.4. Msurtori pentru folosirea clusterelor sau site-urilor publice pentru a accesa reeaua Se vor analiza: a) raportul utilizatorilor reelei de la terminale publice; b) frecvena ocuprii de ctre site-urile publice. a) cluster public (grup public) este definit ca o locaie creat pentru folosire public a reelei de ctre utilizatori care au acces autorizat folosind identificatorul i parola. Acetia pot fi chiar utilizatori ai reelei. Aceste terminale tip cluster public ofer acces la aplicaii ca pot, Internet, procesare de text, baze de date, aplicaii diverse, etc. Msurtorile sunt utile pentru reelele care ofer un astfel de acces pentru o utilizare de baz i pentru statistici ale utilizrii per terminal pentru a determina tendinele i a cunoate actuala utilizare. Pentru analiz trebuie obinut numrul de utilizatori ai reelei i numrul de utilizatori activi ai reelei. Trebuie obinut i numrul de clustere publice i numrul de terminale sau staii de lucru ale fiecrui cluster. Pentru fiecare cluster obinem un grafic al orelor de operare n timpul unei sptmni. n cele mai multe cazuri fiecare cluster are un supervizor n timpul orelor de operare. Aceastei persoane poate s i se dea responsabilitatea de meninere a conectrilor manuale a staiilor de lucru n perioada de test (de preferin 2 sptmni). Se verific ocuparea staiei de lucru la intervale de 30 de minute. Aceast perioad de teste trebuie s fie aceeai pentru toate clusterele. Dac nu este posibil monitorizarea, alternativa nregistrrii ocuprii este folosirea semnalului IN i OUT al conectrii (adic login, logout). Pentru fiecare cluster procentul de ocupare poate fi calculat la fiecare 30 minute n timpul perioadei de test. Statisticile ocuprii pot fi prezentate grafic pentru fiecare cluster i pentru toate clusterele. Extinderea clusterelor publice este direct legat de planurile pentru accesul individual la reea. 3.13.5. Msurtori pentru acces la Internet prin servere partajate Se vor analiza: numrul de accesri prin furnizorii de servicii; numrul de accesri prin conexiune telefonic. Aceasta msoar prediciile pentru ca aplicaiile de administrare ale sistemului de operare al serverului s permit cererea accesului pentru o colecie de adrese IP ale calculatoarelor care cer accesul. Serverele bazate pe UNIX pstreaz un fiier de conectare (log file) pentru fiecare activitate.

137

Pot fi create fiiere batch ale tuturor adreselor IP care acceseaz serverul partajat. Un program de administrare poate grupa dup adresa IP, dac aceasta este din reea, dac sunt de la furnizori de servicii Internet sau dac sunt adrese IP temporare atribuite prin conectare telefonic. Poate fi contactat furnizorul de servicii (local) pentru a ti dac acetia ofer un cont pentru un numr de conexiune sau numr de utilizatori, accesnd adresa IP a respectivei reele testate prin serviciile lor. Majoritatea sistemelor de operare includ aplicaii de administrare care nregistreaz adresa IP a calculatoarelor care cer acces la el. Aceste adrese trebuie sortate dup: acces prin furnizorii de servicii Internet; acces prin conexiune telefonic; acces din respectiva reea. Cu aceste date se determin 2 rapoarte folosind formulele: acces la serverul partajat prin furnizorul de servicii acces furnizor = -------------------------------------------------------------------------accesul total la serverul partajat acces la serverul partajat prin conexiune telefonic acces telefon = -------------------------------------------------------------------------accesul total la serverul partajat Folosind aceste 2 rapoarte putem observa n timp ci utilizatori acceseaz informaii sau servicii de pe serverul partajat. Un alt raport care se calculeaz este: numrul total de conexiuni de la distan conx = ----------------------------------------------------------numrul total de conexiuni Prin scdere din 100 % obinem procentul conexiunilor care nu sunt de la distan. 3.13.6. Msurarea performanei LAN n cazul adugrii de noi aplicaii Performana LAN cere modele sofisticate de analiz i unelte de simulare. Acestea sunt n general fie prea complexe, fie prea costisitoare. Formula prezentat poate fi folosit pentru proiectarea unui nou LAN sau pentru estimarea performanelor rezultate din adugarea unei noi aplicaii ntr-un LAN existent. Formula are la baz cei mai eseniali parametrii de performan: viteza de transmisie a reelei LAN; capacitatea total cerut, ca medie de-a lungul unei perioade stabilite; maximul vitezei minime de transfer cerut pe aplicaie (viteza cea mai mic de transfer cerut pe aplicaie). Se poate aplica pentru probleme de limea de band disponibil cum ar fi:

138

Pot transmite un fiier de n Moctei n x secunde prin Ethernet care opereaz cu o ncrcare medie de t Mo pe secund ? Ci utilizatori pot partaja acelai segment LAN dac ei au de transmis fiiere de n Mo n x secunde i genereaz o ncrcarea medie de t Mo pe secund ? VLAN Cc + V Cm = VLAN - V sau VM = VLAN - Cc unde VLAN = viteza de transfer a reelei LAN Cc = capacitatea medie cerut V = viteza de transfer minim cerut Cm = capacitatea medie disponibil VM = cea mai mare vitez de transfer disponibil La stabilirea acestor formule s-a pornit de la ideea c viteza maxim la care o cantitate sigur de date poate fi transmis prin LAN este n medie egal cu diferena dintre capacitatea total a reelei i media capacitii folosite de celelalte segmente. Cu alte cuvinte la un moment dat o cantitate de date dat poate fi transmis la o vitez minim Vm, capacitatea disponibil pentru alte staii va fi egal cu diferena ntre capacitatea total net a reelei CLAN i Vm. Ca = CLAN - Vm, unde Ca = capacitatea disponibil pentru ali utilizatori Folosind modelare matematic, reeaua poate fi privit ca un sistem cu cozi de ateptare cu disturbri (terminalele genereaz trafic n rafal i nu doar unul singur influeneaz ncrcarea medie) i model nchis cu cozi de ateptare a unui sistem de divizare a cuantei, dac staiile au aceeai ncrcare. 3.13.7. Efectele resurselor hardware asupra aplicaiilor Limea de band disponibil i latena au efecte diferite asupra aplicaiilor de reea. Limea de band disponibil va afecta aplicaiile care cer acces susinut la mari cantiti de lime de band, precum FTP-ul. O lime de band disponibil mic crete timpul pe care fiecare aplicaie l folosete pentru a se executa. Latena are un mare impact asupra aplicaiilor n timp real precum VoIP sau streaming video, iar creterea sa va reduce calitatea i utilizabilitatea acestor servicii. Rutorul coloanei vertebrale are efecte dramatice pentru limea de band FTP disponibil. 3.14. Protocoale de comunicaie Definiie Protocolul este definit ca un set de reguli i convenii cu ajutorul crora este guvernat schimbul de informaii ntre echipamentele unei reele. Protocoalele de reea sunt standarde ce permit calculatoarelor s comunice ntre ele. Un protocol este o descriere formal a unui set de reguli i convenii care guverneaz un aspect particular despre cum componentele de reea comunic ntre ele. Protocoalele determin formatul, secvena de timp i controlul erorilor n comunicaii. Protocoalele controleaz toate aspectele comunicrii de date, care includ urmtoarele:

139

cum este construit reeaua fizic; cum se conecteaz calculatoarele la reea; cum sunt formatate i transmise datele; cum sunt propagate datele; cum sunt interpretate erorile. Aceste reguli ale reelei sunt create i intreinute de mai multe organizaii i comitete internaionale: IEEE, ANSI, EIA, TIA i ITU. Pot exista mai multe protocoale diferite n aceleai mediu de lucru. TCP/IP (pentru UNIX, Windows NT, Windows 95), IPX (pentru Novell Net Ware), DECnet (pentu retele Digital Equipment Corp.), AppleTalk (pentru calculatoare Macintosh) i NetBIOS/NetBEUI (reele Windows NT) sunt principalele tipuri de protocoale de reea folosite azi. Protocolul, prin ansamblul de convenii stabilite, ajut la cooperarea mai multor entiti n realizarea unei activiti. Acestea acioneaz la mai multe niveluri. Un nivel cuprinde un ansamblu de funcii, care, la cererea utilizatorilor, realizeaz servicii. Serviciul reprezint un ansamblu de primitive (operaii), pe care un nivel l furnizeaz nivelului superior. Ansamblul de niveluri i protocoale poart numele de arhitectura reelei. Stiva de protocoale Internet cuprinde: nivelul aplicaie: suport aplicaii de reea folosind protocoalele FTP, SMTP, HTTP; nivelul transport: transfer datele de la calculator la calculator folosind protocoalele TCP, UDP; nivelul reea: ruteaz datagramele de la surs la destinaie folosind protocolul IP i alte protocoale de rutare; nivelul legtur de date: transfer date ntre elementele vecine de reea folosind Ethernet, PPP. Protocolul PPP (Point - to - Point Protocol) este folosit pentru a crea o conexiune cu providerul Internet prin (via) modem. nivelul fizic: reprezint biii pe fir.

Nivelul reea fiind un nivel unde se decide direcia n care merge informaia are urmtoarele funcii de baz: determinarea cii: ruta aleas de pachete de la surs la destinaie folosind algoritmi de rutare; retransmisia: deplasarea pachetelor de la intrarea rutorului la cea mai apropiat ieire (output) a rutorului; setarea apelului: numeroase arhitecturi de reea solicit setri ale apelului (cale) rutorului de-a lungul cii nainte de a trimite date (flux de date). 3.14.1. Modelul TCP/IP pentru arhitectura inter-reelelor de calculatoare O reea universal, bazat pe o unic tehnologie hardware, este imposibil de construit, cci nici un tip de reea de calculatoare nu ar putea satisface toate necesitile tuturor utilizatorilor.

140

De la nceputul anilor 1980 a aprut o nou tehnologie care a dat posibilitatea conectrii unor reele realizate fizic diferit, fcndu-le s funcioneze ca o unitate coordonat. Aceast tehnologie, numit interconectare (internetworking), permite adaptarea a numeroase i diferite tehnologii hardware, oferind o modalitate de interconectare a unor reele eterogene i stabilirea unei mulimi coerente i nu prea numeroase de convenii de comunicare. TCP/IP reprezint de fapt este o denumire colocvial pentru mai mult de 100 de protocoale diferite, dar care au fost nglobate sub aceeai denumire. TCP/IP are dou niveluri cu acelai nume ca la modelul OSI (nivelul fizic i nivelul reea) i nu trebuie confundate cu acelea pentru c fiecare nivel are funcii total diferite. Ca utilizatori finali avem de a face numai cu nivelul aplicaie, dar cunoaterea detaliat a nivelurilor este vital pentru realizarea unei reele. Din punct de vedere al datelor acestea poart denumiri diferite funcie de nivel.
Denumire nivel Nivelul aplicaie Nivelul transport Nivelul reea Nivelul interfa la reea Nivelul fizic Denumire date datele sunt mprite n mesaje sau fluxuri de octei datele sunt mprite n pachete datele sunt mprite n datagrame datele sunt mprite n cadre datele sunt mprite n iruri de bii

Nivelul reea utilizeaz algoritmul de dirijare pentru a determina dac s livreze datagrama direct sau s o trimit unui ruter i paseaz datagrama interfeei de reea corespunztoare pentru a fi transmis. Pentru dezvoltatorii de soft, modelul TCP/IP ofer flexibilitate maxim prin nivelul aplicaie. Pentru TCP/IP fiabilitatea este o problem ntre utilizatorii finali. Sistemul de operare conine protocoalele TCP/IP, acestea fiind rulate automat de aplicaiile care folosesc reeaua Internetul. 3.14.2. Avantaje TCP/IP Avantajele arhitecturii TCP/IP sunt: independena de platform. Protocolul TCP/IP nu a fost conceput pentru utilizarea ntrun mediu destinat unui anumit tip de hardware sau software. De aceea este utilizat n reele de toate tipurile. adresare absolut. TCP/IP asigur modalitatea de identificare n mod unic a fiecarei maini din Intemet standarde deschise. Specificaiile TCP/IP sunt disponibile n mod public utilizatorilor i dezvoltatorilor. n continuare sunt exemplificate 2 protocale folosite n comunicaia din reele. Marea majoritate a protocoalelor de comunicaie TCP/IP au fost prezentate n referatul autoarei Analiza comparativ a modelului OSI i TCP/IP dat la bibliografie.

141

3.14.3. Exemple de protocoale din modelul TCP/IP Protocolul ARP Protocolul ARP (Address Resolution Protocol) este un protocol folosit pentru a mapa adresele IP v4 pe 32 bii n adres de 48 bii a adaptorului calculatorului gazd cerut de ctre protocolul legturii de date. ARP este manevrat n mod transparent de ctre sistem. Sistemul menine un cache pentru ARP, care este un tabel cu adrese IP pe 32 bii i adresele corespunztoare calculatoarelor gazd pe 48 de bii. Pachetele TCP i UDP ateapt la coad n timp ce protocolul ARP schimb aceste informaii. n cazul n care coada de ateptare ARP de ieire poate fi suprancrcat, aceasta poate cauza pierderea pachetelor. Aceste tabele se construiesc la pornire (butare) sau n timpul ncrcrii TCP/IP. Comanda netstat -p arp afieaz statistici ARP, care arat cte cereri ARP au fost trimise i cte pachete au fost scoase din tabel cnd o intrare este tears pentru a face loc alteia. Protocol RPC (Remote Procedure Call) RPC este o bibliotec de proceduri. Procedurile permit unui proces (proces server) s conduc alt proces (proces client) pentru a executa apeluri de procedur ca i cum procesul client ar executa apeluri n propriul spaiu de adrese. Deoarece clientul i serverul sunt 2 procese separate, nu este necesar ca ele s existe pe acelai sistem fizic (dei ar putea). Fiecare aplicaie RPC a fost asociat cu un numr de program i un numr de versiune. Aceste numele sunt folosite pentru a comunica cu o aplicaie/serverul de aplicaie de pe serverul din sistem. Clientul, cnd face o cerere la server, este necesar s cunoasc numrul de port prin care serverul i accept cererea. Acest numr de port este asociat cu protocolul UDP sau TCP care va fi folosit de serviciu. Portul logic este un numr pe 16 bii care identific n mod unic procesele care ruleaz pe un anumit calculator care are o singur adres IP pentru toate procesele din calculator. Orice aplicaie care realizeaz o conexiune n reea va trebui s ataeze un numr de port acelei conexiuni. Clientul cunoate numrul programului, numrul versiunii i numrul calculatorului i numele sistemului sau numele calculatorului gazd unde rezid serviciul. 3.15. Protocoale de rutare 3.15.1. Rutarea. Algoritmi de rutare. Drumul ales de un pachet de la surs la destinaie poart denumirea de rut (route). Operaia de alegere a unei ci pentru un pachet se numete rutare (routing). Un ruter este, n general, un calculator conectat simultan la mai multe reele. Adresele n Intemet sunt ierarhice. Asta nseamn c o adres d i o oarecare indicaie despre traseul care trebuie urmat pn la acea adres. Rutarea static este configurat de ctre administratorul de reea i nu se pot face modificri n reea fr intervenia administratorului. La rutarea dinamic modificrile circumstanelor reelei se fac prin analiza datelor din mesajele de rutare fr intervenia administratorului.

142

3.15.2. Clasificarea algoritmilor de rutare Clasificarea algoritmilor de rutare se poate face dup: tip: static saudinamic; cale: cale unic sau ci multiple; structur: plan sau ierarhic; locul algoritmului: la nivel de calculator gazd saula nivel de rutor; informaia analizat: starea legturii sau vector-distan; domeniu: domeniu intern saudomeniu extern. Administratorul de reea trebuie s studieze criteriile ce analizeaz fiecare tip de algoritm de rutare pentru a cunoate ce algoritm de rutare s aplice i ce protocol de rutare folosete respectivul algoritm de rutare. 3.15.3. Metrici de rutare Metricile folosite pentru rutare: lungimea cii; fiabilitatea/sigurana algoritmului de rutare; ntrzierea de rutare; limea de band (capacitatea disponibil); ncrcarea de trafic disponibil pe o legtur; costul comunicrii. 3.15.4. Tabelele de rutare Cnd se dorete comunicarea cu un calculator care nu este conectat n aceeai reea local, pachetul va trebui s treac prin mai multe gateway-uri pn la destinaie. Informatia de acest gen este meninut de nivelul IP ntr-o tabel de rutare. Aceast tabel descrie pentru fiecare grup de adrese interfaa care trebuie folosit pentru a ajunge la ele i primul ruter cruia datele trebuie s-i fie trimise urmtorul salt (next hop). Tabela de rutare cuprinde informaii utilizate de ctre software-ul de comutare pentru a selecta calea cea mai bun. Cum arat tabela de rutare i de unde vin informaile din ea depinde de importana ruterului (rutere mici sau rutere de coloan vertebral vezi n capitolul 2). 3.15.5. Protocoale de rutare Protocoalele de rutare pot fi: protocoale interne - fac schimb de informaii ntre ruterele din acelai sistem autonom. Din aceast categorie fac parte: IGRP (Interior Gateway Routing Protocol) - este un protocol de rutare bazat pe vectorul de distan, proprietate CISCO. A fost creat pentru a elimina limitrile RIP n reelele mari. Metrica include: lrgimea de band, ncrcarea, ntrzierile, fiabilitatea. Numrul maxim de hop-uri: 255. EIGRP (Enhanced Interior Gateway Routing Protocol) - tot proprietate CISCO, utilizeaz "starea legturii". Datele colectate sunt memorate n trei tabele:

143

tabela vecinilor - stocheaz informaii despre interfeele dispozitivelor direct conectate; tabela topologiilor - memoreaz graful aferent topologiei reelei (este componenta "starea legturii"); tabela de rutare memoreaz calea cea mai scurt (shortest path) la toate reelelede destinaie (componenta "vectorul distan"). OSPF (Open Shortest Path First) bayat pe starea legturii i utilizeaz cunoscutul algoritm (pentru rutare) Dijkstra pentru calculul arborelui cilor cele mai scurte.Utilizeaz ca metric costul. Este succesorul lui RIP pe Intemet i baza de date "link state" este construit pentru topologia reelei, care este identic pentru toate destinaiile. OSPFv3 suport Ipv6 RIP (Routing Internet Protocol) - este unul dintre cele mai rspndite protocoale IGP n reele interne i mai puin pe Intemet. Asigur schimbul de informaii de rutare, astfel nct ruterele s-i poat modifica dinamic informaiile despre conexiunile la reele - care reea poate fi accesat, de care ruter i ct de departe este (numrul de hop-uri). Dei este nc activ, este considerat depit de ctre protocoalele "link state": OSPF i EIGRP. RIP, dezvoltat n 1969, ca parte a ARPANET, utilizeaz algoritmul bazat pe "vectorul distan". Metrica utilizat: numrul de hop-uri (numrul maxim permis: 15). Fiecare ruter RIP transmite la fiecare 30 sec (valoare implicit) toate informaiile de actualizare, deci genereaz un volum mare de trafic. Ruleaz deasupra nivelului de reea i utilizeaz UDP portul 520 pentru a-i transmite datele. Exist RIPvl i RIPv2 (1994) - ambele utilizeaz rutarea pe baza adreselor IP, dar RIPv2 proiectat pentru CIDR, i menine compatibilitatea cu RIPvl. protocoale externe - lucreaz ntre ruterele din diferite sisteme autonome. Cele mai cunoscute sunt: EGP (External Gateway Protocol), care era utilizat pentru conectarea coloanei vertebrale a Intemetului, declarat acum depit i treptat nlocuit cu BGP; BGP (Border Gateway Protocol) - BGPv4 (2002). El menine tabelele de adrese de reele IP sau prefixe", care definesc reelele ce pot fi accesate ntre sistemele autonome. Este un protocol ce utilizeaz algoritmul bazat pe vector de distan". Suport CIDR i utilizeaz agregarea rutelor pentru scderea dimensiunii tabelelor de rutare. BGP asigur rutarea descentralizat pentru ca Internetul s devin sistem descentralizat. Explicaie Protocoale de rutare bazate pe vectorul distan (Distance-Vector Routing Protocols) Acest tip de protocoale cere ca fiecare ruter pur i simplu s-i informeze vecinii despre tabela sa de rutare. Pentru fiecare cale de rutare, ruterele receptoare capteaz informaia de la vecin la costul cel mai mic i adaug aceast intrare propriei tabele de rutare, pentru reavertizare. Hello i RIP sunt protocoalele de rutare cele mai uzuale, care folosesc rutarea pe baza vectorului de distan.

144

Protocoale de rutare bazate pe starea legturii (Link State Routing Protocols) Acest tip de protocoale cere ca fiecare ruter s ntrein cel puin o hart (graf) parial a reelei. Cnd legtura (conexiunea) la o reea i schimb starea (up to down, or vice versa), reeaua este inundat" cu o notificare, denumit LSA (link state advertisement). Toate ruterele iau act de modificare i-i reconstruiesc rutele corespunztor. Aceast metod este mult mai fiabil mai uor de depanat i mai puin consumatoare de lrgime de band dect n protocoalele bazate pe vectori de distan. De asemenea, este mult mai complex i consum mai mult memorie i calcule. De exemplu, OSPF este un protocol de rutare pe baz de starea legturii. 3.15.6. Metrici folosite pentru evaluarea performanei protocoalelor de rutare Pentru evaluarea performanelor protocoalelor de rutare se analizeaz urmtoarele metrici: rutare ncrcat (peste limit); Numit i suprasarcina rutrii, reprezint numrul total de pachete rutate transmise n timpul testelor pentru msurarea scalaritii protocolului. Controlul pachetelor nu consum o mare cantitate de lime de band, dar pot interfera n mare msur cu transmisia. Rutarea ncrcat se exprim n octei i numr de pachete. numrul de abateri de la calea optim; Acest numr reprezint diferena ntre numrul de salturi pe calea cea mai scurt i pe calea stabilit de rutare pe care circul de fapt pachetele i se msoar n numr de salturi (hopuri). puterea medie disipat; Aceast mrime indic implicit puterea de utilizare a protocolului i se exprim n Joule. pachete livrate cu succes sau rata de pierdere a pachetelor; Reprezint raportul: numrul de pachete transmise de la surs pachete livrate cu succes = ----------------------------------------------------------------numrul de pachete recepionate la destinaie Aceast mrime se exprim n procente. limea de band disponibil; Aceast mrime reprezint cantitatea de date transmise cu succes pe secund n reea i se exprim n Koctei/sec. ntrzierea medie a reelei; Este ntrzierea medie cap-la-cap a prilor care comunic i se exprim n milisecunde. 3.16. Comenzi pentru administrarea reelei, a componentelor sale, precum i a performanei reelei Comenzile de sistem pot msura statistici de reea i s prezinte informaii variate. n continuare este prezentat modul n care le folosim pentru administrarea reelei i cum interpretm statisticile de reea generate de acestea. Statisticile oferite trebuie interpretate cunoscnd configuraia reelei i aplicaiile ce ruleaz. Aceste comenzi fac parte din sistemul de operare i marea majoritate a acestora sunt comune mai multor sistemele de operare. Ele se pot utiliza pentru administrarea zilnic a reelei.

145

Cele mai uzuale vor fi prezentate n continuare detaliat. Sunt comenzi care n funcie de opiune ofer informaii variate care pot aduce precizri n problemele de funcionare ale reelei, acestea fiind mai uor de administrat. n afara comenzilor de monitirizare care aparin sistemului de operare, exist posibilitatea de monitorizare a reelei prin Java. Cele mai importante unelte Java pentru monitorizarea i identificarea problemelor de performan care se pot folosi n aplicaiile Java sunt: vmstat - ofer informaii despre cteva resurse ale sistemului. Raporteaz statistici despre utilizarea memoriei, spaiul de paginare, I/O pe disc, ntreruperile, apelurile sistem, activitatea unitii centrale de prelucrare. iostat raporteaz informaii detaliate despre I/O pe disc topas - raporteaz activitatea unitii centrale de prelucrare a reelei, I/O pe disc i a procesului. Desigur exist i utilitare pentru monitorizarea reelei, dar lucrarea nu prezint varianta comercial a administrrii reelei. 3.17. Monitorizarea resurselor interne ale calculatorului i a performanelor acestora 3.17.1. Monitorizarea procesorului, a memoriei, a discului i a sistemului de fiiere i interpretarea statisticilor obinute Comanda sar ofer informaii de performan i se folosete pentru a determina utilizarea UCP i gtuirile.
# sar -q 5 3 19:31:42 runq-sz %runocc swpq-sz %swpocc 19:31:47 1.0 100 1.0 100 19:31:52 2.0 100 1.0 100 19:31:57 1.0 100 1.0 100 Average 1.3 95 1.0 95

n exemplu de mai sus variabila runq-sz (numrul de stri curente ale procesului n memorie ateptnd execuia) nu trebuie s fie mai mare de 4 pentru o unitate central de prelucrare. n mod consistent, caz contrar aceasta indic o gtuire a unitii centrale de prelucrare. Dac totui sistemul funcioneaz lent i asta nu se datoreaz unitii centrale de prelucrare trebuie examinate ale componente (subsistemele). Utilitarul cel mai bun pentru o privire de ansamblu a utilizrii resurselor cnd ruleaz lucrri ale mai multor utilizatori este comanda vmstat. Aceasta raporteaz activitatea UCP, a I/O, cum folosesc datele memoria i paginarea. Ieirea comenzii # vmstat 5 pentru o perioad de test de 5 secunde este urmtoarea:
kthr memory page faults UCP ----- ----------- ------------------------ ------------ ----------r b avm fre re pi po fr sr cy in sy cs us sy id wa 0 0 8793 81 0 0 0 1 7 0 125 42 30 1 2 95 2 0 0 8793 80 0 0 0 0 0 0 155 113 79 14 8 78 0 0 0 8793 57 0 3 0 0 0 0 178 28 69 1 12 81 6 0 0 9192 66 0 0 16 81 167 0 151 32 34 1 6 77 16 0 0 9193 65 0 0 0 0 0 0 117 29 26 1 3 96 0 0 0 9193 65 0 0 0 0 0 0 120 30 31 1 3 95 0 0 0 9693 69 0 0 53 100 216 0 168 27 57 1 4 63 33

146

0 0 0 0 0 0 0 0 0

0 9693 0 10193 0 11194 0 11194 0 5480 0 5467 1 4797 1 3778 0 3751

69 57 64 63 755 5747 5821 6119 6139

0 0 0 0 3 0 0 0 0

0 0 0 0 1 3 21 24 0

0 0 0 0 0 0 38 201 1080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

134 124 168 141 154 167 191 188 145

96 60 29 32 29 57 111 65 107 71 39 68 192 125 170 98 24 54

12 4 84 0 1 3 94 2 2 8 62 29 12 7 81 0 13 8 78 2 1 16 79 5 20 5 42 33 5 8 41 46 1 10 89 0

Pentru comanda vmstat 5, intrarea b indic numrul proceselor care nu pot fi executate deoarece ele ateapt discul, terminalul sau operaii de I/O cu reeaua. Valori continue, sczute, (mai puin de 10) care apar n cmpul id (idle) de pe coloane UCP indic faptul c unitatea central de prelucrare este foarte ocupat, dar nu reprezint neaprat o gtuire. La testele prezentate n lucrare am determinat n ce condiii apare gtuirea unitii centrale de prelucrare. Dac prin comanda vmstat obinem timpi de ateptare mari pentru operaiile de I/O, folosim comanda iostat pentru a avea informaii detaliate despre folosirea UCP i discului. Comanda iostat 5 2, raporteaz activitatea I/O i utilizarea UCP la fiecare 5 secunde i statisticile afiate se vor opri dup a 2-lea raport.
# iostat 5 2 tty: tin 0.1 tin 0.2 tout avg-UCP: % user % sys % idle 102.3 0.5 0.2 99.3 " Disk history since boot not available. " tout avg-UCP: 79594.4 % tm_act 0.0 78.2 0.0 Kbps 0.0 1129.6 0.0 % user 0.6 % sys 6.6 % idle 73.7 % iowait 0.1 % iowait 19.2

tty: Disks: hdisk1 hdisk0 cd1

tps 0.0 282.4 0.0

Kb_read 0 5648 0

Kb_wrtn 0 0 0

Prima linie a rezultatului comenzii iostat -D 5 nsumeaz statistici I/O de cnd sistemul a fost pentru prima dat butat. Discurile sunt comparate 5 secunde pentru a vedea care dintre ele este folosit n mod semnificativ mai mult dect altele. Dac aceasta este situaia, atunci soluia este posibilitatea de a muta pri din sistemul de fiiere pe alt disc mai puin ncrcat. Dac discurile ncrcate conin zone de schimb de date (swap), creai zone suplimentare de schimb pe unul sau mai multe discuri din cele nencrcate. Pentru disc putem verifica dac este suprancrcat prin comanda iostat -x 30. Dac suntei singurul utilizator al sistemului putei folosi comanda time pentru a raporta I/O i UCP. Comanda netstat -m afieaz statistici nregistrate de ctre rutinele de administrare a memoriei (mbuf sau clustere). Exist un set predefinit de memorii-tampon din fiecare mrime cu care sistemul pornete dup fiecare rebutare i numrul de memorii-tampon crete dac este necesar. Dac memoriile-tampon nu sunt disponibile imediat cnd o cerere este recepionat, cererea este cel mai adesea pierdut, la fel i pachetele. Dac numrul de cereri cu probleme este n cretere, sistemul poate avea o pierdere de memorie-tampon (mbuf). Dac doar o poriune mare din memorie este disponibil pentru a stoca n memoriitampon fiiere, spaiul de pagini al sistemului este disponibil ca stocare temporar pentru programe care lucreaz date care au fost scoase forat din RAM.

147

# netstat -m 29 mbufs in use: 16 mbuf cluster pages in use 71 Kbytes allocated to mbufs 0 requests for mbufs denied 0 calls to protocol drain routines Kernel malloc statistics: ******* UCP 0 ******* By size inuse calls failed 32 419 544702 0 64 173 22424 0 128 121 37130 0 256 1201 118326233 0 512 330 671524 0 1024 74 929806 0 2048 384 1820884 0 4096 516 1158445 0 8192 9 5634 0 16384 1 2953 0 32768 1 1 0 By type inuse delayed 0 0 0 0 0 0 0 0 0 0 0 memuse free 221 19 135 239 14 82 8 46 1 24 0 hiwat 800 400 200 480 50 125 125 150 12 30 1023 mapb freed 0 0 4 138 54 2 5605 21 27 41 0

calls failed delayed

memmax

Streams mblk statistic failures: 0 high priority mblk failures 0 medium priority mblk failures 0 low priority mblk failures

Tot comanda netstat -m afieaz informaii despre memoria fiecrui procesor pentru sistemele cu mai multe procesoare. Pentru o main cu 2 procesoare ieirea comenzii este:
# netstat -m Kernel malloc statistics: ******* UCP 0 ******* By size inuse 32 68 64 55 128 21 256 1064 512 41 1024 10 2048 2049 4096 2 8192 2 16384 0 calls failed 693 0 115 0 451 0 5331 0 136 0 231 0 4097 0 8 0 4 0 513 0 delayed 0 0 0 0 0 0 0 0 0 0 free 60 9 11 1384 7 6 361 435 0 86 free 117 11 23 1378 11 3 362 434 1 87 free 0 hiwat 2320 1160 580 1392 145 362 362 435 36 87 hiwat 2320 1160 580 1392 145 362 362 435 36 87 hiwat 4096 freed 0 0 0 42 0 0 844 453 0 470 freed 0 0 0 120 0 0 843 449 0 2667 freed 0

******* UCP 1 ******* By size inuse calls failed delayed 32 139 710 0 0 64 53 125 0 0 128 41 946 0 0 256 62 7703 0 0 512 37 109 0 0 1024 21 217 0 0 2048 2 2052 0 0 4096 7 10 0 0 8192 0 4 0 0 16384 0 5023 0 0 ***** Allocations greater than 16384 Bytes ***** By size 65536 inuse 2 calls failed 2 0 delayed 0

Streams mblk statistic failures: 0 high priority mblk failures 0 medium priority mblk failures 0 low priority mblk failures

3.17.2. Monitorizarea mediului de transmisie, a interfeelor i a performanelor acestora i interpretarea statisticilor obinute 3.17.2.1. Monitorizarea mediului de transmisie

148

Cel mai simplu test pentru disponibilitatea (conectivitatea) reelei este comanda ping (ntre server i calculatorul client). Tot comanda ping se folosete pentru a determina starea reelei, pentru a gsi i izola probleme hardware i software i pentru a testa, msura i administra reelele. Ofer informaii generale privind pierderea pachetelor i timpul dus-ntors (ntrzierea). Programul ping se bazeaz pe protocolul ICMP (Internet Control Message Protocol) i trimite un pachet ECHO-REQUEST la calculatorul gazd destinaie, solicitnd un ECHORESPONSE (prin aceasta crend un ir de bii dus-ntors). Cnd pachetul-ecou este recepionat, calculatorul gazd ndeprtat trimite napoi tot un pachet-ecou ctre dispozitivul emitor. Primul pas n msurarea performanei de reea este s determinm dac reeaua chiar lucreaz. Dac traficul nu traverseaz reeaua nu putem vorbi de performan. Dac vrei s testai probleme de comunicaie folosind ping, ncepei prin a verifica calculatorul local pentru a v asigura c interfaa de reea local este operaional, i apoi cretei raza de aciune a testului la calculatoarele gazd ndeprtate i la pori. Comanda ping testeaz dac un calculator gazd de la distan este activ. Dac ping nu afieaz ieiri, atunci calculatorul de la distan este deconectat sau este defect. Recepionnd un pachet de la calculatorul gazd ndeprtat nseamn c reeaua este disponibil pe calea dintre clientul i serverul care au comunicat. n caz contrar exist probleme cu un dispozitiv al reelei sau cu legtura dintre dispozitive. Dac serverul comunic spre ali clieni nseamn c acesta este funcional i celelalte legturi funcioneaz. Se ia calculatorul gazd care nu a rspuns la testul ping i se conecteaz pe o alt legtur funcional. Dac nu rspunde la ping problema este de la dispozitivul de reea al acestui calculator, n caz contrar de la legtura iniial. Pentru a determina problemele dispozitivului de reea sunt necesare alte teste. Folosii comanda netstat -i pentru a monotoriza starea interfeei de reea n timpul experimentului (vedei dac sistemul pierde pachete). Testai i monitorizai i alte sisteme pentru comparaie, deoarece rutorul sau reeaua pot avea probleme. Trimind doar un singur pachet ping la calculatorul gazd ndeprtat determinm disponibilitatea reelei. n schimb, dac trimitem un ir de pachete prin ping determinm performana reelei pentru conexiunile ntre client i server. Testul ping folosind pachete de dimensiuni mari este exemplificat n subcapitolul Monitorizarea datelor care circul prin reea. Formatul comenzii ping este: ping [-dfnqrvR][-c numrtor][-i ateptare][-l prencrcare][-p ablon][-s dimensiune pachet] Putei folosi diferite opiuni i parametrii pentru ping, care pot fi utilizai pentru a testa avansat reeaua. Pentru opiunile i parametrii implicii informaiile despre disponibilitate sunt suficiente. Opiuni pentru comanda ping: -c specific numrul de pachete pe care l trimitem. Dac nu folosii opiunea -c (de la count=numr) ping transmite ncontinuu datagrame pn este oprit i nu poate fi folosit n scripturi. -s specific lungimea pachetelor; putei folosi aceast opiune pentru a verifica

149

fragmentarea i reasamblarea; -f trimite pachetele la intervale de 10 ms sau imediat dup fiecare rspuns. Doar superutilizatorul poate folosi aceast opiune. Aceast opiune ncarc reeaua i de aceea trebuie folosit cu precauie. Exemplul urmtor folosete ping cu opiunea -c pentru a limita numrul de datagrame trimise i recepionate. Ping testeaz i msoar traficul ntre sistemul local i sistemul testat.
$ ping -c5 pluto PING pluto (193.226.34.186): 56 data bytes 64 bytes from 193.226.34.186: icmp_seq=0 ttl=249 64 bytes from 193.226.34.186: icmp_seq=1 ttl=249 64 bytes from 193.226.34.186: icmp_seq=2 ttl=249 64 bytes from 193.226.34.186: icmp_seq=3 ttl=249 64 bytes from 193.226.34.186: icmp_seq=4 ttl=249 ----pluto PING Statistics---5 packets transmitted, 5 packets received, 0%

time=157.229 ms time=29.371 ms time=45.086 ms time=49.171 ms time=136.825 ms packet loss

round-trip min/avg/max = 29.371/83.536/157.229 ms

Folosii opiunea -s pentru a prezenta datagrame de mrime dat i timpul de tranzit RTT (timpul dus-ntors) i pierderea de pachete. 3.17.2.2. Pierderea pachetelor Pachetele pot fi scpate n orice nod de-a lungul cii. Pierderea pachetelor este o condiie de eroare n care pachetele de date sunt transmise corect la un capt al conexiunii, dar nu ajung niciodat, deoarece: reeaua are probleme i pachetele se defecteaz n timpul transmisiei; pachetele sunt scpate la un rutor, deoarece reeaua intern se congestioneaz. Ce efect are pierderea pachetelor ? Principalul efect observabil al pierderii pachetelor este slaba performan a vitezei de transport a datelor. Dar pierderea pachetelor nu este singura cauz a unei performane sczute. Pierderea pachetelor se manifest n diferite moduri funcie de protocolul care este testat. Anumite condiii de eroare pot afecta un protocol, dar nu i pe altele.

Dac pierderea pachetelor este peste 0,1% (persist), trebuie fcute alte investigaii. Pachetele deteriorate sunt uneori un indiciu al problemelor (erorilor) hardware (conectori, terminatori, urmrirea continuitii cablurilor). Pierderea pachetelor poate fi sporadic, caz n care poate fi util un script pentru ping la intervale specificate, rezultatele fiind salvate ntr-un fiier. Dac ping rspunde la test, dar telnet i ftp nu, poate fi vorba de o eroare din cauza expirrii timpului TTL. Putei extinde timpul TTL pentru datagram cu opiunea -T. 3.17.2.3. Statistici obinute cu ping Pentru pachete multiple trimise prin ping la calculatorul gazd ndeprtat rezultatul este

150

afiat ca procent de pachete care nu au fost recepionate. Un program de performan de reea poate utiliza statistici ping pentru a obine informaii de baz referitoare la starea reelei ntre 2 puncte finale. n UNIX programul ping trimite continuu pachete la calculatorul destinaie pn cnd utilizatorul apas tastele CTRL-C. Exemplu de comand ping care folosete pachete multiple.
$ ping 193.226.34.186 PING 193.226.34.186 (193.226.34.186):56 data bytes 64 bytes from 193.226.34.186:icmp_seq=0 ttl=255 time=0.703 64 bytes from 193.226.34.186:icmp_seq=1 ttl=255 time=0.661 64 bytes from 193.226.34.186:icmp_seq=2 ttl=255 time=0.647 64 bytes from 193.226.34.186:icmp_seq=3 ttl=255 time=0.623 64 bytes from 193.226.34.186:icmp_seq=4 ttl=255 time=0.695 ^C ---193.226.34.186 ping statistics --5 packets transmitted,5 packets received,0%packet loss round-trip min/avg/max/stddev =0.623/0.665/0.703/0.031 ms $ ms ms ms ms ms

n acest exemplu s-a primit rspuns de la toate pachetele care au fost trimise, ceea ce nseamn c nu exist probleme cu reeaua. n caz contrar, ceva pe reea a provocat pierderea de pachete. Dac sunt pachete pierdute dup ce s-a ncheiat testarea cu ping trebuie determinat cauza pierderii pachetelor. Pot fi dou cauze majore ale acestui fenomen: coliziunea pe acel segment de reea; pachetele sunt pierdute de un dispozitiv de reea. ntr-un segment Ethernet doar unei singure staii i este permis s trimit la un moment dat. Dac mai mult de o staie ncearc s transmit n acelai timp apare coliziune. Coliziunile sunt normale pentru reelele Ethernet i nu trebuie ca administratorul reelei s se ngrijoreze. n schimb, dac segmentul Ethernet este suprancrcat, coliziunile vor fi n exces n reea. Cu ct mai mult trafic este generat n reea, cu att mai multe coliziuni apar. Pentru fiecare coliziune, emitorii afectai trebuie s retransmit pachetele, ceea ce cauzeaz alte coliziuni. Cu ct sunt mai multe pachete retransmise, se genereaz mai mult trafic n reea i deci numrul de coliziuni aprute poate crete. Acest fenomen se numete coliziune n lan i afecteaz sever performana segmentului respectiv de reea. Despre coliziuni mai mult n capitolele 2 i 4. Scurgerea de pachete poate avea drept rezultat pierderea de pachete. Toate dispozitivele de reea au memorii-tampon pentru pachete. Cnd pachetele de date sunt primite de la reea ele sunt plasate n aceste memorii ateptnd s le vin rndul s fie transmise. Pierderea pachetelor poate fi cauzat i de un spaiu de memorie-tampon insuficient sau ncrcarea UCP-urilor. Fiecare port al dispozitivului de rutare sau comutare conine o zon de memorii-tampon individuale care accept pachete destinate s prseasc interfaa. Dac apare trafic excesiv de reea sosind mai multe pachete dect poate transmite portul, memoria se va umple. Dac memoria-tampon a dispozitivului de reea s-a umplut, pachetele care vor veni se vor pierde. Acest fenomen se ntmpl frecvent pentru dispozitivele de reea care conecteaz reelele rulnd la viteze diferite (de exemplu comutator sau rutor 10/100). Dac traficul sosete printr-o conexiune de 100 MB i este destinat unor legturi de vitez sczut (10 MB), pachetele vor fi salvate n memorii i curnd se vor satura, cauznd pierderea de pachete i retransmiterea lor de ctre dispozitivul emitor. Pentru a micora acest efect, dispozitivele de reea sunt configurate pentru a aloca spaii

151

de memorare mai ample pentru manipularea pachetelor. Nu putem prevedea toate condiiile reelei pentru o bun funcionare i pierderea de pachete nc va apare. 3.17.2.4. Monitorizarea limii de band disponibile Limea de band maxim disponibil cap-la-cap ne d ncrcarea de trafic care traverseaz calea respectiv. Msurarea limii de band disponibile a reelei prin comanda ttcp Ofer o msur realistic a performanei de reea ntre 2 sisteme, deoarece permite ca msurtorile s fie luate att de la punctul local ct i de la punctul ndeprtat al transmisiei. Utilizatorii care ruleaz aplicaii ce transmit structuri mari de date vor avea o lime de band disponibil mai mic dect utilizatorii care vor rula aplicaii ce vor transmite structuri de date mai mici. Opiunea -l seteaz lungimea paginii scrise/citite (putei ncerca cu 32 koctei=32768 bii, 64k, 128k) pentru a stabili care este cea mai bun valoare pentru performan. ttcp transfer date prin TCP de la memorie la memorie ntre sistemele finale i msoar limea de band disponibil TCP cap-la-cap. De exemplu pe o reea 100BaseT obinei peste 8500 kBps pentru semi-duplex i peste 11500 kBps pentru full duplex. Exemplul urmtor ilustreaz statistica pe care o observai dac ai rulat un simplu test ttcp ntre dou staii de lucru pe o reea ,,curat. Pe prima staie de lucru introducei comanda: ttcp - r - s i vei obine:
ttcp-r: ttcp-r: ttcp-r: ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp socket ttcp-r: accept from 193.226.34.186 16777216 bytes in 19.99 real seconds = 819.60 KB/sec +++ 10288 I/O calls, msec/call = 1.99, calls/sec = 514.67

ttcp-r: 0.1user 3.4sys 0:19real 17%

La a 2-a staie de lucru introducei comanda: ttcp - t - s nume_prima_staie i obinei:


ttcp-t: ttcp-t: ttcp-t: ttcp-t: ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> venus socket connect 16777216 bytes in 19.98 real seconds = 820.02 KB/sec +++ 2048 I/O calls, msec/call = 9.99, calls/sec = 102.50

ttcp-t: 0.0user 2.3sys 0:19real 12%

Statisticile limii de band disponibile sunt scrise ngroat i sunt exprimate n kBps. Valorile obinute pe cele 2 staii de lucru sunt apropiate i indic o performan bun de reea ntre sisteme. Pentru msurarea limii de band a reelei pentru reelele locale se poate folosi i netperf.

152

Atenie! Pentru reele rspndite pe arii ntinse (care comunic ntre ele prin Internet limea de band nu poate fi msurat precis). 3.17.2.5. Monitorizarea interfeelor Comanda ifconfig seteaz sau verific interfeele de reea TCP/IP. Atribuie adresele IP, masca subreelei i adresele de difuzare (broadcast) pentru fiecare interfa. ifconfig este realizat n timpul butrii prin scriptul principal de configurare a reelei (/etc/init.d/network). Comanda ifconfig seteaz valorile specifice pentru interfee temporar i le niializeaz, doar pentru teste, n schimb comanda chdev pstreaz setrile dup rebutare. 3.17.2.6. Identificarea i setarea interfeelor de reea Placa de reea se poate identifica la iniializarea sistemului de operare i din lista componentelor hardware de pe calculator. Folosind utilitarul ifconfig cu opiunea -a putei identifica din informaiile afiate care sunt interfeele de reea. Urmtorul pas este setarea pori implicite. Comanda ifconfig verific dac interfaa a fost setat corect. Parametrii de reea care se pot modifica de ctre administrator prin comanda ifconfig sunt: dimensiunea cozii de transmisie a adaptorului (valori 16, 32, 64, 128 i implicit 256); driverul nu suport coad software; dimensiunea cozii de recepie (16, 32, 256); viteza mediului de transmisie; spaiul inter-pachete (gap) (valori valide n intervalul 96 252, incrementate cu 4); Pentru viteze de transmisie a mediului de comunicaie de 100 MB, (valoarea implicit) este 0,96 microsecunde. dimensiunea bufferului de recepie. Dimensiunea minim este dimensiunea cozii de recepie i maxim este 2 kB (valoarea implicit 384). nainte de a rula comanda ifconfig interfaa trebuie dezataat i la final din nou ataat, aa cum se vede mai jos:
# ifconfig en0 detach # chdev -l ent0 -a tx_que_size=128 # ifconfig en0 hostname up

Comanda netstat afieaz informaii cu privire la trafic pe interfeele de reea configurate, respectiv: rutele i starea lor; statistici cumulative pentru interfa; numrul de pachete recepionate, transmise i pierdute n subsistemele care comunic; adresa oricrui protocol de control al blocurilor, asociat cu socketurile i starea tuturor socketurilor. Comanda netstat: afieaz care interfee de reea sunt configurate i care sunt disponibile. Tot comanda netstat arat starea reelei prin identificarea socketurilor active, a rutrii i al traficului. Putei observa adresele de reea pentru interfee i unitatea maxim de transmisie MTU (Maximum Transmission Unit), depinznd de opiunea selectat.

153

Socket poate fi tradus prin racord, muf, soclu. Socket, din punct de vedere hardware, reprezint un punct final al unei legturi de comunicaie n ambele sensuri dintr-o reea. Socket, din punct de vedere software, reprezint un punct final ntre 2 programe care comunic n reea. Altfel spus, este o abstraciune software folosit pentru a reprezenta fiecare capt al unei conexiuni ntre 2 procese care ruleaz n reea. Fiecare socket (TCP i UDP) este ataat unui port astfel nct s identifice unic programul cruia i sunt destinate datele. Dac aplicaia de reea folosete socketuri se ncadreaz n modelul de operare client-server. Comanda netstat cu opiunea -I este folosit pentru a determina numrul de pachete trimise i recepionate i pentru a afia statistici pentru interfaa specificat pe care le raporteaz la intervalul de timp dat. n schimb netstat -i arat starea tuturor interfeelor configurate.
# netstat -I en0 5 input (en0) output input (Total) output packets errs packets errs colls packets errs packets errs colls 8305067 0 7784711 0 0 20731867 0 20211853 0 0 3 0 1 0 0 7 0 5 0 0 24 0 127 0 0 28 0 131 0 0 CTRL C

Cu opiunea v, comanda netstat afieaz statistici pentru fiecare interfa la nivelul legturii de date (Token Ring, Ethernet, FDDI sau ATM). Aceste statistici prezint erorile de transmisie/recepie datorate erorilor hardware sau de reea, pachete difuzate, ncrcarea DMA, erori datorate coliziunilor sau coliziunilor ntrziate. Cmpurile cele mai importante din ieirea comenzii sunt subliniate.
# netstat -v ------------------------------------------------------------ETHERNET STATISTICS (ent0) : Device Type: IBM 10/100 Mbps Ethernet PCI Adapter (23100020) Hardware Address: 00:60:94:e9:29:18 Elapsed Time: 9 days 19 hours 5 minutes 51 seconds Transmit Statistics: -------------------Packets: 0 Bytes: 0 Interrupts: 0 Transmit Errors: 0 Packets Dropped: 0 Max Packets on S/W Transmit Queue: 0 S/W Transmit Queue Overflow: 0 Current S/W+H/W Transmit Queue Length: 0 Broadcast Packets: 0 Multicast Packets: 0 No Carrier Sense: 0 DMA Underrun: 0 Lost CTS Errors: 0 Max Collision Errors: 0 Late Collision Errors: 0 Deferred: 0 SQE Test: 0 Timeout Errors: 0 Single Collision Count: 0 Multiple Collision Count: 0 Current HW Transmit Queue Length: 0 General Statistics: ------------------No mbuf Errors: 0 Adapter Reset Count: 0 Driver Flags: Up Broadcast Running Simplex 64BitSupport PrivateSegment IBM 10/100 Mbps Ethernet PCI Adapter Specific Statistics: -----------------------------------------------Chip Version: 25 RJ45 Port Link Status : down Receive Statistics: ------------------Packets: 0 Bytes: 0 Interrupts: 0 Receive Errors: 0 Packets Dropped: 0 Bad Packets: 0

Broadcast Packets: 0 Multicast Packets: 0 CRC Errors: 0 DMA Overrun: 0 Alignment Errors: 0 No Resource Errors: 0 Receive Collision Errors: 0 Packet Too Short Errors: 0 Packet Too Long Errors: 0 Packets Discarded by Adapter: 0 Receiver Start Count: 0

154

Media Speed Selected: 10 Mbps Half Duplex Media Speed Running: Unknown Receive Pool Buffer Size: 384 Free Receive Pool Buffers: 128 No Receive Pool Buffer Errors: 0 Inter Packet Gap: 96 Adapter Restarts due to IOCTL commands: 0 Packets with Transmit collisions: 1 collisions: 0 6 collisions: 0 11 collisions: 2 collisions: 0 7 collisions: 0 12 collisions: 3 collisions: 0 8 collisions: 0 13 collisions: 4 collisions: 0 9 collisions: 0 14 collisions: 5 collisions: 0 10 collisions: 0 15 collisions: Excessive deferral errors: 0x0 ------------------------------------------------------------TOKEN-RING STATISTICS (tok0) : Device Type: IBM PCI Tokenring Adapter (14103e00) Hardware Address: 00:20:35:7a:12:8a Elapsed Time: 29 days 18 hours 3 minutes 47 seconds Transmit Statistics: -------------------Packets: 1355364 Bytes: 791555422 Interrupts: 902315 Transmit Errors: 0 Packets Dropped: 0 Max Packets on S/W Transmit Queue: 182 S/W Transmit Queue Overflow: 42 Current S/W+H/W Transmit Queue Length: 0 Broadcast Packets: 18878 Multicast Packets: 0 Timeout Errors: 0 Current SW Transmit Queue Length: 0 Current HW Transmit Queue Length: 0 Receive Statistics: ------------------Packets: 55782254 Bytes: 6679991641 Interrupts: 55782192 Receive Errors: 1 Packets Dropped: 0 Bad Packets: 0

0 0 0 0 0

Broadcast Packets: 54615793 Multicast Packets: 569 Receive Congestion Errors: 0

General Statistics: ------------------No mbuf Errors: 0 Lobe Wire Faults: 0 Abort Errors: 12 AC Errors: 0 Burst Errors: 1 Frame Copy Errors: 0 Frequency Errors: 0 Hard Errors: 0 Internal Errors: 0 Line Errors: 0 Lost Frame Errors: 0 Only Station: 1 Token Errors: 0 Remove Received: 0 Ring Recovered: 17 Signal Loss Errors: 0 Soft Errors: 35 Transmit Beacon Errors: 0 Driver Flags: Up Broadcast Running AlternateAddress 64BitSupport ReceiveFunctionalAddr 16 Mbps IBM PCI Tokenring Adapter (14103e00) Specific Statistics: --------------------------------------------------------Media Speed Running: 16 Mbps Half Duplex Media Speed Selected: 16 Mbps Full Duplex Receive Overruns : 0 Transmit Underruns : 0 ARI/FCI errors : 0 Microcode level on the adapter :001PX11B2 Num pkts in priority sw tx queue : 0 Num pkts in priority hw tx queue : 0 Open Firmware Level : 001PXRS02

Dac pachetele difuzate sunt peste 20% din totalul pachetelor recepionate, reeaua este ncrcat i folosii multidifuzarea care permite ca mesajul s fie trimis unui grup de calculatoare gazd. Dac magistrala MCA (Micro Channel Architecture) pe 32 de bii este prea ncrcat pentru adaptor, DMA (Direct Memory Access) nu mai poate fi operaional pentru pachete. 3.17.2.7. ncrcarea reelei Pentru a verifica suprancrcarea reelei Ethernet calculai (din comanda netstat -v) raportul: n1+ n2

155

suprancrcarea = --------------------------------------------------- , numrul total de pachete transmise unde n1 = numrul transmisiilor fr succes datorate coliziunilor, iar n2 = numrul transmisiilor fr succes datorate erorilor de expirare de timp pe care le raporteaz adaptorul. Dac acest rezultat este mai mare dect 5% reorganizai reeaua pentru a balansa ncrcarea. O alt indicaie pentru reea prea ncrcat (din comanda netstat -v) este dac numrul total de coliziuni de la ieirea comenzii (pentru Ethernet) este mai mare de 10% din numrul total de pachete transmise, conform formulei: numrul de coliziuni ncrcareaEthernet = -------------------------------------------- > 0,1 numrul de pachete transmise Comanda netstat -i monotorizeaz starea interfeelor de reea n timpul experimentului pentru a vedea dac sistemul pierde pachete i prezint coliziunile. netstat -i -Z terge toate contoarele statistice pentru comanda netstat -i. Exemplul urmtor arat rezultatul comenzii netstat -i, care afieaz starea interfeelor care sunt folosite pentru trafic TCP/IP.
$ netstat -i Name Mtu Net/Dest lo0 8232 software le0 1500 loopback Address localhost venus Ipkts 1280 1628480 Ierrs Opkts 0 1280 0 347070 Oerrs Collis Queue 0 0 0 16 39354 0

Rezultatul comenzii prezint: numelui interfeei folosite n transmisie (Name), numrului total de pachete recepionate (Ipkts), numrului total de pachete trimise (Opkts), dimensiunii maxime n octei a pachetelor transmise folosind interfaa (Mtu), numrului total de erori de intrare (Ierrs) i ieire (Oerrs), numrului de coliziuni detectate (Coll). Ieirea comenzii arat cte pachete transmite i recepioneaz o main prin fiecare interfa. O main cu trafic de reea activ (adic puternic) va arta ambele valori pentru Ipkts i Opkts n continu cretere. Calculai rata de eroare a pachetelor care sosesc prin mprirea numrului de erori de intrare (Ierrs) la numrul total de pachete sosite (Ipkts). Rata de eroare a pachetelor care pleac este numrul de pachete eronate de plecare (Oerrs) mprit la numrul total de pachete expediate (Opkts). Dac rata de eroare de recepie este mare (peste 0,25%), calculatorul gazd poate pierde pachete. Calculai rata de apariie a coliziunilor n reea prin mprirea numrului de coliziuni numrate (Collis) prin numrul de pachete plecate (Opkts), total nmulit cu 100. n acest exemplu rata de producere a coliziunilor este 11%. O rat a coliziunilor mai mare dect 5 pn la 10 % poate indica o problem. Pe un sistem dat, dac viteza de apariie a coliziunilor la ieire este n mod constant mai mare dect 5% faa de aceea a altui sistem, aceasta indic probleme fizice precum : ramificaie cu pierderi, transiver, terminator pierdut. Dac coliziunile sunt frecvente reeaua trebuie subdivizat sau memoria este insuficient pe staiile de lucru fr discuri, pentru a nu mai pierde date. n exemplul de mai jos, viteza de apariie a coliziunilor este de aproximativ 0,45%, care

156

este n limite acceptabile. Opiunea netstat -v determin rata de apariie a coliziunii.


netstat -i Name Mtu qfa0 65280 lo0 65535 Network central Address thumper Ipkts 498690 1678915 Ierrs 937 0 Opkts 1066135 1678915 Oerrs 3 0 Coll 4858 0

loopback localhost

Dac numrul de erori aprute (Ierrs) n timpul recepionrii pachetelor de intrare este mai mare dect 1 procent (1%) din numrul total de pachete de intrare din comanda netstst i, adic Ierrs > 0,01 * Ipkts, atunci rulai netstat -m pentru a verifica o lips de memorie a reelei. 3.17.2.8. Comenzi pentru mediul Ethernet Ethernet detecteaz coliziunea prin CSMA/CD (Carrier Sense Multiple Access Collision Detect). Att reelele Ethernet ct i reelele locale IEEE 802.3 sunt reele cu difuzare (n band larg). Cu alte cuvinte toate staiile vd toate cadrele. Fiecare staie trebuie s examineze cadrele recepionate pentru a determina dac staia respectiv este destinaia. Dac aceasta este o destinaie, cadrul este trimis pentru procesare spre un protocol de la un nivel mai sus. Cnd exist probleme legate de mediul Ethernet, folosii comenzile show interfaces ethernet i show interfaces fastethernet care v ofer informaii ce v ajut s izolai problemele cu privire la interfa. Putem indica opional pe linia de comand slotul unui card de reea, interfaa, numrul de pachete al fiecrui tip de protocol care sunt trimise prin interfa. Dac nu dai argumente referitor la slot, interfaa i numrul de pachete, comanda va afia statistici pentru toate interfeele Ethernet din reea. Aceste statistici se refer la: a) starea reelei: dac interfaa este activ sau a fost dezactivat de administrator; b) dimensiunea maxim a pachetului MTU (Maximum Transmission Unit): pe care interfaa l poate manevra (n octei); c) limea de band a intereei: n kilobii per secund; d) ntrzierea interfeei: n microsecunde; e) disponibilitatea interfeei: ca procent din 255 (255/255 reprezint 100%), calculat ca o medie exponenial timp de 5 minute; f) ncrcarea interfeei: ca procent din 255 (idem disponibilitate); g) ultima intrare i ultima ieire: numrul de ore, minute i secunde de cnd ultimul pachet a fost recepionat cu succes (intrare) i transmis (ieire); h) ultima resetare: numrul de ore, minute i secunde sau nimic de cnd interfaa a fost ultima dat resetat datorit unei transmisii care a durat prea mult; i) coada de ateptare de ieire, coada de ateptare pentru intrare, scurgerile: numrul pachetelor scpate din cauza umplerii cozii. j) erorile. Acestea vor fi prezentate separat n capitolul 4. 3.17.3. Monitorizarea datelor care circul prin reea i interpretarea statisticilor obinute Utilizarea pachetelor de dimensiune mare pentru comanda ping O alt problem pentru msurarea disponibilitii este mrimea pachetelor folosite n cererile ping.

157

Multe dispozitive de reea manipuleaz pachete cu ajutorul mai multor memorii-tampon, bazate pe mrimea medie a pachetului. Diferite memorii-tampon manevreaz diferite pachete. Astfel, prea multe pachete dintr-o mrime particular pot cauza pierderea pachetelor pentru categoria respectiv de mrime, n timp ce pachetele de alte dimensiuni trec fr probleme. De exemplu, comutatoarele au de obicei 3 clase de memorii-tampon: una pentru pachete mici, una pentru pachete de mrime medie i ultima pentru pachete mari. Pentru a avea acuratee asupra testrii dispozitivului de reea trebuie s trimitei pachete de mrime diferit pentru a verifica diferite memorii-tampon. Anumite aplicaii care testeaz performana reelei v permit s selectai mrimea pachetelor folosite pentru testare. Atenie! Din motive de securitate, marea majoritate a sistemelor de operare UNIX, permit doar superuser-ului s trimit prin ping pachete de dimensiune mare. Avei grij cnd trimitei pachete de dimensiunea mare ctre serverele de la distan s nu afectai funcionarea acestora. Mrimea implicita a pachetului folosit de ping este de 64 octei (56 octei de date i 8 octei antetul ICMP). Dac folosii opiunea -s (dimensiune pachet) putei modifica mrimea pachetului pn la dimensiunea maxim permis pe un segment de reea (de exemplu pentru reele Ethernet este de 1500 octei). Dup ce alternai mrimi diferite ale pachetelor n comanda ping pe ecran va apare o statistic n care sunt informaii legate de pierderea de pachete i timpii parcuri de pachete ntre surs i destinaie. Exemplu de comand ping care folosete pachete de dimensiune mare.
# ping -s 1000 193.226.34.186 PING 193.226.34.186 (193.226.34.186):1000 1008 bytes from 193.226.34.186:icmp_seq=0 1008 bytes from 193.226.34.186:icmp_seq=1 1008 bytes from 193.226.34.186:icmp_seq=2 1008 bytes from 193.226.34.186:icmp_seq=3 1008 bytes from 193.226.34.186:icmp_seq=4 1008 bytes from 193.226.34.186:icmp_seq=5 1008 bytes from 193.226.34.186:icmp_seq=6
^C

data bytes ttl=127 time=2.947 ttl=127 time=2.972 ttl=127 time=2.964 ttl=127 time=2.955 ttl=127 time=3.089 ttl=127 time=2.991 ttl=127 time=2.983

ms ms ms ms ms ms ms

---193.226.34.186 ping statistics --7 packets transmitted,7 packets received,0%packet loss round-trip min/avg/max/stddev =2.947/2.985/3.089/0.058 ms
#

n acest exemplu toate pachetele de dimensiune mare au fost recepionate cu succes, adic toate segmentele de reea ntre calculatorul surs i calculatorul destinaie transport fr probleme pachete largi de date. Dac exist pachete pierdute de dimensiune mare i nu exist pierderi pentru pachetele de dimensiune mic, nseamn c problema este la memoria-tampon a unui rutor sau comutator undeva n reea. Marea majoritate a rutoarelor i comutatoarelor permit administratorilor s schimbe dimensiunea alocat memoriei-tampon pentru a seta marea majoritatea acestora la o dimensiune particular a pachetului. 3.17.4. Monitorizarea rutrii i a tabelelor de rutare i interpretarea statisticilor obinute Comanda traceroute se folosete n testarea reelei, msurarea i administrarea ei. Comanda traceroute este foarte folosit pentru reele izolate i probleme ale rutoarelor n

158

reelele mari eterogene. Afieaz numele i adresele tuturor rutoarelor intermediare care suport cmpul timp-de-via TTL (time-to-live) n IP. Afieaz i cantitatea de timp pe care pachetul l petrece cltorind ctre rutor, n rutor i prsind rutorul. Atenie! Comanda traceroute crete ncrcarea reelei i trebuie luat n considerare acest aspect cnd testm reeaua cu aceast comand. Deoarece aduce ncrcare pe reea nu folosii comanda traceroute n timpul operaiilor obinuite sau din scripturi automate. 3.17.4.1. Testarea rutrii cu comanda traceroute Comanda ping confirm disponibilitatea reelei IP, dar nu poate puncta probleme izolate. De exemplu, cnd exist multe salturi (pori i rutoare) ntre sistemul dvs. i destinaie poate apare o problem undeva de-a lungul cii. Ping nu informeaz motivele pierderii pachetului. Sistemul destinaie poate avea o problem, dar este necesar s cunoatei unde a fost pachetul pierdut. De aceea, comanda traceroute poate s v informeze unde este localizat pachetul i pentru ce ruta a fost pierdut. Dac pachetele dvs. trebuie s treac prin rutoare i legturi care aparin i sunt administrate de alte companii este dificil s verificm legtura ntre rutoare prin comanda telnet. De asemenea, rutoarele pot fi verificate i cu cu netstat. Reinei c primul pachet spre fiecare poart sau destinaie are nevoie de un timp dus-ntors mai lung, datorit ncrcrii cauzate de ARP. n reelele larg rspndite geografic, primul pachet consum mai mult memorie datorit stabilirii conexiunii i poate cauza o depire a acestui timp. Timpul implicit pentru fiecare pachet este de 3 secunde. l putei modifica cu opiunea -w. n cazul n care folosii DNS de fiecare dat nainte ca traceroute s trimit un pachet, serverul DNS este cutat. Comanda traceroute poate avea probleme pentru o cale lung pn la destinaie, sau rute de reea complexe. Dac problema este de la legtura de comunicaie, folosii un timp de expirare mai lung cu opiunea -w. 3.17.4.2. Folosirea traceroute pentru ci redundante ntr-o reea care are ci redundante, este de dorit s determinm pe care cale o iau pachetele la un moment dat. Dac determinai c pachetele nu urmeaz o cale eficient, putei face modificri simple de configuraie ale rutoarelor pentru a modifica valoarea timpului de rspuns. Programul UNIX traceroute permite ca administratorul de reea s determine exact pe ce rut merg pachetele ntre dou puncte ale reelei. Traceroute folosete valorile timpului de via IP TTL (Time To Live). Valoarea TTL specific cte hopuri (escale, salturi) face un pachet individual nainte de a expira. Dac rutorul primete un pachet cu o valoare TTL expirat, raporteaz dispozitivului de reea care a trimis pachetul c a aprut o problem. Rutorul nsui trebuie s returneze pachetul, iar fiecare rutor traversat de-a lungul cii reelei este identificat. Pornind de la valoare 1 pentru TTL i incremetnd-o la fiecare ncercare ping, utilizatorul traceroute foreaz rutoarele ndeprtate de-a lungul cii reelei s expire pachetul ping i s ntoarc ctre client pachetul ICMP neajuns la destinaie. Formatul comenzii traceroute este:

159

traceroute [-dFinrvx][-f primul timp de via][-g poarta][-i interfaa][-m timpul de via maxim][-p portul][-q numrul de cereri][-s adresa surs][-t tos][-w timp de ateptare] host [lungime pachet] Valorile implicite pentru toate opiunile se folosesc pentru a trimite probe simple traceroute la calculatorul gazd ndeprtat. Exemple de locaii spre care putei proba comanda traceroute prin Internet gsii la adresa http://www.tracert.com/cgi-bin/trace.pl. Rezultatele afiate de programul traceroute arat fiecare rutor care rspunde la pachetul de test expirat de-a lungul cii ctre calculatorul gazd destinaie. Timpii de rspuns dus-ntors pot varia pentru diferite ncrcri pe rutoarele individuale. Cel mai bun lucru este s alegei teste de baz sub diferite ncrcri ale reelei pentru a vedea cum i cnd fiecare cale a reelei este utilizat. 3.17.4.3. ncrcare echilibrat (load balancing) Comanda route poate fi folosit pentru a crea, aduga, menine i terge intrri n tabelele de rutare statice ale reelei, pentru a umple tabelele de rutare i pentru a afia informaii (metrici) despre rute. n mod normal, tabelele de rutare sunt manevrate automat de demonii (comenzile de pe server) routed i gated. Comanda route este folosit pentru a ruta trafic napoi de la calculatorul gazd. Este cel mai bine s folosim rutarea prin calculatorul gazd. Folosind aceast rutare special prin calculatorul gazd ntre pori i reea poate fi o metod efectiv de echilibrare a ncrcrii reelei prin sistemele front-end. Echilibrarea este limitat de ctre limea de band a reelei destinaie. Cnd reeaua destinaie are lime de band mai mult relativ la sistemele front-end, aceast form de echilibrare poate fi foarte util. Deciziile de rutare sunt fcute pe baza adresei Internet. Dac avei probleme de rutare, folosii opiunea -n pentru comanda route, care va afia adresele IP mai degrab dect a face un DNS i s afiai numele calculatoarelor gazd (comanda netstat -rn afieaz tabelele de rutare). 3.17.5. Monitorizarea protocoalelor, a performanelor acestora i interpretarea statisticilor obinute Comanda ttcp este folosit pentru a testa performane TCP i UDP. Aceasta ofer o msur mai realistic a performanei dect testele standard (ping, rup, spray). Permite ca msurtorile s fie fcute att la captul local ct i cel ndeprtat al transmisiei. Comanda netstat -p protocol, prezint statistici despre protocolul dat ca variabil (ip, tcp, udp, icmp) cu privire la numrul total de pachete recepionate, numrul total de fragmente recepionate, fragmente pierdute dup expirarea timpului, sum de control greit a antetelor, pachete trimise de la calculatorul gazd (nu cuprinde datagramele transmise, depirea memoriilor-tampon ale socketului). Exemple ale comenzii netstat pentru protocoalele IP, UDP i TCP:

160

# netstat -p ip ip: : 491351 total packets received 0 bad header checksums 0 with size smaller than minimum 0 with data size < data length 0 with header length < data size 0 with data length < header length 0 with bad options 0 with incorrect version number 25930 fragments received 0 fragments dropped (dup or out of space) 0 fragments dropped after timeout 12965 packets reassembled ok 475054 packets for this host 0 packets for unknown/unsupported protocol 0 packets forwarded 3332 packets not forwardable 0 redirects sent 405650 packets sent from this host 0 packets sent with fabricated ip header 0 output packets dropped due to no bufs, etc. 0 output packets discarded due to no route 5498 output datagrams fragmented 10996 fragments created 0 datagrams that can't be fragmented 0 IP Multicast packets dropped due to no receiver 0 ipintrq overflows # netstat -p udp udp: 11521194 datagrams received 0 incomplete headers 0 bad data length fields 0 bad checksums 16532 dropped due to no socket 232850 broadcast/multicast datagrams dropped due to no socket 77 socket buffer overflows 11271735 delivered 796547 datagrams output # netstat -p tcp tcp: 63726 packets sent 34309 data packets (6482122 bytes) 198 data packets (161034 bytes) retransmitted 17437 ack-only packets (7882 delayed) 0 URG only packets 0 window probe packets 3562 window update packets 8220 control packets 71033 packets received 35989 acks (for 6444054 bytes) 2769 duplicate acks 0 acks for unsent data 47319 packets (19650209 bytes) received in-sequence 182 completely duplicate packets (29772 bytes) 4 packets with some dup. data (1404 bytes duped) 2475 out-of-order packets (49826 bytes) 0 packets (0 bytes) of data after window 0 window probes 800 window update packets 77 packets received after close 0 packets with bad hardware assisted checksum 0 discarded for bad checksums 0 discarded for bad header offset fields 0 connection request 3125 connection requests 1626 connection accepts 4731 connections established (including accepts) 5543 connections closed (including 31 drops) 62 embryonic connections dropped 38552 segments updated rtt (of 38862 attempts) 0 resends due to path MTU discovery 3 path MTU discovery terminations due to retransmits 553 retransmit timeouts 28 connections dropped by rexmit timeout 0 persist timeouts 464 keepalive timeouts 26 keepalive probes sent 1 connection dropped by keepalive

161

0 0 0 0

connections in timewait reused delayed ACKs for SYN delayed ACKs for FIN send_and_disconnects

3.17.5.1. Probleme de performan pentru FTP Pentru a investiga problemele de performan pentru trimitere (upload) folosii netstat pentru a nregistra valorile pentru pachete trimise i pachete retransmise, trimitei cantiti mari de date (de exemplu cu FTP la cteva servere FTP ndeprtate) i folosii din nou netstat pentru a nregistra noile valori pentru pachetele trimise i pachetele retransmise. Scdei cele 2 valori corspunztoare celor 2 situaii de test. Dac valoarea pachetelor retransmise crete mai mult (cu cteva procente) dect creterea pachetelor trimise, n aceast situaie apare o problem de pierdere de pachete asociat cu expediere de date. Alte sisteme de operare dect Windows (de exemplu MacOSX, Linux), raporteaz pentru comanda netstat -s- p tcp rezultate care includ i pachetele duplicate recepionate precum i segmentele recepionate. Un pachet duplicat poate fi recepionat dac un pachet de confirmare pe care calculatorul l trimite (rspuns pentru pachetele de date recepionate de la sistemul final ndeprtat) a fost pierdut i nu a ajuns la calculatorul ndeprtat, astfel nct calculatorul ndeprtat retransmite pachetul de date. Pentru a investiga problemele de performan pentru recepie (download) folosii netstat pentru a nregistra valorile pentru pachete recepionate i pachete duplicate, descrcai date multe prin FTP (evitnd web proxy caches) i folosii din nou netstat pentru a nregistra noile valori pentru pachetele recepionate i pachetele duplicate. Scdei cele 2 valori corespunztoare celor 2 situaii de test. Dac valoarea pachetelor duplicate crete peste cteva procente din valoarea pachetelor recepionate, n aceast situaie apare o problem de pierdere de pachete asociat cu descrcare de date. 3.17.6. Monitorizarea performanelor de reea O parte din comenzile ce vor fi analizate n acest subcapitol cu privire la performan, au mai fost descrise n subcapitolele anteroare, deoarece aveau legtur cu alte aspecte ale reelei. n tabelul de mai jos sunt prezentate comenzile disponibile pentru monitorizarea performanelor de reea.
Comanda

ping spray snoop netstat nfsstat

Descrierea indic confirmarea rspunsurilor hosturilor din reea testeaz sigurana dimensiunii pachetelor. Aceast comand poate spune cnd pachetele pot fi ntrziate sau pierdute. captureaz pachete de la reea i traseaz apelurile de la fiecare client spre fiecare server. afieaz starea reelei, incluznd starea interfeelor care sunt folosite pentru trafic TCP/IP, tabele de rutare IP i statistici pentru protocoalele UDP, TCP, ICMP i IGMP. afieaz statistici despre server i client care pot fi folosite n identificarea problemelor NFS.

3.17.6.1. Confirmarea rspunsurilor calculatoarelor gazd din reea $ ping hostname Dac suspectai probleme de natur fizic folosii comanda ping pentru a obine timpul de

162

rspuns de la calculatoarele gazd din reea. Dac timpul de rspuns de la un calculator gazd nu este n valorile normale pentru distana la care se gsete calculatorul gazd respectiv, trebuie s investigm problemele fizice ale calculatorului gazd respectiv. Problemele fizice por fi cauzate de: mpmntare improprie; lipsa terminalelor; reflexia semnalului lipsa cablurilor sau a conectorilor. Ping fr opiuni trimite un singur pachet ctre un calculator gazd din reea. Dac ping are opiunea -s se trimite cte o datagram pe secund ctre un calculator gazd. Se indic timpul de rspuns dus-ntors (RTT) pentru fiecare datagram i o statistic (RTT).

$ ping -s pluto 64 bytes from pluto (193.226.34.186): icmp_seq=0. time=10. ms 64 bytes from pluto (193.226.34.186): icmp_seq=5. time=0. ms 64 bytes from pluto (193.226.34.186): icmp_seq=6. time=0. ms ^C ----pluto PING Statistics---8 packets transmitted, 8 packets received, 0% packet loss round-trip (ms) min/avg/max = 0/3.33/10

3.17.6.2. Trimiterea de pachete de o anumit dimensiune ctre calculatoare gazd din reea Testarea siguranei dimensiunii pachetelor se face folosind comanda spray. $ spray [-c count -d interval -l packet_size] host name -c count este numrul de pachete care se trimit -d delay interval este numrul de microsecunde de pauz ntre expedierea pachetelor. Dac nu folosii ntrziere (delay) trebuie s rulai fr memorie tampon. -l packet_size este dimensiunea pachetului; host name este calculatorul gazd ctre care se trimit pachete. Exemplu Se trimit 100 pachete (-c 100) ctre un calculator gazd i fiecare pachet are o dimensiune de 2048 octei (-l 2048). Pachetele sunt trimise cu o ntrziere de 20 microsecunde ntre fiecare rafal (-d 20). Prin comanda $ spray -c 100 -d 20 -l 2048 pluto, se trimit 100 pachete de lungime 2048 octei ctre pluto, iar rezultatul comenzii este :
$ spray -c 100 -d 20 -l 2048 pluto sending 100 packets of length 2048 to pluto ... no packets dropped by pluto 279 packets/sec, 571392 bytes/sec

3.17.6.3. Capturarea pachetelor de la reea Pentru a captura pachete de la reea i urmrii apelurile de la fiecare client ctre fiecare server folosim snoop. Aceast comand amprente de timp precise, care permit ca numeroase probleme de performan de reea s fie cu rapiditate izolate.

163

# snoop 3.17.6.4. Verificarea strii reelei Prezentarea informaiilor de stare ale reelei, precum statistici despre starea interfeelor de reea, tabelele de rutare i diferite protocoale le obinem folosind comanda netstat. Comanda netstat poate fi folosit i pentru a determina cantitatea de trafic de pe reea i problemele de performan datorate congestiei reelei. Comenzile nettest (de partea clientului) i nettestd (de partea serverului) ofer teste de performan ale clientului i serverului pentru diferite tipuri de conexiuni de reea care suport cod TCP/IP. Aceasta include domeniu UNIX, comunicaii prin socket TCP i UDP. Vor fi discutate n continuare doar opiunile relevante pentru determinarea performanei de reea. Pentru comanda netstat, opiunea: -i afieaz starea interfeelor TCP/IP; -r afieaz tabela de rutare IP; -s afieaz statistici pentru protocoalele UDP, TCP, ICMP i IGMP. Opiunea i a fost prezentat deja la monitorizarea interfeelor. n exemplul urmtor se prezint ieirea comenzii netstat -s care afieaz statistici despre protocoalele UDP, TCP, ICMP i IGMP.
UDP udpInDatagrams udpOutDatagrams =196543 udpInErrors =187820 = 0 TCP tcpRtoAlgorithm = 4 tcpRtoMin = 200 tcpRtoMax = 60000 tcpMaxConn = -1 tcpActiveOpens = 26952 tcpPassiveOpens = 420 tcpAttemptFails = 1133 tcpEstabResets = 9 tcpCurrEstab = 31 tcpOutSegs =3957636 tcpOutDataSegs =2731494 tcpOutDataBytes =1865269594 tcpRetransSegs = 36186 tcpRetransBytes =3762520 tcpOutAck =1225849 tcpOutAckDelayed =165044 tcpOutUrg = 7 tcpOutWinUpdate = 315 tcpOutWinProbe = 0 tcpOutControl = 56588 tcpOutRsts = 803 tcpOutFastRetrans = 741 tcpInSegs =4587678 tcpInAckSegs =2087448 tcpInAckBytes =1865292802 tcpInDupAck =109461 tcpInAckUnsent = 0 tcpInInorderSegs =3877639 tcpInInorderBytes =-598404107 tcpInUnorderSegs = 14756 tcpInUnorderBytes =17985602 tcpInDupSegs = 34 tcpInDupBytes = 32759 tcpInPartDupSegs = 212 tcpInPartDupBytes =134800 tcpInPastWinSegs = 0 tcpInPastWinBytes = 0 tcpInWinProbe = 456 tcpInWinUpdate = 0 tcpInClosed = 99 tcpRttNoUpdate = 6862 tcpRttUpdate =435097 tcpTimRetrans = 15065 tcpTimRetransDrop = 67 tcpTimKeepalive = 763 tcpTimKeepaliveProbe= 1 tcpTimKeepaliveDrop = 0 IP ipForwarding = 2 ipDefaultTTL = 255 ipInReceives =11757234 ipInHdrErrors = ipInAddrErrors = 0 ipInCksumErrs = 0 ipForwDatagrams = 0 ipForwProhibits = 0 ipInUnknownProtos = 0 ipInDiscards = 0 ipInDelivers =4784901 ipOutRequests =4195180 ipOutDiscards = 0 ipOutNoRoutes = 0 ipReasmTimeout = 60 ipReasmReqds = 8723 ipReasmOKs = 7565 ipReasmFails = 1158 ipReasmDuplicates = 7 ipReasmPartDups = 0 ipFragOKs = 19938 ipFragFails = 0 ipFragCreates =116953 ipRoutingDiscards = 0 tcpInErrs = 0 udpNoPorts =6426577 udpInCksumErrs = 0 udpInOverflows = 473 rawipInOverflows = 0 ICMP icmpInMsgs =490338 icmpInErrors = 0

164

icmpInCksumErrs = icmpInDestUnreachs = icmpInParmProbs = icmpInRedirects = icmpInEchos = icmpInTimestamps = icmpInAddrMasks = icmpInFragNeeded = icmpOutDrops = icmpOutDestUnreachs = icmpOutParmProbs = icmpOutRedirects = icmpOutEchoReps = icmpOutTimestampReps= icmpOutAddrMaskReps = icmpInOverflows = IGMP: 0 0 0 0 0 0 0 0 0

0 618 0 313 477 0 0 0 103 94 0 0 477 0 0 0

icmpInUnknowns icmpInTimeExcds icmpInSrcQuenchs icmpInBadRedirects icmpInEchoReps icmpInTimestampReps icmpInAddrMaskReps icmpOutMsgs icmpOutErrors icmpOutTimeExcds icmpOutSrcQuenchs icmpOutEchos icmpOutTimestamps icmpOutAddrMasks icmpOutFragNeeded

= = = = = = = = = = = = = = =

0 314 0 5 20 0 0 827 0 256 0 0 0 0 0

messages received messages received with too few bytes messages received with bad checksum membership queries received membership queries received with invalid field(s) membership reports received membership reports received with invalid field(s) membership reports received for groups to which we belong membership reports sent

Comanda netstat cu opiunea -r art dac o rut valid spre destinaia dorit este disponibil n exemplul urmtor ieirea comenzii netstat -r afieaz tabela de rutate IP:
Routing Table: Destination Gateway Flags Ref ------------------ -------------------- ----- ----localhost localhost UH earth-bb pluto U 224.0.0.0 pluto U default mars-gate UG Use Interface ------ --------0 2817 lo0 3 14293 le0 3 0 le0 0 14142

Cmpurile de raportul netstat -r (ieirile comenzii) sunt descrise n tabelul urmtor.


Nume cmp Flags Tip U G H D Descriere Calea este activ. Calea este printr-o poart. Calea este spre un host. Calea a fost creat dinamic (s-a folosit redirectare). Arat numrul curent de rute care mpart acelai nivel legtur de date. Indic numrul de pachete care au fost expediate. Listeaz interfaa de reea care este folosit pentru rut.

Ref Use Interface

3.17.6.5. Afiarea statisticilor despre NFS Server i Client. Un calculator poate fi simultan att server NFS (Network File System) ct i client NFS Unul din factorii importani care afecteaz performana NFS este viteza de retransmisie. Dac serverul de fiiere nu poate rspunde la cererea clientului, clientul retransmite cererea de un numr de ori specificat nainte de a termina (nchide conexiunea). Fiecare retransmisie implic ncrcarea sistemului i creterea traficului prin reea. Retransmiterile n numr mare cauzeaz probleme de performan. n cazul n care retransmisiile sunt frecvente, trebuie s verificm: ncrcarea serverelor care consum mult timp pentru a rspunde la cereri; o reea Ethernet care pierde pachete; congestia reelei, care ncetinete transmiterea pachetelor.

165

Comanda:

nfsstat - c afieaz statistici ale clientului nfsstat -s afieaz statistici ale serverului nfsstat -m afieaz statistici de reea pentru fiecare sistem de fiiere.

$ nfsstat c Client rpc: Connection oriented: calls badcalls badxids timeouts 1595799 1511 59 297 cantconn nomem interrupts 1198 0 7 Connectionless: calls badcalls retrans badxids 80785 3135 25029 193 timers nomem cantsend 17399 0 0 Client nfs: calls badcalls clgets 1640097 3112 1640097 Version 2: (46366 calls) null getattr setattr 0 0% 6589 14% 2202 4% wrcache write create 0 0% 13297 28% 1081 2% mkdir rmdir readdir 24 0% 0 0% 906 1% Version 3: (1585571 calls) null getattr setattr 0 0% 508406 32% 10209 0% write create mkdir 69201 4% 7615 0% 42 0% rename link readdir 929 0% 597 0% 3986 0% commit 4364 0% Client nfs_acl: Version 2: (3105 calls) null getacl setacl 0 0% 0 0% 0 0% Version 3: (5055 calls) null getacl setacl 0 0% 5055 100% 0 0% cltoomany 0 root 0 0% remove 0 0% statfs 3107 6%

newcreds 0

badverfs 0

timers 0

timeouts 9543

newcreds 0

badverfs 0

lookup 11506 24% rename 0 0%

readlink 0 0% link 0 0%

read 7654 16% symlink 0 0%

lookup access readlink read 263441 16% 400845 25% 3065 0% 117959 7% symlink mknod remove rmdir 16 0% 0 0% 7875 0% 51 0% readdir+ fsstat fsinfo pathconf 185145 11% 942 0% 300 0% 583 0%

getattr 3105 100%

access 0 0%

3.18. Msurarea performanelor reelei IP O definiie funcional a performanei de reea: Performana reelei ar reprezenta abilitatea (n sens de vitez) de a transporta cantiti mari de date, dar nu este suficient, deoarece pentru anumite aplicaii este important i ntrzierea total ntre punctele finale ale comunicaiei, precum i rata de pierdere a pachetelor (adic cte pachete ajung la destinaie din toalul de pachete trimise). Deci, performana reelei nu nseamn numai vitez de transport. De asemenea, exist diferen ntre descrierea performanei unei pri particulare a reelei i performana reelei ca entitate. Cile cu trafic sczut au mai puin impact asupra metricilor de performan ale reelei n ansamblu, fa de cile cu trafic ncrcat. Parametrii de performan au fost deja analizai. Dup ce am stabilit care sunt indicatorii de performan determinm cum acetia pot fi msurai i cum pot fi interpretate rezultatele msurtorilor. Exist 2 abordri cu privire la colectarea informaiilor. a) abordarea activ: s injectm trafic pentru testare n reea i s msurm performana acesteia n aceste condiii; b) abordare pasiv: colectm informaii de administrare de la elementele active din reea,

166

folosind un protocol dedicat pentru administrare fr a perturba traficul.

a) n aceast categorie se gsesc comenzile sistemului de operare cu privire la administrarea reelei i care au fost prezentate anterior. Exemplificm n continuare comanda ping i traceroute. 3.18.1. Msurarea performanei cu ping Un emitor generaz o cerere de pachet ecou ICMP (Internet Control Message Protocol) i l direcioneaz spre sistemul int dorit. La trimiterea pachetului, emitorul pornete cronometrul. Sistemul destinaie ia antetul ICMP i trimite napoi pachetul la emitor ca un rspuns ecou ICMP. Cnd pachetul sosete la sistemul emitor (de origine), cronometrul se oprete i raporteaz timpul scurs. Rspunsul ping indic c sistemul int este conectat la reea i este n stare funcional s rspund la pachetul ping. Dac trimitei ping la o adres IP ndeprat, atunci putei obine numeroase metrici de performan: timpul scurs pn la rspuns pentru fiecare pachet recepionat, numrul pachetelor pierdute, numrul pachetelor duplicate i pachetele care au fost reordonate de ctre reea. Cnd memoria-tampon a rutorului este suprancrcat, rutorul este forat s descarce pachete i se observ prin ping creterea numrului de pachete pierdute. Folosii regulat testul cu ping pentru mai multe ci din reea pentru a stabili metrica liniei de baz a cii respective. Comparnd aceste valori vei vedea care ci sunt mai solicitate. Multe rutoare folosesc ci rapide de comutare a pachetelor de date, pe cnd, unitatea central de prelucrare a rutorului poate fi folosit s proceseze cererile ping. Procesul de rspuns ping poate primi o prioritate planificat mai sczut, deoarece operaiile rutorului reprezint funcii mult mai critice ale aceastuia. De aceea, poate crete ntrzierea i pierderea pachetelor raportate de ping, ca urmare a algoritmului de planificare i ncrcare a procesului din rutor. Pachetele ping nu pot fi adunate (stivuite). Varind lungimea pachetului i comparnd timpii ping ai unui rutor ctre rutorul urmtor din cale, limea de band a legturii poate fi stabilit cu cteva grade de aproximare cerute, deoarece coada de ateptare din fundal induce nivelul jitterului din reea. 3.18.2. Descoperirea cii folosind traceroute Traceroute este utilitar de administrare a reelei bazat pe timpul depit al mesajului ICMP. O secven de pachete UDP este generate la calculatorul gazd ales ca destinaie (int), cu o valoare cerut n cmpul timp de via TTL (time to live) din antetul IP. Aceasta genereaz o secven de mesaje ICMP cu timp depit care provin de la rutorul pentru care a expirat TTL. Ca i ping, traceroute msoar timpul scurs ntre transmisia i recepia pachetului ICMP corespunztor. n acest caz, rezultatele complete prezentate la execuia traceroute expun nu doar elemente de pe calea spre destinaie, dar i ntrzierea i pierderea de pachete caracteristice fiecrui element de pe cile pariale. Traceroute poate fi folosit de asemenea cu opiuni de a pierde ruta surs pentru a descoperi calea ntre 2 calculatoare gazd ndeprtate. Traceroute este o comand bun pentru raportarea strii sistemului de rutare.

167

3.18.3. Msurtori ntr-un singur sens Ping i traceroute msoar timpul dus-ntors (RTT) ntre 2 puncte de pe aceeai cale a reelei. Reelele IP au trafic n rafal i sunt dominate de trafic TCP, iar traficul TCP folosete un mecanism de control al transportului unde ntoarcerea irul de pachete de recunoatere ACK (acknowledgement) guverneaz aciunile emitorului. Dac datele nu semnaleaz la emitor distorsiunile datorate reelei pentru un interval complet de RTT, atunci pentru adaptarea consecvent la condiiile de reea ale expeditorului vom lua un timp RTT mai mare. Pentru a avea performan, timpul de baz de 1-2 secunde este adecvat. Pentru reelele mari, timpul de baz de msurare este ntre 60 i 300 secunde. Msurarea ntrzierii i a pachetelor pierdute prin ping i traceroute este o valoare cumulativ de pe ambele ci (de trimitere i de ntoarcere) (se msoar ntrzierea i pierderea pachetelor cumulat de pe cele 2 ci). Formula urmtoare calculeaz pachetele ajunse cu succes la destinaie: numrul de pachete pierdute pachete ajunse cu succes = 1 - -----------------------------------------numrul total de pachete Pentru pachete de 100 octei, ping a raportat un timp de rspuns de la 50 ms la 180 ms, iar pierderea pachetelor a mers de la 2% la 8%. 3.18.4. Msurarea performanei cu SNMP Msurarea performanei cu SNMP face parte din abordarea pasiv (b) de colectare a informaiilor pentru msurarea performanelor reelelor SNMP este o aplicaie de administrare a reelelor IP. SNMP poate informa total despre performana reelei n ansamblu (performana total a reelei). Operarea cu SNMP este o operaie nlnuit, unde o staie de administrare direcioneaz periodic liste de diferite elemente de administrare i colecteaz rspunsuri. Aceste rspunsuri sunt folosite pentru a actualiza imaginea asupra strii de operare a reelei. Reordonarea pachetelor apare cnd se folosesc comutatoare paralele pe un singur element de reea i se utilizeaz legturi paralele ntre rutoare. Exist un numr mare de obiecte n MIB incluznd General Objects, Session Statistics Table, Session Sender Table, Reservation Requests Received Table, Reservation Requests Forwarded Table, RSVP (Resource Reservation Protocol) Interface Attributes, Table i RSVP Neighbor Table. 3.19. Indicaii pentru protocoale n urma executrii comenzilor de mai sus 3.19.1. Indicaii pentru protocolul IP

168

Pentru reele cu MTU mic, dac 10% sau mai mult din pachete sunt fragmentate trebuie s investigai pentru a determina cauza. Un numr mare de fragmente indic faptul c protocoalele de deasupra nivelului IP de pe calculatoarele gazd de la distan conduc date ctre IP cu dimensiuni ale datelor mai mari dect MTU a interfeei. Porile sau rutoarele de pe calea reelei pot avea de asemenea un MTU de dimensiune mult mai mic dect alte noduri din reea. Fragmentarea determin ncrcarea suplimentar a UCP astfel nct este important s determinm cauza. Multe aplicaii pot cauza fragmentarea. Pentru protocolul UDP suma de control eronat se poate datora problemelor la cablu sau la cardul de reea. Dac datagramele UDP recepionate sunt datagrame de difuzare, nu sunt generate erori ICMP. Dac aceast valoare este mare investigai cum manevreaz aplicaiile socketutile. Suprancrcarea memoriei-tampon a socketului se poate datora insuficientelor socketuri UDP pentru transmisie i recepie. 3.19.2. Indicaii pentru protocolul TCP Pentru protocolul TCP statisticile prezint: pachete expediate; pachete de date; pachete de date retransmise; pachete recepionate; pachete duplicate; retransmiteri datorate expirrii timpului. Pentru statisticile TCP, comparai numrul pachetelor trimise cu numrul pachetelor de date retransmise. Dac numrul pachetelor retransmise este peste 10 - 15% din totalul pachetelor expediate, TCP indic expirarea timpului astfel nct traficul reelei poate fi prea ncrcat pentru a ntoarce confirmarea ACK nainte de consumarea timpului. O gtuire la nodul receptor sau probleme generale ale reelei pot de asemenea cauza retransmisia TCP, care va crete traficul prin reea, lucru care va contribui la problemele de performan ale reelei. Comparai i numrul de pachete recepionate cu numrul de pachete duplicate. Dac pentru TCP la nodul de transmisie i expir timpul nainte ca s fie recepionat un ACK de la nodul receptor, acesta va retransmite pachetul. Pachetele duplicate apar cnd nodul receptor primete toate pachetele retransmise. Dac numrul pachetelor duplicate depete 10 - 15 %, problema se poate datora traficului de reea sau gtuirii la nodul receptor. Pachetele duplicate sporesc traficul prin reea. Valoarea pentru timpul care expir n cazul transmisiei apare cnd TCP trimite un pachet, dar nu recepioneaz n timp un ACK. Apoi retrimite pachetul. Aceast valoare este incrementat i dac nodul receptor nu primete pachetul eventual l va pierde. Comanda netstat -s prezint statistici pentru fiecare protocol (comparativ cu netstat -p care prezint statistici pentru protocolul specificat). netstat -r opiune relevant pentru performan care afieaz valoarea PMTU (Path Maximmum Transmission Unit = MTU a cii). Pentru 2 calculatoare gazd care comunic de-a lungul unei ci a unei reele complexe,

169

un pachet transmis va fi fragmentat dac dimensiunea acestuia este mai mare dect cel mai mic MTU al oricrei reele pe calea respectiv. Deoarece fragmentarea pachetului poate conduce la reducerea performanei reelei, este de preferat s se evite fragmentarea prin transmiterea de pachete cu o dimensiune care s nu depeasc cel mai mic MTU al cii din reea. Aceast dimensiune se numete PMTU (MTU a cii). Comanda netstat -r afieaz aceast valoare. Comanda netstat -r -f inet afieaz doar tabelele de rutare. Comanda netstat -D afieaz pachetele sosite i plecate pentru fiecare nivel de-a lungul subsistemului de comunicaie i pachetele pierdute la fiecare nivel. Comanda netstat -s afieaz detalii pentru nivelul protocoale. Dac reeaua este gata congestionat, modificarea MTU sau a cozii de ateptare nu ajut. 3.19.3. Dimensiunea maxim a segmentului pentru TCP Dimensiunea maxim a pachetelor pe care TCP le trimite poate avea impact major asupra limii de band, deoarece este mult mai eficient s expediezi prin reea pachetele de dimensiunea cea mai mare. TCP controleaz aceast dimensiune maxim, cunoscut drept dimensiunea maxim a segmentului MSS (Maximum Segment Size) pentru fiecare conexiune TCP. Pentru reele direct ataate, TCP calculeaz MSS folosind dimensiunea MTU a interfeei de reea i apoi scade antetul protocolului care vine cu datele n pachetul TCP (de exemplu pentru MTU de 1500 octei, va rezulta MSS de 1460 octei dup scderea a 20 de octei pentru antetul IP v4 i 20 de octei pentru antetul TCP (pentru IP v6 antetul are 40 octei). Protocolul TCP include un mecanism pentru fiecare capt al conexiunii s anune MSS s fie folosit prin conexiune, cnd conexiunea este creat (cmpul OPTIONS n antetul TCP anun un MSS propus). MSS ales este cea mai mic valoare oferit de cele 2 puncte finale care comunic. Dac un punct final nu ofer propriul MSS, atunci sunt alocai 536 octei, care reprezint o performan sczut. Fiecare punct final cunoate doar MTU-ul reelei la care este ataat i nu cunoate ce dimensiune are MTU al altei reele care poate fi ntre cele 2 puncte finale. TCP tie corect MSS doar dac ambele puncte finale sunt pe aceeai reea. Valoarea MSS anunat de protocolul TCP n timpul setrii conexiunii depinde dac alt punct final este un sistem local pe aceeai reea fizic (sistemele au acelai numr de reea) ori dac acesta este pe o reea diferit (la distan). Deoarece valoarea 1460 octei este cea mai mare posibil pentru MSS care poate fi gzduit fr fragmentare IP, aceast alocare este optim (pentru calculatoarele gazd, din aceeai reea). Comanda netstat -ao afieaz toate conexiunile TCP i cmpul MSS pentru fiecare socket, iar netstat -r afieaz tabelele de rutare i arat dac dimensiunea MTU a cii este de 1500 octei. Valoarea implicit pentru MSS de 512 octei poate fi depit prin specificarea unei rute statice ctre o anumit reea ndeprtat. Comanda nestat - s s-au netstat - p ip indic contorul care numr depirile de flux. Un exemplu de comand netstat r:
Routing tables Destination Gateway Flags Refs Use 0 If en1 PMTU Exp Groups -

Route tree for Protocol Family 2 (Internet): default res101141 UGc 0

170

ausdns01.srv.ibm 10.1.14.0 10.1.14/24 server1 10.1.14.255 127/8 192.1.0/24 en0host1 192.1.1.0 192.1.1/24 en1host1 192.1.1.255

res101141 server1 server1 loopback server1 loopback en1host2 en1host2 en1host1 en1host1 loopback en1host1

UGHW UHSb U UGHS UHSb U UGc UGHW UHSb U UGHS UHSb

1 0 6 6 0 7 0 2 0 2 0 0

225 0 2228 111 0 17 0 109 0 2 2 0

en1 en1 en1 lo0 en1 lo0 en0 en0 en0 en0 lo0 en0

1500 1500 -

=>

=>

171

3.20 Sumar capitol Pe parcursul acestui capitol au fost prezentate probleme legate de administrarea componentelor logice ale reelelor. n prima parte a capitolului s-a analizat sistemul de operare referitor la administrarea proceselor, administrarea unitii centrale de prelucrare, administrarea memoriei interne, administrarea sistemului de fiiere, administrarea dispozitivelor periferice, ncheind cu probleme de performan a acestor resurse. n continuare, s-au prezentat aplicaiile pentru comunicaie i msurtorile asupra ctorva dintre aceste. Protocoalele de comunicaie i protocoalele de rutare sunt amintite pe scurt n cuprinsul acestui capitol. Ultima parte a prezentului capitol este alocat comenzilor de sistem folosite n monitorizarea, administrarea i creterea performanelor reelelor de calculatoare. Capitolul se ncheie cu indicaii pentru protocoalele IP i TCP cu privire la rezultatele obinute n urma executrii comenzilor de sistem prezentate. 3.21. Concluzii Avantajele unei monitorizri continue a performanei sistemului Monitorizarea continu poate face: detectarea uneori a problemelor de baz nainte de a avea efect advers; detectarea problemelor care afecteaz productivitatea utilizatorului; colecteaz date atunci cnd problema apare pentru prima dat; permite s stabilim linia de baz pentru comparare. Pentru o monitorizare cu succes, periodic trebuie s obinem informaii legate de performan de la sistemul de operare, s stocm aceste informaii pentru utilizri viitoare n probleme de diagnoz, n beneficiul administratorului de sistem, s detectm situaiile care cer colectarea de date suplimentare. concluzii Monitorizarea continu a performanelor sistemului se poate realiza prin comenzile sistemului de operare prezentate n acest capitol. Putei folosi i utilitare de monitorizare sau putei scrie dvs. shell scripturi care s nregistreze datele despre starea sistemului cnd apar probleme i s avertizeze asupra problemelor de performan.

172

173

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