Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Modelul de referinta OSI

retele calculatoare



+ Font mai mare | - Font mai mic



Modelul de referinta OSI

Modelul OSI este prezentat in figura 1.7 (mai putin mediul fizic). Acest model se bazeaza pe o propunere dezvoltata de Organizatia Internationala de Standardizare (ISO) ca un prim pas catre standardizarea internationala a protocoalelor folosite pe diferite niveluri. Modelul se numeste ISO-OSI (Open Systems Interconnection), pentru ca el se ocupa de conectarea sistemelor deschise - adica de sisteme deschise comunicarii cu alte sisteme.




Modelul OSI cuprinde sapte niveluri. Principiile aplicate pentru a se ajunge la cele sapte niveluri sunt urmatoarele:

Un nivel trebuie creat atunci cand este nevoie de un nivel de abstractizare diferit.

Fiecare nivel trebuie sa indeplineasca un rol bine definit.

Functia fiecarui nivel trebuie aleasa acordandu-se atentie definirii de protocoale standardizate pe plan international.

Delimitarea nivelurilor trebuie facuta astfel incat sa se minimizeze fluxul de informatii prin interfete.

Numarul de niveluri trebuie sa fie suficient de mare pentru a nu fi nevoie sa se introduca in acelasi nivel functii diferite si suficient de mic pentru ca arhitectura sa ramana functionala.

Modelul OSI nu reprezinta in sine o arhitectura de retea, pentru ca nu specifica serviciile si prtocoalele utilizate la fiecare nivel. Modelul spune numai ceea ce ar trebui sa faca fiecare nivel. ISO a produs de asemenea standarde pentru fiecare nivel, insa aceste standarde nu fac parte din modelul de referinta propriu-zis. Fiecare din standardele respective a fost publicat ca un standard international separat.

Nivelul fizic

Nivelul fizic se ocupa de transmiterea bitilor printr-un canal de comunicatie. Proiectarea trebuie sa garanteze ca atunci cand unul din capete trimte un bit 1, acesta este receptat in cealalta parte ca un bit 1, nu ca un bit 0. Problemele tipice se refera la cati volti trebuie utilizati pentru a reprezenta un 1 si cati pentru un 0, daca transmisia poate avea loc simultan in ambele sensuri, cum este stabilita conexiunea initiala si cum este intrerupta cand au terminat de comunicat ambele parti, cati pini are conectorul de retea si la ce foloseste fiecare pin. Aceste aspecte de proiectare au o legatura stransa cu interfetele mecanice, electrice, functionale si procedurale, ca si cu mediul de trasmisie situat sub nivelul fizic.

Nivelul legatura de date

Sarcina principala a nivelului legatura de date este de a transforma un mijloc oarecare de transmisie intr-o linie care sa fie disponibila nivelului retea fara erori de transmisiei nedetectate. Nivelul de legatura de date realizeaza aceasta sarcina obligand emitatorul sa descompuna datele de intrare in cadre de date, sa transmita cadrele secvential si sa prelucerze cadrele de confirmare trimise inapoi de receptor. Deoarece nivelul fizic nu face decat sa accepte si sa transmita un flux de biti, fara sa se preocupe de semnificatia sau de structura lor, responsabilitatea pentru marcarea si recunoasterea delimitatorilor intre cadre ii revine nivelului legatura de date. Aceasta se poate realiza prin atasarea unor sabloane speciale de biti la inceputul si la sfarsitul cadrului. In cazul in care sabloanele respective de biti pot aparea accidental in datele propriu-zise, trebuie luate masuri speciale de precautie pentru cea aceste sabloane sa nu fie incorect interpretate ca delimitatori de cadre.

Detectarea si corectarea erorilor este o alta sarcina importanta a nivelului legatura de date. Poiectantii au dezvoltat doua strategii de baza pentru tratarea erorilor. O modalitate este ca pe langa fiecare bloc de date trimis sa se includa suficienta informatie redundanta pentru ca receptorul sa poata deduce care a fost caracterul transmis. O alta solutie este sa se includa suficienta redundanta pentru a permite receptorului sa constate ca a aparut o eroare, dar nu care este eroarea, si sa ceara o retransmisie. Prima strategie utilizeaza coduri corectoare de erori, iar cea de-a doua utilizeaza coduri detectoare de erori. Se folosesc in special coduri bloc: de lungime n biti si cu =0 sau 1. Pot avea deci combinatii posibile. Nu le pot folosi pe toate, pentru a evita erorile, si voi folosi doar combinatii utile (m< n). Notam k=n-m bitii de control.

