Cauta ce doresti pe acest blog

sâmbătă, 4 ianuarie 2014

Modelul TCP/IP pentru arhitectura inter-retelelor de calculatoare





In prezent, comunicatia intre utilizatorii de calculatoare si aplicatiile lor a devenit o necesitate de nediscutat. Dar majoritatea retelelor de calculatoare reprezinta entitati independente, concepute sa serveasca necesitatile unui anumit grup de utilizatori, acestia alegand tehnologia hardware cea mai potrivita pentru rezolvarea problemelor lor de comunicatie. La prima vedere, realizarea unei unice retele de calculatoare pe tot Pamantul ar parea solutia ideala pentru a asigura o comunicare sigura si simplintre toate calculatoarele din lume. Dar o astfel de retea universala, bazata pe o unica tehnologie hardwareeste imposibil de construit, caci nici un tip de retea de calculatoare nu ar putea satisface toate necesitatile tuturor utilizatorilor. Astfel, anumiti utilizatori au nevoie de retele de mare viteza de transmisie intre masinile lor, dar astfel de retele nu pot fi extinse pentru a acoperi distante foarte mari; alti utilizatori accepta retele cu viteze de transmisie mai mici, dar care pot lega intre ele masini situate la mii de kilometri distanta una de alta.


De la inceputul anilor 1980 a aparut o noua tehnologie care a dat posibilitatea conectarii unor retele realizate fizic diferit, facandu-le sa functioneze ca o unitate coordonata. Aceasta tehnologie, numita  interconectare[internetworking],  permite adaptarea a numeroase si diferite tehnologiihardware, oferind o modalitate de interconectare a unor retele eterogene si stabilirea unei multimi coerente si nu prea numeroase de conventii de comunicare. Tehnologia interconectarii de retele - ce conduce la obtinerea de inter-retele (numite generic  internet) - ascunde detaliile hardware ale retelelor interconectate si permite caculatoarelor sa comunice independent de conexiunile din reteaua fizica din care fac parte.

Tehnologia internet constituie un exemplu de interconectare in sistem deschis, intrucat, spre diferenta de sistemele de comunicatie brevetate, furnizate de o anumita firma, caracteristicile unui sistem deschis sunt disponibile public, oricine putand concepe un program necesar comunicatiei in acel sistem - in cazul de fata in internet. Si, ceea ce este mai important, intreaga tehnologie a fost conceputa pentru a asigura comunicatia intre masini cu diverse arhitecturi hardware, pentru a utiliza aproape oricare dispozitiv de comutatie de pachete si de a impaca multiplele sisteme de operare a calculatoarelor.


Principiile si ideile ce stau la baza tehnologiei internet au rezultat din cercetarile  Agentiei pentru Proiecte de Cercetare Avansate - Advanced Research Projects Agency (ARPA).  Aceasta tehnologie include un set de standarde ce precizeaza detaliile privind modul in care calculatoarele comunica, precum si un set de conventii pentru interconectarea retelelor si dirijarea traficului. Numita oficial  suita de protocoale internet  TCP/IP [TCP/IPInternet Protocol Suite] - dupa numele celor doua principale standarde ale sale -, aceasta tehnologie poate fi utilizata pentru a comunica in orice multime de retele interconectate. Astfel, unele intreprinderi utilizeaza  TCP-IP  pentru a interconecta toate retelele din intreprindere, chiar daca nici una din ele nu are conexiune cu vreo retea exterioara; alte grupuri utilizeaza  TCP/IP  pentru comunicatia intre utilizatori aflati la distante geografice foarte mari.



Tehnologia  TCP/IP  formeaza baza pentru o internet la scara globala ce conecteaza universitati, intreprinderi industriale si comerciale, institutii guvernamentale, locuinte personale, etc. Printre cei care au participat la fondarea si utilizarea unei inter-retele globale bazate pe protocoalele  TCP/IP - inter-retea desemnata prin termenul de Internet *)  - se numara  National Science Foundation (NSF),  Department of Energy (DOE),  Department of Defense (DOD),  Health and Human Services Agency (HHS)  si  National Aeronautics and Space Administration (NASA) - toate din  S.U.A.  Aceasta inter-retea globala mai este cunoscutsi sub denumirile de  ARPA/NSF Internet,  TCP/IP Internet  sau  Internet globala.  Ea a demonstrat viabilitatea tehnologiei  TCP/IP  si faptul ca aceasta permite interconectarea de retele de calculatoare bazate pe tehnologii eterogene.



