Sunteți pe pagina 1din 41

1

Introducere

Continut
1.1
1.2
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.4
1.4.1

Utilizarile retelelor de calculatoare . . . . . . . . . . . . . . . . . . . . . . . . 14


Clasificarea retelelor de calculatoare . . . . . . . . . . . . . . . . . . . . . . . 16
Software-ul retelelor de calculatoare . . . . . . . . . . . . . . . . . . . . . . . 17
Ierarhii de protocoale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Probleme de proiectare a nivelurilor . . . . . . . . . . . . . . . . . . . . 110
Servicii orientate pe conexiuni si servicii fara conexiuni . . . 111
Primitive de serviciu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Relatia dintre servicii si protocoale . . . . . . . . . . . . . . . . . . . . . 114
Standardizarea retelelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Standarde Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Obiective
O1:
O2:
O3:
O4:
O5:
O6:

Intelegerea diferentelor dintre o retea de calculatoare si un sistem


distribuit
Discutarea evolutiei retelelor de calculatoare si a Internet-ului
Familiarizarea cu termenii uzuali
Clasificarea retelelor de calculatoare
ntelegerea conceptului de model ierarhizat.
Cunoasterea principalelor organisme de standardizare.

Introducere

Cuvinte cheie

retea de calculatoare
sistem distribuit
calculator gazda
topologie
clientserver
stiva de protocoale

Internet
model ierarhizat
protocol
serviciu
interfata
entitati egale

Introducere

RET
EA DE CALCULATOARE

reprezinta o colectie de calculatoare autonome interconectate folosind o singura tehnologie. Se spune


despre doua calculatoare ca sunt interconectate daca sunt capabile sa schimbe informatie ntre ele. Conectarea se face prin intermediul
unui mediu de comunicatie. Retelele pot fi de dimensiuni, tipuri si forme
diferite.
O retea de calculatoare nu este totuna cu un sistem distribuit. n sistemele
distribuite, o colectie de calculatoare independente este perceputa de utilizatorii ei ca un sistem coerent unic. ntr-o retea de calculatoare, utilizatorii
au n fata lor masini locale, fara nici o intentie de a face din acestea un
tot unitar. Diferentele la nivelul structurilor hardware sau chiar la nivelul
sistemului de operare, daca exista, sunt vizibile de catre utilizatori. Daca
un utilizator doreste sa ruleze un program, el trebuie sa se nregistreze pe
masina respectiva si sa lucreze acolo.
Sistemul distribuit este un sistem de programe construit peste o retea. Programele asigura retelei un grad mare de coeziune si transparenta . De aceea,
diferenta majora ntre o retea si un sistem distribuit nu apare la nivel echipamentelor, ci al programelor si n special la nivelul sistemului de operare.
Cele doua concepte au si multe elemente comune. De exemplu, n ambele
cazuri este necesar sa se transfere fisiere. Diferenta se face la cine invoca
transferul: sistemul sau utilizatorul.

Resurse

Carti
Andrew Tanenbaum, Retele de calculatoare, Editura Byblos, 2005
William Stallings, Data and Computer Communication, Prentice Hall,
Fred Halsall, Computer Networking and the Internet, Addison-Wesley,
2005

Retele de calculatoare

Gabriel STOIAN

Introducere

Adrese Web
www.opnet.com - software pentru modelarea si simularea retelelor de
calculatoare. Varianta academica este gratuita. Necesita nregistrare
pe site.
www.cisco.com - producator de echipamente de retea
www.microsoft.com - producator de sisteme de operare pentru servere

Gabriel STOIAN

Retele de calculatoare

4 Utilizarile retelelor de calculatoare

Introducere

1.1 Utilizarile retelelor de calculatoare


Multe companii au un numar semnificativ de calculatoare. De exemplu, o
companie poate folosi calculatoare pentru monitorizarea productiei, pentru
urmarirea evolutiei stocurilor, pentru calcularea statelor de plata. Fiecare
din aceste calculatoare poate lucra izolat de celelalte, dar conectarea lor
mpreuna poate facilita extragerea si corelarea informatiilor despre ntreaga
firma.
n termeni mai generali, subiectul se refera la mpartirea resurselor, iar
scopul este de a face toate programele, echipamentele si n special datele
disponibile pentru oricine din retea, indiferent de localizarea fizica a resursei
si a utilizatorului. Un exemplu uzual si larg raspndit este existenta unui grup
de utilizatori care folosesc o imprimanta comuna. Nici unul dintre utilizatori
nu are nevoie de propria imprimanta, iar o imprimanta performanta de
volum mare, legata n retea este, de cele mai multe ori, mai ieftina, mai
rapida si mai usor de ntretinut dect o colectie de imprimante individuale.
Cu toate acestea, probabil chiar mai importanta dect partajarea resurselor
fizice, cum sunt imprimantele, scannerele, dispozitivele de inscriptionat
CD-uri, este partajarea informatiei. Cu alte cuvinte, numai faptul ca un
utilizator se afla la mii de kilometri distanta , de datele de care are nevoie
nu l poate mpiedica sa-si foloseasca datele ca si cnd ele ar fi locale. Pe
scurt, scopul poate fi definit ca o ncercare de a elimina necazurile induse
de considerentele geografice.
n termenii cei mai simpli se poate imagina sistemul informational al unei
companii ca fiind alcatuit din una sau mai multe baze de date si un numar
de angajati care au nevoie de acces de la distanta . n acest model, datele sunt
memorate n calculatoare performante, numite servere (servers). Adesea,
acestea sunt plasate si ntretinute centralizat de un administrator de sistem.
Angajatii au masini mai simple, numite clienti (clients), plasate pe birourile
lor, prin intermediul carora acceseaza datele aflate la distanta pentru a le
folosi n aplicatiile proprii. Masinile server si client sunt conectate n retea,
asa cum este ilustrat n figura 1.1.

Figura 1.1

Retele de calculatoare

Retea cu doi clienti si un server

Gabriel STOIAN

Introducere

Utilizarile retelelor de calculatoare 5

Aceasta structura reprezinta modelul client-server . Este folosit frecvent si client-server


reprezinta baza pe care lucreaza multe retele. De exemplu, atunci cnd o
persoana aflata acasa face un acces Ia o pagina Web, este folosit acelasi
model, n care serverul Web aflat la distanta are rol de server, iar calculatorul personal al utilizatorului are rol de client. n cele mai multe situatii, un
server poate lucra cu un numar mare de clienti. Daca privim mai n detaliu
modelul client-server, constatam ca sunt implicate doua procese, unul aflat
pe masina client si unul aflat pe masina server. Comunicatia ia forma transmiterii prin retea a unui mesaj de la procesul client catre procesul server.
In continuare, procesul client va astepta un mesaj de raspuns. Atunci cnd
procesul server primeste cererea, executa actiunea solicitata sau cauta datele cerute si transmite un raspuns. Acest schimb de mesaje este prezentat
n figura 1.2.

Figura 1.2

Modelul client-server

Un al doilea scop al construirii unei retele de calculatoare este dat de faptul


ca aceasta poate constitui un puternic mediu de comunicare ntre angajati
de exemplu posta electronica (e-mail). Dar posta electronica nu este singura e-mail
forma de comunicatie mbunatatita care a fost facuta posibila de retelele de
calculatoare. Cu o retea, este usor pentru doi oameni care lucreaza la mare
distanta unul de altul sa scrie un raport mpreuna. Cnd unul dintre ei face
o modificare asupra unui document din retea, ceilalti vor putea vedea modificarea imediat, n loc sa astepte o scrisoare timp de mai multe zile. O alta
forma de comunicare asistata de calculator o reprezinta videoconferintele. videoconferinta
Folosind aceasta tehnologie, angajatii din locuri aflate la distanta pot tine
o ntrunire, pot sa se vada si sa se auda ntre ei, si pot scrie chiar pe o tabla
virtuala partajata.
Un al treilea scop pentru tot mai multe companii este realizarea electronica
a comertului. Folosind retelele de calculatoare, producatorii pot plasa comenzile electronic, dupa cum este nevoie. Posibilitatea de a plasa comenzi
n timp real (daca este nevoie) reduce necesitatea stocurilor mari si sporeste
eficienta.
Un al patrulea scop care devine din ce n ce mai important este realizarea
de tranzactii cu consumatorii, prin Internet. n consecinta , multe companii

Gabriel STOIAN

Retele de calculatoare

6 Clasificarea retelelor de calculatoare

Introducere

ofera on-line cataloage cu bunurile si serviciile disponibile si chiar primesc


e-commerce comenzi on-line (e-commerce).
Lund n considerare aplicatiile domestice, se poate constata ca unul dintre
cele mai importante motive pentru care utilizatorii casnici cumpara calculatoare este conectarea la Internet. Printre cele cele mai populare utilizari ale
Internet-ului se numara accesul la informatie de la distanta , comunicatiile
interpersonale, divertismentul interactiv si comertul electronic.
Calculatoarele mobile, cum sunt portabilele sau PDA-urile (Personal Digital
Assistant), reprezinta unul dintre segmentele cu dezvoltarea cea mai rapida
din industria calculatoarelor. Posesorii acestor calculatoare mobile au si
calculatoare la birou si doresc sa fie conectati la ele chiar si cnd sunt plecati
de acasa sau pe drum, astfel ca exista un interes deosebit pentru retelele
wireless fara fir (wireless). Retelele fara fir sunt de mare valoare pentru parcurile
de taximetre, camioane, vehicule utilizate pentru livrare si chiar echipe de
interventie, pentru a fi mereu n contact cu baza. Retelele fara fir sunt de
asemenea importante n domeniul militar, deoarece n teatrele de razboi,
de exemplu, nu se poate conta pe infrastructura de retea de la fata locului.

1.2 Clasificarea retelelor de calculatoare


Nu exista o taxonomie general acceptata n care pot fi ncadrate toate retelele
de calculatoare, dar putem face o clasificare a acestora pe baza criteriilor pe
care le vom prezenta n continuare.
Dupa ntinderea geografica
retea locala Retea locala (LAN) (Local Area Network) daca distanta ntre procesoare
este cuprinsa ntre 10m si 10km (raspndire la nivelul unei camere,
cladiri sau campus)
retea metropolitana Retea metropolitana (MAN) (Metropolitan Area Network) daca distanta
ntre procesoare este de ordinul a 10km (raspndire la nivelul unui
oras)
retea larg raspndita geo- Retea larg raspndita geografic (WAN) (Wide Area Network) daca distanta
ntre procesoare este cuprinsa ntre 10km si 1000km (raspndire la
grafic
nivelul unei ta ri sau continent)
Dupa topologie
retea tip magistrala (bus) Retea tip magistrala (bus) cnd exista un singur cablu care leaga toate calculatoarele din retea, imaginea fiind aceea a unor calculatoare asezate
n linie. Daca nu se folosesc cabluri suplimentare, ntreruperea unui
tronson de cablu duce la oprirea ntregii retele.

Retele de calculatoare

Gabriel STOIAN

Introducere

Software-ul retelelor de calculatoare 7

