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.
De la
inceputul anilor 1980
a ap
arut o nou
a tehnologie care a dat posibilitatea conecta
rii unor retele realizate fizic diferit, f
acandu-le s
a func
tioneze ca o unitate coordonat
a. Aceast
a tehnologie, numita
interconectare[
internetworking], permite adaptarea a numeroase
si diferite tehnologii
hardware, oferind o modalitate de interconectare a unor re
tele eterogene
si stabilirea unei mult
imi coerente si nu prea numeroase de conven
tii de comunicare. Tehnologia interconect
arii de re
tele - ce conduce la ob
tinerea de
inter-retele (numite generic
internet) - ascunde detaliile
hardware ale re
telelor interconectate
si permite caculatoarelor s
a comunice independent de conexiunile din re
teaua fizic
a 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 cercet
arile
Agentiei pentru Proiecte de Cercetare Avansate -
Advanced Research Projects Agency (ARPA). Aceast
a tehnologie include un set de standarde ce precizeaz
a detaliile privind modul
in care calculatoarele comunic
a, precum si un set de conven
tii pentru interconectarea re
telelor
si dirijarea traficului. Numita oficial
suita de protocoale internet TCP/IP [
TCP/IPInternet Protocol Suite] - dup
a numele celor dou
a principale standarde ale sale -, aceast
a tehnologie poate fi utilizat
a pentru a comunica
in orice mul
time de re
tele interconectate. Astfel, unele
intreprinderi utilizeaz
a TCP-IP pentru a interconecta toate ret
elele din intreprindere, chiar dac
a nici una din ele nu are conexiune cu vreo re
tea exterioar
a; alte grupuri utilizeaz
a TCP/IP pentru comunica
tia
intre utilizatori afla
ti la distant
e geografice foarte mari.
Tehnologia TCP/IP formeaza baza pentru o internet la scar
a global
a ce conecteaz
a universit
ati,
intreprinderi industriale
si comerciale, institut
ii guvernamentale, locuinte personale, etc. Printre cei care au participat la fondarea
si utilizarea unei inter-re
tele globale bazate pe protocoalele
TCP/IP - inter-re
tea desemnata prin termenul de
Internet - se num
ara 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. Aceast
a inter-ret
ea globala mai este cunoscut
a 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 re
tele 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 organiza
ta pe 5
niveluri conceptuale construite peste un nivel
hardware. Fig. ce urmeaz
a prezint
a arhitectura interre
telelor bazate pe TCP-IP ca si unit
atile 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 interac
tioneaz
a cu unul din protocoalele de
nivel de transport pentru a transmite
si recep
tiona date. Fiece program de aplica
tie alege modul de transport necesar - care poate fi
o succesiune de mesaje individuale sau
un flux continuu de octeti. Programul de aplica
tie paseaz
a datele, i
n 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 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 [Internet layer] 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 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 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 [
Network Interface layer] - numit
si
nivelul legaturii de date [
Data Link layer] - este cel mai de jos nivel al suitei de protocoale
TCP/IP r
aspunde de acceptarea datagramelor IP
si trans-miterea lor printr-o anume re
tea particular
a.
Interfata de retea poate consta din un
driver de dispozitiv - ca atunci c
and re
teaua respectiva este o LAN la care ma
sina este ata
sat
a direct - sau un subsistem complex care folose
ste propriul protocol de nivel de leg
atura de date - c
and re
teaua const
a din
comutatoare de pachete care comunic
a cu calculatoarele prin protocolul HDLC.
Comparatie intre modelul de referinta OSI-ISO pentru WAN si modelul TCP/IP pentru inter-retelele de calculatoare
Exist
a dou
a diferen
te - subtile, dar importante -
intre modelul conceptual al arhitecturii
TCP/IP si modelul de referin
ta OSI-
ISO, diferen
te ce rezult
a din modul
in care sunt g
andite solu
tiile 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 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 aceast
a concep
tie,
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 s
a fac
a fa
ta inc
arc
arii prev
azute dar care s
a permit
a unor linii de leg
atur
a sau ma
sini s
a piard
a sau sa altereze date, f
ara a
incerca,
in mod repetat, s
a le recupereze.
In fond, nu se asigur
a dec
at o mic
a fiabilitate sau deloc de c
atre programele
nivelului de interfata de retea in majoritatea implement
arilor TCP/IP.
In schimb,
nivelul de transport face fata majoritatii problemelor de detectare si corectare a erorilor -
intre utilizatorii finali -, f
ac
and 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 alt
a diferen
ta intre modelul
TCP/IP si modelul OSI provine din alegerea locului unde se amplaseaz
a 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 opozi
tie cu acest concept,
TCP/IP pretinde calculatoarelor sa participe la aproape toate protocoalele de retea. Am v
azut mai sus cum calculatoarele implementeaz
a activ detectarea
si corectarea erorilor i
ntre utilizatorii finali. Ele participa, de asemenea, la rutare,
intruc
at trebuie s
a aleag
a un ruter atunci c
and trimit o datagram
a, si particip
a la controlul re
telei, fiindc
a trebuie s
a fac
a fa
ta mesajelor ICMP de control. A
sadar, prin compara
tie 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].