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 simpla intre toate calculatoarele
din lume. Dar o astfel de retea universala, bazata pe o unica tehnologie hardware,
este 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. s8u22uq
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 ainternetworkingi,
permite adaptarea a numeroase si diferite tehnologii hardware, 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 aTCP/IP Internet Protocol Suitei
- 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 cunoscuta si 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 comunicatia;
structura aferenta este mascata, dar mei ales irelevanta. Intr-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 aApplication layeri 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 aTransport layeri are ca prima misiune sa asigure
comunicatia intre un program de aplicatie si un altul - adica ceea 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 si in 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 aInternet layeri este cel care asigura comunicatia
de la o masina la alta. El accepta, din partea nivelului de transport, o cerere
de a trimite un pachet, insotita de informatia de identificare a masinii
ce reprezinta destinatia pachetului. Nivelul 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 paseaza datagrama 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 departe.
Pentru 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 control, in functie de necesitati, si se ocupa de
toate mesajele ICMP care sosesc.
Ø Nivelul interfetei de retea aNetwork Interface layeri - numit si nivelul
legaturii de date aData Link layeri - 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 un driver
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
si amplasarea “inteligentei” in intregul 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. Si nivelul de retea efectueaza detectarea erorilor
si recuperarea pachetelor transferate in retea, utilizand o suma
de control si tehnici de pauza 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, intrucat calculatoarele 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 afla calculatoarele
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 aend-to-end servicei.