Structura unei internet, vazuta ca mai multe retele fizice interconectate prin intermediul unor rutere, creaza o imagine inselatoare a conceptului de internet, intrucat atentia cea mai mare trebuie indreptata catre interfata pe care o internet o ofera utilizatorilor si nu catre tehnologia de interconectare. Un utilizator considera o internet drept o unica retea virtuala ce interconecteaza toate calculatoarele si prin care este posibila comunicatiastructura aferenta este mascata, dar mei ales irelevantaIntr-un anumit sens, o internet este o abstractizare a retelelor fizice, intrucat, la niuvelul ei cel mai de jos, ea furnizeaza aceleasi functiuni ca o retea fizica: accepta pachete si le trimite. Nivelurile superioare ale software-ului de internet sunt cele ce contribuie cel mai mult la functionalitatea bogata perceputa de utilizatori.



Ca si  modelul de referinta  OSI-ISO,  modelul arhitectural (conceptual) al software-ului unei internet bazate pe protocoalele  TCP/IP  este organizat pe  niveluri ierarhice.
Dar acest model nu a provenit de la vreun organism de standardizare, ci a rezultat din cercetarile care au condus la  suita (stiva) de protocoale TCP/IP.


In linii mari,  suita de protocoale  TCP/IP este organizata pe  5 niveluri conceptuale  construite peste  un nivel hardware. Fig. ce urmeaza prezinta arhitectura interretelelor bazate pe  TCP-IP  ca si  unitatile de informatie  vehiculate la fiecare nivel de protocolul aferent.
Nivelul conceptual
  
Unitatea de informatie vehiculata
  
Aplicatie
  
mesaj  sau  flux de octeti
  
Transport

pachet
  
Internet

datagrama
  
Interfata de retea
(legatura de date)
cadru
  
Fizic
(conexiunea hardware)
sir de biti
  
Ca si la  modelul de referinta  OSI-ISO,  nivelurile arhitecturii  TCP/IP  au menirea sa ofere anumite servicii.



Ø                Nivelul de aplicatie [Application layer]  este nivelul cel mai de sus, prin care  utilizatorii  invoca  programe de aplicatii  care acceseaza  serviciile disponibile intr-o internet bazata pe  TCP/IP.  O aplicatie  interactioneaza cu unul din  protocoalele de nivel de transport  pentru a transmite si receptiona date. Fiece program de aplicatie  alege  modul de transport necesar - care poate fi  o succesiune de mesaje individuale  sau  un flux continuu de octeti. Programul de aplicatie paseaza datele, in forma ceruta,  nivelului de transport  pentru a le livra.


Ø          Nivelul de transport [Transport layer]  are ca prima misiune  sa asigure  comunicatia intre  un program de aplicatie  si  un altul  - adicaceea ce se numeste  o comunicatie sursa-destinatie. El poate avea si sarcina de  a regla fluxul de informatii. De asemenea, el poate furniza  un transport fiabil - in sensul ca  datele sa ajunga la destinatie  fara erori  si  in ordinea in care au fost emise (prin mecanismul - utilizat sin retelele fizice - de  confirmare a receptiei corecte  si  retransmisie in caz contrar). Protocolul de transport  divide  fluxul de date ce trebuie transmis  in  unitati mici (pachete)  pe care le transmite, impreuna cu adresa destinatiei, nivelului inferior  in vederea transmiterii.


