Protocoale, modele de referinta
Generalitati
Pentru o comunicare cu succes intre calculatoarele dintr-o retea, trebuie stabilite anumite protocoale. Prin protocol intelegem un set de reguli si conventii stabilite intre participantii la o activitate comuna. Deoarece protocoalele utilizate in cadrul retelelor s-au dovedit a fi deosebit de complexe, s-a hotarat proiectarea lor pe niveluri sau straturi ('layers'). Fiecare nivel definind anumite servicii si eventual anumite protocoale corespunzatoare acelor servicii. Astfel rezulta modele de referinta pentru protocoale. Cele mai cunoscute modele de referinta sunt OSI si TCP/IP care vor fi descrise pe scurt in continuare.
1 Modelul OSI
Modelul OSI se bazeaza pe o propunere dezvoltata de catre Organizatia Internationala de Standardizare (ISO - International Standards Organization) ca un prim pas catre standardizarea internationala a protocoalelor folosite pe diferite niveluri. Modelul se numeste ISO OSI (Open Systems Interconection) si a fost dezvoltat intre anii 1977 si 1984, el constituind mai mult un ghid decat o specificare, pe baza dezvoltandu-se totusi o serie de protocoale concrete. In continuare se va arata reprezentarea grafica uzuala a acestui model.
Modelul este structurat pe 7 niveluri dupa cum se observa si in cadrul sau exista doua tipuri de comunicare: prin protocoale si prin interfete. Nivelurile cu acelasi rang din cele doua calculatoare pot schimba informatii prin protocoalele corespunzatoare. Pe de alta parte, in fiecare calculator exista si comunicare intre nivelurile vecine, prin interfete. Pentru ca o informatie de nivel transport de pe calculatorul sursa A sa ajunga la nivelul transport de pe calculatorul destinatie B in realitate este nevoie ca informatia sa parcurga intai nivelurile retea, legatura de date si fizic de pe calculatorul A iar apoi nivelurile fizic, legatura de date, retea si in sfarsit transport de pe calculatorul B. Se vor prezenta in continuare pe scurt nivelurile acestui model cu evidentierea sarcinilor, serviciilor, problemelor si conceptelor specifice.
Nivelul fizic realizeaza transferul bitilor printr-un canal, mediu de comunicare. Aici apar probleme de genul: reprezentarea fizica a fiecarui bit, daca se poate face transmisie simultana in ambele sensuri, cum se stabileste si cum se termina o conexiune, etc.
Nivelul legaturii de date(data link layer) transmite cadre de date (in mod tipic cateva sute sau mii de octeti) de la sursa la destinatie si cadre de confirmare de la destinatie la sursa. Nivelul trebuie sa poata sa recunoasca delimitarile intre cadre, sa ceara retransmiterea cadrului in caz de eroare in secventa de octeti. Pentru a putea fi delimitate cadrele li se ataseaza un numar special de biti la inceputul si sfarsitul lor, pe langa informatia utila.
Nivelul retea are ca responsabilitate principala rutarea , dirijarea pachetelor in retea. Pachetele contin pe langa informatia utila si adresele sursei si a destinatiei. Deciziile de rutare se iau pe baza unor informatii fixe despre topologia retelelor cat si pe baza unor informatii determinate in mod dinamic, cum ar fi gradul de congestionare a anumitor trasee. Pachetele pot traversa intre sursa si destinatie diferite retele cu caracteristici diferite, fiind tot sarcina nivelului retea sa tina cont de aceste caracteristici.
Nivelul transport accepta date de la nivelul sesiune in partea de emisie si trebuie sa asigure ca aceste date ajung corect; eventual fragmentate, la celalalt capat. In mod normal, nivelul transport creeaza cate o conexiune de retea distincta pentru fiecare conexiune de transport solicitata de nivelul sesiune, dar este posibila si crearea unor sesiuni multiple pentru cresterea productivitatii transferului sau multiplexarea mai multor conexiuni retea pentru mai multe conexiuni transport. Tot la nivelul transport se stabileste daca nivelului sesiune i se asigura un serviciu 'canal punct la punct', fara erori, cu furnizarea octetilor in ordinea in care au fost trimisi sau un alt tip de serviciu, mai putin fiabil. O asemenea posibilitate ar fi de exemplu trimiterea individuala a fiecarui mesaj, care ofera garantii in privinta ordinii de livrare. Spre deosebire de nivelurile inferioare unde comunicarile se fac intre vecini imediati in retea, nivelul transport asigura o comunicare 'capat la capat' (end to end): un program de pe calculatorul sursa desfasoara o 'conversatie' cu un program de pe calculatorul destinatie. Calculatoarele lucrand in general in regim de multiprogramare, este posibil ca mai multe programe de pe acelasi calculator sa fie angajate simultan in conexiuni. Deci antetul introdus de nivelul transport in mesaje trebuie sa identifice (adresele) in mod unic pentru fiecare conexiune.
Nivelul sesiune furnizeaza niste servicii suplimentare fata de nivelul transport. Astfel ar fi controlul dialogului, care permite sa se stabileasca daca se poate face transfer simultan in ambele sensuri sau nu. Se mai poate controla accesul la anumite operatii critice si se pot introduce puncte de control, ca in caz de esec o operatie sa se poata relua din punctul de intrerupere si nu de la inceput.
Nivelul prezentare are ca atributie sintactica si semantica informatiilor transmise de la o aplicatie la alta. Un exemplu ar fi stabilirea unei codificari standard pentru reprezentarea informatiilor in timpul transferului 'pe cablu' si definirea unui mod standard de reprezentare a diferitelor structuri de date.
Nivelul aplicatie contine cea mai mare diversitate de protocoale, teoretic fiecare aplicatie putand defini un protocol specific. Exista insa si la acest nivel cateva probleme frecvent si larg utilizate, cum ar fi cele pentru terminal virtual, transfer de fisiere, posta electronica, hipertext etc.
OSI-model de securitate
Servicii de securitate
Arhitectura OSI distinge cinci clase de servicii de securitate: autentificarea, controlul accesului, confidentialitatea datelor, integritatea datelor si non-acceptul.
Serviciile de autentificare permit autentificarea entitatilor participante la comunicatie sau a originii datelor.
Serviciul de autentificare a entitatilor similare verifica faptul ca o entitate dintr-o asociatie apartine acesteia si nu incarca sa-si falsifice identitatea sau sa retransmita copii neautorizate ale identitatilor din trecut. Acest fel de autentificare se face in faza de stabilire a conexiunilor, si ocazional in timpul fazei de transfer de date.
Serviciul de autentificare a originii datelor verifica sursele de date, dar nu poate oferi protectie impotriva duplicarii sau modificarii datelor, in acest caz folosindu-se serviciul de la punctul anterior. Serviciul de autentificare a originii datelor se foloseste in timpul fazei de transfer de date.
Serviciul de control al accesului protejeaza impotriva folosirii neautorizate a resurselor sistemelor. Acest tip de serviciu conlucreaza strans cu serviciile de autentificare, deoarece pentru a media accesul la o resursa, utilizatorul trebuie sa isi confirme identitatea.
Serviciul de confidentialitate a datelor protejeaza sistemul de divulgare neautorizata a datelor.
Serviciul de confidentialitate a conexiunii furnizeaza confidentialitatea tuturor informatiilor transmise intr-o conexiune.
Serviciul de confidentialitate fara conexiune furnizeaza confidentialitatea unitatilor de informatie.
Serviciul de confidentialitate cu camp selectiv furnizeaza confidentialitatea campurilor specifice dintr-un flux pe durata unei conexiuni sau a unei unitati de informatie.
Serviciul de confidentialitate a fluxului de trafic furnizeaza protectie impotriva analizei traficului.
Serviciile de integritate a datelor protejeaza datele de modificari neautorizate.
Serviciul de integritate a serviciului cu recuperare furnizeaza integritatea datelor intr-o conexiune. Pierderea integritatii este recuperata daca acest lucru este posibil.
Serviciul de integritate a serviciului fara recuperare, ca si in cazul precedent furnizeaza integritatea datelor intr-o conexiune. Pierderea integritatii nu se poate recupera.
Serviciul de integritate a unui camp desemnat furnizeaza integritatea unor campuri specifice in cadrul conexiunii.
Serviciul de integritate fara conexiune furnizeaza integritatea unor unitati de date separate.
Serviciul de integritate a unui camp desemnat fara conexiune furnizeaza integritatea unor campuri specifice din unitati de date separate.
Serviciul non-negare furnizeaza protectie impotriva acceptarii ulterioare a trimiterii sau receptionarii unui mesaj. Putem distinge doua feluri de servicii:
Serviciul non-negare cu dovada originii, ofera receptorului o dovada a originii mesajului
Serviciul non-negare cu dovada livrarii, ofera transmitatorului o dovada a receptionarii mesajului.
Serviciile non-negare devin din ce in ce mai importante in contextul actual de schimb electronic de date si comertul electronic pe Internet.
Mecanisme de securitate
Arhitectura OSI de securitate distinge intre mecanisme specifice si mecanisme generale de securitate.
Mecanisme specifice de securitate
OSI enumera opt mecanisme specifice de securitate:
1. Codificarea
Semnaturi digitale
3. Controlul accesului
4. Integritatea datelor
5. Schimbul de autentificare
6. Completarea traficului
7. Controlul rutarilor
8. Notarizarea
1.Codificarea se foloseste pentru a proteja confidentialitatea unitatilor de informatie si deseori se foloseste complementar cu alte mecanisme.
Semnaturile digitale se folosesc in analogie electronica la semnaturile de mana, pentru documente electronice. Similar cu corespondentul real, semnaturile electronice nu trebuie sa se poata falsifica, destinatarul sa o poata verifica si emitentul sa nu o poata nega mai tarziu.
3.Controlul accesului forteaza aplicarea drepturilor de acces prin utilizarea identitatii autentificate a partilor. Daca una dintre parti incearca sa foloseasca o resursa neautorizata, serviciul blocheaza aceasta tentativa si optional poate genera o alarma care sa apara in auditul de securitate.
4. Integritatea datelor este un mecanism care protejeaza unitatile de informatie sau campuri din acestea. In general, acest tip de mecanism nu protejeaza impotriva atacurilor de tip replay.
5. Schimbul de autentificare verifica identitatea partilor. Un mecanism de autentificare se numeste puternic daca se bazeaza pe tehnici criptografice pentru a codifica schimbul de mesaje.
6. Completarea traficului protejeaza impotriva analizei datelor. Acest mecanism mascheaza datele reale intercaland date fara valoare, fiind efectiv in conjunctie cu un mecanism de confidentialitate.
7. Controlul rutarilor se foloseste pentru alegerea dinamica sau intr-un mod predeterminat a rutelor pentru transmiterea informatiei. Sistemele de comunicatie pot comanda modificarea rutei la descoperirea unui atac pasiv sau activ. In mod asemanator, anumite informatii cu etichete de securitate speciale pot fi rutate pe cai speciale.
8. Notarizarea se refera la asigurarea transmiterii unor proprietati ale informatiei, cum ar fi integritatea, originea, timpul si destinatia. Asigurarea se face de catre un tert intr-o maniera verificabila.
Mecanisme generale de securitate
Mecanismele generale de securitate nu sunt specifice nici unui serviciu, iar unele se confunda cu managementul securitatii. Importanta mecanismelor generale de securitate este in stransa legatura cu nivelul de securitate cerut. OSI enumera cinci mecanisme specifice de securitate:
1. Functionalitate credibila
Etichete de securitate
3. Detectarea evenimentelor
4. Auditul de securitate
5. Recuperarea de siguranta
1.Conceptul general de functionalitate credibila se poate folosi fie pentru a extinde fie pentru a defini eficienta altor mecanisme de securitate. Orice functionalitate care ofera in mod direct sau mijloceste accesul la mecanismele de securitate trebuie sa fie de incredere.
Resursele sistemului pot avea etichete de securitate asociate cu acestea. Deseori este necesar ca etichetele sa fie transmise impreuna cu datele in tranzit, sub forma unor informatii aditionale asociate datelor de transferat sau sub forma implicita data de context, cum ar fi ruta sau sursa.
3. Detectarea evenimentelor se poate folosi pentru a detecta violarea de securitate.
4. Auditul de securitate se refera la o examinare independenta a jurnalelor sistemului pentru a testa bonitatea controalelor de sistem, pentru a se asigura alinierea la politica si practicile de securitate, pentru a detecta bresele de securitate si pentru a recomanda schimbari in control, politica si proceduri.
5. Recuperarea de siguranta se ocupa cu manipularea cererilor mecanismelor de securitate si aplica un set de reguli stabilit apriori.
Arhitectura OSI a securitatii nu urmareste sa rezolve o anume problema a retelei, ci stabileste un cadru si o terminologie care poate fi folosita pentru a descrie si discuta problemele si solutiile lor.
2 Modelul TCP/IP
Primul model de referinta in ordinea aparitiei a fost TCP/IP, definit in legatura cu prima retea de calculatoare, stramosul tuturor retelelor de azi si a Internetului, realizata in jurul anului 1970 cu sprijinul Departamentului Apararii (Department of Defence) al SUA: ARPANET. Numele modelului provine de la cele doua protocoale principale ale sale: TCP si IP. Se va prezenta in continuare schematic modelul TCP/IP comparativ cu modelul OSI.
Dupa cum se observa, acest model nu defineste niveluri distincte pentru sesiune si prezentare, iar nivelurile fizic si legatura de date sunt reunite, comasate intr-unul singur, nod-retea, care insa nu este detaliat in cadrul modelului.
Nivelul internet a fost conceput, ca de fapt intreg modelul, pentru utilizarea in retele cu comutare de pachete si are rolul de a permite nodurilor din retea sa emita pachete care sa circule independent pana la destinatie. Este posibil ca pachetele sa ajunga la destinatie intr-o alta ordine decat cea in care au fost emise, rearanjarea lor fiind sarcina nivelurilor superioare.
Nivelul transport corespunde in mare parte nivelului cu acelasi nume din modelul OSI. Cele doua protocoale definite pentru acest nivel, TCP si UDP, realizeaza transmisii cu conexiune si respectiv fara conexiune de tip 'capat la capat'.
Nivelul aplicatie apare in Modelul TCP/IP imediat deasupra nivelului transport si larga raspandire a protocoalelor care corespund modelului TCP/IP arata ca aceasta decizie de proiectare a fost corecta. Protocoalele mai cunoscute la acest nivel sunt: TELNET, pentru terminal virtual, sesiune la distanta, FTP pentru transfer de fisiere, SMTP pentru posta electronica, DNS pentru serviciul numelor de domenii, HTTP pentru hipertext (pagini Web), etc.
Structura pachetului TCP / IP
De ce este TCP/IP protocolul standard pentru Internet? Acest lucru se datoreaza unor caracteristici, si anume:
-permite comunicarea intr-un mediu eterogen, deci se preteaza foarte bine pentru conexiunile din Internet (care este o retea de retele eterogene atat din punct de vedere hardware, cat si software);
-furnizeaza un protocol de retea rutabil, pentru retele mari, fiind folosit din acest motiv drept protocol de interconectare a acestor retele.
TCP/IP este o suita de protocoale, dintre care cele mai importante sunt TCP si IP, care a fost transformat in standard pentru Internet de catre Secretariatul pentru Aparare al State lor Unite, si care permite comunicatia intre retele eterogene (interconectarea retelelor). Modelul de referinta ISO/OSI defineste sapte niveluri pentru proiectarea retelelor, pe cand modelul TCP/IP utilizeaza numai patru din cele sapte niveluri, dupa cum se vede din figura urmatoare.
Familia de protocoale TCP/IP are o parte stabila, data de nivelul Internet (retea) si nivelul transport, si o parte mai putin stabila, nivelul aplicatie, deoarece aplicatiile standard se diversifica mereu. In ceea ce priveste nivelul gazda-la-retea (echivalentul nivelul fizic si legatura de date din modelul OSI), cel mai de jos nivel din cele patru, acesta este mai putin dependent de TCP/IP si mai mult de driver-ele de retea si al placilor de retea. Acest nivel face ca functionarea nivelului imediat superior, nivelul Internet, sa nu depinda de reteaua fizica utilizata pentru comunicatii si de tipul legaturii de date. Protocoalele din familia TCP/IP trateaza toate retelele la fei. De aici rezulta un concept fundamental pentru retelele TCP/ IP, si anume acela ca, din punct de vedere al unei retele globale, orice sistem de comunicatii capabil sa transfere date conteaza ca o singura retea, indiferent de caracteristicile sale. Strategia de a construi nivelurile unui protocol se numeste layering. Toata reteaua TCP/IP (Internet-ul) este organizata dintr-un numar foarte mare de retele mici care comunica intre ele prin asa numitele porti (gateway), care sunt calculatoare ce se ocupa de interconectarea retelelor care vor iesi in Internet, una dintre atributiile lor fiind si aceea de a ruta informatia. TCP/IP este construit ca fiind o secventa de datagrame. o datagrama este o colectie de date ce sunt trimise ca un singur mesaj; este o unitate de date si reprezinHi obiectul cu care lucreaza protocolui.Un pachet este un cumul de datagrame, ce apare peEthernet,liniitelefonice saualtetipurideconexiunifizice. O comparatie intre modelul ISO /OSI si modelul TCP/IP, precum si protocoalele mai importante din suita de protocoale TCP/IP este evidentiata in figura urmatoare.
1.1 Nivelul gazda-la-retea
Despre acest nivel (numit si interfata retea) modelul TCP/IP nu spune mare lucru despre ceea ce ar trebui sa se intample aici, singura mentiune este aeeea ea o gazda trebuie sa se lege la retea, pentru a putea transmite date, folosind un anumit protocol. Acest protocol nu este definit si variaza de la gazda la gazda si de la retea la retea. Acest nivel face ca functionarea nivelului superior, numit Internet si respectiv, retea, sa nu depinda de reteaua fizica utilizata in comunicatie si de tipul legaturii de date. Internet-ul consta din calculatoare individuale (gazde si rutere) si o infrastructura de comunicatie care le conecteaza. in cadrul unei singure cladiri sunt utilizate LAN-uri pentru interconectare, dar infrastructura este construita din linii inchiriate, punct-la-punct. In practica, comunicatia punct-la-punct este utilizata in principal in doua situatii:
-in primul rand, mii de organizatii au una sau mai multe LAN-uri, fiecare cu un anumit numar de calculatoare gazda si un ruter. Internet-ul este construit din aceste rutere si liniile lor inchiriate care realizeaza subretelele de comunicatie;
-a doua situatie in care liniile punct-la-punct joaca un rol major in Internet o reprezinta milioanele de utilizatori individuali eare au eonexiuni de aeasa la Internet folosind modemuri si linii telefonice comutate.
Indiferent de modul de conectare la Internet, este necesar un protocol de legatura de date punct-la-punct pentru incadrare, controlul erorilor si alte functii.
La acest nivel evolutia protocoalelor este impulsionata de evolutia extrem de rapida a tehnologiilor de comunicatie, care introduc tipuri de legaturi cu viteze din ce in ce mai mari. Astfel, vom intalni linii telefonice inchiriate, lucrand la viteze de 57,5 Kbps, cat si fibre optice de 1,544 Mbps. In momentul de fata majoritatea calculatoarelor care utilizeaza rcp/IP in retele locale folosesc conexiuni Ethernet cu viteze cuprinse intre 1o Mbps si 1oo Mbps (retele Fast-Ethernet).
Protocoalele de la acest nivel gestioneaza conexiunea la Internet, incepand cu sistemele de autentificare la server si terminand cu modemurile de transmisie a pachetelor de date. La acest nivel sunt utilizate doua protocoale, utilizate pentru conectarea la Internet si Web prin intermediul modemului:
SLIP (Serial Line Internet Protocol protocol Internet pe linie seriala) permite legaturi seriale asincrone, este cel mai vechi protocol si el defineste o secventa de caractere pentru pachetele IP. Acest protocol este definit de RFC-urile 1o55 si 1144. Dintre lipsurile acestui protocol enuntam: nu face nici un fel de detectie sau corectie a erorilor; suporta doar protocolul IP; fiecare sistem trebuie sa cunoasca dinainte adresa IP a celuilalt sistem, nici o adresa nu poate fi asociata dinamic; nu este un standard Internet aprobat; nu furnizeaza nici o forma de autentificare. Ceea ce trebuie retinut, din punct de vedere al unui utilizator al Internet-ului, este faptul ca acest tip de legatura necesita o adresa fixa Internet pentru calculator, care este atribuita de providerul se servicii Internet. Acest protocol este utilizat in mod normal pentru linii dedicate si uneori pentru dial-up, iar ca viteza variaza intre 12oo bps si 19.2 Kbps;
PPP (Point to Point Protocol protocol punet-Ia-punet) este un protocol mai robust decat SLIP, care rezolva toate deficientele protoeolului SLIP si reprezinta un standard Internet. Acest protocol este definit de RFC-urile 1661, 1662, si 1663 Este un protocol pentru comunicatii intre doua calculatoare care foloseste o interfata seriala, utilizat in mod frecvent pentru conectarea la un server. Protocolul PPP foloseste protocolul pentru Internet (IP), si a fost dezvoltat pentru a putea utiliza si alte protocoale. Protocolul PPP, spre deosebire de SLIP, poate coordona mai multe tipuri de protoeoale in acelasi timp. Este utilizat din ce in ce mai mult, datorita faptului ca permite legarea atat pe legaturi seriale asincrone, cat si pe legaturi seriale sinerone. Protocolul PPP face detectia erorilor, suporta mai multe protocoale, permite ea adresele IP sa fie negociate in momentul eoneernrii, permite autentificarea, etc. In cazul utilizarii acestui tip de legatura, acordarea unei adrese se realizeaza automat, in momentul stabilirii legaturii la Internet.
Un posibil scenariu ar arata in felul urmator: calculatorul apeleaza mai intai ruter-ul ISP-ului prin intermediul unui modem. Dupa ce modemul a raspuns apelului telefonic si s-a stabilit o conexiune fizica, calculatorul trimite ruterului o serie de pachete LCP (Link Control Protocol - este un protocol de legatura pentru a obtine liniile, a Ie testa, a negocia optiunile si pentru a elibera liniile atunci cand nu mai este nevoie de ele). Dupa ce parametrii s-au stabilit de comun acord, sunt trimise mai multe pachete NCP (Network Control Protocol) pentru a negocia optiunile nivelului retea intr-un mod independent de protocolul folosit pentru nivelul retea; avem cate un NCP pentru fiecare nivel de retea suportat. Presupunem ca sistemul vrea sa ruleze o suita de protocoale TCP/IP si va avea nevoie de adresa IP. Furnizorul asociaza o adresa IP dinamica sistemului. NCP pentru IP este folosit pentru a realiza asocierea adreselor IP. Din acest moment calculatorul este un calculator gazda Internet si poate trimite si primi pachete IP. Cand utilizatorul termina transmisia, NCP este folosit pentru a intrerupe conexiunea la nivelul retea si pentru a elibera adresele IP. LCP este folosit pentru a intrerupe conexiunea la nivelul legaturii de date. Trebuie subliniat faptul ca intre adresa IP si cea de retea nu se afla nici o legatura. Nivelul gazda-Ia-retea depinde mai putin de protocolul TCP/IP si mai mult de driver-ele de retea si al placilor de retea.
1.2 Nivelul Internet
Nivelul Internet are rolul de a permite gazdelor sa emita pachete in orice retea si de a face ca pachetele sa circule independent pana la destinatie, utilizand functiile de rutare. Pentru a efectua aceasrn operatie se vor utiliza niste adrese unice, specifice fiecarui nod, numite adrese Internet Nivelul Internet defineste oficial un format de pachet si un protocol numit IP Internet Protocol care asigura un serviciu de transmitere a datelor tara conexiune. Alte protocoale care pot functiona la acest nivel sunt:
ICMP Internet Control Message Protocol;
ARP Address Resolution Protocol
RARP - Reverse Address Resolution Protocol.
La acest nivel, Internet-ul poate fi vazut ca o colectie de subretele sau sisteme autonome (ASuri Autonomous System) care sunt conectate impreuna. Nu exista o structura real a, dar exista cateva coloane vertebrale majore (backbone).
Liantul care tine Internet-ul la un loc este protocolul de retea IP Internet Protocol, si el a fost conceput inca de la inceput pentru interconectarea retelelor. Acest protocol este definit in RFC-urile 791, 155o, 1883, si 1887. Caracteristica esentiala este ca fiecare pachet este tratat ca o entitate independenta (numita pachet sau datagrama), tara legaturi cu alte pachete. Acest nivel este nivelul responsabil cu rutarea pachetelor (datagramelor) in Internet Sarcina acestui protocol este de a oferi o cale pentru a transporta datagramele de la sursa la destinatie, tara a tine seama daca aceste sisteme sunt sau nu in aceeasi retea, sau daca sunt sau nu alte retele intre ele. Protocolul IP ruteaza pachetele prin retelele interconectate indeplinind si functii de segmentare (la emitator) si de reasamblare (la destinatar) a pachetelor; acest protocol nu garanteaza livrarea pachetelor catre destinatar, dar prin intermediul nivelului imediat superior, protocolului TCP, se asigura fiabilitatea corespunzatoare. In operatia de rutare protocolul IP utilizeaza adresa IP a calculatorului (numita si adresa de retea). Comunicarea in Internet functioneaza astfel: nivelul transport preia sirurile de date si le imparte in datagrame. Teoretic, datagramele pot avea pana la 64 KB, dar in practica ele sunt de obicei in jurul valorii de 15oo Bytes. Fiecare datagrama este transmisa prin Internet, fiind eventual fragmentata in unitati mai mici pe drum. Cand aceste unitati ajung la ca1culatorul destinatie, ele sunt reasamblate de nivelul retea in datagrama originala. Datagrama este apoi transmisa nivelului transport, care o insereaza in sirul de intrare al procesului receptor. O datagrama IP consta dintr-o parte de text si o parte de antet. Antetul are o parte fixa de 2o octeti si o parte optional a cu o lungime variabila. In antet sunt trecute informatii referitoare la:
-versiunea protocolului caruia ii apartine datagrama;
-un camp care arata lungimea antetului;
-tipul de serviciu pe care gazda doreste sa-l utilizeze;
-un camp in care este specificat carei datagrame apartine un nou pachet primit;
-un contor pentru a limita durata de viata a pachetelor, etc.
Pe langa protocolul IP, care este utilizat pentru transferul de date, la acest nivel mai pot functiona si alte protocoale, in vederea unei bune functionari a transmisiei, ele fiind de fapt protocoale de control la nivel de retea Acestea sunt:
ICMP Internet Control Message Protocol, protocolul mesajelor de control in Internet, amintim de protocolul IP care furnizeaza un serviciu tara conexiune, care nu garanteaza livrarea fiecarui pachet la destinatie. Pentru a inlatura acest dezavantaj se utilizeaza un mecanism prin care ruterele si sistemele din retea comunica informatii privind situatiile de functionare anormala (destinatie inaccesibila, suprasolicitarea unui ruter, etc.); el poate fi utilizat de un sistem pentru a testa daca un alt sistem este accesibil. Mesajele ICMP sunt incapsulate intr-un pachet IP;
ARP - Address Resolution Protocol, protocol de rezolutie a adresei - prin intermediul caruia transmiterea unui pachet se poate efectua si intre doua sisteme aflate in aceeasi retea fizica. Faptul ca sistemul destinatar este conectat la aceeasi retea fizica este constatat de catre sistemul sursa, prin intermediul adresei IP de destinatie, pe care o compara cu propria adresa IP, prin intermediul protocolului ARP. Deci putem spune ca acest protocol permite unui calculator sa determine adresa fizica unica (MAC) a unui alt calculator din aceeasi retea fizica cunoscand adresa IP (de nivel retea) a acestuia, sau mai putem spune ca ARP furnizeaza o adresa IP de manipulare catre adresa subnivelului MAC in acord cu adresa fizica MAC de control a destinatiei. Toate aceste informatii se afla in niste tabele de translatare; aceste tabele de translatare ARP nu sunt direct disponibile utilizatorilor sau aplicatiilor. Protocolul ARP afiseaza lista corespondentelor intre adresele IP si adresele fizice, determinate corect. De retinut ca acest protocol este utilizat atunci cand cele doua calculatoare (sursa si destinatie) fac parte din aceeasi retea fizica, deci nu este necesara utilizarea ruterelor.
Se stie ca fiecare calculator are una sau mai multe adrese IP, dar ele nu pot fi folosite pentru transmiterea pachetelor deoarece hardware-ul nivelului legaturii de date nu intelege adresele IP. Fiecare placa de retea Ethernet fabricata vine cu o adresa Ethernet de 48 biti. Nu exista placi cu aceeasi adresa, fiecare placa de retea avand o adresa Ethernet unica. Placile trimit si primesc cadre pe baza adresei Ethernet de 48 biti. Cum se face totusi transportul ? Sa presupunem ca avem doua retele Ethernet, una cu adresa IP 1o.15.1o.o. si una cu adresa IP 1o.15.16.o. acestea sunt conectate la o retea care are adresa IP 1o.14.o.o. Fiecare calculator din retea are o adresa Ethernet unica, etichetata de la El la E6. Sa presupunem ca utilizatorul, care are adresa IP 1o.15.1o.o, acceseaza dark.alpha.ro, care este adresa Internet a destinatarului? Pe baza acestei adrese protocolul DNS va determina adresa IP a destinatarului, care va fi 1o.15.16.o. Programele IP se uita la adresa si vad ca destinatarul se afla in propria retea, dar au nevoie de un mijloc prin care sa determine adresa Ethernet a acestuia. Protocolul utilizat pentru acest lucru este ARP.
RARP Reverse Address Resolution Protocol, protocol de rezolutie inversa a adresei permite unui calculator sa-si obtina, atunci cand n-o cunoaste, adresa IP proprie, deci face operatia inversa (cunoscand adresa fizica, adica adresa Ethernet, se determina adresa IP a statiei) protocolului ARP. Acest protocol este utilizat atunci cand statia de lucru nu are harddisk.
1.3 Nivelul transport
Nivelul transport permite conversatii intre entitatile pereche din gazdele sursa, si respectiv, destinatie, deci asigura comunicatia intre programele de aplicatie. Sunt definite doua protocoale: TCP Transmission Control Protocol este un protocol punct-la-punct, orientat pe conexiuni care permite ca un flux de octeti trimisi de pe un sistem sa ajunga fara erori pe oricare alt sistem din inter-retea (asigura livrarea corecta, in ordine a mesajelor). Al doilea protocol, UDP User Datagram Protocol este un protocol nesigur (nu asigura livrarea mesajului la receptie fara erori, fara pierderi, fara duplicate, in ordinea in care au fost emise), fara conexiuni, care foloseste IP pentru transportul mesajelor.
Nivelul transport are rolul de a asigura comunicatia intre programele de aplicatie (protocoalele de la acest nivel furnizeaza o sesiune de comunicatie intre calculatoare). Metoda aleasa de transmitere a datelor determina protocolul de transport utilizat: TCP sau UDP. De asemenea, alegerea unuia sau altuia depinde de necesitatile impuse de aplicatia respectiva.
UDP - User Datagram Protocol, numit si protocol pentru informatia utilizator este un protocol fara conexiune, nesigur, dar cu viteza mare de transmisie, care utilizeaza datagrame pentru livrarea datelor. Cand se utilizeaza acest protocol, comunicatia este efectuata prin serviciu fara conexiune (nu se stabileste un circuit intre cele doua calculatoare care vor sa comunice) folosind IP pentru transferul mesajelor. Acest protocol nu garanteaza livrarea mesajului la receptie fara erori, fara pierderi, fara duplicate, in ordinea in care au fost emise. Acest protocol permite identificarea sistemelor sursa si destinatie, precum si a programelor de aplicatie intre care are loc transferul de informatie.
TCP - Transmission Control Protocol este un protocol sigur, care asigura transferul fiabil al informatiilor intre aplicatiile de pe cele doua calculatoare aflate in comunicatie. TCP este mult mai complex decat UDP pentru ca furnizeaza un serviciu de livrare a datelor sigur, fara erori, orientat pe conexiune. Protocolul TCP este responsabil pentru impartirea mesajului in mai multe datagrame, reasamblarea, retransmiterea in cazul in care ceva nu a fost transmis corect.
La nivelul acestui protocol intervin doua procese, si anume:
-demultiplexarea, care desface mesajul in mai multe datagrame. Informatia necesara pentru demultiplexare este continuta in asa numitele header-e: un numar de octeti aranjati la inceputul datagramei printr-un protocol care 'tine minte' ordinea lor;
-multiplexare, prin care are loc procesul de combinare a mai multor datagrame intr-un singur mesaj. O entitate TCP accepta fluxuri de date utilizator de la procesele locale, Ie imparte in fragmente ce nu depasesc 64 KB si expediaza fiecare fragment ca o datagrama IP separata. Principal a sarcina TCP este de a reasambla mesajele respectand ordinea corecta a acestora. Serviciul TCP este obtinut prin crearea atat de emitator cat si de receptor a unor puncte finale, numite socluri sau sockets (primitiva SOCKET creeaza un nou punct de capat al conexiunii comunicatiei - si aloca spatiu pentru el in tabelele entitatii de transport. In parametrii de apel se specifica formatul de adresa utilizat, tipul de serviciu dorit si protocolul. Un apel SOCKET reusit intoarce un descriptor de fisier care va fi utilizat in apelurile urmatoare).
Pentru a obtine o conexiune TCP, trebuie stabilitii explicit o conexiune intre un soclu de pe sistemul emitaitor si un soclu de pe sistemul receptor.
Fiecare soclu are un numar de soclu format din adresa IP a calculatorului gazda si un numar de 16 biti, numit port. Un soclu poate fi utilizat la un moment dat pentru mai multe conexiuni. Port-urile cu un numar mai mic decat 256 se numesc porturi general cunoscute si sunt rezervate serviciilor standard.
De exemplu, orice proces care doreste sa stabileasca o conexiune cu un calculator gazda pentru a transfera un fisier utilizand FTP, se poate conecta la portul 21 al calculatorului destinatie pentru a contacta daemonul sau FTP. Portul 23 este rezervat pentru TELNET. Lista tuturor porturilor standard utilizate se regaseste in RFC 17oo.
1.4 Nivelul aplicatie
Nivelul aplicatie asigura utilizatorilor retelei, prin intermediul programelor de aplicatie, o varietate de servicii. Nivelurile de sub nivelul aplicatie servesc la asigurarea unui transport sigur, dar nu indeplinesc nici o functie concreta pentru utilizatori. De-abia la nivelul aplicatie pot fi gasite toate aplicatiile interesante pentru utilizatori, dar chiar si la acest nivel apare necesitatea unor protocoale care sa permita functionarea aplicatiilor. Nivelul aplicatie asigura utilizatorilor o gama larga de servicii, prin intermediul programelor de aplicatie.
Programele care utilizeaza suita de protocoale TCP / IP sint in continua crestere, si din aceasta cauza lista acestor protocoale este deschisa, ea marindu-se pe masura ce apar noi aplicatii (programe). Acest nivel asigura utilizatorilor retelei (tot prin intermediul programelor de aplicatie) o gama larga de servicii, dintre care cele mai utilizate sunt:
FTP File Transfer Protocol, protocol de transfer de fWere, este dupa cum arata si numele un program utilizat pentru transferul fisierelor sau al documentelor de pe un calculator pe altul, in ambele sensuri. Procesele de download (aducere), si respectiv de upload (trimitere) au loc numai in cazul in care avem drept de citire, respectiv scriere, pe server-ul respectiv. Pentru conectarea la un calculator din Internet folosind FTP, trebuie ca acel calculator aflat la distanta sa aiba instal at un server de FTP;
TELNET Remote Login permite accesul unui utilizator la un calculator aflat la distanta si utilizarea acestuia, din momentul in care conectarea s-a efectuat, pentru executia anumitor comenzi. Aplicatia Telnet server permite functionarea unui calculator local in regim de terminal virtual conectat la un calculator la distanta. Deci din momentul conectarii la acel calculator putem efectua diferite comenzi pe el;
DNS Domain Name System este un serviciu care mentine corespondenta si face translatarea intre numele date de utilizatori sistemelor conectate la retea (adrese Internet) si adresele de retea (adresele IP) ale acestora.
PING - Packet InterNet Groper este un serviciu care poate fi utilizat pentru testarea conectivitatii intre doua sisteme. Este utilizat pentru controlarea configuratiilor si testarea conexiunilor;
SNMP Simple Network Management Protocol este un protocol pentru administrarea si monitorizarea retelei;
SMTP Simple Mail Transfer Protocol este un protocol scris pentru transferul mesajelor de posta electronica; prin intermediul lui utilizatorul poate transmite mesaje sau fisiere altui utilizator (se pot schimba mesaje intre doua ca1culatoare aflate la distanta) conectat la Internet sau la un alt tip de retea, dar care prezinta o conexiune cu Internet-ul.
3 Modelul client-server
La nivelul aplicatiilor exista o asimetrie intre programele aflate la cele doua capete, de obicei pe calculatoare diferite. Unul are rolul de a oferi anumite servicii, serverul, iar celalalt de a solicita aceste servicii, clientul. Astfel apare denumirea de model client - server pentru a caracteriza acest mod de lucru.
Acesta este modelul dominant in proiectarea aplicatiilor pentru retele de calculatoare, cu toate au aparut si sunt utilizate si alte modele (de exemplu modelul multistrat in cazul utilizarii sistemelor de gestiune a bazelor de date, modelul peer - to - peer unde nu sunt noduri cu rol de server sau client). Trebuie sa remarcam de asemenea ca in anumite contexte un anume program poate sa joace atat rolul de client, cat si de server (solicita si ofera servicii).
Programul server trebuie pornit primul, iar proiectarea s-a trebuie sa aiba in vedere anumite reguli, dupa cum urmeaza:
1. Se deschide un canal de comunicare si se anunta calculatorul local ca programul este pregatit sa accepte cereri de la clienti la o locatie sau adresa determinata.
Programul asteapta sosirea unei cereri de la un client.
3. Cererea este acceptata si tratata, elaborandu-se si un mesaj de raspuns care se trimite clientului. Exista aici anumite diferente dupa cum programul poate trata simultan mai multe cereri (server concurent) sau numai cate una singura (server iterativ)
4. Se revine la pasul
De aici rezulta ca programele server sunt de regula programe ciclice, care raman in functiune un timp nedeterminat dupa activare. Trebuie de asemenea asigurata facilitatea de a inregistra cererile de la clienti care sosesc inainte ca serverul sa revina in starea de acceptare de noi cereri.
Programul client are urmatoarele actiuni tipice:
1. Deschiderea unui canal de comunicare si conectarea la o locatie determinata a unui anumit calculator.
Emiterea de cereri de servicii catre server si receptionarea rezultatelor de cate ori este nevoie.
3. Inchiderea canalului de comunicare si terminarea programului.
Se spune ca serverele deschid canale de comunicare in mod pasiv iar clientii sunt elementele active in aplicatiile client - server.
1.4 Rezumat
Retelele de calculatoare au cunoscut o dezvoltare spectaculoasa in ultimii ani. Ele sunt utilizate atat de catre companii uriase pentru a centraliza datele aflate in diferite subunitati, aflate la distante apreciabile, pentru a putea verifica nivelul de productie, cat si pentru a realiza contabilitatea companiei. De asemenea, comanda echipamentelor aflate la distanta este un obiectiv.
Retelele au o importanta tot mai mare si in viata persoanelor particulare. Se utilizeaza tot mai mult comunicarile in timp real (conferinte text, audio, video) cat si posta electronica, e-mail, plata on-line a taxelor, administrarea conturilor bancare, cumparaturi, cat si divertismentul: muzica, filme, stiri, stiinta, politica, religie, gradinarit, etc. Domeniile de aplicatie a retelelor, si in particular a Internet-ului, fiind practic inepuizabile.Componentele unei retele se numesc noduri Nodurile pot fi atat calculatoare de uz general, cat si supercalculatoare, dar si echipamente de uz general, cum ar fi telefoanele mobile.Pentru interconectarea calculatoarelor se folosesc diferite medii: cablu coaxial, fibre optice, semnale radio, microunde, sateliti, etc. Exista mai multe tipuri de retele, clasificate dupa intinderea lor in spatiul geografic: LAN (Local Area Network), WAN (Wide Area Network), MAN (Metropolitan Area Network), PVN (Private Virtual Network). Exista echipamente speciale pentru interconectarea retelelor: repetoare, punti, rutere, gateways. Pentru a asigura o comunicare eficienta intre calculatoarele conectate la retele, au fost definite si implementate anumite protocoale. Protocoalele la randul lor au fost grupate in modele de referinta, dintre care cele mai cunoscute sunt OSI si TCP/IP. Modelele de referinta se impart pe niveluri (layers), fiecare din aceste niveluri avant anumite atributii bine determinate. Modelul OSI are 7 niveluri fizic, legatura de date, retea, transport, sesiune, prezentare si aplicatie. Modelul TCP/IP are nivelurile: nod-retea, retea, transport si aplicatie. Dupa cum se observa modelul TCP/IP nu are nivelurile sesiune si prezentare, iar nivelurile fizic si legatura de date sunt comasate in nivelul nod-retea. Aceasta alegere de proiectare se pare ca a fost bine gandita, dovada fiind faptul ca modelul TCP/IP este mult mai des gasit in implementarile actuale decat modelul OSI. Modelul de baza dupa care se scriu programele pentru retele este modelul client-server, in conformitate cu care intr-o retea sunt cei care ofera servicii (servere) si cei care solicita aceste servicii (clienti). Anumite programe pot sa fie servere la un moment dat, oferind servicii, sau clienti, solicitand servicii. Atunci cand ne conectam la Internet, indiferent cat de sigur ar fi firewall-ul pe care il folosim, ar trebui sa fim mai vigilenti in monitorizarea mecanismelor de securitate ale statiilor de lucru si ale serverelor din reteaua LAN proprie astfel incat sa ne putem asigura ca nu apar brese de securitate.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |