Modelul de referință OSI

Modelul de referință OSI (Open System Interconnection) a fost elaborat pentru a furniza producătorilor de echipamente de comunicaţie un set de standarde, a căror respectare asigura compatibilitatea şi intercompatibilitatea între diverse tehnologii furnizate de firme diferite.

Acest model defineşte şapte nivele, împreuna cu standarde şi un set de protocoale pentru reţele. Este un model teoretic, construit pentru a schematiza comunicaţia într-o reţea de calculatoare şi pentru a explica traseul informaţie dintr-un capăt în altul al reţelei.

1. Nivelul fizic
Se ocupă de transmiterea biților printr-un canal de comunicație. Proiectarea trebuie să garanteze ca atunci când unul din capete trimite un bit 1, acesta e receptat în cealaltă parte ca un bit 1, nu ca un bit 0.
Nivelul fizic definește specificații electrice, mecanice, procedurale și funcționale pentru activarea, menținerea și dezactivarea legăturilor fizice între sisteme. În această categorie de caracteristici se încadrează nivelurile de tensiune, sincronizarea schimbărilor acestor niveluri, ratele de transfer fizice, distanțele maxime la care se poate transmite și alte atribute similare care sunt definite de specificații fizice.
Scopul nivelului fizic este de a transporta o secvență de biți de la o mașină la alta. Pentru aceasta pot fi utilizate diverse medii fizice. Fiecare dintre ele este definit de lățimea sa de bandă, întârziere, cost și ușurința de instalare.

2. Nivelul legătură de date
Sarcina principală a nivelului legătură de date este de a transforma un mijloc oarecare de transmisie într-o linie care să fie disponibilă nivelului rețea fără erori de transmisie nedetectate. Nivelul legătură de date realizează această sarcină obligând emițătorul să descompună datele de intrare în cadre de date, să transmită cadrele secvențial și să prelucreze datele de confirmare trimise înapoi de receptor.
Pe scurt, nivelul legătură de date este responsabil cu transmiterea corectă și sigură a datelor printr-o legătură fizică existentă, între două puncte conectate direct prin această legătură fizică, preocupându-se în același timp și de controlul fluxului fizic, dar și de detecția și anunțarea erorilor.
Acest nivel se ocupă cu probleme de genul adresarea hardware, topologia rețelei și felul în care calculatoarele dintr-o rețea accesează mediul comun.

3. Nivelul rețea
Nivelul rețea se ocupă de controlul funcționării subrețelei. O problemă-cheie în proiectare este determinarea modului în care pachetele sunt dirijate de la sursă la destinație. Dirijarea se poate baza pe tabelele statice care sunt cablate intern în rețea și care sunt schimbate rar. Traseele pot fi stabilite la începutul fiecărei conversații, de exemplu la începutul unei sesiuni la terminal. În sfârșit, dirijarea poate fi foarte dinamica, traseele determinându-se pentru fiecare pachet în concordanță cu traficul curent din rețea.
Multe probleme pot apare când un pachet trebuie să călătorească dintr-o rețea în alta ca să ajungă la destinație. Modul de adresare folosit de a doua rețea poate să difere de cel de prima. A doua rețea poate chiar să nu accepte de loc pachetul pentru că este prea mare sau protocoalele pot fi diferite. Rezolvarea acestor probleme în vederea interconectării rețelelor eterogene este sarcina nivelului rețea.
Nivelul rețea este un nivel complex care oferă conectivitate și selectează drumul de urmat între două sisteme gazde care pot fi localizate în rețele separate geografic. Acesta este nivelul cel mai important în cadrul Internetului, asigurând posibilitatea interconectării diferitelor rețele. Tot la acest nivel se realizează adresarea logică a tuturor nodurilor din Internet. La nivelul rețea operează ruterele, dispozitivele cele mai importante în orice rețea de mari dimensiuni.

4. Nivelul transport
Rolul principal al nivelului transport este să accepte date de la nivelul sesiune, să le descompună dacă este cazul în unități mai mici, să transfere aceste unități nivelului rețea și să se asigure că toate fragmentele sosesc corect la celălalt capăt.
În condiții normale, nivelul transport creează o conexiune de rețea distinctă pentru fiecare conexiune de transport cerută de nivelul sesiune. În cazul în care conexiunea de transport necesită o productivitate mare, nivelul transport poate să creeze conexiuni de rețea multiple și să dividă datele prin conexiunile de rețea, astfel încât productivitatea să crească.
Nivelul transport determină ce tip de serviciu să furnizeze nivelului sesiune și utilizatorilor rețelei. Acest nivel segmentează datele în sistemul sursă și le reasamblează la destinație. Nivelul transport încearcă să ofere un serviciu de transport de date care să izoleze nivelurile superioare de orice lucruri legate de modul în care este executat transportul datelor. Mai specific, probleme cum ar fi siguranța, sunt responsabilitatea nivelului transport.

5. Nivelul sesiune
Nivelul sesiune permite utilizatorilor de pe mașini difere să stabilească între ei sesiuni. Ca și nivelul transport, o sesiune permite transportul obișnuit de date, dar furnizează totodată și servicii îmbunătățite, utile în anumite aplicații. O sesiune poate fi utilizată pentru a permite unui utilizator să se conecteze la distanță pe un sistem cu divizarea timpului sau să transfere un fișier între două mașini.
Unul dintre serviciile nivelului sesiune se referă la controlul dialogului. Sesiunile pot permite să se realizeze trafic în ambele sensuri simultan sau numai într-un sens o dată. Dacă este permis traficul într-un singur sens, nivelul sesiune poate ajuta să se țină evidența emițătorilor cărora le vine rândul să transmită.
Un alt serviciu sesiune este sincronizarea. Așa cum implică și numele său, nivelul sesiune se ocupă cu stabilirea, menținerea, gestionarea și terminarea sesiunilor în comunicarea dintre două mașini. Nivelul sesiune oferă servicii nivelului prezentare; el realizează sincronizarea între nivelurile prezentare ale celor două stații și gestionează schimbul de date între acestea. În plus față de realizarea sesiunilor, nivelul sesiune oferă bazele pentru transferul eficient de date, pentru clase de servicii, pentru raportarea excepțiilor nivelurilor sesiune, prezentare și aplicație.

6. Nivelul prezentare
Nivelul prezentare se asigură că informația transmisă de nivelul aplicație al unui sistem poate fi citită și interpretată de către nivelul aplicație al sistemului cu care aceasta comunică. Dacă este necesar, nivelul prezentare face traducerea între diverse formate de reprezentare, prin intermediul unui format comun.
Nivelul prezentare este responsabil și cu eventuala compresie/decompresie și criptare/decriptare a datelor.

7. Nivelul aplicație
Nivelul aplicație este cel care este situat cel mai aproape de utilizator; el oferă servicii de rețea aplicațiilor utilizatorului. Diferă de celelalte niveluri OSI prin faptul că nu oferă servicii nici unui altui nivel, ci numai unor aplicații ce sunt situate în afara nivelului OSI.
Nivelul aplicație stabilește disponibilitatea unui calculator cu care se dorește inițierea unei conexiuni, stabilește procedurile ce vor fi urmate în cazul unor erori și verifică integritatea datelor. Nivelul aplicație conține o varietate de protocoale frecvent utilizate.