MODELUL TCP/IP
MODELUL TCP/IP
Reţelele locale de calculatoare LAN, sunt entităţi independente,
concepute să servească necesităţile unui grup de utilizatori, care
aleg tehnologia hardware cea mai potrivită pentru rezolvarea
problemelor de comunicaţie. Realizarea unor reţele de calculatoare
pe arie mai mare, MAN, WAN, sau mondială, se face prin
interconectarea acestor rețele locale, folosind liniile de
comunicație ale operatorilor de comunicații.
La începutul anilor 1980, s-a realizat o tehnologie care dă
posibilitatea interconectării reţelelor locale realizate cu
tehnologii și topologii diferite, echipamente hardware produse de
companii diferite, sisteme de operare diferite și chiar software de
reţea diferit. Această tehnologie a fost numită interconectare
(inter - networking), numită generic internet. Interconectarea
reţelelor LAN, pentru a realiza reţele de arie metropolitană,
regională sau chiar mondială, denumite inter-reţele este posibilă
dacă se ascund detaliile hardware ale reţelelor interconectate.
Tehnologia internet constituie un exemplu de interconectare în
sistem deschis. Spre deosebire de sistemele de comunicaţie pentru
reţelele locale de calculatoare brevetate, realizate de diferite
companii, aceasta are caracteristicile unui sistem deschis,
deoarece sunt disponibile public și mai important oricine poate
concepe programe necesare comunicaţiei. Mai important este că
această tehnologie a fost concepută pentru a asigura comunicaţia
între calculatoare cu diverse arhitecturi hardware, pe care rulează
diverse sisteme de operare și se utilizează dispozitive de
comutaţie de la diverși producători.
Principiile care stau la baza tehnologiei internet au rezultat
din cercetările Agenţiei pentru Proiecte de Cercetare Avansate -
Advanced Research Projects Agency (ARPA). Această tehnologie
include un set de standarde ce precizează detaliile privind modul
în care calculatoarele din reţelele locale comunică între ele când
sunt conectate prin intermediul diversilor operatori de
telecomunicaţii, precum şi un set de convenţii pentru
interconectarea reţelelor şi dirijarea traficului. A fost numită
suita de protocoale Internet, sau modelul TCP/IP (TCP/IP Internet
Protocol Suite) - după numele celor două principale standarde ale
sale. Această tehnologie permite comunicaţia calculatoarelor aflate
în reţele locale LAN diferite, dacă ele sunt interconectate. Există
situaţii în care unele companii utilizează TCP/IP pentru a
interconecta toate reţelele companiei, chiar dacă nici una din ele
nu are conexiune cu o reţea exterioară. Foarte des se utilizează
modelul TCP/IP pentru a realiza comunicaţia utilizatorilor
individuali, care au o conexiune la un furnizor de servicii de
Internet, un ISP.
Tehnologia TCP/IP permite realizarea reţelei mondiale de
calculatoare prin interconectarea reţelelor locale, folosind
liniile puse la dispoziție de operatorii de comunicaţii. Internetul
este o reţea publică de calculatoare, care interconectează
universităţi, companii şi firme comerciale, instituţii
guvernamentale şi calculatoare personale etc.Pentru un utilizator,
reţeaua Internet este o reţea virtuală, ce interconectează
calculatoarele şi prin care este posibilă comunicaţia. Structura
reţelelor care se interconectează este mascată, deoarece Internetul
abstractizează reţelele fizice asigurând doar funcţiile unei reţele
fizice, adică: primeşte date şi transmite date. Nivelurile
superioare ale Internet, prin serviciile pe care le pune la
dispoziţia utilizatorilor, sunt cele care asigură funcţionalitatea
reţelei. Structura unei inter-reţele se realizează prin
interconectarea mai multor reţele locale de calculatoare, folosind
echipamente de reţea numite rutere. Se poate spune că ruterul este
pentru o reţea LAN, ceea ce placa de reţea este pentru un
calculator, şi anume componenta de interconectare.
Modelul arhitectural TCP/IP este organizat pe niveluri
ierarhice. Modelul de comunicaţie asigură comunicaţii între
calculatoare aflate în reţele LAN diferite, interconectate prin
canale de comunicaţie puse la dispoziţie de operatori de
telecomunicaţii diferiți. Internetul a fost creat prin
interconectarea mai multor reţele locale, care au devenit o reţea
naţională pentru SUA şi apoi mondială. Implementarea acestui
standard de comunicaţie într-un calculator se face prin software.
Fiind un standard pentru reţelele publice, acest software este
gratuit, iar producătorii de sisteme de operare, livrează acest
pachet de comunicaţie împreună cu sistemul lor de operare (Windows,
Unix sau Linux). Modelul TCP/IP utilizat pentru interconectarea
reţelelor locale se bazează pe protocoalele de comunicaţie, de la
care provine şi numele:
· TCP (Transmission Control Protocol);
· IP (Internet Protocol).
La realizarea primei interconectări de reţele LAN s-au
interconectat reţele realizate cu tehnologii diferite, iar
transmisia datelor s-a făcut prin liniile telefonice. Arhitectura
reţelei permitea rularea unor aplicaţii ca: transferul fişierelor,
transmiterea datelor în timp real cum ar fi videoconferinţele sau
mesaje de poștă electronică. Pentru a fi cât mai simplă, s-a
realizat o arhitectură de reţea care are doar patru niveluri, spre
deosebire de modelul OSI, care are şapte niveluri.
Nivelurile modelului TCP/IP sunt:
1. nivelul de acces la reţea. Pentru acest nivel nu există
niciun standard sau specificaţie. Nivelul are rolul de a trimite
prin intermediul reţelei locale pachete IP, fără a se preciza care
protocol de comunicaţie este folosit. Protocolul poate să difere de
la o reţea locală la alta;
2. nivelul internet este nivelul esenţial al arhitecturii de
comunicaţie. Acest nivel are rolul de a permite calculatoarelor
gazdă (host) să formeze şi să transmită pachetele de date şi să
asigure transferul lor fără erori de la calculatorul sursă, la
calculatorul destinaţie. Protocolul IP utilizat pentru a realiza
această funcţie, standardizează o structură de informație, numită
pachet de date. Protocolul de comunicaţie în reţea specifică şi
modul în care pachetele de date sunt dirijate prin reţeaua de
comunicaţie, de la calculatorul transmiţător la cel receptor.
Transmisia trebuie realizată astfel încât pachetele să ajungă la
destinaţie, utilizând canale de comunicaţie care să evite
erorile;
3. nivelul transport este proiectat astfel încât să permită
dialogul între calculatoarele sursă şi destinaţie, motiv pentru
care se numește end-to-end. Protocolul de control al transmisiei –
TCP, permite unui flux de octeţi emis de un calculator să fie
recepţionat fără erori de oricare alt calculator din reţea. TCP
realizează controlul fluxului de date pentru a evita situaţia în
care un transmiţător rapid inundă un receptor lent, cu mai multe
mesaje decât poate acesta să le prelucreze. TCP este un protocol
orientat pe conexiune. Protocolul UDP (User Datagram Protocol) este
un protocol nesigur, fără conexiuni, destinat aplicaţiilor ce
folosesc propria secvenţiere şi controlul fluxului. Este un
protocol folosit în aplicaţii pentru care comunicarea rapidă este
mai importantă, decât acurateţea transmisiei, aşa cum sunt
aplicaţiile de transmitere a sunetului şi imaginilor video;
4. nivelul aplicaţie conţine protocoalele de nivel înalt, cum ar
fi terminalul virtual TELNET, transferul de fisiere FTP,
protocoalele SMTP si POP3 pentru poşta electronică sau protocolul
HTTP pentru transferul paginilor web, etc. Protocolul TELNET
permite utilizatorului să se conecteze la un calculator aflat la
distanţă şi să lucreze ca şi cum s-ar afla lângă acesta. Pe măsură
ce reţeaua WAN formată din interconectarea mai multor reţele locale
LAN s-a extins, s-au adăugat noi protocoale ca: DNS, care să
asigure corespondenţa, dintre numele calculatoarelor şi adresele
lor IP.
Stiva de protocoale a modelului TCP/IP este standardizată, prin
RFC-uri (Request For Comments). Modelul este în continuă
dezvoltare. De-a lungul anilor s-au adus multe îmbunătăţiri, mai
ales la nivelul de acces la reţea datorită evoluţiei tehnologiilor
de realizare a conectării calculatoarelor sau a reţelelor locale
LAN la Internet, dar structura de bază nu s-a modificat
semnificativ. În figură este prezentat modelul TCP/IP, ca o
arhitectură stratificată de comunicaţie.
O comparaţie între nivelurile modelului OSI și ale modelului
TCP/IP, este prezentată în figura. Se observă că modelul TCP/IP
este o arhitectură stratificată de comunicaţie pe 4 niveluri, spre
deosebire de modelul OSI compus din 7 niveluri. La modelul TCP/IP,
funcţiile de comunicaţie ale nivelurilor sesiune şi prezentare au
fost incluse în nivelul aplicaţie, iar nivelul fizic și legătură de
date au fost incluse în nivelul acces la rețea.
Diferenţe rezultă și din modul în care sunt alese soluţiile
privind asigurarea fiabilităţii şi amplasarea “inteligenţei” în
sistem. Acestea sunt:
· fiabilitatea la nivelul legăturii de date. Cele două
arhitecturi de reţea tratează diferit problema fiabilităţii.
· La modelul OSI, protocoalele detectează şi soluţionează
erorile la nivelul legăturii de date. Deci, în reţelele realizate
folosind protocoalele specificate de modelul OSI, fiabilitatea este
asigurată la nivelul legăturii de date. Protocoalele pentru a
asigura transferul corect al cadrelor între calculatorul
transmiţător şi comutatorul de pachete la care este conectat, sunt
complexe, deoarece suma de control CRC însoţeste fiecare cadru
transferat, iar receptorul confirmă fiecare cadru recepţionat
corect folosind algoritmi cu pauză de aşteptare şi de retransmisie,
care să prevină pierderea datelor şi să permită recuperarea
acestora dacă se produce o întrerupere a funcţionării
echipamentelor hardware. Şi la nivelul reţea se efectuează detecţia
erorilor şi recuperarea pachetelor transferate în reţea, utilizând
o sumă de control şi tehnici de pauză de aşteptare şi de
retransmisie. În fine, nivelul transport oferă fiabilitate între
utilizatorii finali prin faptul că obligă sursa să comunice cu
destinaţia finală pentru a verifica livrarea corectă a
pachetelor.
· Modelul arhitectural al TCP/IP a fost proiectat astfel încât
fiabilitatea să fie realizată doar la calculatorul receptor. Altfel
spus, reţelele WAN se construiesc pornind de la premisa că
echipamentele de comutaţie, adică routerul, poate să piardă sau să
altereze datele fără să încerce să le recupereze. Această
implementare a modului de realizare a fiabilităţii transmisiei de
date prin reţeaua de comunicaţie, simplifică mult programele de
comunicaţie de la nivelul legăturii de date. Programele software de
la nivelul legăturii de date, asigură doar o fiabilitate redusă. În
modelul TCP/IP, fiabilitatea este realizată la nivelul transport al
stivei de protocoale, unde se realizează detectarea şi corectarea
erorilor de transmisie. Eliberarea interfeţei nivelului reţea de
sarcina verificării corectitudinii transmiterii datelor, conduce la
o implementare mult mai usoară a softului TCP/IP. Routerele
intermediare pot elimina pachele care au fost afectate de erorile
de transmisie, cele pe care nu le pot livra sau cele care sosesc cu
o frecvenţă mai mare decât capacitatea lor de prelucrare. De
asemenea, ele pot redirecţiona pachetele pe trasee cu întârzieri
mai mari sau mai mici, fără a fi obligate să informeze sursa sau
destinaţia.
· O altă diferenţă între modelul TCP/IP şi modelul OSI provine
din alegerea locului în care se realizează conducerea proceselor de
comunicaţie.
· Reţelele implementate după modelul OSI sunt realizate după
principiul că o reţea de calculatoare este un mijloc care oferă
servicii de transport de informaţii. Furnizorul de servicii
controlează accesul în reţea şi monitorizează traficul, îl
înregistrează, în vederea contorizării şi taxării utilizatorilor.
Producătorii de echipamente pentru comunicaţie sunt cei care
rezolvă probleme precum: dirijarea traficului, controlul fluxului
şi confirmarea primirii corecte a datelor. Acest punct de vedere
preia multe din responsabilităţile calculatoarelor. În concluzie, o
reţea de calculatoare poate folosi calculatoare simple, întrucât
calculatoarele participă în foarte mică măsură la funcţionarea
reţelei.
· Reţelele implementate după modelul TCP/IP sunt concepute după
principiul că oricare calculator trebuie să participe la realizarea
tuturor funcţiilor de comunicaţie în reţea, deci trebuie să conţină
toate protocoalele de reţea. Toate calculatoarele din reţea au
implementată funcţia de detectare şi corectare a erorilor.
Comparativ cu modelul OSI, o reţea realizată după modelul TCP/IP
este un sistem de comunicaţie realizat cu echipamente de
comunicaţie simple, ruterul, dar care au calculatoare mai
performante pentru comunicaţie care sunt denumite şi host (gazdă),
pentru că au implementată toată stiva de protocoale. Ruterele au
implementate doar protocoalele de la nivelul internet şi nivelul de
acces în reţea. În figura se ilustrează circulaţia informaţiei în
cazul existenţei unor rutere intermediare care interconectează cele
două calculatoare care comunică între ele.
Se observă motivul pentru care numai protocoalele de la
nivelurile de transport şi aplicaţie sunt considerate furnizoare de
servicii între utilizatorii finali (end-to-end service). Fiind o
arhitectură de comunicaţie, modelul TCP/IP utilizează pentru
realizarea comunicaţiei informaţii de control: informaţii pentru
sincronizarea calculatorului transmiţător cu cel receptor,
informaţii pentru controlul fluxului de date prin care se asigură
că datele trimise în reţea de calculatorul transmiţător sunt
primite de calculatorul receptor şi informaţii pentru detecţia şi
corecţia erorilor. Aceste informaţii sunt atasate fiecărui mesaj
trimis prin reţea de calculatorul transmiţător, sub forma unui
header şi trailer.
Procesul de ataşare a unui header şi trailer se numeste
încapsulare. Calcualtorul receptor înlătură headerul şi trailerul,
deci face decapsularea.
În figură se prezintă modul cum se realizează încapsularea
datelor în modelul TCP/IP. Se observă că datele primite de nivelul
aplicaţie sunt încapsulate prin adăugarea la fiecare nivel a
informaţiei de control, numită header, pentru a realiza o
comunicaţia dintre calculatorul transmiţător şi calculatorul
receptor. Calculatoarele aparţin unor reţele LAN diferite şi sunt
interconectate printr-un canal de comunicaţie oferit de un operator
de telecomunicaţii.
Modelul TCP/IP, sau suita de protocoale Internet, este o
arhitectură de comunicaţie formată din patru niveluri. Modelului a
fost proiectat ca o arhitectură de comunicaţie deschisă, adică
comunicaţia este împărţită în mai multe funcţii, fiecare funcţie
fiind specificată de nivelul corespunzător al modelului TCP/IP.
Realizarea modulară a comunicaţiei a permis adăugarea unor
aplicaţii noi, de exemplu serviciul de pagini web pentru care s-a
realizat protocolul HTTP, fără a modifica protocoalele din stiva de
protocoale TCP/IP, implementată în anii când s-au interconectat
primele reţele LAN. Utilizarea Internetului pentru comunicaţii
multimedia a necesitat adăugarea unor noi protocoale la nivelurile
transport şi reţea ale modelului arhitectural TCP/IP.
Toate specificaţiile sunt publicate de comunitatea Internet,
prin RFC (Request For Comments). Acestea sunt standarde
obligatorii, atât pentru creatorii de software de aplicaţie sau
comunicaţie, cât şi pentru producătorii de echipamente de
comunicaţie.
În modelul TCP/IP fiecare nivel specifică anumite funcţii de
comunicaţie care trebuie realizate pentru a stabili o comunicaţie
între două calculatoare aflate în reţele locale diferite. Fiecare
funcţie de comunicaţie din reţea este realizată prin unul sau mai
multe protocoale de comunicaţie. În figura se prezintă protocoalele
modelului TCP/IP.
Se observă că modelul TCP/IP nu specifică niciun protocol pentru
nivelurile OSI: fizic şi legătura de date, lăsând alegerea acestora
la latitudinea celor care construiesc reţelele locale. Din analiza
modelului IEEE 802, s-a constatat că există o mulţime de standarde
pentru realizarea reţelelor LAN, ele fiind valabile şi pentru
nivelul de acces la reţea. Modelul TCP/IP specifică doar
protocoalele care trebuie utilizate pentru realizarea reţelelor
WAN. În continuare, se vor analiza principalele protocoale ale
modelul TCP/IP.
1. Nivelul de acces la reţea
Modelul TCP/IP nu specifică funcţiile acestui nivel, singura
menţiune este aceea că pentru a putea transmite date într-o reţea
WAN, un calculator trebuie să aibă o conexiune la Internet folosind
un protocol. Acest protocol nu este definit, şi poate fi diferit de
la calculator la altul şi de la reţea la alta. Nivelul de acces la
reţea face ca funcţionarea nivelului superior, numit Internet, să
nu depindă de reţeaua fizică utilizată în comunicaţie şi nici de
tipul legăturii de date.
Trebuie facută distincţia dintre nivelul Internet care este
similar nivelului reţea din modelul OSI şi Internet, care este o
reţea mondială de calculatoare individuale şi rutere interconectate
printr-o infrastructură de comunicaţie furnizată de operatorii de
telecomunicaţii. Comunicaţia dintre două calculatoare este punct la
punct, realizată prin linii închiriate sau comutate de la
companiile de telecomunicaţii. Internetul, ca reţea mondială, este
construit din aceste rutere şi liniile lor închiriate sau comutate,
care din punct de vedere al realizării comunicaţiei, calculatoarele
sau reţelele LAN sunt considerate subreţele de comunicaţie. În
practică, conectarea la Internet se poate realiza:
· Instituţii care au una sau mai multe reţele locale LAN,
fiecare cu un anumit număr de calculatoare gazdă şi un ruter,
conectate la un provider de Internet ISP;
· utilizatori individuali care se conectează la Internet,
folosind modemul şi linia telefonică comutată sau închiriată.
Indiferent de modul de conectare la Internet, este necesar un
protocol de legătură de date pentru autentificare, controlul
erorilor şi alte funcţii. La nivelul de acces la reţea, s-au creat
numeroase protocoale, în funcţie de modalitatea de conectare la
Internet: linii telefonice puse la dispoziţie de companiile de
telecomunicaţii, cablu coaxial sau fibră optică oferite de
operatorii de servicii CATV, sau canale radio oferite de operatorii
de telefonie mobilă sau de companiile de radiocomunicaţii.
Tehnologiile de conectare la Internet au fost impulsionate de
evoluţia extrem de rapidă a tehnologiilor de comunicaţie care
asigură legături cu viteze din ce în ce mai mari. Astfel, s-a ajuns
ca de la utilizarea modemurilor pe liniile telefonice închiriate,
care lucrau la viteze de 33,6 Kbps, să se realizeze conexiuni la
Internet prin fibră optică, cu rate de transfer de 2,048 Mbps. Din
acest motiv, arhitectura de comunicaţie oferită de modelul TCP/IP
nu specifică ce ar trebui să se întâmple la acest nivel, singura
menţiune este aceea că, pentru a putea transmite date, un
calculator trebuie să se conecteze la reţea folosind un anumit
protocol. Protocoalele de la acest nivel gestionează conexiunea la
Internet, începând cu sistemele de autentificare la server şi
terminând cu modurile de transmisie a pachetelor de date.
Protocolul PPP
Protocolul PPP este cel mai utilizat protocol pentru conectarea
calculatorului la Internet, prin modem şi linie telefonică. Este un
protocol punct la punct şi reprezintă un standard pentru Internet.
Protocolul asigură comunicaţia dintre două calculatoare care
folosesc un modem şi o linie telefonică, la un server situat la un
furnizor de servicii Internet ISP. Protocolul PPP efectuează
detecţia erorilor şi permite adreselor IP să fie negociate în
momentul conectării. De asemenea, permite autentificarea
calculatorului care se conectează la serverul furnizorului de
servicii Internet. În cazul utilizării acestui tip de legătură,
acordarea unei adrese IP se realizează automat în momentul
stabilirii legăturii la Internet. Pentru a realiza conexiunea,
calculatorul apelează serverul ISP-ului prin intermediul propriului
modem. După ce modemul de la ISP a răspuns apelului telefonic, se
stabileste o conexiune fizică între PC şi server, prin intermediul
celor două modemuri şi a liniei telefonice.
Serverul furnizorului de servicii Internet este un calculator pe
care s-a instalat un sistem de operare specializat pentru
realizarea mai multor legături prin modem şi linie telefonică,
astfel încât calculatorul care se conectează la acest server
funcţionează ca şi cum ar fi conectat în reţeaua locală a
furnizorului de servicii de Internet. Acest server se numeşte RAS
(remote acces server). Conexiunea realizată între calculator şi
serverul RAS este o legătura punct la punct şi funcţionează la
nivelurile fizic şi legătură de date ale modelului OSI. În figura
se prezintă modul de conectare la Internet a unui calculator care
foloseste un modem şi o linie telefonică.
După stabilirea legăturii dintre cele două calculatoare,
calculatorul PC trimite server-ului o serie de pachete LCP (Link
Control Protocol), pentru a testa legătura, a negocia opţiunile de
comunicaţie şi pentru a elibera linia atunci când nu mai este
nevoie de ea. După ce s-au stabilit, de comun acord, parametrii de
comunicaţie dintre PC şi severul ISP, sunt trimise mai multe
pachete NCP (Network Control Protocol) pentru a negocia parametrii
de comunicaţie ai nivelului reţea, care sunt stabiliţi în mod
independent de protocolul folosit pentru nivelul de acces la reţea.
Severul ISP utilizează suita de protocoale TCP/IP pentru
comunicaţia cu serverele de postă electronică, pagini web etc. Din
acest motiv PC-ul are nevoie de o adresă IP. Furnizorul ISP
atribuie dinamic o adresă IP PC-ului, din cele care sunt la
dispoziţia sa, cu
ajutorul NCP-ului. Din acest moment, calculatorul PC este un
calculator gazdă în Internet şi poate trimite sau primi pachete IP.
Acum este foarte clar de ce nivelul de acces la reţea nu specifică
ceea ce trebuie să se întâmple la acest nivel, singura menţiune
fiind aceea că, pentru a putea transmite date, un calculator
trebuie să se conecteze la reţea folosind un anumit protocol. Acest
nivel din arhitectura de comunicaţie a modelului TCP/IP nu depinde
de protocoalele utilizate de stiva de protocoale TCP/IP, el
depinzând mai mult de driverele plăcilor de reţea. Comunicaţia
punct la punct este utilizată şi pentru a realiza conectarea la
Internet a unor instituţii care au una sau mai multe reţele LAN. În
acest caz, pentru a realiza o conexiune la Internet, se foloseste
un ruter, care este echipamentul specializat pentru interconectarea
reţelelor locale LAN şi linii închiriate de la diferiţii operatori
de telecomunicaţii.
2. Nivelul internet
Nivelul Internet (Internet Layer) al modelului TCP/IP corespunde
nivelului rețea din modelul OSI. Nivelul rețea (Network Layer),
care se mai numeste si nivelul subrețelei de comunicație,
controlează operațiile din subretea prin crearea, mentinerea si
apoi întreruperea unei conexiuni virtuale a nivelurilor transport
al calculatoarelor aflate în comunicatie. Nivelul retea, în cazul
comunicatiei dintre două calculatoare care apartin unei retele WAN,
are rolul de a proteja nivelurile superioare de arhitectura fizică
a retelelor LAN, deoarece se interconectează retele de calculatoare
care au fost realizate de diferite firme care au dezvoltat
propriile tipuri de retele, bazate pe propriile standarde, ca
urmare a unor studii si cercetări în laboratoarele proprii. Pentru
comunicatia a două calculatoare din retele LAN diferite, cum este
cea realizată prin modelul TCP/IP, este important ca nivelurile
superioare să nu fie dependente de retelele LAN. Principalele
functii de retea ale acestui nivel sunt:
· determinarea caracteristicilor interfetei dintre calculator si
canalul de comunicatie, repartizând între acestea sarcinile
privitoare la asigurarea transmisiei corecte la destinatie a
tuturor pachetelor de date;
· stabilirea adreselor logice ale calculatoarelor utilizatorilor
finali si efectuarea conversiilor între aceste adrese si adresele
fizice ale respectivelor calculatoare;
· alegerea traseului (path) sau căii (route), adică a
succesiunii de tronsoane de canale fizice de la calculatorul
transmitător la cel receptor, pe care este transportat fiecare
pachet. Acest proces se numeste rutare;
· Rezolvarea strangulărilor (bottleneck) provocate de prezenta
simultană a prea multe pachete în subretea, fie prin realegerea
adaptivă a traseelor, fie cerând nivelului transport să oprească
temporar emisia mesajelor.
Nivelul retea are sarcina de-a alegerea traseele pentru mesajele
dintre utilizatorii finali si modificarea acestora, pentru a
asigura transmiterea lor pe un traseu optim. Procesul se numeste
rutare.
La acest nivel, se realizează adresarea IP si se face conversia
dintre diferite protocoale, în situatia in care mesajele parcurg
retele eterogene, adică realizate cu tehnologii diferite (Ethernet,
FDDI, Token Ring, etc). Se poate spune figurativ că nivelul retea
trebuie să cunoască mai multe "limbi străine", specifice fiecărui
tip de retea.
Principalalul protocol al nivelului retea este protocolul IP.
Acesta este un protocol fără
conexiune, care asigură o transmisie nefiabilă a pachetelor de
date. Un astfel de protocol este caracterizat prin faptul că
fiecare pachet este considerat o entitate independentă, care nu are
legătură cu celelalte pachete transmise. Asamblarea pachetelor de
date, ca si fragmentarea lor, se realizează la nivelul superioar.
La acest nivel din arhitectura
TCP/IP este necesar să se efectueze o identificare, printr-o
adresă de retea unică, a echipamentelor de reŃea prin care se
realizează comunicatia.
Adresa unică, atribuită fiecărui echipament de comunicatie
dintr-o retea realizată dupa modelul TCP/IP, se numeste adresă IP.
Procesul prin care se face alocarea adresei IP unui echipament din
retea se numeste adresare. Fiecare pachet de date, care la acest
nivel se numeste datagrama, contine atât adresa IP a calculatorului
sursă, cât si adresa IP a calculatorului destinatie, astfel încât
poate fi transmisă si rutată independent de celelalte.
Protocolul IP este nefiabil, pentru că nu garantează că
datagramele vor ajunge la destinatie si nici că transmisia lor pe
canalul de comunicatie va fi fără erori. Totusi, pachetul IP
contine o sumă de control a antetului datagramelor transmise. Dacă
antetul unei datagrame IP nu este corespunzător, întregul pachet
este anulat si nu mai este transmis nivelului superior, nivel care
verifică toate datele continute de datagramă. Protocolul IP este
responsabil cu rutarea pachetelor în Internet si cu o posibilă
fragmentare a datelor. Fragmentarea unui pachet este făcută de un
gateway atunci când pachetul este prea mare pentru a parcurge
reteaua prin care se va transmite, aceasta fiind o retea de alt tip
(Ethernet, Token ring, FDDI, etc.). În acest caz, fragmentele
rezultate sunt transmise în continuare ca pachete IP independente
si sunt reasamblate la destinatie, reconstituind astfel datagrama
initială. Dacă unul dintre fragmente este eronat sau pierdut, se
anulează întreaga datagramă.
Deoarece protocolul IP nu garantează livrarea pachetelor,
semnalizarea pierderii sau receptiei eronate a acestora,
arhitectura de comunicatie TCP/IP generează anumite mesaje de
eroare care sunt împachetate si transportate de protocolul ICMP
(Internet Control Message Protocol). Initial, ICMP a fost proiectat
să permită dispozitivelor gateway (ruterelor) raportarea cauzei
care a generat erori de transport, de către nivelul retea al
calculatorului transmitător, care trebuia să decidă cum să raspundă
acestor erori. Protocolul ICMP a fost completat, astfel incât orice
echipament de retea poate folosi ICMP pentru a transmite mesaje de
eroare, control sau informare în retea. Se poate spune că
protocolul ICMP furnizează doar servicii de semnalizare a erorilor
calculatorului sursă. Deoarece nici un comutator de pachete nu este
informat de erorile care s-au depistat, calculatorul transmitător
nu poate corecta aceste erori care apar în procesul de rutare.
Această limitare îsi are originea în modalitatea în care se face
rutarea. Retelele realizate cu protocoalele modelului de
comunicatie TCP/IP folosesc tabele de rutare care se configurează
dinamic. Din acest motiv, nici un ruter nu va cunoaste întreaga
"hartă de routare" a retelei. Această implementare a tabelei de
rutare s-a realizat în acest mod pentru a simplifica software-ul
instalat pe ruter. Astfel, calculatorul receptor nu va cunoaste
niciodată ce cale a parcurs datagrama respectivă pentru a ajunge la
destinatie. Deoarece ICMP foloseste pentru livrarea mesajelor de
eroare tot pachete IP, rezultă că si aceste pachete se pot pierde
sau se pot transmite eronat. Protocolul ICMP mai permite
transmiterea mesajelor de interogare prin care se raportează
informatii legate de retea sau de un anume ruter din retea. Astfel
de mesaje sunt utilizate în scopul depanării retelei.
La nivelul Internet se foloseste si protocolul IGMP (Internet
Group Management Protocol), utilizat pentru gestiunea grupurilor
din Internet, adică permite transmiterea de mesaje către mai multe
calculatoare din retea. Si acest protocol se bazează tot pe
pachetele IP pentru a transmite mesaje.
Protocolul IP
Protocolul IP (Internet Protocol) este principalul protocol al
nivelului Internet din stiva de protocoale TCP/IP. Acest protocol
realizează functiile de comunicatie în retea. Calculatorul
transmitător preia datele de pe nivelul transport, le adaugă
informatia de control sub forma unui antet (header) si apoi le
transmite spre nivelul de acces la retea. Procesul prin care datele
sunt incluse într-un format necesar protocolului imediat inferior
se numeste încapsulare. Unitatea de date astfel obtinută se numeste
datagramă. La calculatorul receptor, protocolul IP preia
datagramele de nivelul de acces la retea, îndepărtează antetul si
transmite pachetul de date nivelului transport. Functiile de baza
ale protocolului IP sunt:
1. procesul de încapsulare/decapsulare;
2. specificarea adreselor IP, sau adresarea IP;
3. transmiterea datagramelor prin retea spre destinatie, sau
rutarea.
1. Procesul de încapsulare/decapsulare
Protocolul IP foloseste datagrama IP ca unitate de date a
comunicaŃiei într-o reŃea WAN,
realizată după modelul TCP/IP. O datagramă se obŃine prin
procesul de încapsulare.
Datagrama este un pachet de date format dintr-un header, urmat
de datele primite de la
nivelul transport. În Figura 64 se prezintă structura unei
datagrame.
Structura unei datagrame
Semnificatia fiecărui câmp de informatie de control din header
este:
· adresele IP sursă si destinatie reprezentate pe 32 de biti
sunt cele mai importante date din antet si sunt utilizate pentru ca
pachetul să ajungă la destinatie;
· suma de control a antetului reprezentată pe 16 biti este
calculată numai pentru câmpurile antetului IP si nu depinde de
datele din pachet. Suma de control pentru datele încapsulate este
calculată de protocoalele de nivel superior care au creat datele
respective. În cazul unei datagrame eronate, protocolul IP nu
obligă calculatorul receptor să trimită calculatorului transmitător
un mesaj de eroare;
· protocol este un câmp de date pe 8 biti, prin care se
specifică ce protocol de nivel superior a creat datele încapsulate
în datagramă: TCP, UDP, ICMP, IGMP;
· timpul de viata este un câmp cu informatii de control pe 8
biti, care arată cât timp poate "trăi" o datagramă. A fost introdus
pentru a impiedica datagramele să "rătăcească" prin Internet. La
primirea datagramei, fiecare ruter dintre calculatorul sursă si
calculatorul destinatie decrementează acest câmp cu o unitate.
Atunci când o datagramă care are TTL=0 este distrusă, sursa este
anuntată printr-un mesaj generat de protocolul ICMP (Internet
Control Message Protocol);
· fragmentul offset are lungimea de 13 biti si indică pozitia
relativă a datelor continute în acest fragment, în raport cu primul
fragment emis;
· flag este un câmp de informaŃie de control format din 3 biti,
care contine 2 indicatori: DF care, pozitionat pe "1", interzice
fragmentarea si MF care, pozitionat pe "0", indică faptul că
fragmentul curent este ultimul;
· identificarea este un câmp reprezentat pe 16 biti, care,
împreună cu câmpurile de adrese si protocol, permite identificarea
diferitelor fragmente pe parcursul reasamblării de către hostul
receptor;
· lungimea pachetului este un câmp reprezentat pe 16 biti, care
specifică lungimea totală a pachetului IP în octeti, incluzând si
antetul. Având 16 biti, putem spune că dimensiunea teoretică maximă
a unei datagrame este de 65.535 octeti. La stabilirea valorii
pentru dimensiunea datagramelor s-a tinut cont de nivelul legătură
de date al retelei, nivel care încapsulează diferit datagramele
pentru tipuri diferite de retele. Fiecare tip de retea defineste o
valoare pentru dimensiunea maximă a unui pachet. Aceasta valoare se
numeste unitate maximă de transfer a retelei (MTU – Maximum
Transfer Unit). Astfel, retelele Ethernet au un MTU de 1500 octeti,
Token Ring au unitatea maximă de transfer a retelei de 4464 octeti.
Alte tipuri de retea pot avea valori mult mai mici ale unitătii
maxime de transfer a retelei, chiar până la 128 octeti. Dacă o
aplicatie încearcă să transporte un pachet IP mai mare decât MTU,
se produce fragmentarea datelor, la destinatie urmând să se producă
reasamblarea pachetelor de date;
· tipul serviciului (TOS - Type Of Service) este un câmp
reprezentat pe 8 biti, împărtit la rândul său în 6 subcâmpuri care
permit programatorului să stabilească prioritătile pentru pachetul
IP. Echipamentul de retea, citind valoarea acestui câmp, poate lua
decizii corecte pentru gestiunea datelor. După cum se stie, în
Internet, circulă nu numai pachete de date, ci si pachete de
control (informatii de routare, pachete SNMP, etc). Utilizând acest
câmp se pot acorda priorităti diferite pachetelor de control fată
de cele de date;
· lungime antet (Internet Header Length) este un câmp cu
informatii de control pe 4 biti. Când a fost concepută structura
unei datagrame, s-a stabilit ca antetul datagramei să fie multiplu
de 32 biti. Un antet are în mod normal 20 de octeti, adică 5
blocuri de cîte 4 octeti. Ca urmare, acest câmp va contine, de cele
mai multe ori, valoarea 5. Mai exact, valoarea acestui câmp este
numărul binar 0101. Datele încapsulate în datagramă urmează imediat
după antet. Examinând câmpul Lungime Antet se poate determina
pozitia la care încep datele continute de datagramă;
· versiunea este un câmp pe 4 biti, prin care se identifică
versiunea protocolului IP utilizat. Versiunea actuală este
versiunea 4, notată cu IPv4.
Adresarea IP
Pentru orice comunicare în retea trebuie să existe un mecanism
de adresare, care să permită recunoasterea unică a calculatoarelor
conectate. La conceperea protocolului IP sa impus utilizarea unui
mecanism de adresare care să identifice unic fiecare dispozitiv
gazdă din retea. O adresă IP este un număr binar pe 32 de biti,
reprezentat prin 4 numere zecimale separate prin puncte, fiecare
număr fiind reprezentat prin 8 biti. Un exemplu de adresă IP este:
193.226.128.65. Această notatie este cunoscută sub numele "dotted
decimal". Adresa IP reprezentată în zecimal prin: 193.226.128.65,
în calculator este reprezentată în forma binară: 1100 0001 1110
0010 1000 0000 0100 0001. Orice adresă IP este formată din două
părti, una care identifică reteaua (Network ID) si una care
identifică nodul (Host ID). Desi această exprimare facilitează
semnificativ lucrul cu adresele IP, există unele limitări legate de
usurinta de a discerne între portiunea de retea si cea de statie
din cadrul adresei IP. Încercarea de a păstra reprezentarea
zecimală ca model de referintă pentru adresa IP si de a permite să
se facă usor distinctia între cele două componente ale adresei IP,
a condus la definirea claselor de adrese IP. Pentru a întelege cum
poate fi identificat un calculator în functie de identificatorul
retelei – Network ID si identificatorul hostului Host ID, în figura
sunt prezentate două retele locale LAN, de tip stea, care sunt
interconectate printr-un ruter. Se observă că toate calculatoarele
care apartin unui LAN au acelasi Network ID: 192.158.18 pentru o
retea LAN, si respectiv 192.168.5 pentru cealaltă retea LAN.
Adresele pentru host-uri sunt diferite, fiecare calculator conectat
în reteaua locală având o altă adresă IP.
Clasele de adrese IP
Au fost definite 5 clase diferite de adrese. Putem determina
clasa din care face parte
adresa IP prin examinarea primilor 4 biti ai adresei IP:
· adresele clasă A sunt adresele care încep cu 0xxx, de la 1 la
126 în zecimal;
· adresele clasă B sunt adresele care încep cu 10xx, de la 128
la 191 în zecimal;
· adresele clasă C sunt adresele care încep cu 110x, de la 192
la 223 în zecimal;
· adresele clasă D sunt adresele care încep cu 1110, de la 224
la 239 în zecimal;
· adresele clasă E sunt adresele care încep cu 1111, de la 240
la 254 în zecimal.
Adresele care încep cu 01111111, sau 127 în notatie zecimală,
sunt folosite pentru loopback - adresa internă a oricărui nod sau
dispozitiv ce comunică prin protocolul TCP/IP. Adresa de loopback
nu poate fi accesată decât local, orice pachet trimis va avea ca
destinatie exact calculatorul de pe care sunt trimise pachetele.
Adresele clasei D sunt rezervate pentru multicasting, iar cele ale
clasei E sunt rezervate pentru o utilizare viitoare. Acestea nu
trebuie să fie folosite ca si adrese de host. Mai jos se indică
modul de reprezentare a adreselor IP, notându-se cu N partea de
retea si cu n partea de host pentru fiecare clasă:
· adresă clasă A: NNNNNNNN.nnnnnnnn.nnnnnnn.nnnnnnn;
· adresă clasă B: NNNNNNNN.NNNNNNNN.nnnnnnnn.nnnnnnnn;
· adresă clasă C: NNNNNNNN.NNNNNNNN. NNNNNNNN.nnnnnnnn;
· adresă clasă D: NNNNNNNN.NNNNNNNN. NNNNNNNN.NNNNNNNN.
Adresele clasă A
Adresele clasă A sunt destinate retelelor de dimensiuni mari. La
aceste adrese IP, pentru definirea retelei se foloseste primul
octet, iar ceilalti trei octeti sunt utilizati pentru identificarea
hostului. Domeniul de valori pentru adresele din clasa A este de la
1 la 126, adică adresele de la 0.0.0.1 până la 126.255.255.255.
Clasa de adrese 0.0.0.0 nu este folosită datorită posibilelor
confuzii cu rutele implicite, iar clasa 127.0.0.0 este rezervată
pentru adrese de loopback, în scopul monitorizării si testării
retelei locale. Cei 24 de biti folositi pentru identificarea
hostului, permit adresarea a 16.777.214 hosturi. În figura este
prezentat modul de reprezentare a unei adrese clasă A.
Adresele clasă B
Adresele clasă B sunt destinate retelelor de dimensiuni mai mici
decât cele de clasă A. La aceste adrese IP, pentru definirea
retelei se folosesc primii doi octeti, iar următorii doi octeti
sunt utilizati pentru identificarea hostului. Domeniul de valori
pentru adresele de clasă B este de la 128 la 191, adică adresele de
la 128.0.0.0 până la 191.255.255.255. În acest interval se pot
adresa 16.324 retele. Cei 16 biti folositi pentru identificarea
hostului permit adresarea a 65.534 hosturi. Rezultă că retelele de
clasă B sunt retele mari, datorită numărului mare hosturi ce pot fi
adresate. În figura se prezintă modul de reprezentare a unei adrese
clasă B.