Ø            Nivelul internet [Internet layer]  este cel care  asigura comunicatia de la o masina la altaEl accepta, din partea nivelului de transport,  o cerere  de a trimite un pachetinsotita de informatia de identificare a masinii ce reprezinta destinatia pachetuluiNivelul internet  incapsuleaza pachetul  intr-o  datagrama  IP,  completeaza  antetul datagramei,  utilizeaza algoritmul de dirijare  pentru a determina daca  sa livreze datagrama direct  sau  sa o trimita unui ruter  si  paseazadatagrama  interfetei de retea corespunzatoare  pentru a fi transmisa. Tot  nivelul internet  este cel care  trateaza datagramele care sosesc,  verificandu-le validitatea,  si  utilizeaza algoritmul de dirijare  pentru a decide daca  datagrama trebuie prelucrata locau  sau  trebuie trimisa mai departePentru  datagramele adresate masinii locale,  programul din nivelul internet  inlatura antetul datagramei  si  selecteaza din  protocoalele de transport disponibile  pe cel care va manipula pachetul.  In fine, nivelul internet  trimite  mesajele  ICMP  de eroare si de controlin functie de necesitati,  si  se ocupa de toate mesajele  ICMP  care sosesc.


Ø             Nivelul interfetei de retea [Network Interface layer] - numit si  nivelul legaturii de date [Data Link layer]  - este  cel mai de jos nivel  al suitei de protocoale  TCP/IP  raspunde de  acceptarea datagramelor  IP  si  trans-miterea lor printr-o anume retea particulara.  Interfata de retea  poate consta din  undriver de dispozitiv - ca atunci cand reteaua respectiva este o  LAN  la care masina este  atasata direct -  sau  un subsistem complex care foloseste propriul protocol de nivel de legatura de date - cand reteaua consta din  comutatoare de pachete care comunica cu calculatoarele prin  protocolul  HDLC.


Comparatie intre modelul de referinta  OSI-ISO pentru WAN si modelul TCP/IP pentru inter-retelele de calculatoare


Exista  doua diferente  - subtile, dar importante - intre modelul conceptual al arhitecturii  TCP/IP  si  modelul de referinta  OSI-ISO,  diferente ce rezulta din modul in care sunt gandite solutiile privind  asigurarea fiabilitatii  samplasarea “inteligentei” iintregul sistem.

<            Fiabilitate  la nivelul legaturii de date  sau  intre utilizatorii finali
O diferenta principala intre protocoalele  TCP/IP  si  protocoalele  OSI (implementate intr-o serie de retele, dintre care cea mai raspandita este  reteaua publica de date  X.25)  consta in  modul de abordare a problemei  furnizarii unor servicii fiabile de transfer de date.


In modelul  OSI,  programele de protoocoale  detecteaza si solutioneaza erorile  la toate nivelurile. Astfel, la  nivelul legaturii de date,  protocoale complexe  asigura  transferul corect al cadrelor  intre calculator si comutatorul de pachete cu care este conectat;  o suma de control  insoteste fiecare cadru transferat  iar  receptorul  confirma  fiecare cadru ajuns cu bine, utilizandu-se  algoritmi de pauza de asteptare  si de retransmisie  care sa previna pierderea datelor  si care sa permita recuperarea automata a datelor dupa o cadere a hardware-ului si o repornire a masinii.  Snivelul de retea  efectueaza detectarea erorilor  si  recuperarea pachetelor transferate in retea, utilizand  o suma de control  si  tehnici depauza de asteptare si de retransmisie.  In fine,  nivelul de transport  trebuie sa ofere  fiabilitate intre utilizatorii finali,  obligand sursa sa comunice cu destinatia finala  pentru a verifica  livrarea corecta a pachetelor.


In contrast cu aceasta conceptie,  modelul arhitectural al  TCP/IP  isi bazeaza suita de protocoale pe ideea ca  fiabilitatea este o problema intre utilizatorii finali. Cu alte cuvinte: se va realiza o internet care  sa faca fata incarcarii prevazute  dar  care sa permita  unor  linii de legatura  sau  masini  sa piarda  sau  sa altereze  date,  fara a incerca, in mod repetat, sa le recupereze. In fond, nu se asigura decat o mica fiabilitate sau  deloc  de catre  programele  nivelului de interfata de retea  in majoritatea implementarilor  TCP/IP.  In schimb,  nivelul de transport  face fata majoritatii problemelor de detectare si corectare a erorilor - intre utilizatorii finali -,  facand uz de  sume de control,  confirmari  si  pauze de asteptare.