Retea tip inel (ring) conecteaza fiecare calculator de alte doua, imaginea retea tip inel (ring)
fiind aceea a unor calculatoare asezate n cerc. Datele transmise de un
calculator trec prin toate calculatoarele intermediare nainte de a ajunge la destinatie. Daca nu se folosesc cabluri suplimentare, ntreruperea
unui tronson de cablu, sau defectarea unui calculator duce la oprirea
ntregii retele.
Retea tip stea (star) foloseste un calculator central care va fi conectat cu retea tip stea (star)
toate celelalte calculatoare prin cabluri directe. Toate transferurile de
date se realizeaza prin intermediul calculatorului central. Daca se foloseste
un calculator central de mare putere, atunci reteaua va avea performante
ridicate, nsa defectarea acestuia duce la oprirea functionarii retelei.
Retea tip plasa (mesh) conecteaza direct toate calculatoarele ntre ele. Ni- retea tip plasa (mesh)
ciunul dintre calculatoare nu are rol coodonator.
Dupa tehnologia de transmisie
Retele cu difuzare Acestea au un singur canal de comunicatie care este retea cu difuzare (broadpartajat de toate masinile din retea. Orice masina poate trimite me- cast)
saje scurte, numite n anumite contexte pachete, care sunt primite de
toate celelalte masini. Un cmp de adresa din pachet specifica masina
careia i este adresat pachetul. La receptionarea unui pachet, o masina
controleaza cmpul de adresa. Daca pachetul i este adresat, masina
l prelucreaza; daca este trimis pentru o alta masina, pachetul este ignorat. Sistemele cu difuzare permit n general si adresarea unui pachet
catre toate destinatiile, prin folosirea unui cod special n cmpul de
adresa. Un pachet transmis cu acest cod este primit si prelucrat de
toate masinile din retea. Acest mod de operare se numeste difuzare
(broadcast).
Retele punct-la-punct Acestea dispun de numeroase conexiuni ntre pe- retea punct-la-punct
rechi de masini individuale. Pentru a ajunge de la sursa la destinatie (point-to-point)
pe o retea de acest tip, un pachet s-ar putea sa fie nevoit sa treaca prin
una sau mai multe masini intermediare. Deseori sunt posibile trasee
multiple, de diferite lungimi, si de aceea descoperirea drumurilor celor
mai potrivite este foarte importanta. Ca o regula generala, retelele mai
mici, localizate geografic, tind sa utilizeze difuzarea, n timp ce retelele
mai mari sunt de obicei punct-la-punct. Transmisiile punct la punct
cu un sigur transmita tor si un singur receptor sunt numite uneori si
unicasting.

1.3 Software-ul retelelor de calculatoare


Primele retele de calculatoare, au pornit de la echipamente, software-ul fiind
proiectat ulterior. Astazi aceasta strategie nu mai este valabila. Software-ul

Gabriel STOIAN

Retele de calculatoare

8 Software-ul retelelor de calculatoare

Introducere

retelelor este acum foarte structurat. n cele ce urmeaza se vor examina


unele detalii ale tehnicii de structurare a spftware-ului de retea. Metoda
descrisa aici va aparea mai departe n repetate rnduri.

1.3.1 Ierarhii de protocoale


Pentru a reduce din complexitatea proiectarii, majoritatea retelelor sunt
organizate sub forma unei succesiuni de straturi sau niveluri fiecare din ele
construit peste cel de dedesubt. Numarul de niveluri, numele fiecarui nivel,
continutul si functia sa variaza de la retea la retea. Oricum, n toate retelele,
serviciu scopul fiecarui nivel este sa ofere anumite servicii nivelurilor superioare,
protejndu-le totodata de detaliile privitoare la implementarea efectiva a
serviciilor oferite. ntr-un anumit sens, fiecare nivel este un fel de masina
virtuala, oferind anumite servicii nivelului de deasupra lui.
Nivelul n de pe o masina converseaza cu nivelul n de pe alta masina. Regulile si conventiile utilizate n conversatie sunt cunoscute sub numele de
protocol protocolul nivelului n. n principal, un protocol reprezinta o ntelegere ntre
partile care comunica, asupra modului de realizare a comunicarii.
n figura 1.3 este ilustrata o retea cu cinci niveluri. Entitatile din niveluri
entitati egale corespondente de pe masini diferite se numesc egale. Entitatile egale pot
fi procese, dispozitive hardware, sau chiar fiinte umane. Cu alte cuvinte,
entitatile egale sunt cele care comunica folosind protocolul.
n realitate, nici un fel de date nu sunt transferate direct de pe nivelul n
al unei masini pe nivelul n al altei masini. Fiecare nivel transfera datele si
informatiile de control nivelului imediat inferior, pna cnd se ajunge la
nivelul cel mai de jos. Sub nivelul 1 se afla mediul fizic prin care se produce
comunicarea efectiva. n figura 1.3, comunicarea virtuala este reprezentata
prin linii punctate, iar comunicarea fizica prin linii continue. ntre doua
interfata niveluri adiacente exista o interfata . Interfata defineste ce operatii si servicii
primitive ofera nivelul de jos catre nivelul de sus. Cnd proiectantii de retea
decid cte niveluri sa includa ntr-o retea si ce are de facut fiecare din
ele, unul din considerentele cele mai importante se refera la definirea de
interfete clare ntre niveluri.
Aceasta presupune ca, la rndul sau, fiecare nivel sa execute o colectie specifica de functii clar definite. Pe lnga minimizarea volumului de informatii
care trebuie transferate ntre niveluri, interfetele clare permit totodata o
mai simpla nlocuire a implementarii unui nivel cu o implementare complet diferita (de exemplu, toate liniile telefonice se nlocuiesc prin canale
de satelit). Asa ceva este posibil, pentru ca tot ceea ce i se cere noii implementari este sa furnizeze nivelului superior exact setul de servicii pe

Retele de calculatoare

Gabriel STOIAN

Introducere

Software-ul retelelor de calculatoare 9

Figura 1.3

Retea cu cinci niveluri

care l oferea vechea implementare. De altfel, este un fapt obisnuit ca doua


calculatoare-gazda sa foloseasca implementari diferite.
O multime de niveluri si protocoale este numita arhitectura de retea. arhitectura de retea
Specificatia unei arhitecturi trebuie sa contina destule informatii pentru
a permite unui proiectant sa scrie programele sau sa construiasca echipamentele necesare fiecarui nivel, astfel nct nivelurile sa ndeplineasca
corect protocoalele corespunzatoare. Nici detaliile de implementare si nici
specificatiile interfetelor nu fac parte din arhitectura, deoarece acestea sunt
ascunse n interiorul masinilor si nu sunt vizibile din afara. Nu este necesar
nici macar ca interfetele de pe masinile dintr-o retea sa fie aceleasi cu
conditia, nsa, ca fiecare masina sa poata utiliza corect toate protocoalele.
O lista de protocoale utilizate de catre un anumit sistem, cte un protocol
stiva de protocoale
pentru fiecare nivel, se numeste stiva de protocoale.

Gabriel STOIAN

Retele de calculatoare

10 Software-ul retelelor de calculatoare

Introducere

1.3.2 Probleme de proiectare a nivelurilor


O parte din problemele cheie care apar la proiectarea retelelor de calculatoare sunt prezente n mai multe niveluri. Vor fi mentionate pe scurt unele
probleme mai importante.
mecanism pen- 1. Fiecare nivel are nevoie de un mecanism pentru a identifica emita torii
tru identificarea
si receptorii. Dat fiind ca o retea cuprinde n mod normal numeroase
emita torilor si receptoricalculatoare, iar o parte dintre acestea detin mai multe procese, este
necesara o modalitate prin care un proces de pe o anumita masina sa
lor
specifice cu cine doreste sa comunice.
reguli pentru transferul 2. Un alt set de decizii de proiectare se refera la regulile pentru transferul de
date. n unele sisteme datele circula ntr-un singur sens; n altele datele
date
pot circula n ambele sensuri.
controlul erorilor 3. Controlul erorilor este o problema importanta deoarece circuitele fizice
de comunicatii nu sunt perfecte. Se cunosc multe coduri detectoare
si corectoare de erori, dar ambele capete ale conexiunii trebuie sa se
nteleaga asupra codului utilizat. n plus, receptorul trebuie sa aiba cum
sa-i spuna emita torului care mesaje au fost primite corect si care nu.
4. Nu toate canalele de comunicatii pastreaza ordinea mesajelor trimise.
tratarea secventialitatii
Pentru a putea trata o eventuala pierdere a secventialitatii , protocolul
trebuie sa furnizeze explicit receptorului informatia necesara pentru a
putea reconstitui mesajul.
5. O problema ce intervine la fiecare nivel se refera la evitarea situatiei n
care un emita tor rapid trimite unui receptor lent date la viteza prea mare.
controlul fluxului
Acest subiect se numeste controlul fluxului.
6. O alta problema care apare la cteva niveluri priveste incapacitatea tuturor proceselor de a accepta mesaje de lungime arbitrara. Acest fapt conduce la mecanisme pentru a fragmenta, a transmite si apoi a reasambla
fragmentare, mpachetare
mesajele. O problema asemanatoare apare atunci cnd procesele insista
sa transmita datele n unitati att de mici, nct transmiterea lor separata este ineficienta. n aceasta situatie, solutia este sa se mpacheteze
mpreuna mai multe mesaje mici destinate aceluiasi receptor si sa se
despacheteze la destinatie mesajul mare obtinut astfel.
7. Atunci cnd este neconvenabil sau prea costisitor sa se aloce conexiuni
separate pentru fiecare pereche de procese comunicante, nivelul implicat n comunicare poate hotar sa utilizeze aceeasi conexiune pentru mai
multe conversatii independente. Acest mecanism se numeste multiplemultiplexare
xare/demultiplexare. Multiplexarea este necesara, de exemplu, n nivelul

Retele de calculatoare

Gabriel STOIAN

Introducere

Software-ul retelelor de calculatoare 11

fizic, unde traficul pentru toate conexiunile trebuie sa fie transmis prin
cel mult cteva circuite fizice.
8. Atunci cnd exista mai multe cai ntre sursa si destinatie, trebuie ales
un anumit drum. Uneori aceasta decizie trebuie mpartita pe doua sau
mai multe niveluri. De exemplu, este posibil ca trimiterea unor date de
la Londra la Roma sa necesite att o decizie la nivel nalt pentru alegerea
ca tara de tranzit a Frantei sau a Germaniei n functie de legile lor de
protejare a secretului datelor ct si o decizie de nivel scazut pentru
alegerea unuia din multele trasee posibile, pe baza traficului curent.
dirijare
Acest subiect poarta numele de dirijare sau rutare (routing).

1.3.3 Servicii orientate pe conexiuni si servicii fara conexiuni


Nivelurile pot oferi nivelurilor de deasupra lor doua tipuri de servicii: orientate pe conexiuni si fara conexiuni. Serviciul orientat pe conexiuni este mo- serviciu orientat pe conedelat pe baza sistemului telefonic. Cnd se doreste apelarea unui abonat se xiuni
ridica receptorul, se formeaza numarul, se stabileste o conexiune fizica ntre
postul apelat si cel apelant, se desfasoara conversatia iar la final se nchide
apelul. Similar, pentru a utiliza un serviciu orientat pe conexiuni, beneficiarul trebuie mai nti sa stabileasca o conexiune, sa foloseasca aceasta
conexiune si apoi sa o elibereze. n anumite cazuri cnd se stabileste o conexiune, transmita torul, receptorul si subreteaua negociaza parametrii care
vor fi folositi, cum sunt dimensiunea maxima a mesajului, calitatea impusa
a serviciilor, si alte probleme de acest tip. De obicei, una dintre parti face o
propunere si cealalta parte poate sa o accepte, sa o rejecteze sau sa faca o
contrapropunere.
Serviciul fara conexiuni este modelat pe baza sistemului postal. Toate me- serviciu fara conexiuni
sajele (scrisorile) contin adresele complete de destinatie si fiecare mesaj
circula n sistem independent de celelalte. n mod normal, atunci cnd
doua mesaje sunt trimise la aceeasi destinatie, primul expediat este primul care ajunge. Totusi, este posibil ca cel care a fost expediat primul sa
ntrzie si sa ajunga mai repede al doilea. n cazul unui serviciu orientat pe
conexiuni, asa ceva este imposibil.
Fiecare serviciu poate fi caracterizat printr-un nivel de calitate (QoS - Quality calitatea serviciului
of Service). Unele servicii sunt sigure n sensul ca nu pierd date niciodata. De
obicei, un serviciu sigur se implementeaza oblignd receptorul sa confirme
primirea fiecarui mesaj, astfel nct expeditorul sa fie sigur ca mesajul a
ajuns la destinatie. Procesul de confirmare introduce un timp suplimentar si
ntrzieri. Aceste dezavantaje sunt adesea acceptate, nsa uneori ele trebuie
evitate.

