PROGRAME DE REŢEA
1.2.1 Sisteme de operare în retea
În etapa de trecere de la utilizarea calculatoarelor în mod independent, la utilizarea în retea, a aparut necesitatea existentei unui software care sa gestioneze functiile impuse de lucrul în retea.
Cum în acel moment, calculatoarele independente aveau deja instalat sistemul de operare, în prima etapa software de retea s-a adaugat celui existent. Pe acelasi calculator coexista atât un sistem de operare independent cât si unul de retea.
În sistemele de operare avansate (Microsoft Windows NT Server, Microsoft Windows NT Workstation, Microsoft Windows 95 si urmatoarele) cele doua sisteme de operare au fost reunite într-unul singur, care ofera ambele functionalitati.
Aceste sisteme de operare au o sarcina foarte complexa, în care sunt angrenate toate resursele calculatorului: procesorul, memoria, harddisk-ul, alte dispozitive perif 747g65h erice.
Principalele obiective ale unui software de retea sunt:
conectarea calculatoarelor si celorlalte periferice din retea;
coordonarea functionarii calculatoarelor si perifericelor din retea;
asigurarea unui nivel corespunzator de securitate a accesului la resursele de calcul si datele din retea.
Una din facilitatile care trebuie oferite de un astfel de sistem de operare este aceea de multitasking, adica posibilitatea de a executa simultan mai multe programe (aplicatii, procese, taskuri). Concret, fiecare procesor din cele existente în arhitectura calculatorului poate executa un program. Daca sunt mai multe programe decât procesoare, aceasta politica nu se mai poate aplica, si programele sunt executate pe rând, fiecare câte un anumit interval (scurt) de timp, astfel încât utilizatorul are impresia ca procesele sunt simultane. Daca se lucreaza în retea, multitaskingul se poate realiza prin comutarea între un program local si un program de retea.
Deoarece functionarea retelei depinde de modul cum organizeaza serverul întreaga activitate, software-ul de retea are doua directii de manifestare:
software instalat pe server;
software instalat pe statiile de lucru (clienti).
Software-ul server este componenta care asigura accesul utilizatorului conectat o statie de lucru, la resursele si datele din retea. Pentru aceasta, el primeste cererile de operatii de la client, o analizeaza si trimite serverului care executa cererea respectiva.
Executarea unei astfel de cereri este însa conditionata de drepturile pe care utilizatorul de pe calculatorul client le are asupra respectivelor resurse sau date. Pentru aceasta, administratorul de retea, care este persoana care stabileste regulile de lucru în retea (prin exploatarea sistemului de operare de pe server), stabileste pentru fiecare utilizator în parte la care resurse si date are acces si ce operatie poate executa (citire, scriere, modificare, stergere, etc.).
Tot administratorul de retea stabileste si lista utilizatorilor care au acces la retea, prin acordarea catre fiecare a unui nume si a unei parole, stabilirea drepturilor si privilegiilor sale, sau anularea dreptului de acces.
Software-ul client este componenta care asigura utilizatorului accesul la resursele calculatorului propriu, iar daca operatia dorita face referire la resurse sau date de pe alt calculator, trimite cererea pe retea catre serverul unde se afla resursa necesara.
Transmiterea cererii se face de catre un program numit redirector, care stabileste despre ce este vorba în cerere, care este calculatorul careia îi este adresata, apoi face o solicitare catre acel calculator pentru rezolvarea cererii, în procesul de rezolvare a cererii, problema localizarii resursei respective nu revine utilizatorului, care nu trebuie sa cunoasca decât numele respectivei resurse.
1.2.2 Drivere de retea
Legatura între doua calculatoare din retea se face folosind cablu de un anumit tip. Cablul este legat la calculator folosind o placa echipata cu componente electronice, numita placa de retea. Aceasta are ca rol pregatirea datelor din calculator pentru a fi transmise pe cablu si receptia semnalelor electro-optice de pe cablu si transformarea lor în octeti de date.
Componenta software care asigura efectuarea acestor operatiuni de catre placa de retea se numeste driver de retea. Driverele însotesc de obicei placa de retea, fiind elaborate de catre firma care furnizeaza si suportul hardware, dar ele se pot obtine si de la servicii on-line de pe Internet.
Driverul placii de retea este partea care asigura legatura între calculator si placa de retea, iar placa de retea asigura legatura între calculator si cablu (si mai departe legatura cu celelalte calculatoare).
Un avantaj principal al utilizarii retelelor este acela ca permite transferul de date între calculatoare. Cum calculatoarele din retea pot fi de mai multe tipuri, cum software-ul utilizat poate fi diferit de la un calculator la altul, este necesar ca sa existe un nivel de standardizare care sa permita buna comunicare între elementele retelei.
Standardele sunt aprobate de organizatii internationale, cum ar fi: OSI (International Standards Organisation), ECMA (European Computer Manufacturer's Association), IEEE (Institute of Electrical and Electronical Engineers), ANSI. Elaborarea standardelor pentru retele a devenit necesara datorita diversificarii echipamentelor si serviciilor, care a condus la aparitia de retele eterogene din punctul de vedere al tipurilor de echipamente folosite. În plus, multitudinea de medii fizice de comunicatie a contribuit la decizia de a defini reguli precise pentru interconectarea sistemelor. ISO a elaborat un model arhitectural de referinta pentru interconectarea calculatoarelor, cunoscut sub denumirea de modelul arhitectural ISO-OSI (Open System Interconnection).
Modelul ISO-OSI împarte arhitectura retelei în sapte nivele, construite unul deasupra altuia, adaugând functionalitate serviciilor oferite de nivelul inferior. Modelul nu precizeaza cum se construiesc nivelele, dar insista asupra serviciilor oferite de fiecare si specifica modul de comunicare între nivele prin intermediul interfetelor. Fiecare producator poate construi nivelele asa cum doreste, însa fiecare nivel trebuie sa furnizeze un anumit set de servicii. Proiectarea arhitecturii pe nivele determina extinderea sau îmbunatatirea facila a sistemului. De exemplu, schimbarea mediului de comunicatie nu determina decât modificarea nivelului fizic, lasând intacte celelalte nivele.
1. Nivelul fizic are rolul de a transmite datele de la un calculator la altul prin intermediul unui mediu de comunicatie. Datele sunt vazute la acest nivel ca un sir de biti. Problemele tipice sunt de natura electrica: nivelele de tensiune corespunzatoare unui bit 1 sau 0, durata impulsurilor de tensiune, cum se initiaza si cum se opreste transmiterea semnalelor electrice, asigurarea pastrarii formei semnalului propagat. Mediul de comunicatie nu face parte din nivelul fizic.
2. Nivelul legaturii de date corecteaza erorile de transmitere aparute la nivelul fizic, realizând o comunicare corecta între doua noduri adiacente ale retelei. Mecanismul utilizat în acest scop este împartirea bitilor în cadre ( frame), carora le sunt adaugate informatii de control. Cadrele sunt transmise individual, putând fi verificate si confirmate de catre receptor. Alte functii ale nivelului se refera la fluxul de date (astfel încât transmitatorul sa nu furnizeze date mai rapid decât le poate accepta receptorul) si la gestiunea legaturii (stabilirea conexiunii, controlul schimbului de date si desfiintarea conexiunii).
3. Nivelul retea asigura dirijarea unitatilor de date între nodurile sursa si destinatie, trecând eventual prin noduri intermediare (routing ). Este foarte important ca fluxul de date sa fie astfel dirijat încât sa se evite aglomerarea anumitor zone ale retelei (congestionare). Interconectarea retelelor cu arhitecturi diferite este o functie a nivelului retea.
4. Nivelul transport realizeaza o conexiune între doua calculatoare gazda (host) detectând si corectând erorile pe care nivelul retea nu le trateaza. Este nivelul aflat în mijlocul ierarhiei, asigurând nivelelor superioare o interfata independenta de tipul retelei utilizate. Functiile principale sunt: stabilirea unei conexiuni sigure între doua masini gazda, initierea transferului, controlul fluxului de date si închiderea conexiunii.
5. Nivelul sesiune stabileste si întretine conexiuni (sesiuni) între procesele aplicatie, rolul sau fiind acela de a permite proceselor sa stabileasca "de comun acord" caracteristicile dialogului si sa sincronizeze acest dialog.
6. Nivelul prezentare realizeaza operatii de transformare a datelor în formate întelese de entitatile ce intervin intr-o conexiune. Transferul de date între masini de tipuri diferite (Unix-DOS, de exemplu) necesita si codificarea datelor în functie de caracteristicile acestora. Nivelul prezentare ar trebui sa ofere si servicii de criptare/decriptare a datelor, în vederea asigurarii securitatii comunicatiei în retea.
7. Nivelul aplicatie are rolul de "fereastra" de comunicatie între utilizatori, acestia fiind reprezentati de entitatile aplicatie (programele). Nivelul aplicatie nu comunica cu aplicatiile ci controleaza mediul în care se executa aplicatiile, punându-le la dispozitie servicii de comunicatie. Printre functiile nivelului aplicatie se afla:
identificarea partenerilor de comunicatie, determinarea disponibilitatii acestora si autentificarea lor;
sincronizarea aplicatiilor cooperante si selectarea modului de dialog;
stabilirea responsabilitatilor pentru tratarea erorilor;
identificarea constrângerilor asupra reprezentarii datelor;
transferul informatiei.
Figura 6. Modelul arhitectural ISO-OSI
|