Eliberarea  nivelului de interfata de retea  de sarcina  verificarii corectitudinii transmiterii datelor  face ca  software-ul  TCP/IP  sa fie  mai usor de inteles si de implementat. Ruterele intermediare pot elimina datagramele care au fost afectate de erorile de transmisie,  cele pe care nu le pot livra  sau  cele care sosesc cu o frecventa mai mare decat  capacitatea masinii de a le prelucra si trata; de asemenea, ele pot  redirija datagramele pe trasee cu intarzieri mai mari sau mai mici  fara a fi obligate sa informeze  sursa  sau  destinatia  despre aceasta.
=            Locul inteligentei si al deciziilor

O alta diferenta intre  modelul  TCP/IP  si  modelul  OSI  provine din  alegerea locului unde se amplaseaza  autoritatea  si  de unde se face conducerea.

Ca regula generala,  retelele implementate dupa  modelul  OSI  adera la ideea ca   o retea de calculatoare  este  un mijloc care ofera  servicii de transport de informatii. Furnizorul de servicii  controleaza accesul in retea  si  monitorizeaza traficul, inregistrandu-l in vederea contorizarii si taxarii utilizatorilor. Producatorii de retele de calculatoare sunt cei care rezolva - intern - problemele precum: dirijarea, controlul fluxului si confirmarea. Acest punct de vedere  nu lasa mare lucru de facut calculatoarelor. In concluzie,  o retea (de calculatoare)  este  un sistem complex, independent si deschis, la care pot fi atasate calculatoare relativ simple, intrucacalculatoarele  participa  in foarte mica masura  la functionarea retelei.


In opozitie cu acest concept,  TCP/IP  pretinde calculatoarelor  sa participe la  aproape toate protocoalele de retea. Am vazut mai sus cum calculatoarele implementeaza activ  detectarea si corectarea erorilor  intre utilizatorii finali.  Ele participa, de asemenea, la rutare,  intrucat trebuie sa aleaga un ruter atunci cand trimit o datagrama,  si  participa la controlul retelei,  fiindca trebuie sa faca fata  mesajelor  ICMP  de control. Asadar, prin comparatie cu  modelul  OSI,  o internet  TCP/IP  poate fi privita ca  un sistem relativ simplu de livrare de pachete  la care se ataseaza  calculatoare inteligente.


Intr-o internet, calculatoarele intre care se transporta informatii  se afla, cel mai adesea, in retele fizice diferite, interconectate prin rutere. Modelul arhitectural al  TCP-IP,  prezentat mai sus,  se refera la  calculatoare (gazda).  Ruterele  nu poseda decat  nivelul internet  si  nivelul interfetei de retea. Circulatia informatiei, in cazul existentei unui ruter intermediar ce interconecteaza cele doua retele fizice in care se aflacalculatoarele comunicante,  este ilustrata in fig. ce urmeaza. Se constata imediat de ce  numai  protocoalele de la nivelurile  de transport  si de aplicatie  pot fi considerate ca  ofera  servicii intre utilizatorii finali [end-to-end service].


*)    in cele ce urmeaza se va folosi termenul de  internet  pentru orice inter-retea bazata pe protocoalele  TCP/IP,  iar prin  Internet  se va intelege inter-reteaua globala mentionata.

Informații cu privire la rețelele de calculatoare puteți gasi pe pagina de blog a colegei mele Ana-Maria Dobre (Rețele de calculatoare)


Bibliografie
http://nastasef.ase.ro/
http://ro.wikipedia.org/wiki/TCP/IP
http://www.link.ro/articole/tcpip.htm
http://www.scritube.com/stiinta/informatica/retele/Tipuri-de-protocoale-TCPIP53933.php

Niciun comentariu:

Trimiteți un comentariu