Gabriel STOIAN

Retele de calculatoare

12 Software-ul retelelor de calculatoare

Introducere

Transferul de fisiere este una din situatiile tipice n care este adecvat un
serviciu sigur orientat pe conexiuni. Proprietarul fisierului doreste sa fie
sigur ca toti bitii ajung corect si n aceeasi ordine n care au fost trimisi.
Foarte putini utilizatori ai transferului de fisiere ar prefera un serviciu care
uneori amesteca sau pierde ctiva biti, chiar daca acest serviciu ar fi mult
mai rapid.
Asa cum s-a mentionat mai sus, ntrzierile introduse de confirmari pot fi
inacceptabile pentru unele aplicatii. O astfel de aplicatie se refera la traficul
de voce digitizata. Pentru abonatii telefonici este preferabil sa existe putin
zgomot pe linie sau sa auda ocazional cte un cuvnt distorsionat dect
sa se produca o ntrziere din cauza asteptarii confirmarii. Similar, atunci
cnd se transmite o videoconferinta , ctiva pixeli diferiti nu reprezinta o
problema, n schimb ntreruperile pentru a corecta erorile ar fi extrem de
suparatoare
Desi conceptul de a utiliza comunicatii nesigure poate parea ciudat el exista
si are aplicatii. Mai nti, comunicatiile sigure (ceea ce nseamna, n cazul
nostru, confirmate) pot sa nu fie disponibile. De exemplu, Ethernet-ul nu
ofera comunicatii sigure. Pachetele pot fi uneori alterate n timpul tranzitului. Urmeaza ca protocoalele nivelurilor superioare sa se ocupe de aceasta
problema. n al doilea rnd, ntrzierile inerente n cazul n care se ofera
servicii sigure ar putea fi inacceptabile, mai ales n cazul aplicatiilor de timp
real cum sunt aplicatiile multimedia. Pentru aceste motive, comunicatiile
sigure ct si cele nesigure coexista.

1.3.4 Primitive de serviciu


Un serviciu este specificat formal printr-un set de primitive (operatii) puse la
dispozitia utilizatorului care foloseste serviciul. Aceste primitive comanda
serviciului sa execute anumite actiuni sau sa raporteze despre actiunile
executate de o entitate pereche. Daca stiva de protocoale este localizata n
sistemul de operare, asa cum se ntmpla de cele mai multe ori, primitivele
sunt n mod normal apeluri sistem.
Setul de primitive disponibile depinde de natura serviciului oferit. Primitivele serviciilor orientate pe conexiuni sunt diferite de cele ale serviciilor
primitive de serviciu fara conexiuni. Ca un exemplu minimal de primitive de serviciu care pot fi
oferite pentru a implementa un flux de octeti ntr-un mediu client-server,
putem considera primitivele listate n tabelul 1.1.
Aceste primitive pot fi folosite n urmatorul mod:

Retele de calculatoare

Gabriel STOIAN

Introducere

Software-ul retelelor de calculatoare 13

Primitiva

Descriere

LISTEN

Blocare n asteptarea unei conexiuni

CONNECT

Stabilirea unei conexiuni cu o entitate pereche


aflata n asteptare

RECEIVE

Blocare n asteptarea unui mesaj

SEND

Trimite un mesaj entitatii pereche

DISCONNECT

Termina o conexiune

Tabelul 1.1

Primitive de serviciu

1. Serverul executa LISTEN pentru a indica faptul ca este pregatit sa accepte


conexiuni. Dupa executia primitivei, procesul server este blocat pna la
aparitia unei cereri de conectare.
2. Procesul client executa CONNECT pentru a stabili o conexiune cu serverul. Apelul CONNECT trebuie sa specifice cu cine se doreste conectarea,
asa ca ar putea avea un parametru prin care se transmite adresa serverului. Procesul client este suspendat pna cnd apare un raspuns. Cnd
pachetul ajunge la server, el este procesat de sistemul de operare al acestuia. Cnd sistemul de operare observa ca pachetul cere o conexiune
verifica daca exista vreun LISTEN activ. Daca da, va face doua lucruri: va
debloca procesul LISTEN si va trimite napoi o confirmare. Sosirea acestei confirmari elibereaza apoi clientul. n acest moment att clientul ct
si serverul sunt n executie si au stabilit o conexiune ntre ei. Daca apare
o cerere de conexiune si nu exista nici un LISTEN activ rezultatul este nedefinit. n anumite sisteme, pachetul poate fi pastrat un timp rezonabil
ntr-o coada anticipnd o eventuala comanda LISTEN.
3. Pasul urmator este ca serverul sa execute RECEIVE pentru a se pregati
sa accepte prima cerere, n mod normal serverul face aceasta operatie
de ndata ce a fost eliberat din blocarea impusa de LISTEN, nainte sa
ajunga confirmarea napoi la client. Apelul RECEIVE blocheaza serverul.
4. Clientul executa apoi SEND pentru a transmite cererea sa urmat de
executia unui RECEIVE pentru a obtine raspunsul. Sosirea pachetului de
cerere la masina server deblocheaza procesul server astfel nct acesta sa
poata procesa cererea. Dupa ce a terminat lucrul, foloseste SEND pentru
a raspunde clientului. Sosirea acestui pachet deblocheaza clientul care
poate acum sa analizeze raspunsul obtinut. Daca mai exista cereri din
partea clientului, acesta le poate face acum.
5. Daca a terminat, poate folosi DISCONNECT pentru a termina conexiunea. De obicei, apelul initial DISCONNECT este blocant, suspendnd

Gabriel STOIAN

Retele de calculatoare

14 Software-ul retelelor de calculatoare

Introducere

clientul si trimitnd un pachet catre server pentru a-i comunica faptul ca


respectiva conexiune nu mai este necesara. Cnd serverul primeste pachetul, el lanseaza un DISCONNECT propriu, confirmnd cererea clientului si elibernd conexiunea. Cnd pachetul serverului ajunge napoi la
masina clientului, procesul client este eliberat si conexiunea este ntrerupta.

1.3.5 Relatia dintre servicii si protocoale


Desi sunt adesea confundate, serviciile si protocoalele reprezinta concepte distincte. Un serviciu este un set de primitive (operatii) pe care un nivel
le furnizeaza nivelului de deasupra sa. Serviciul defineste ce operatii este
pregatit nivelul sa realizeze pentru utilizatorii sai, dar nu spune nimic despre
cum sunt implementate aceste operatii. Un serviciu este definit n contextul
unei interfete ntre doua niveluri, nivelul inferior fiind furnizorul serviciului
si nivelul superior fiind utilizatorul serviciului.
Prin contrast, un protocol este un set de reguli care guverneaza formatul si
semnificatia cadrelor, pachetelor sau mesajelor schimbate ntre ele de entitatile
pereche de pe un anumit nivel. Entitatile folosesc protocoale pentru a implementa definitiile serviciului lor. Ele sunt libere sa si schimbe protocoalele dupa cum doresc, cu conditia sa nu modifice serviciul pe care l vad
utilizatorii. n acest fel, serviciul si protocolul sunt complet decuplate.
Cu alte cuvinte, serviciile sunt legate de interfetele dintre niveluri, dupa cum
este ilustrat si n figura 1.4.

Figura 1.4

Retea cu cinci niveluri

Prin contrast, protocoalele sunt legate de pachetele trimise ntre entitatile


pereche de pe diferite masini. Este important sa nu existe confuzii ntre cele
doua concepte. Facnd analogia cu limbajele de programare, un serviciu
este ca un tip de date abstracte sau ca un obiect ntr-un limbaj orientat
pe obiecte. Acesta defineste operatiile care pot fi aplicate pe un obiect, dar

Retele de calculatoare

Gabriel STOIAN

Introducere

Standardizarea retelelor 15

nu specifica modul de implementare a operatiilor. Un protocol se refera la


implementarea serviciului si nu este vizibil pentru utilizatorul serviciului.
Multe dintre protocoalele mai vechi nu faceau diferenta ntre serviciu si
protocol. Ca urmare, un nivel tipic putea avea o primitiva de serviciu SEND
PACKET n care utilizatorul furniza o referinta catre un pachet complet
asamblat. Acest lucru nsemna ca toate modificarile protocolului erau imediat vizibile pentru utilizatori. Astazi un astfel de mecanism este considerat
o eroare grava.

1.4 Standardizarea retelelor


Standardizarea este un proces obligatoriu tinnd cont de faptul ca n prezent exista numerosi producatori si furnizori, fiecare cu propriile idei despre
cum ar trebui realizate retelele. Standardele nu numai ca permit diverselor
calculatoare sa comunice ntre ele, ci sporesc totodata piata pentru produsele care adera la un anumit standard, cu urmatoarele beneficii: productie
de masa, profituri financiare, implementari VLSI si alte avantaje care duc la
scaderea preturilor si la acceptarea si mai larga a respectivelor produse.
Standardele fac parte din doua categorii: de facto si de jure. Standardele
de facto (expresia latina pentru de fapt) sunt acelea care pur si simplu au
luat fiinta , fara sa existe vreun plan oficial. Un astfel de exemplu l consituie
PC-ul IBM care a devenit standard de facto, deoarece zeci de producatori
au decis sa-l copieze aproape identic.
Standardele de jure (expresia latina pentru de drept) sunt, prin contrast,
standarde legale, adoptate de un anumit organism de standardizare autorizat. Autoritatile de standardizare internationale sunt, n general, mpartite
n doua clase: organizatii stabilite prin tratate ntre guvernele nationale si
organizatii voluntare neguvernamentale. n domeniul standardelor pentru
retele de calculatoare exista cteva organizatii din fiecare categorie.
Standardele internationale sunt produse de ISO (International Standards ISO International StanOrganization), o organizatie voluntara, neguvernamentala fondata n 1946. dards Organization
Membrii sai sunt organizatiile nationale de standardizare din cele 89 de
ta ri membre. Acesti membri cuprind ANSI (S.U.A.). BSI (Marea Britanie),
AFNOR (Franta), DIN (Germania) si nca 85 de alte organizatii. ISO produce
standarde referitoare la un numar vast de subiecte, ncepnd cu piulite
si suruburi si terminnd cu vopsirea stlpilor de telefon. n total au fost
create peste 5000 de standarde, inclusiv standardele OSI (Open Systems
Interconnection). ISO are aproape 200 de comitete tehnice (TC Technical
Committee), numerotate n ordinea crearii lor, fiecare comitet ocupnduse de un subiect specific. Fiecare comitet tehnic are subcomitete (SC
SubCommittee) mpartite n grupuri de lucru (WG WorkGroups).

