Aplicatiile Internet, de orice tip ar fi ele, client sau server, folosesc drept protocol de baza TCP/IP-ul. Pentru întelegerea functionarii acestui protocol vom folosi ca exemplu trimit 10110w2218k erea unui mesaj de e-mail. Trimiterea unui mesaj presupune un set de comenzi pe care un calculator le trimite spre un alt calculator, cum ar fi: expeditorul, destinatarul precum si textul mesajului. Acesta este protocolul care face posibila comunicarea între cele doua calculatoare. Posta electronica defineste un set de comenzi ce trebuie interpretate si transmise. Aceasta va opera atât cu partea de TCP (Transfer Control Protocol) cât si cu cea de IP (Internet Protocol). TCP-ul este responsabil pentru siguranta cu care aceste comenzi vor ajunge la destinatie (pastreaza ceea ce a fost trimis si retrimite în cazul în care mesajul nu a ajuns cu bine la destinatie, fragmenteaza mesajele mari în datagrame pentru a putea fi trimise pe rând). IP-ul este un set de instructiuni, o librarie de rutine pe care le apeleaza TCP. Se poate spune ca aplicatiile ce folosesc protocolul TCP/IP sunt structurate pe patru nivele:
aplicatia propriu-zisa (ex. programul de mail);
un protocol, TCP de exemplu, ce asigura serviciul propriu-zis de mail;
IP, necesar pentru transmiterea datagramelor la destinatie;
partea fizica a retelei (modem sau placa Ethernet).
Reteaua Internet este compusa dintr-o multime de retele mici, care comunica între ele prin intermediul unor gateway-uri. Datagramele trebuie sa treaca prin diferite retele pentru a ajunge la destinatie. Trecerea aceasta se numeste rutare si nu este vizibila pentru utilizator.
Gateway-ul este un calculator care se ocupa de interconectarea retelelor care vor iesi în Internet, iar printre atributiile sale este si cea de a ruta (dirija) informatia. Pentru accesarea unui alt calculator la distanta utilizatorul trebuie sa cunoasca adresa IP a acestuia.
TCP/IP este construit ca fiind o secventa de datagramare. Datagrama este o colectie de date ce sunt trimise ca un singur mesaj. Fiecare din aceste datagrame va fi trimisa prin retea individual. Atâta timp cât datagramele sunt în tranzit, reteaua nu va realiza ca exista legatura între ele. Se poate întâmpla ca la destinatie datagramele sa nu ajunga în aceeasi ordine (ex: la transferul unei informatii "fragmentate" în 7 datagrame este posibil ca datagrama 6 sa ajunga înaintea datagramei 7 sau este posibil ca, din cauza unei erori, una din datagrame sa nu ajunga, caz în care datagrama respectiva va fi retransmisa).
Termenii "datagrama" si "pachet" par a fi la prima vedere sinonimi, dar nu sunt. Datagrama este o unitate de date cu care lucreaza protocolul TCP/IP, iar pachetul este un cumul de datagrame ce apare pe Ethernet, linii telefonice sau alte tipuri de conexiuni. Este avantajos ca la expediere sa se trimita o singura datagrama/pachet motiv pentru care acesti termeni pot fi confundati.
Nivelul TCP - În transmiterea si receptionarea datagramelor sunt implicate doua protocoale TCP si IP. TCP este responsabil de împartirea mesajului în datagrame, reasamblarea, retransmiterea acestora în cazul în care ceva nu a fost trimis corect. Trimiterea unui mesaj poate face uneori ca datagramele sa treaca prin diferite servere, linii telefonice cablu Ethernet etc. din diferite tari sau chiar continente. În acest caz TCP îi da IP-ului o datagrama cu o destinatie. IP-ul nu "stie" ce contine acea datagrama si de asemenea nu stie ordinea în care au fost trimise. TCP trebuie sa "stie" carei conexiuni îi apartine o anumita datagrama. Acest lucru se numeste demultiplexare. Informatia necesara pentru demultiplexare este continuta în asa numitele headere. Un header este un numar de octeti aranjati la începutul datagramei printr-un protocol care va "memora" ordinea lor. Acest header contine cel putin 20 de octeti, dar cei mai importanti octeti sunt cei privind sursa si destinatia, numarul portului si numarul de secventa. De ex: daca avem 500 de octeti într-o datagrama, prima datgrama va fi numerotata cu 0, a doua cu 500, a treia cu 1000, a patra cu 1500 etc. În final se va mentiona suma de control (Checksum), ca fiind suma tuturor octetilor din datagrame. Rezultatul este pus în header. La destinatie TCP mai verifica înca o data exactitatea. În cazul în care datagrama a sosit corect, se va trimite expeditorului un numar de confirmare (acknowledgement). De exemplu daca se trimite o confirmare de 2000 de octeti înseamna ca s-au primit toti octetii, pâna la cel cu numarul 2000.
Nivelul IP - TCP trimite fiecare datagrama catre IP. IP-ul va gasi o ruta a datagramei pentru a ajunge la destinatie. Pentru a permite gateway-urilor sau sistemelor intermediare sa retrimita datagrama, IP-ul îsi adauga propriul header. Principalele informatii puse în header sunt sursa si destinatia ca adrese IP, numarul de protocol si o alta suma de control. Adresa IP sursa este adresa de unde se trimit datagramele adica este propria adresa IP necesara pentru a se sti de unde vin datagramele. Adresa de destinatie este adresa IP a calculatorului de destinatie si este necesara pentru a se indica unde merg datagramele. Numarul de protocol permite IP-ului de la celalalt capat sa verifice daca header-ul nu a avut de suferit în timpul transportului.
|