Cresterea rapida atât în marime cât si în eterogenitate a retelelor moderne de calculatoare a condus la un grad mare de complexitate în ceea ce priveste tehnologiile care stau la baza acestor retele, a caror înţ 636b19g ;elegere este esentiala în organizarea unei utilizari si protectii eficiente a resurselor calculatoarelor. Tehnologia operationala a oricarui sistem depinde de arhitectura în care sunt alcatuite componentele, functiile si relatiile sale.
Pentru a reduce complexitatea proiectarii, majoritatea retelelor sunt organizate sub forma unei serii de straturi sau niveluri, fiecare dintre ele fiind construit peste nivelul de dedesubt. Scopul fiecarui nivel este de a oferi anumite servicii nivelurilor superioare, protejându-le de detaliile privitoare la implementarea efectiva a serviciilor oferite.
Regulile si conventiile utilizate în conversatia dintre masini (pe anumite niveluri) poarta numele de protocol al acelui nivel. Între doua niveluri adiacente exista o interfata care defineste ce operatii si servicii primitive ofera nivelul de jos nivelului de mai sus.
O multime de niveluri si protocoale este numita arhitectura de retea. Specificatia unei arhitecturi trebuie sa contina destule informatii pentru a permite scrierea programelor sau construirea echipamentelor necesare fiecarui nivel, astfel încât nivelurile sa îndeplineasca corect protocoalele corespunzatoare.
O lista de protocoale utilizate de catre un anumit sistem, câte un protocol pentru fiecare nivel, poarta numele de stiva de protocoale.
Acest model se bazeaza pe o propunere dezvoltata de catre Organizatia Internationala de Standardizare (International Standards Ogranization - ISO) ca un prim pas catre standardizarea internationala a protocoalelor folosite pe diferite niveluri. Modelul se numeste ISO OSI (Open System Interconnection - Interconectarea sistemelor deschise).
Modelul OSI cuprinde sapte niveluri, definite conform urmatoarelor principiilor:
un nivel trebuie creat atunci când este nevoie de un nivel de abstractizare diferita;
fiecare nivel trebuie sa îndeplineasca un rol bine definit;
functia fiecarui nivel trebuie aleasa tinînd cont de definirea de protocoale la standard international;
delimitarea nivelurilor trebuie facuta astfel încât sa minimizeze fluxul de informatii prin interfete;
numarul de niveluri trebuie sa fie suficient de mare pentru a nu fi nevoie sa se introduca în acelasi nivel functii diferite si, în acelasi timp, suficient de mic pentru ca arhitectura sa ramâna functionala.
Figura : Modelul OSI - ISO.
Nivelul fizic realizeaza transmisia electrica a unui sir de biti, fara a se verifica corectitudinea acesteia. Nivelul fizic este în strânsa legatura cu mediul fizic de transmisie a datelor. La acest nivel se specifica: tipul de cablu, conectorul de legatura, rata de transfer, metoda de codificare a datelor, metoda de acces la mediul de transmisie.
Nivelul legatura de date asigura transmiterea corecta a datelor între doua sisteme între care exista o legatura fizica. Secventa de date este împartita în cadre (frames), statia receptoare facând verificarea sumei de control asociata cadrului.
Nivelul retea asigura dirijarea cadrelor prin retea, stabilind calea de transmisie a datelor de la sursa la destinatie. O problema cheie în proiectare este determinarea modului în care pachetele sunt dirijate de la sursa la destinatie. Dirijarea se poate baza pe tabele statistice care sunt "cablate" intern în retea si sunt schimbate rar. Traseele pot fi, de asemenea, stabilite la începutul fiecarei conversatii, de exemplu la începutul unei sesiuni la terminal. Dirijarea poate fi de asemenea dinamica traseele determinându-se pentru fiecare pachet în concordanta cu traficul curent din retea.
Nivelul transport asigura transmisia corecta a datelor între statia sursa si statia destinatie, realizeaza secventierea mesajelor, sincronizeaza ritmul de transmisie si asigura retransmisia mesajelor pierdute sau eronate.
Nivelul sesiune realizeaza conexiuni logice între procesele constituente ale unei aplicatii, asigurând dialogul direct între aceste procese. Se poate considera ca la acest nivel se asigura finalul conexiunii logice între diferitele entitati ale retelei.
Nivelul prezentare realizeaza transformarea de reprezentare a datelor din punct de vedere al formatului, în vederea transmiterii lor unor terminale cu anumite caracteristici. La acest nivel se lucreaza cu a reprezentare abstracta a datelor, valabila în toata reteaua, asigurându-se conversia în formate specifice de reprezentare la nivelul calculatoarelor, terminalelor etc. În unele aplicatii se asigura compresia datelor si criptarea lor.
Nivelul aplicatie asigura serviciile de baza ale retelei: posta electronica, accesul la Web prin HTTP, transferul de fisiere, accesul la distanta etc.
Figura urmatoare prezinta un exemplu de transmitere a datelor utilizând modelul OSI.
Figura : Transmiterea datelor în modelul OSI - ISO.
Familia de protocoale TCP/IP este baza Internetului, peste ea fiind construite majoritatea protocoalelor de nivel înalt. Spre deosebire de modelul de referinta OSI/ISO care are o arhitectura stratificata, TCP/IP este ierarhic. El are în vedere în mod deosebit interconectivitatea, mai mult decât organizarea rigida pe straturi functionale. Modelul OSI/ISO prezinta mai bine si mai explicit mecanismele de comunicatie între calculatoare, dar TCP/IP a devenit, datorita flexibilitatii sale, principalul protocol comercial de interconectare a retelelor.
Nivelul gazda la retea / acces la retea ofera sistemului mijloacele care-i permit transmiterea datelor catre alte masini conectate în retea. Protocoalele acestui nivel trebuie sa cunoasca caracteristicile tehnice ale subretelei, pentru a structura corect datele de transmis si pentru a respecta restrictiile impuse. Protocolul utilizat depinde de tipul retelei: X.25 pentru retele cu comutare de pachete, X.21 pentru retele cu comutare de circuite, IEEE 802.x pentru retele locale etc.
Nivelul internet(working) este baza întregii arhitecturi. Rolul sau este de a permite gazdelor sa emita pachete în orice retea si a face ca pachetele sa circule independent pâna la destinatie (cu posibilitatea ca un pachet sa se gaseasca si în alta retea). Pachetele pot sa soseasca în orice ordine, iar daca este cazul rearanjarea cade în sarcina nivelelor de mai sus.
Figura : Comparatie OSI - TCP/IP.
Nivelul internet defineste un format de pachet si un protocol numit IP (Internet Protocol) în RFC 791, care constituie nucleul pentru TCP/IP si este protocolul cel mai important al acestui nivel. Functiile de baza ale protocolului IP sunt: definirea unitatilor de baza pentru transmisiile în retele (datagrame), definirea planului de adresare Internet, circulatia datelor între nivelul gazda la retea si nivelul transport pentru fiecare statie, directionarea unitatilor de date catre calculatoarele de la distanta, fragmentarea si reasamblarea unitatilor de date.
Nivelul transport este proiectat astfel încât sa permita conversatii între entitatile /procesele pereche din gazdele sursa si destinatie. În acest sens, au fost definite doua protocoale de tip gazda-la-gazda (host-to-host):
TCP (Transmision Control Protocol) este un protocol sigur, orientat pe conexiuni care permit ca un flux de octeti trimisi de pe OSI/ISO masina sa ajunga fara erori la alta masina din (alta) retea. Acest protocol fragmenteaza fluxul de octeti în mesaje discrete si paseaza fiecare mesaj nivelului internet. La destinatie, procesul TCP receptor reasambleaza mesajele primite în flux de iesire. TCP trateaza totodata controlul fluxului pentru a se asigura ca un emitator rapid nu inunda un receptor mai lent;
UDP (User Datagram Protocol) este un protocol nesigur, fara conexiuni, destinat aplicatiilor care doresc sa utilizeze propria lor secventiere si propriul control al fluxului, si nu pe cele asigurate de TCP. Este de asemenea utilizat pentru interogari întrebare-raspuns "dintr-un foc", client-server si pentru aplicatii în care comunicarea prompta este mai importanta decât comunicarea cu acuratete, asa cu sunt aplicatiile de transmisie a vocii si imaginilor.
Un al treilea protocol, TTCP (Transaction Transmision Control Protocol) este în curs de definitivare. El va contine actiuni de tip tranzactie (pe Internet).
Nivelul aplicatie contine toate protocoalele de nivel înalt (HTTP, SMPT, FTP, Telnet, DNS, NNTP etc.) si se bazeaza pe functionalitatea oferita de straturile inferioare.
Protocolul IP
Liantul care tine Internet-ul la un loc este protocolul IP. Spre deosebire de protocoalele mai vechi de nivel retea, acesta a fost proiectat de la început pentru interconectarea retelelor.
Comunicatia în Internet functioneaza astfel: nivelul transport preia siruri de date si le împarte în datagrame (de maximum 64 k octeti teoretic, dar în practica sunt de aproximativ 1500 octeti). Fiecare datagrama este transmisa prin Internet, fiind eventual fragmentata în unitati mai mici pe drum. În momentul în care toate bucatile ajung la destinatie, ele sunt reasamblate de nivelul retea în datagrama originala care este apoi pasata nivelului transport, care o insereaza în sirul de intrare al procesului receptor.
O datagrama IP consta dintr-o parte antet si o parte test. Antetul are o parte fixa de 20 de octeti si o parte optionala cu lungime variabila, dupa cum se poate observa în figura urmatoare.
Figura : Antetul unei datagrame IP.
Fiecare gazda din Internet are o adresa IP care codifica adresa sa de retea si de gazda, combinatia fiind unica. Toate adresele IP sunt de 32 de biti lungime si sunt utilizate în câmpurile "adresa sursa" si "adresa destinatie" ale pachetelor IP.
Figura : Clase de adrese IP.
Adresa IP si tabelele de routare dirijeaza o datagrama catre o retea fizica determinata. Datele transmise trebuie sa respecte protocoalele nivelului fizic utilizat în reteaua respectiva. În general, retelele fizice nu pot interpreta adresele IP, existând diferite scheme de adresare particulare.
Astfel, protocolul ARP (Address Resolution Protocol), definit prin RFC 826 realizeaza translatarea adreselor IP în adresele MAC corespunzatoare (cel mai frecvent adrese Ethernet, cu dimensiunea de 6 octeti).
Protocolul RARP (Reverse Address Resolution Protocol) este complementar protocolului ARP si realizeaza conversia unei adrese a subnivelului MAC în adresa IP (o statie de lucru care boot-eaza din retea, primind imaginea binara a sistemului de operare de la un server de fisiere aflat la distanta).
Pentru gestiunea conexiunilor exista protocoale speciale. De exemplu, ICMP (Internet Contorl Message Protocol) este folosit de catre o gazda destinatie pentru a informa sursa asupra erorilor aparute în prelucrarea unei datagrame. ICMP sta la baza a doua aplicatii simple si utilizate foarte des:
ping (Paket INternet Gropet) este utilizat pentru a testa conectivitatea între doua echiplamente din retea;
traceroute permite determinarea rutei pe care datagramele IP le parcurg pâna la destinatie.
La nivel de Internet adresele IP au fost împartite în mai multe clase. O clasa de adrese este un grup predefinit de adrese care definesc o retea de o anumita marime. Intervalul de numere care poate fi asignat primului octet din adresa IP se bazeaza pe clasa adresei.
O adresa IP unicast din clasa A se încadreaza în intervalul 1.0.0.1 pâna la 126.255.255.254. Primul octet indica adresa retelei iar ultimii trei octeti indica adresa gazdei din retea.
Adresele IP unicast din clasa B se încadreaza în intervalul 128.0.0.1 pâna la 191.255.255.254. Primii doi octeti indica adresa retelei, iar ultimii doi indica adresa gazdei din retea.
Adresele IP unicast din clasa C se încadreaza în intervalul 192.0.0.1 223.255.255.254. Primii trei octeti indica adresa retelei în timp ce ultimul octet indica adresa gazdei din retea.
|