Gabriel STOIAN

Retele de calculatoare

16 Standardizarea retelelor

Introducere

Munca propriu-zisa se desfasoara n principal n aceste grupuri de lucru,


prin intermediul a peste 100.000 de voluntari din ntreaga lume. Multi dintre acestia sunt pusi sa lucreze la probleme ale ISO de catre patronii lor,
ale caror produse sunt standardizate. Altii sunt oficiali guvernamentali dornici sa vada ca modalitatea de a face lucrurile n tara lor devine standard
international. n multe grupuri de lucru sunt activi, experti din domeniul
universitar.
IEEE Institute of Un alt actor important din lumea standardelor este IEEE (Institute of ElecElectrical and Elec- trical and Electronics Engineers), cea mai mare organizatie profesionala
tronics Engineers din lume. Suplimentar fata de producerea a zeci de jurnale si organizarea a
numeroase conferinte n fiecare an, IEEE are un grup de standardizare care dezvolta standarde n domeniul ingineriei electrice si tehnicii de calcul.
Comitetul IEEE 802 a standardizat mai multe tipuri de retele locale. Munca efectiva este facuta de grupuri de lucru, iar impactul standardelor 802.3
(Ethernet) si 802.11 (WiFi) a fost enorm.

1.4.1 Standarde Internet


ARPANET
DoD Department of
Defense

IAB Internet Architecture Board

Internet-ul mondial are propriile sale mecanisme de standardizare, foarte


diferite de cele ale ISO, de exemplu. Cnd a fost creata reteaua ARPANET ,
departamentul apararii SUA (DoD) a nfiintat un comitet neoficial care sa
o supravegheze. In 1983 comitetul a fost redenumit IAB (Internet Activities
Board) si a primit misiunea de a veghea ca cercetatorii implicati n ARPANET si Internet sa se miste, mai mult sau mai putin, n aceeasi directie.
Semnificatia acronimului IAB a fost schimbata mai trziu n Internet Architecture Board.

Fiecare din cei aproximativ 10 membri ai IAB-ului conducea un departament care se ocupa de o anumita problema importanta. IAB-ul se ntlnea
de cteva ori pe an pentru a discuta rezultatele si a trimite informari catre
DoD, care asigura la acea vreme majoritatea fondurilor. Cnd era nevoie de
un nou standard (de exemplu, un nou algoritm de dirijare), membrii IAB l
luau n discutie si apoi anuntau schimbarea, astfel ca absolventii facultatilor
care erau sufletul muncii de programare sa l poata implementa. Comunicarile erau puse la dispozitie printr-o serie de rapoarte tehnice, numite
RFC Request For Com- RFC (Request For Comments). RFC-urile sunt memorate on-line si pot fi ciments tite de oricine este interesat de ele (vezi sectiunea Resurse). RFC-urile sunt
numerotate n ordinea cronologica a crearii lor. Pna acum exista peste
3000.
n 1989 Internet-ul crescuse att de mult, nct acest stil informal nu mai
putea functiona astfel ca n vara anului 1989, IAB-ul a fost reorganizat. CerIRTF Internet Re- cetatorii au fost transferati la IRTF (Internet Research Task Force), care a
search Task Force fost pus n subordinea IAB-ului, alaturi de IETF (Internet Engineering Task

Retele de calculatoare

Gabriel STOIAN

Introducere

Standardizarea retelelor 17

Force). IAB-ul a fost repopulat cu persoane care reprezentau un palier de


organizatii mai larg dect stricta comunitate a cercetatorilor. Mai trziu, a
fost nfiintata Internet Society, care reunea oameni interesati de Internet.
Internet Society este, prin urmare, comparabila ntr-un sens cu IEEE. Societatea este administrata de un comitet ales, iar comitetul desemneaza
membrii IAB.
Ideea acestei divizari a fost ca IRTF sa se concentreze asupra cercetarii pe
termen lung, iar IETF sa se ocupe de probleme ingineresti pe termen scurt. IETF Internet EngineeIETF a fost mpartit n grupuri de lucru, fiecare cu o problema specifica de ring Task Force
rezolvat. Preocuparile grupurilor de lucru includeau aplicatii noi, informatii
de la utilizatori, integrare OSI, dirijare si adresare, securitate, administrare de
retea, standarde. n final s-au format att de multe grupuri de lucru, nct ele
au fost grupate pe domenii. n plus, a fost adoptat un proces de standardizare
mai formal, preluat dupa modelul ISO. Pentru a deveni un standard propus
(Proposed Standard), ideea fundamentala trebuie sa fie complet explicata
ntr-un RFC si sa prezinte destul interes din partea comunitatii pentru a
merita sa fie luata n considerare. Pentru a avansa la stadiul de proiect de
standard (Draft Standard), este necesara o implementare de lucru care sa
fi fost testata n amanuntime de catre doua situri independente, timp de
cel putin 4 luni. Daca IAB-ul este convins ca ideea e buna si ca programul
functioneaza, atunci poate sa declare RFC-ul respectiv ca fiind un Standard
Internet.

Recapitulare

O retea de calculatoare reprezinta o colectie de calculatoare autonome


interconectate folosind o singura tehnologie.

O retea de calculatoare nu este totuna cu un sistem distribuit.

Utilizarea retelelor n sfera business-ului are n vedere: scopul este de


a face toate programele, echipamentele si n special datele disponibile
pentru oricine din retea, indiferent de localizarea fizica a resursei si
a utilizatorului; constituirea ca important mediu de comunicare ntre
angajati; realizarea electronica a comertului sau realizarea de tranzactii
comerciale cu consumatorii.

Utilizatorii casnici folosesc retelele pentru acces la informatie de la


distanta , comunicatii interpersonale, divertisment interactiv si comert
electronic.

Modelul client-server presupune implicara a doua procese unul aflat


pe masina client si unul pe masina server. Comunicatia ncepe prin
expedierea unei cereri de la client catre server; acesta executa actiunea
solicitata si transmite clientului un raspuns.

Gabriel STOIAN

Retele de calculatoare

18 Standardizarea retelelor

Introducere

Dupa ntinderea geografica retelele se clasifica n: retele locale (LAN),


retele metropolitane (MAN) si retele larg raspndite geografic (WAN).

Dupa topologie retelele se clasifica n retele cu topologie magistrala


(bus), cu topologie inel (ring), cu topologie stea (star) sau cu topologie
plasa (mesh).

Dupa tehnologia de transmitere retelele se clasifica n retele cu difuzare


(broadcast) si retele punct-la-punct (point-to-point).

Majoritatea retelelor sunt organizate ierarhic sub forma unei succesiuni


de niveluri; numarul de niveluri, denumirea, continutul si functia lor
variaza de la retea la retea.

Scopul fiecarui nivel este sa ofere anumite servicii, nivelurilor superioare.

Entitatile din niveluri corespondente de pe masini diferite se numesc


entitati egale.

Entitatile egale comunica ntre ele folosind anumite reguli si conventii


cunoscute sub numele de protocol.

ntre doua niveluri adiacente exista o interfata ; aceasta defineste ce


operatii si servicii primitive ofera nivelul de jos celui de deasupra sa.

O multime de niveluri si protocoale este numita arhitectura de retea.

O lista de protocoale utilizate de catre un anumit sistem, cte un protocol


pentru un fiecare nivel se numeste stiva de protocoale.

Problemele principale de proiectare a nivelurilor se refera la: mecanisme pentru identificarea emita torilor si a receptorilor, regulile pentru
traficul de date, controlul erorilor, tratarea secventialitatii, controlul fluxului, fragmentarea si mpachetarea unitatilor de trafic, multiplexarea si
dirijarea traficului.

Nivelurile pot oferi doua tipuri de servicii: orientat pe conexiune respectiv fara conexiune.

Serviciile se caracterizeaza printr-un nivel de calitate (QoS).

Serviciile sunt specificate formal printr-un set de primitive puse la dispozitia


utilizatorului care foloseste serviciul (de exemplu LISTEN, CONNECT,
RECEIVE, SEND, DISCONNECT).

Retele de calculatoare

Gabriel STOIAN

Introducere

Standardizarea retelelor 19

Serviciile si protocoalele reprezinta concepte diferite: serviciul consta


ntr-un set de primitive furnizate nivelului superior n vreme ce protocolul consta ntr-un set de reguli care guverneaza formatul si semnificatia
unitatilor de trafic schimbate ntre ele de entitati egale.

Serviciile sunt legate de interfetele dintre niveluri n vreme ce protocoalele sunt legate de unitatile de trafic trimise ntre entitatile pereche.

Glosar
client-server descriere relatia dintre doua aplicatii n care una dintre ele
aplicatia client efectueaza o cerere catre cealalta (aplicatia server).
Aplicatia client are urmatoarele caracteristici: initiaza cererile, asteapta
raspunsurile si le receptioneaza cnd acestea sosesc. Aplicatia server nu
initiaza niciodata cereri sau alte activitati, asculta reteaua si raspunde
numai cererilor de la clienti conectati si autorizati.
serviciu set de primitive pe care un nivel le furnizeaza nivelului de deasupra sa.
Protocol set de reguli care guverneaza formatul si semnificatia cadrelor,
pachetelor sau mesajelor schimbate ntre ele de entitatile pereche.
Interfata defineste ce operatii si primitive ofera un nivel celui de deasupra
sa. Interfata exista ntre oricare doua nivelur adiacente.
stiva de protocoale lista de protocoale utilizate de catre un sistem, cte un
protocol pentru fiecare nivel.

Probleme
1. Sa presupunem ca sunteti posesorul unui harddisk extern cu o capacitate de 100GByte conectat la calculatorul de acasa. Aveti nevoie ca de
pe calculatorul pe care lucrati la facultate sa transferati pe harddisk-ul
extern de acasa 30GByte de informatie. Exista posibilitatea transferului
prin retea sau sa mergeti acasa sa luati harddisk-ul si sa copiati direct
pe acesta. Care ar trebui sa fie rata minima de transfer prin retea care
sa va impiedice sa faceti drumul pna acasa? Distanta ntre locuinta si
facultate este de 20km si o puteti parcurge cu o viteza medie de 18km/h.
Nu se iau n calcul timpii de transfer ai harddisk-ului.
2. Un sistem client server foloseste o retea-satelit, cu satelitul amplasat la
o naltime de 40000km. n cazul optim, care este ntrzierea cu care vine
raspunsul la o cerere? (Se va considera viteza de propagare a undelor
radio egala cu viteza luminii)
3. Doua companii vor sa dezvolte mpreuna un produs nou. Presedintele
uneia dintre companii comanda departamentului de marketing sa analizeze ideea iar acesta cere la rndul sau ajutorul departamentului tehnic.

Gabriel STOIAN

Retele de calculatoare

20 Standardizarea retelelor

Introducere

Ca rezultat inginerul-sef are o convorbire pe marginea acestui subiect cu


omologul sau de la compania partenera. Rezultatele acestor discutii sunt
prezentate departamentelor de marketing ale celor doua companii care
vor discuta telefonic despre etapele lansarii produsului. n final cei doi
presedinti de firme vor definitiva partea financiara a afacerii. Scenariul
descris reprezinta un exemplu de ierarhie de protocoale n sensul celor
prezentate n sectiunea 1.3.1?
4. Care este principala diferenta ntre comunicarea fara conexiuni si comunicarea orientata pe conexiuni?
5. Ce nseamna negociere atunci cnd se stabileste o conexiune? Dati un
exemplu.