Un zgomot aparut pe linie poate distruge in intregime un cadru. In acest caz, programele nivelului legatura de date de pe masina sursa pot sa retransmita cadrul. Transmiterile multiple ale aceluiasi cadru introduc posibilitatea cadrelor duplicate. Un cadru duplicat poate aparea la transmisie in situatia in care s-au pierdut cadrele de confirmare trimise de la receptor inapoi inspre sursa.

O alta problema care apare la acest nivel  este evitarea inundarii unui receptor lent cu date provenite de la un emitator rapid. In acest scop sunt necesare mecanisme de reglare a traficului care sa permita emitatorului sa afle ce marime are bufferul receptorului la momentul curent.

Daca linia poate fi folosita pentru a trimite cadre in ambele sensuri, atunci apare o noua problema, care trebuie rezolvata de programele de la nivelul legatura de date. Complicatia se refera la concurenta care exista pentru utilizarea linie intre cadrele de confirmare pentru traficul de la A la B si cadrele de date din traficul de la B la A. Pentru rezolvarea ei a fost conceputa urmatoarea solutie: atasarea (piggybacking).

Retelele cu difuzare determina in nivelul legatura de date o problema suplimentara: cum sa fie controlat accesul la canalul partajat. De aceasta problema se ocupa un subnivel special al acestui nivel, si anume subnivelul de acces la mediu.

Nivelul retea

Nivelul retea se ocupa de controlul functionarii subretelei. o problema cheie in proiectare este determinarea modului in care pachetele sunt dirijate de la sursa la destinatie. Dirijarea se poate baza pe tabele satistice care sunt cablate intern in retea si care sunt schimbate rar. Traseele pot fi de asemenea stabilite la inceputul fiecarei conversatii, de exemplu la inceputul unei sesiuni la terminal. In sfarsit dirijarea poate fi dinamica, trasele determinandu-se pentru fiecare pachet in concordanta cu traficul curent din retea.

Daca in subretea exista prea multe pachete simultan, ele vor intra unul pe traseul celuilalt si astfel se vor produce gatuiri. Controlul unor astfel de congestii ii revine tot nivelului retea.

Pentru a calcula suma datorata de clientii retelei, programul trebuie cel putin sa numere cate pachete, sau cate caractere, sau cati biti a trimis fiecare client.

Multe probleme pot aparea atunci cand un pachet trebuie sa treaca dintr-o retea in alta ca sa ajunga la destinatie. Modul de adresare folosit de a doua retea poate sa difere de cel pentru prima. A doua retea poate chiar sa nu accepte pachetul pentru ca este prea mare. Rezolvarea problemelor ivite la trecerea dintr-o retea in alta revine nivelului retea.

In retelele cu difuzare, problema dirijarii este simpla, astfel ca nivelul retea este deseori subtire sau chiar nu exista deloc.

Nivelul transport

Rolul principal al nivelului transport este sa accepte date de la nivelul sesiune, sa le descompuna, daca este cazul, in unitati mai mici, sa transfere aceste unitati nivelului retea si sa se asigure ca toate fragmentele sosesc corect la celalalt capat.

In conditii normale nivelul transport creeaza o conexiune de retea distincta pentru fiecare conexiune de transport ceruta de nivelul sesiune. In cazul in care conexiunea de transport necesita productivitate mare, nivelul transport poate totusi sa creeze conexiuni de retea multiple si sa divida datele prin conexiunile de retea. De asemenea nivelul retea ar putea reduce costul intretinerii unei conexiuni prin multiplexarea catorva conexiuni de transport pe aceeasi conexiune de retea.

Nivelul determina, de asemenea, ce tip de serviciu sa furnizeze nivelului sesiune si,in final, utilizatorilor retelei. Cel mai obisnuit tip de conexiune transport este un canal punct - la - punct fara erori care furnizeaza mesajele sau octetii in ordinea in care au fost trimisi. Alte tipuri posibile sunt transportul mesajelor individuale - fara nici o garantie in privinta ordinii de livrare - si difuzarea mesajelor catre destinatii multiple. Tipul serviciului se determina cand se stabileste conexiunea.