Autoevaluare
1. O retea de calculatoare reprezinta:
a. o colectie de calculatoare autonome interconectate prin cablu UTP
b. o colectie de calculatoare personale conectate la Internet
c. o colectie de calculatoare autonome interconectate folosind o singura tehnologie
d. o colectie de calculatoare autonome interconectate folosind o arhitectura client-server
e. o colectie de calculatoare personale interconectate folosind o tehnologie orientata pe conexiuni
2. O retea de calculatoare a carei raspndire este la nivelul unui campus
este:
a.
b.
c.
d.
e.

o retea locala
o retea metropolitana
o retea de tip stea
o retea cu difuzare
o retea larg raspndita geografic

3. O retea de tip inel,


a. conecteaza printr-un singur cablu toate calculatoarele din retea
b. conecteaza fiecare calculator de alte doua
c. foloseste un calculator central care va fi conectat cu toate celelalte
prin conexiuni directe
d. conecteaza toate calculatoarele ntre ele fara ca vreunul sa aiba rol
coodonator
e. are un singur canal de comunicatie care este partajat de toate masinile
din retea

Retele de calculatoare

Gabriel STOIAN

Introducere

4.

Standardizarea retelelor 21

Retelele care dispun de numeroase conexiuni ntre perechi de masini


individuale sunt:
a.
b.
c.
d.
e.

retele cu difuzarea
retele de tip stea
retele de tip plasa
retele de tip punct-la-punct
retele de tip magistrala

5. Stiva de protocoale reprezinta:


a. o structura de date de tip ultimul intrat primul servit folosita de
protocoalele retelei
b. o lista de protocoale folosite de un anumit sistem cte un protocol
pentru fiecare nivel
c. stiva folosita pentru transmiterea parametrilor functiilor realizate de
protocoalele unei retele
6.

Pentru a utiliza un serviciu orientat pe conexiuni beneficiarul trebuie


sa:
a. stabileasca o conexiune, sa foloseasca aceasta conexiune si apoi sa o
elibereze
b. se conecteze la retea folosind un nume de utilizator si o parola corespunzatoare
c. sa nu foloseasca medii de comunicatie fara fir (wireless)

7. Un serviciu este
a. un set de primitive (operatii) pe care un nivel le furnizeaza entitatii
pereche de pe calculatorul cu care comunica
b. un set de primitive (operatii) pe care un nivel le furnizeaza nivelului
de deasupra sa
c. un set de primitive (operatii) pe care un nivel le furnizeaza nivelului
fizic
d. un set de primitive (operatii) pe care un nivel le pune la dispozitia
utilizatorului
e. un set de primitive (operatii) pe care un nivel le furnizeaza interfetelor
de retea
8. Un protocol este
a. un set de reguli folosit pentru apelul primitivelor de serviciu
b. un set de reguli care guverneaza formatul si semnificatia cadrelor,
pachetelor sau mesajelor schimbate ntre ele de entitatile pereche de
pe un anumit nivel

Gabriel STOIAN

Retele de calculatoare

22 Standardizarea retelelor

Introducere

c. un set de reguli care guverneaza formatul pachetelor transmise nivelelor superioare


d. un set de reguli care guverneaza formatul pachetelor transmise nivelului fizic

Solutii

(1.c)
(2.a)

(3.b)
(4.d)

Retele de calculatoare

(5.b)
(6.a)

(7.b)
(8.b)

Gabriel STOIAN

2
Modele de referinta

Continut
2.1
Modelul de referinta OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1
Nivelul fizic Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2
Nivelul legatura de date Data Link Layer . . . . . . . . . . . . . . .
2.1.3
Nivelul retea Network Layer . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4
Nivelul transport Transport Layer . . . . . . . . . . . . . . . . . . . . .
2.1.5
Nivelul sesiune Session Layer . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6
Nivelul prezentare Presentation Layer . . . . . . . . . . . . . . . . .
2.1.7
Nivelul aplicatie Application Layer . . . . . . . . . . . . . . . . . . . .
2.2
Modelul de referinta TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1
Nivelul internet Internet Layer . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2
Nivelul transport Transport Layer . . . . . . . . . . . . . . . . . . . . .
2.2.3
Nivelul aplicatie Application Layer . . . . . . . . . . . . . . . . . . . .
2.2.4
Nivelul gazda-la-retea Host-to-network Layer . . . . . . . . . .
2.3
Comparatie ntre modelele ISOOSI si TCP/IP . . . . . . . . . . . . .

225
225
226
226
227
227
227
228
228
229
230
230
231
231

Obiective
O1:
O2:
O3:
O4:

Cunoasterea modelelor de referinta ISO-OSI si TCP/IP


Intelegerea rolului si a problemelor specifice fiecarui nivel
Studiul comparativ al celor doua modele
Deficientele celor doua modele de referinta

23

Modele de referinta

24

Cuvinte cheie

ISO-OSI
TCP/IP
nivel fizic
nivel legatura de date
nivel retea
nivel transport
nivel sesiune

nivel prezentare
nivel aplicatie
nivel internet
subretea
IP
TCP, UDP

Introducere

general discutat n modulul anterior constituie baza teoretica pentru structurarea pe niveluri a retelelor de
calculatoare. In sectiunile urmatoare vor fi descrise si analizate
doua arhitecturi de retea importante, modelul de referinta OSI si modelul
de referinta TCP/IP. Desi protocoalele asociate cu modelul OSI nu sunt folosite aproape deloc, modelul n sine este destul de general si nca valabil,
iar caracteristicile puse n discutie la fiecare nivel sunt n continuare foarte
importante. Modelul TCP/IP are caracteristici opuse: modelul n sine nu
este foarte util, dar protocoalele sunt folosite pe scara larga.
ODELUL IERAHIZAT

Resurse

Carti
Andrew Tanenbaum, Retele de calculatoare, Editura Byblos, 2005
William Stallings, Data and Computer Communication, Prentice Hall,
Fred Halsall, Computer Networking and the Internet, Addison-Wesley,
2005

Adrese Web
www.opnet.com - software pentru modelarea si simularea retelelor de
calculatoare. Varianta academica este gratuita. Necesita nregistrare
pe site.
www.cisco.com - producator de echipamente de retea
www.microsoft.com - producator de sisteme de operare pentru servere

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Modelul de referinta OSI 25

2.1 Modelul de referinta OSI


Modelul OSI se bazeaza pe o propunere dezvoltata de catre Organizatia OSI Open Systems InInternationala de Standardizare (International Standards Organization - terconnection
ISO) ca un prim pas catre standardizarea internationala a protocoalelor
folosite pe diferite niveluri. In anul 1995 modelul a fost revizuit. Numele sau
complet este modelul ISO-OSI (Open Systems Interconnection Interconectarea Sistemelor Deschise), nsa va fi folosita si varianta prescurtata de
model OSI.
Modelul OSI cuprinde sapte niveluri. Principiile aplicate pentru a se ajunge
la cele sapte niveluri sunt urmatoarele:
1. Un nivel trebuie creat atunci cnd este nevoie de un nivel de abstractizare
diferit.
2. Fiecare nivel trebuie sa ndeplineasca un rol bine definit.
3. Functia fiecarui nivel trebuie aleasa acordndu-se atentie definirii de
protocoale standardizate pe plan international.
4. Delimitarea nivelurilor trebuie facuta astfel nct sa se minimizeze fluxul
de informatii prin interfete.
5. Numarul de niveluri trebuie sa fie suficient de mare pentru a nu fi nevoie
sa se introduca n acelasi nivel functii diferite si suficient de mic pentru
ca arhitectura sa ramna functionala.
In cele ce urmeaza vor fi prezentate fiecare dintre nivelele modelului OSI,
ncepnd cu nivelul cel mai de jos. Modelul OSI nu reprezinta n sine o arhitectura de retea, pentru ca nu specifica serviciile si protocoalele utilizate la
fiecare nivel. Modelul spune numai ceea ce ar trebui sa faca fiecare nivel. ISO
a produs de asemenea standarde pentru fiecare nivel, nsa aceste standarde
nu fac parte din modelul de referinta propriu-zis. Fiecare din standardele
respective a fost publicat ca un standard international separat.

2.1.1 Nivelul fizic Physical Layer


Nivelul fizic se ocupa de transmiterea bitilor printr-un canal de comunicatie.
Proiectarea trebuie sa garanteze ca atunci cnd unul din capete trimite un
bit 1, acesta este receptat n cealalta parte ca un bit 1, si nu ca un bit 0.
Problemele tipice se refera, de exemplu, la cti volti trebuie utilizati pentru a reprezenta un 1 si cti pentru un 0, daca transmisia poate avea loc
simultan n ambele sensuri, cum este stabilita conexiunea initiala si cum
este ntrerupta cnd au terminat de comunicat ambele parti, cti pini are
conectorul de retea si la ce foloseste fiecare pin. Aceste aspecte de proiectare au o legatura strnsa cu interfetele mecanice, electrice, functionale si
procedurale, ca si cu mediul de transmisie considerat.

Gabriel STOIAN

Retele de calculatoare

26 Modelul de referinta OSI

Modele de referinta

2.1.2 Nivelul legatura de date Data Link Layer


Sarcina principala a nivelului legaturii de date este de a transforma un mijloc
oarecare de transmisie ntr-o linie care sa fie disponibila nivelului retea fara
tratarea erorilor erori de transmisie nedetectate. Nivelul legatura de date realizeaza aceasta
sarcina oblignd emita torul sa descompuna datele de intrare n cadre de
date frames avnd dimensiuni de ordinul sutelor sau miilor de octeti, si sa
transmita cadrele secvential. Daca serviciul este sigur, receptorul confirma
fiecare cadru trimitnd napoi un cadru de confirmare pozitiva.
O alta problema care apare la nivelul legatura de date (si, de asemenea,
la majoritatea nivelurilor superioare) este evitarea inundarii unui receptor
controlul traficului lent cu date provenite de la un emita tor rapid. In acest scop sunt necesare
mecanisme de reglare a traficului care sa permita emita torului sa afle ct
spatiu tampon detine receptorul la momentul curent. Controlul traficului si
tratarea erorilor sunt deseori integrate. Retelele cu difuzare adauga la nivelul
legatura de date o problema suplimentara: cum sa fie controlat accesul
controlul accesului la la canalul partajat. De aceasta problema se ocupa un subnivel special al
mediu nivelului legatura de date si anume subnivelul de control al accesului la
mediu.

2.1.3 Nivelul retea Network Layer


controlul subretelei Nivelul retea se ocupa de controlul functionarii subretelei. O problema cheie
n proiectare este determinarea modului n care pachetele sunt dirijate de
dirijarea pachetelor la sursa la destinatie. Dirijarea se poate baza pe tabele statistice care sunt
cablate intern n retea si al caror continut este schimbat rar. Traseele pot fi
de asemenea stabilite la nceputul fiecarei conversatii, de exemplu la nceputul unei sesiuni la terminal (o operatie login). In sfrsit, dirijarea poate fi
dinamica, traseele determinndu-se pentru fiecare pachet n concordanta
cu traficul curent din retea.
Daca n subretea exista prea multe pachete simultan, ele vor intra unul
pe traseul celuilalt si astfel se vor produce gtuiri. Controlul unor astfel de
controlul congestiei congestii i revine tot nivelului retea. Mai general, calitatea serviciilor oferite
QoS Quality of Service (ntrziere, timp de tranzitare, fluctuatii, etc.) este tot o responsabilitate a
nivelului retea.
Multe probleme pot aparea cnd un pachet trebuie sa calatoreasca dintr-o
retea n alta ca sa ajunga la destinatie. Modul de adresare folosit de a doua
retea poate sa difere de cel pentru prima. A doua retea poate chiar sa nu
accepte deloc pachetul pentru ca este prea mare. De asemenea, protocoalele
pot fi diferite si asa mai departe. Rezolvarea acestor probleme n vederea
interconectarea interconectarii retelelor eterogene este sarcina nivelului retea. In retelele cu
retelelor eterogene

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Modelul de referinta OSI 27

difuzare, problema dirijarii este simpla, astfel ca nivelul retea este deseori
subtire sau chiar nu exista deloc.

2.1.4 Nivelul transport Transport Layer


Rolul principal al nivelului transport este sa accepte date de la nivelul sesiune, sa le descompuna, daca este cazul, n unitati mai mici, sa transfere
aceste unitati nivelului retea si sa se asigure ca toate fragmentele sosesc
corect la celalalt capat. In plus, toate acestea trebuie facute eficient si ntrun mod care izoleaza nivelurile de deasupra de inevitabilele modificari n
tehnologia echipamentelor.
Nivelul transport determina, de asemenea, ce tip de serviciu sa furnizeze
nivelului sesiune si, n final, utilizatorilor retelei. Cel mai obisnuit tip de
conexiune transport este un canal punct-la-punct fara erori care furnizeaza canal punct-la-punct
mesajele sau octetii n ordinea n care au fost trimisi. Alte tipuri posibile
de servicii de transport sunt transportul mesajelor individuale fara nicio
garantie n privinta ordinii de livrare si difuzarea mesajelor catre destinatii difuzarea mesajelor
multiple. Tipul serviciului se determina cnd se stabileste conexiunea.
Nivelul transport este un adevarat nivel capat-la-capat, de la sursa la destinatie.
Cu alte cuvinte, un program de pe masina sursa poarta o conversatie cu un
program similar de pe masina destinatie, folosind n acest scop antetele mesajelor si mesaje de control. In nivelurile inferioare protocoalele au loc ntre
fiecare masina si vecinii sai imediati (niveluri nlantuite), si nu direct ntre
masinile sursa si destinatie (niveluri capat-la-capat), care pot fi separate
de numeroase rutere. Diferenta ntre nivelurile de la 1 pna la 3, care sunt
nlantuite si nivelurile de la 4 la 7, care sunt capat-la-capat, este ilustrata n
figura 2.1.

2.1.5 Nivelul sesiune Session Layer


Nivelul sesiune permite utilizatorilor de pe masini diferite sa stabileasca
ntre ei sesiuni. Sesiunile ofera diverse servicii, incluznd controlul dialogului (respectarea ordinii n raport cu dreptul de a transmite), gestionarea controlul dialogului
jetonului (prevenirea situatiei n care doua entitati ncearca aceeasi operatie gestionarea jetonului
critica n acelasi timp) si sincronizarea (introducerea de puncte de control sincronizarea
pe parcursul transmisiilor lungi, astfel nct, n cazul unui esec, acestea sa
poata fi reluate de unde ramasesera).

2.1.6 Nivelul prezentare Presentation Layer


In particular, spre deosebire de nivelurile inferioare, care se ocupa numai
de transferul bitilor dintr-un loc n altul, nivelul prezentare se ocupa de

Gabriel STOIAN

Retele de calculatoare

28 Modelul de referinta TCP/IP

Figura 2.1

Modele de referinta

Modelul de referinta ISOOSI

sintaxa si semantica informatiilor transmise. Pentru a face posibila comunicarea ntre calculatoare cu reprezentari diferite ale datelor, structurile de
date care se schimba ntre ele pot fi definite ntr-un mod abstract, alaturi
de o codificare standardizata ce va fi utilizata pentru comunicare. Nivelul
prezentare gestioneaza aceste structuri de date abstracte realiznd totodata
legatura cu structurile de date de nivel mai nalt.

2.1.7 Nivelul aplicatie Application Layer


Nivelul aplicatie contine o varietate de protocoale frecvent utilizate. Un
exemplu de protocol utilizat pe scara larga este HTTP (HyperText Transfer
Protocol), care sta la baza WWW (World Wide Web). Atunci cnd un program
de navigare (browser) acceseaza o pagina web, el trimite aplicatiei server
numele paginii pe care o doreste folosind protocolul HTTP. Serverul va
trimite ca raspuns pagina. Alte protocoale de aplicatie sunt folosite pentru
transferul fisierelor, posta electronica, stiri n retea, etc.

2.2 Modelul de referinta TCP/IP


TCP/IP a aparut odata cu reteaua ARPANET. Aceasta a fost o retea de cercetare sponsorizata de catre Departamentul de Aparare al Statelor Unite (DoD

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Modelul de referinta TCP/IP 29

Department of Defense) care n cele din urma, a ajuns sa conecteze ntre


ele, utiliznd linii telefonice nchiriate, sute de retele universitare si guvernamentale. Atunci cnd au fost adaugate, mai trziu, retele prin satelit si radio,
interconectarea acestora cu protocoalele existente a pus diferite probleme.
Era nevoie de o noua arhitectura de referinta si de aceea, posibilitatea de
a interconecta fara probleme mai multe tipuri de retele a reprezentat de la interconectarea mai mulbun nceput un obiectiv de proiectare major. Aceasta arhitectura a devenit tor tipuri de retele
cunoscuta mai trziu sub denumirea de modelul de referinta TCP/IP, data
dupa numele celor doua protocoale fundamentale utilizate.
Un alt obiectiv major a fost ca reteaua sa poata supravietui pierderii echi- supravietuirea conexiunipamentelor din subretea fara a fi ntrerupte conversatiile existente. Cu al- lor
te cuvinte se dorea ca, atta timp ct functionau masina sursa si masina
destinatie, conexiunile sa ramna intacte, chiar daca o parte din masini
sau din liniile de transmisie erau brusc scoase din functiune. Mai mult, era
nevoie de o arhitectura flexibila, deoarece se aveau n vedere aplicatii cu
cerinte divergente, mergnd de la transferul de fisiere pna la transmiterea
vorbirii n timp real.

2.2.1 Nivelul internet Internet Layer


Toate aceste cerinte au condus la alegerea unei retele cu comutare de pachete bazata pe un nivel inter-retea fara conexiuni. Acest nivel, numit nivelul
internet, este axul pe care se centreaza ntreaga arhitectura. Rolul sau este
de a permite gazdelor sa emita pachete n orice retea si a face ca pachetele sa circule independent pna la destinatie (fiind posibil ca aceasta sa se
gaseasca pe o alta retea). Pachetele pot chiar sa soseasca ntr-o ordine diferita fata de cea n care au fost trimise, caz n care daca se doreste livrarea lor
ordonata rearanjarea cade n sarcina nivelurilor superioare. De observat
ca internet este folosit aici ntr-un sens generic (internetworking), chiar
daca acest nivel este prezent si n Internet.
Aici, analogia se face cu sistemul de posta clasica. O persoana dintr-o anumita tara poate depune ntr-o cutie postala mai multe scrisori internationale
si, cu putin noroc, majoritatea scrisorilor vor ajunge la adresa corecta din
tara de destinatie. Probabil ca scrisorile vor trece pe drum prin mai multe oficii de cartare, dar acest lucru se face transparent pentru utilizatori.
Mai mult, faptul ca fiecare tara (adica fiecare retea) are propriile timbre,
propriile marimi favorite de plicuri si propriile reguli de livrare este ascuns
beneficiarilor.
Nivelul internet defineste oficial un format de pachet si un protocol numit IP
(Internet Protocol). Sarcina nivelului internet este sa livreze pachete IP catre IP Internet Protocol
destinatie. Problemele majore se refera la dirijarea pachetelor si evitarea
congestiei. n consecinta , este rezonabil sa spunem ca nivelul internet din

Gabriel STOIAN

Retele de calculatoare

30 Modelul de referinta TCP/IP

Modele de referinta

TCP/IP functioneaza asemanator cu nivelul retea din OSI. Figura 2.2 arata
aceasta corespondenta .

Figura 2.2

Modelul de referinta TCP/IP

2.2.2 Nivelul transport Transport Layer


Nivelul transport este proiectat astfel, nct sa permita conversatii ntre entitatile pereche din calculatoarele gazda sursa si respectiv, destinatie, Ia fel
ca n nivelul transport OSI. In acest sens au fost definite doua protocoale
TCP Transmission capat-la-capat. Primul din ele, TCP (Transmission Control Protocol), este un
Control Protocol protocol sigur orientat pe conexiuni care permite ca un flux de octeti trimisi
de pe o masina sa ajunga fara erori pe orice alta masina din inter-retea. Acest
protocol fragmenteaza fluxul de octeti n mesaje discrete si paseaza fiecare
mesaj nivelului internet. La destinatie, procesul TCP receptor reasambleaza
mesajele primite ntr-un flux de iesire. TCP trateaza totodata controlul flucontrolul fluxului xului pentru a se asigura ca un emita tor rapid nu inunda un receptor lent
cu mai multe mesaje dect poate acesta sa prelucreze.
UDP User Da- Al doilea protocol din acest nivel, UDP (User Datagram Protocol), este un
tagram Protocol protocol nesigur, fara conexiuni, destinat aplicatiilor care doresc sa utilizeze propria lor secventiere si control al fluxului, si nu pe cele asigurate de
TCP. Protocolul UDP este de asemenea mult folosit pentru interogari rapide ntrebare-raspuns, client-server si pentru aplicatii n care comunicarea
prompta este mai importanta dect comunicarea cu acuratete, asa cum
sunt aplicatiile de transmisie a vorbirii si a imaginilor video. Relatia dintre
IP, TCP si UDP este prezentata n figura 2.3. De cnd a fost dezvoltat acest
model, IP a fost implementat pe multe alte retele.

2.2.3 Nivelul aplicatie Application Layer


Modelul TCP/IP nu contine niveluri sesiune sau prezentare. Acestea nu au
fost incluse pentru ca nu s-a simtit nevoia lor. Experienta modelului OSI

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Figura 2.3

Comparatie ntre modelele ISOOSI si TCP/IP 31

Protocoale si retele din modelul TCP/IP initial

a dovedit ca aceasta viziune a fast corecta: n majoritatea aplicatiilor, nivelurile respective nu sunt de mare folos. Aici deasupra nivelului transport
se afla direct nivelul aplicatie. Acesta contine toate protocoalele de nivel
mai nalt. Asa cum se vede din figura 2.3, primele protocoale de acest gen
includeau terminalul virtual (TELNET), transferul de fisiere (FTP) si posta
electronica (SMTP). Protocolul de terminal virtual permite unui utilizator
de pe o masina sa se conecteze si sa lucreze pe o masina aflata la distanta .
Protocolul de transfer de fisiere pune la dispozitie o modalitate de a muta
eficient date de pe o masina pe alta. Posta electronica a fost la origine doar un
tip de transfer de fisiere, dar ulterior a fost dezvoltat un protocol specializat
(SMTP - Simple Mail Transfer Protocol) pentru acest serviciu. Pe parcursul
anilor, la aceste protocoale s-au adaugat multe altele, asa cum sunt Serviciul Numelor de Domenii (Domain Name Service - DNS) pentru stabilirea
corespondentei dintre numele calculatoarelor gazda si adresele retelelor,
NNTP, protocolul utilizat pentru a transfera articole de stiri USENET, HTTP,
folosit pentru aducerea paginilor de pe Web si multe altele.

2.2.4 Nivelul gazda-la-retea Host-to-network Layer


Modelul de referinta TCP/IP nu specifica ce se ntmpla n nivelul gazdala-retea, nsa mentioneaza ca un calculator gazda trebuie sa se lege la retea,
pentru a putea trimite pachete IP, folosind un anumit protocol. Acest protocol nu este definit si variaza de la calculator la calculator si de la retea la retea.
Cartile si articolele despre TCP/IP rareori discuta despre acest protocol.

2.3 Comparatie ntre modelele ISOOSI si TCP/IP


Modelele de referinta OSI si TCP/IP au multe lucruri n comun. Amndoua
se bazeaza pe conceptul unei stive de protocoale independente. De asemenea, functionalitatea nivelurilor este n linii mari similara. De exemplu, n
ambele modele, nivelurile pna la nivelul transport inclusiv sunt necesare

Gabriel STOIAN

Retele de calculatoare

32 Comparatie ntre modelele ISOOSI si TCP/IP

Modele de referinta

pentru a pune la dispozitia proceselor care doresc sa comunice un serviciu de transport capat-la-capat, independent de retea. Nivelurile respective
formeaza furnizorul de transport. Din nou, n ambele modele, nivelurile de
deasupra transportului sunt beneficiari orientati pe aplicatii ai serviciului
de transport. In pofida acestor similitudini fundamentale, ntre cele doua
modele exista si multe deosebiri care vor fi detaliate n continuare.
Modelul OSI introduce trei concepte esentiale: servicii, interfete, protocoale, iar cea mai mare contributie a acestuia este ca a facut explicita diferenta
dintre acestea. Fiecare nivel realizeaza niste servicii pentru nivelul situat
deasupra sa. Definitia serviciului spune ce face nivelul, nu cum l folosesc
entitatile de deasupra sa sau cum functioneaza nivelul. El defineste semantica nivelului. Interfata unui nivel spune proceselor aflate deasupra sa cum
sa faca accesul. Interfata precizeaza ce reprezinta parametrii si ce rezultat
se obtine. Nici interfata nu spune nimic despre functionarea interna a nivelului. In sfrsit, protocoalele pereche folosite ntr-un nivel reprezinta o
problema strict a nivelului. Nivelul poate folosi orice protocol doreste, cu
conditia ca acesta sa functioneze (adica sa ndeplineasca serviciul oferit).
Nivelul poate de asemenea sa schimbe protocoalele dupa cum vrea, fara ca
acest lucru sa afecteze programele din nivelurile superioare.
Aceste idei se potrivesc foarte bine cu ideile moderne referitoare la programarea orientata pe obiect. Un obiect, ca si un nivel, poseda un set de
metode (operatii) care pot fi invocate de catre procese din afara obiectului.
Semanticele acestor metode definesc multimea de servicii pe care le ofera
obiectul. Parametrii si rezultatele metodelor formeaza interfata obiectului.
Codul intern al obiectului reprezinta protocolul sau si nu este vizibil si nici
important n afara obiectului.
Desi lumea a ncercat ulterior sa l readapteze pentru a fi mai asemanator
modelului OSI, modelul TCP/IP nu a facut initial o distinctie clara ntre
serviciu, interfata si protocol. De exemplu, singurele servicii veritabile oferite de nivelul internet sunt SEND-IP-PACKET si RECEIVE-IP-PACKET. In
consecinta , protocoalele din modelul OSI sunt mai bine ascunse dect n
modelul TCP/IP si pot fi nlocuite relativ usor pe masura ce se schimba
tehnologia. Capacitatea de a face asemenea modificari reprezinta unul din
scopurile principale ale organizarii protocoalelor pe niveluri n modelul
OSI.
Modelul de referinta OSI a fost conceput nainte sa fie inventate protocoalele
corespunzatoare. Ordinea respectiva semnifica faptul ca modelul nu a fost
orientat catre un set specific de protocoale, fiind prin urmare destul de
general. Reversul este ca proiectantii nu au avut multa experienta n ceea
ce priveste acest subiect si nu au avut o idee coerenta despre mpartirea
functiilor pe niveluri. De exemplu, nivelul legatura de date se ocupa initial
numai cu retelele punct-la-punct. Atunci cnd au aparut retelele cu difuzare,

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Comparatie ntre modelele ISOOSI si TCP/IP 33

a trebuit sa fie introdus n model un subnivel nou. In sfrsit, ISO se astepta


initial ca fiecare tara sa aiba cte o retea care sa fie n custodia guvernului si sa
foloseasca protocoalele OSI, asa ca nu s-a dat nici o atentie interconectarii.
In ceea ce priveste TCP/IP, lucrurile stau exact pe dos: mai nti au aparut
protocoalele, iar modelul a fost de fapt doar o descriere a protocoalelor
existente. Cu protocoalele respective nu era nici o problema: ele se potriveau
perfect cu modelul. Singurul necaz era ca modelul nu se potrivea cu nici o
alta stiva de protocoale. Prin urmare, modelul nu a fost prea util pentru a
descrie alte retele non-TCP/IP.
O diferenta evidenta ntre cele doua modele se refera la numarul de niveluri: modelul OSI are sapte niveluri, iar TCP/IP are patru. Ambele modele
au niveluri (inter-)retea, transport si aplicatie, dar restul nivelurilor sunt
diferite.
O alta deosebire priveste subiectul comunicatiei fara conexiuni fata de cel al
comunicatiei orientata pe conexiuni. Modelul OSI suporta ambele tipuri de
comunicatii la nivelul retea, dar numai comunicatii orientate pe conexiuni
n nivelul transport, unde acest fapt are importanta (pentru ca serviciul de
transport este vizibil utilizatorilor). Modelul TCP/IP are numai un mod (fara
conexiuni) la nivelul retea, dar suporta ambele moduri la nivelul transport,
ceea ce lasa utilizatorilor posibilitatea alegerii. Aceasta alegere este importanta n mod special pentru protocoale ntrebare-raspuns simple.
Nici modelul si protocoalele OSI si nici modelul si protocoalele TCP/IP nu
sunt perfecte. Desi n 1989, majoritatea expertilor n domeniu credeau ca
modelul si protocoalele OSI se vor impune peste tot si vor elimina orice concurent, acest lucru nu s-a ntmplat. Motivele pot fi rezumate astfel: ratarea
momentului, tehnologii proaste, implementari proaste, politici proaste.
Ratarea momentului se refera la faptul ca momentul la care se stabileste ratarea momentului
un standard este absolut critic pentru succesul acestuia. Este esential ca
standardele sa fie definite n intervalul dintre perioada n care are loc activitatea de cercetare si perioada n care dupa descoperirea subiectului
se fac investitiile pentru dezvoltarea produselor. Daca ele sunt definite
prea devreme, nainte sa se ncheie cercetarea, atunci subiectul poate sa
nu fie nca destul de bine nteles, ceea ce conduce la standarde proaste.
Daca ele sunt definite prea trziu, atunci probabil ca att de multe firme au
facut deja investitii majore realiznd lucrurile altfel, nct standardele sunt
efectiv ignorate. Daca intervalul dintre cele doua perioade este foarte scurt
(pentru ca toata lumea arde de nerabdare sa treaca Ia lucru), atunci cei care
dezvolta standardele pot fi prinsi la mijloc si striviti, ceea ce s-a ntmplat si
cu protocoalele OSI.
La momentul aparitiei lor, protocoalele concurente TCP/IP erau deja folosite pe scara larga n universitati, n cercetare. nainte sa vina valul investitiilor,

Gabriel STOIAN

Retele de calculatoare

34 Comparatie ntre modelele ISOOSI si TCP/IP

Modele de referinta

iar piata din domeniul academic era destul de dezvoltata pentru ca multe
firme sa nceapa, prudent, sa ofere produse TCP/IP. Cnd a aparut OSI, firmele nu au mai sprijinit o a doua stiva de protocoale, si, prin urmare, n-au
aparut nici un fel de oferte initiale din partea lor.
tehnologii proaste Al doilea motiv pentru care OSI n-a prins niciodata este ca att modelul ct
si protocoalele au defecte. Optiunea pentru sapte niveluri a fast mai mult
politica dect tehnica , si doua dintre niveluri (sesiune si prezentare) sunt
aproape goale, n timp ce alte doua (legatura de date si retea) sunt prea
aglomerate. Modelul OSI, alaturi de protocoalele si definitiile de servicii
asociate, este extraordinar de complex. Pe lnga faptul ca este greu de nteles,
o alta problema cu OSI este ca unele functii, cum sunt adresarea, controlul
fluxului si controlul erorilor apar repetat n fiecare nivel.
Data fiind enorma complexitate a modelului si a protocoalelor, impleimplementari proaste mentarile initiale au fost uriase, greoaie si ineficiente astfel ca lumea a
nceput sa asocieze OSI cu calitate slaba. Desi odata cu trecerea timpului
produsele au devenit mai bune, imaginea a ramas una deteriorata. Din contra, una din primele implementari de TCP/IP facea parte din Berkeley UNIX
si era destul de buna (si gratuita), astfel ca lumea a nceput sa o foloseasca
repede, ceea ce a determinat aparitia unei comunitati largi de utilizatori.
Aceasta comunitate a contribuit la mbunatatirea implementarii, iar acest
lucru a atras dupa sine o comunitate si mai numeroasa de utilizatori.
Din cauza implementarii initiale, multa lume, n special din mediul academic, a considerat TCP/IP ca o parte din UNIX, iar n anii 80 UNIX-ul era
pentru oamenii din lumea academica extrem de popular. OSI, pe de alta
parte, a fost gndit ca o creatie a ministerelor de telecomunicatii europene,
apoi a Comunitatii Europene si, mai trziu, a guvernului Statelor Unite, fiind
politici proaste perceput ca o ncercare de a impune specialistilor care dezvolta retelele de
calculatoare, un standard inferior tehnic.
Modelul si protocoalele TCP/IP au si ele problemele lor. Mai nti, modelul
nu face o distinctie clara ntre conceptele de serviciu, interfata si protocol.
O practica recomandabila n ingineria programarii este sa se faca diferenta
ntre specificatie si implementare, ceea ce OSI face cu multa atentie, pe
cnd TCP/IP nu face. De aceea, modelul TCP/IP nu este un ghid prea bun
de proiectare a retelelor noi folosind tehnologii noi.
In al doilea rnd, modelul TCP/IP nu este deloc general si nu este aproape deloc potrivit pentru descrierea altor stive de protocoale n afara celei
TCP/IP. De exemplu, descrierea Bluetooth folosind modelul TCP/IP ar fi
aproape imposibila.
In al treilea rnd, nivelul gazda-la-retea nu este deloc un nivel n sensul
normal n care este folosit termenul n contextul protocoalelor organizate

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Comparatie ntre modelele ISOOSI si TCP/IP 35

pe niveluri ci este o interfata (ntre nivelurile retea si legatura de date), iar


distinctia ntre o interfata si un nivel este cruciala.
In al patrulea rnd, modelul TCP/IP nu distinge (si nici macar nu mentioneaza)
nivelurile fizic si legatura de date. Un model corect ar trebui sa includa ambele niveluri ca niveluri separate. Modelul TCP/IP nu face acest lucru.
In sfrsit, desi protocoalele IP si TCP au fost atent gndite si bine implementate, multe din celelalte protocoale au fost construite ad-hoc, de membri
ai comunitatii. Implementarile protocoalelor erau apoi distribuite gratuit si
ca urmare, ele erau larg utilizate, fara sa li se asigure suportul necesar, fiind
de aceea greu de nlocuit.
Pentru a rezuma, n pofida acestor probleme, modelul OSI (mai putin nivelurile sesiune si prezentare) s-a dovedit a fi exceptional de util pentru
a discuta retelele de calculatoare. Din contra, protocoalele OSI nu au devenit populare. Pentru TCP/IP este adevarata afirmatia inversa: modelul
este practic inexistent, dar protocoalele sunt larg utilizate. Modelul de lucru
folosit mai departe este modelul hibrid prezentat n figura 2.4.

Figura 2.4

Modelul hibrid

Recapitulare

Modelul OSI cuprinde sapte niveluri si se bazeaza pe o propunere dezvoltata de catre Organizatia Internationala de Standardizare (International Standards Organization - ISO) ca un prim pas catre standardizarea
internationala a protocoalelor folosite pe diferite niveluri.

Un nivel OSI trebuie creat atunci cnd este nevoie de un nivel de abstractizare diferit.

Fiecare nivel OSI trebuie sa ndeplineasca un rol bine definit.

Functia fiecarui nivel OSI trebuie aleasa acordndu-se atentie definirii


de protocoale standardizate pe plan international.

Delimitarea nivelurilor OSI trebuie facuta astfel nct sa se minimizeze


fluxul de informatii prin interfete.

Gabriel STOIAN

Retele de calculatoare

36 Comparatie ntre modelele ISOOSI si TCP/IP

Modele de referinta

Numarul de niveluri OSI trebuie sa fie suficient de mare pentru a nu fi


nevoie sa se introduca n acelasi nivel functii diferite si suficient de mic
pentru ca arhitectura sa ramna functionala.

Nivelul fizic din modelul OSI se ocupa de transmiterea bitilor printr-un


canal de comunicatie. Proiectarea trebuie sa garanteze ca atunci cnd
unul din capete trimite un bit 1, acesta este receptat n cealalta parte ca
un bit 1, si nu ca un bit 0.

Sarcina principala a nivelului legaturii de date este de a transforma un


mijloc oarecare de transmisie ntr-o linie care sa fie disponibila nivelului
retea fara erori de transmisie nedetectate.

Nivelul retea din modelul OSI se ocupa de controlul functionarii subretelei

Rolul principal al nivelului transport din modelul OSI este sa accepte


date de la nivelul sesiune, sa le descompuna, daca este cazul, n unitati
mai mici, sa transfere aceste unitati nivelului retea si sa se asigure ca
toate fragmentele sosesc corect la celalalt capat. In plus, toate acestea
trebuie facute eficient si ntr-un mod care izoleaza nivelurile de deasupra
de inevitabilele modificari n tehnologia echipamentelor.

Nivelul sesiune din modelul OSI permite utilizatorilor de pe masini diferite sa stabileasca ntre ei sesiuni. Sesiunile ofera diverse servicii, incluznd controlul dialogului, gestionarea jetonului si sincronizarea.

Nivelul prezentare din modelul OSI se ocupa de sintaxa si semantica


informatiilor transmise.

Nivelul aplicatie din modelul OSI contine o varietate de protocoale frecvent utilizate. Un exemplu de protocol utilizat pe scara larga este HTTP
(HyperText Transfer Protocol), care sta la baza WWW (World Wide Web).

Un obiectiv de proiectare major al modelului TCP/IP a fost posibilitatea


de a interconecta fara probleme mai multe tipuri de retele.

Un alt obiectiv major a fost ca reteaua sa poata supravietui pierderii


echipamentelor din subretea fara a fi ntrerupte conversatiile existente.

Rolul nivelului internet din modelul TCP/IP este de a permite calculatoarelor gazda sa emita pachete n orice retea si de a face ca pachetele
sa circule independent pna la destinatie (fiind posibil ca aceasta sa se
gaseasca pe o alta retea).

Nivelul transport din modelul TCP/IP este proiectat astfel, nct sa permita conversatii ntre entitatile pereche din calculatoarele gazda sursa
si respectiv, destinatie, Ia fel ca n nivelul transport OSI. Spre deosebire
de modelul OSI, aici nivelul transport suporta ambele tipuri de servicii
orientat pe conexiune, respectiv fara conexiune.

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Comparatie ntre modelele ISOOSI si TCP/IP 37

Modelul TCP/IP nu contine niveluri sesiune sau prezentare. Acestea nu


au fost incluse pentru ca nu s-a simtit nevoia lor. Experienta modelului
OSI a dovedit ca aceasta viziune a fast corecta: n majoritatea aplicatiilor,
nivelurile respective nu sunt de mare folos. Aici deasupra nivelului transport se afla direct nivelul aplicatie. Acesta contine toate protocoalele de
nivel mai nalt.

Modelul de referinta TCP/IP nu specifica ce se ntmpla n nivelul gazdala-retea, nsa mentioneaza ca un calculator gazda trebuie sa se lege la
retea, pentru a putea trimite pachete IP, folosind un anumit protocol.

Glosar
Subretea de comunicatie Termenul de subretea de comunicatie sau pe
scurt, subretea este mai potrivit n contextul unei retele larg raspndite
geografic, unde se refera la colectia de echipamente de interconectare si dirijare a traficului si linii de comunicatie aflate n proprietatea
operatorului de retea. Ca o analogie, sistemul telefonic consta din centrale telefonice de comutare, care sunt conectate ntre ele prin linii
de mare viteza si sunt legate la locuinte si birouri prin linii de viteza
scazuta. Aceste linii si echipamente, detinute si ntretinute de catre
compania telefonica, formeaza subreteaua sistemului telefonic. Telefoanele propriu-zise (care corespund n aceasta analogie calculatoarelor gazda) nu sunt parte a subretelei. Combinatia dintre o subretea si
calculatoarele sale formeaza o retea.
Inter-retea O inter-retea se formeaza atunci cnd se leaga ntre ele retele
diferite. Desi nu exista un consens asupra terminologiei din acest domeniu vom considera ca legarea unui LAN si a unui WAN sau legarea
a doua LAN-uri formeaza o inter-retea. O regula simpla este aceea ca
daca diferite companii sunt platite sa construiasca diverse parti ale unei
retele si fiecare trebuie sa si ntretina propria parte, avem o inter-retea
mai degraba dect o singura retea. De asemenea, daca tehnologiile difera n diverse zone ale retelei (de exemplu: difuzare si punct-la-punct),
este mai corect sa spunem ca discutam nu despre una ci despre doua
retele.
PDU PDU Protocol Data Unit, reprezinta unitatea informationala cu care opereaza un anumit protocol al unei retele de calculatoare. APDU,
PPDU, SPDU, TPDU din figura 2.1 se refera la unitatile informationale
specifice protocoalelor de nivel aplicatie (APDU Application Protocol
Data Unit), prezentare (PPDU Presentation Protocol Data Unit), sesiune (Session Protocol Data Unit) respectiv transport (Transport Protocol
Data Unit)
Sincronizarea Este un serviciu oferit de nivelul sesiune al modelului OSI
prin care se introduc puncte de control pe parcursul transmisiilor lungi

Gabriel STOIAN

Retele de calculatoare

38 Comparatie ntre modelele ISOOSI si TCP/IP

Modele de referinta

de date astfel nct, n cazul unei ntreruperi transferul sa poata fi reluat


de la ultimul punct de control depasit. Este optiune aproape standard
pentru toate aplicatiile care se ocupa de transferul de fisiere.

Probleme
1. Care dintre nivelurile OSI se ocupa de descompunerea fluxului de biti
transmisi n cadre? Dar de determinarea traseului care trebuie folosit n
subretea?
2. Daca unitatile de date schimbate la nivelul legatura de date se numesc
cadre iar unitatile de date schimbate la nivelul retea se numesc pachete, pachetele ncapsuleaza cadre sau cadrele ncapsuleaza pachete?
Explicati raspunsul dat.
3. Un sistem are o ierarhie de protocoale organizata pe n niveluri. Aplicatiile
genereaza mesaje de lungime M octeti. La fiecare nivel este adaugat un
antet de h octeti. Ce fractiune din rata de transfer a retelei este ocupata
de antete?
4. Prezentati doua aspecte comune modelului de referinta OSI si modelului
de referinta TCP/IP. Prezentati apoi doua aspecte prin care modelele
difera.
5. Care este principala deosebire ntre TCP si UDP?

Autoevaluare
1. Care dintre urmatoarele niveluri nu face parte din modelul ISO-OSI?
a.
b.
c.
d.
e.

nivelul fizic
nivelul legatura de date
nivelul internet
nivelul transport
nivelul sesiune

2. Care dintre urmatoarele niveluri nu face parte din modelul TCP/IP?


a.
b.
c.
d.
e.

nivelul internet
nivelul transport
nivelul prezentare
nivelul aplicatie
nivelul gazda-la-retea

3. Care dintre urmatoarele sarcini NU apartine nivelului legatura de date?


a. tratarea erorilor
b. tratarea secventialitatii

Retele de calculatoare

Gabriel STOIAN

Modele de referinta

Comparatie ntre modelele ISOOSI si TCP/IP 39

c. controlul traficului
d. controlul accesului la mediu
4. Care dintre urmatoarele sarcini NU apartine nivelului retea?
a.
b.
c.
d.
e.

dirijarea pachetelor
controlul congestiei
calitatea serviciilor
refacerea ordinii de transmisie a pachetelor
interconectarea retelelor eterogene

5. Care dintre urmatoarele sarcini NU apartine nivelului sesiune?


a.
b.
c.
d.

difuzarea mesajelor
controlul dialogului
sincronizarea
gestiunea jetonului

6. Care dintre urmatoarele afirmatii este FALSA?


a. Modelul OSI suporta ambele tipuri de comunicatii orientata pe
conexiuni respectiv fara conexiuni la nivelul retea
b. Modelul OSI suporta numai comunicatia orientata pe conexiuni la
nivelul transport
c. Modelul TCP/IP suporta ambele tipuri de comunicatii orientata pe
conexiuni respectiv fara conexiuni la nivelul transport
d. Modelul TCP/IP suporta numai comunicatia fara conexiuni la nivelul
retea
e. Modelul OSI suporta numai comunicatia fara conexiuni la nivelul
transport
7. Care dintre protocoalele urmatoare nu este de nivel aplicatie?
a.
b.
c.
d.
e.

HTTP
UDP
FTP
SMTP
DNS

8. Care dintre urmatoarele afirmatii este ADEVARAT


A?
a.
b.
c.
d.
e.

TCP este un protocol sigur orientat pe conexiuni


TCP este un protocol sigur fara conexiuni
UDP este un protocol sigur fara conexiuni
UDP este un protocol nesigur orientat pe conexiuni
TCP este un protocol nesigur orientat pe conexiuni

Gabriel STOIAN

Retele de calculatoare

40 Comparatie ntre modelele ISOOSI si TCP/IP

Modele de referinta

Solutii

(1.c)
(2.c)

(3.b)
(4.d)

Retele de calculatoare

(5.a)
(6.e)

(7.b)
(8.a)

Gabriel STOIAN

41

Gabriel STOIAN

Retele de calculatoare

S-ar putea să vă placă și