Nivelul transport este un adevarat nivel capat - la - capat, de la sursa la destinatie. Cu alte cuvinte, un program de pe masina sursa poarta o conversatie cu un program similar de pe masina destinatie, folosind in acest scop antetele mesajelor si mesaje de control. In nivelurile inferioare protocoalele au loc intre fiecare masina si vecinii sai imediati, si nu direct intre masinile sursa si destinatie, care pot fi separate de numeroase rutere.

In plus fata de multiplexarea mai multor fluxuri de mesaje pe acelasi canal, nivelul transport mai trebuie sa se ocupe de stabilirea si anularea conexiunilor in retea. Pentru acest lucru este necesar un mecanism de atribuire a numelor, astfel incat un proces de pe o anumita masina sa poata descrie cu cine vrea sa converseze. Trebuie, de asemenea, un mecanism pentru reglarea fluxului de informatii, astfel incat o gazda mai rapida sa nu suprasolicite o gazda mai lenta. Un astfel de mecanism se numeste controlul fluxului.

Nivelul sesiune



Nivelul sesiune permite utilizatorilor de pe masini diferite sa stabileasca intre ei sesiuni. Unul din serviciile nivelului sesiune se refera la controlul dialogului. Sesiunile pot permite sa se realizeze trafic in ambele sensuri simultan, sau numai intr-un sens odata.

Un serviciu sesiune inrudit este gestiunea jetonului. In unele protocoale este esential ca cele doua parti sa nu incerce sa realizeze aceeasi operatie in acelasi timp. Pentru a trata aceste situatii, nivelul sesiune dispune de jetoane care circula intre masini. Numai partea care detine jetonul are voie sa realizeze operatiunea critica.

Nivelul prezentare

Un exemplu tipic de serviciu prezentare este codificarea datelor intr-un mod standard prestabilit. Majoritatea programelor folosite de utilizatori nu fac schimb de siruri aleatoare de biti. Ele fac schimb de nume de persoane, adrese, date, sume de bani, etc. Aceste informatii sunt reprezentate prin siruri de caractere, prin intregi, prin numere reale si prin structuri de date. Diferite calculatoare au diferite coduri pentru reprezentarea siruirlor de caractere (de exemplu, ASCII si Unicode), intregilor (de exemplu, complementul fata de 1 si complementul fata de 2) s.a.m.d. Pentru a face posibila comunicarea intre calculatoare cu reprezentari diferite, structurile de date pot fi definite intr-un mod abstract, alaturi de o codificare standardizata ce va fi utilizata pe cablu. Nivelul prezentare gestioneaza aceste structuri de date abstracte si le converteste din reprezentarea interna folosita in calculator in reprezentarea standardizata din retea si invers.

Nivelul aplicatie

Nivelul aplicatie contine o varietate de protocoale frecvent utilizate.

Transmiterea datelor in modelul OSI

Figura 1.8 prezinta un exemplu de transmitere a datelor folosind modelul OSI. Procesul emitator vrea sa trimita niste date procesului receptor. Emitatorul furnizeaza datele nivelului aplicatie, acesta le ataseaza in fata antetul aplicatiei, AH, (care poate fi vid) si furnizeaza obiectul rezultat nivelului prezentare.

Nivelul prezentare poate sa modifice acest obiect in diferite moduri si poate eventual sa-i adauge in fata un antet, furnizand rezultatul catre nivelul sesiune. Este important de stiut ca nivelul prezentare nu cunoaste care portiune din datele primite de la nivelul aplicatie reprezinta AH, in cazul in care acesta exista, si care portiune reprezinta datele propriu-zise ale utilizatorului.

Acest proces se repeta pana cand datele ajung la nivelul fizic, unde ele vor fi trimise efectiv catre masina receptoare. Pe respectiva masina, diversele antete sunt eliminate succesiv, pe masura ce mesajul se propaga prin niveluri in sus, pana cand ajunge in final la procesul destinatie.

Ideea de baza este ca, desi in figura 1.8 transmiterea datelor este verticala, fiecare nivel este programat ca si cum transmiterea ar fi orizontala. De exemplu, atunci cand nivelul transport primeste un mesaj de la nivelul sesiune, el ii ataseaza un antet de trasnport si il expediaza nivelului transport destinatie. Din punctul sau de vedere, faptul ca in realitate trebuie sa paseze mesajul nivelului retea de pe masina sa proprie este un detaliu tehnologic lipsit de importanta.





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1389
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved