Documente Academic
Documente Profesional
Documente Cultură
Transmission Control Protocol (TCP) şi Internet Protocol (IP) se referă de fapt la un set de
protocoale şi servicii care împreună permit calculatoarelor legate în reţea să se interconecteze pentru a
realiza transferuri de fişiere, servicii de poştă electronică şi sesiuni de lucru interactiv la distanţă.
TCP este folosit pe scară largă în mediile academice şi inginereşti (şi, de exemplu, în cadrul reţelei
guvernamentale americane).
De asemenea, datorită marelui număr de programe apărute pe piaţă care folosesc TCP/IP, acest set
de protocoale a început să fie din ce în ce mai răspândit în mediul comercial, ca şi în cadrul reţelelor locale
de calculatoare.
Singura diferenţă între reţele şi subreţele constă în modul în care sunt interpretate adresele IP şi depinde
de localizarea modulului IP specificat de adresă. În majoritatea cazurilor, subreţelele pot fi numite pentru
simplitate reţele. În general, termenul "subreţea" este folosit doar în cazul în care este necesar să se facă
distincţia între diferitele nivele ierarhice ale internet.
IP este limitat la funcţiile de bază necesare transmisiei unui bloc de date (datagram) prin internet.
Fiecare bloc de date este o entitate independentă, nefiind legată de alte "datagrame" (traducerea, poate
puţin forţată, a termenului "datagram" este preluată din cartea "Reţele de calculatoare", cu semnificaţia
"mesaj fără confirmare"). Nivelul IP al hostului asigură servicii protocoalelor de la nivelul transport şi
foloseşte serviciile nivelului legăturii de date pentru a transmite datagramele hostului destinaţie. IP nu
pretinde că ar oferi servicii sigure. Calculatoarele gazdă (hosts) vor ignora datagramele atunci când nu au
resurse suficiente pentru procesare şi nu vor detecta datagramele pierdute sau ignorate de către nivelul
legăturii de date.
IP izolează protocoalele de pe nivelele superioare de caracteristicile specifice reţelei. Serviciile
adiţionale furnizate de către IP includ diferite nivele de comportare a transmisiei, implicând caracteristici
ca: precedenţă, nivel de încredere, întârzieri. IP permite de asemenea etichetarea datelor, necesară în
medii sigure, pentru a asocia datelor informaţii de securitate.
Transmisia începe atunci când un protocol de pe nivelul superior transmite date către IP pentru
livrare. IP împachetează datele în format internet datagram şi le transmite protocolului de pe nivelul
legăturii de date pentru transmisie prin reţeaua locală. Dacă hostul destinaţie se află legat direct în reţeaua
locală, IP trimite pachetul direct acestui host. Dacă destinaţia se află într-o altă reţea, IP trimite pachetul
unui gateway IP local pentru transmisie. Acest gateway va trimite pachetul prin următoarea reţea hostului
destinaţie sau unui alt gateway. Astfel, datagrama se propagă prin setul de reţele interconectate de la un
modul IP la altul, până când aceasta ajunge la destinaţie.
Headerul IP
Pachetele (datagramele) IP au un antet (header) bine definit, header definit de standardele DoD
(U.S.A. Department of Defense). Acest header are structura prezentată în figura 3.
În continuare sunt prezentate câmpurile care compun acest header:
Version (Versiune) Lungimea câmpului: 4 biţi
Câmpul Version indică formatul headerului IP. Va fi prezentată în continuare versiunea 4, ultima
până la data apariţiei materialului bibliografic avut la dispoziţie (1988). Versiunile 13 nu mai erau deja
folosite încă la acea dată. Câmpul Version indică versiunea protocolului căreia îi aparţine pachetul.
Includerea versiunii protocolului în fiecare pachet face posibilă dezvoltarea de noi protocoale şi testarea
acestora fără a afecta buna funcţionare a reţelei.
Internet Header Length (Lungimea headerului Internet)
Abreviere: IHL
Lungimea câmpului: 4 biţi
Unitate: Grupe de câte 4 octeţi
Gamă: 515 (implicit 5)
Câmpul Internet Header Length indică lungimea headerului IP exprimată în multipli de unităţi de 32
biţi. Acest câmp este necesar deoarece headerul IP are o lungime variabilă datorită faptului că lungimea
câmpului Options nu este constantă.
Type of Service (Tipul de serviciu) Abreviere: TOS
Lungimea câmpului: 8 biţi
Câmpul Type of Service conţine parametrii IP care descriu calitatea serviciului dorită pentru
prezentul pachet transmis. Câmpul permite calculatorului gazdă să specifice reţelelor de tranzit tipul de
serviciu pe care îl doreşte. Câmpul permite specificarea precedenţei pachetului, nivelul dorit de încredere
şi nivelul presupus de consumare a resurselor, după cum se va arăta mai jos.
Tipul de serviciu se foloseşte pentru a specifica reţelelor de tranzit ce serviciu se doreşte de la
acestea. Reţelele de tranzit decid dacă pot sau doresc să se achite de serviciile cerute.
Flags (Indicatori)
Lungimea câmpului: 3 biţi
Acest câmp conţine indicatorii de control Don't Fragment (a nu se fragmenta, care inhibă
fragmentarea pachetului de către IP) şi More Fragments (care ajută la identificarea poziţiei unui fragment
în pachetul original).
Indicatorul Don't Fragment este destinat pentru folosirea cu calculatoare gazdă care nu sunt
capabile să reconstituie pachetul din fragmentele din care este format. De fapt, multe implementări ale
TCP/IP nu permit fragmentarea şi reconstituirea pachetelor.
Nivelul transport este destinat să asigure unei maşini servicii de conexiune şi tranzacţie. Nivelele
inferioare ale modelului se ocupă de transmisia şi rutarea pachetelor între diferite maşini. Nivelul transport
are menirea de a oferi servicii de transmisie eficiente şi sigure între diferite procese şi nu între maşini.
Toate cele patru nivele conlucrează pentru a oferi un serviciu de transport complet, înlesnind o
comunicaţie robustă şi transparentă pe baza cărora se pot construi apoi protocoale la nivelele superioare.
Scopul acestui nivel este de a oferi o cale de comunicaţie între diferite procese care să simuleze o legătură
punct-la-punct, procesele nefiind interesate de modul cum se face de fapt comunicaţia. Un protocol de la
nivelul transport execută această sarcină prin împărţirea datelor în pachete şi transmisia (eventual
retransmisia) lor pentru a permite livrarea datelor în ordine, fără duplicate sau omisiuni. TCP/IP asigură
două protocoale principale la nivelul patru: TCP (Transmission Control Protocol) şi UDP (User Datagram
Protocol)
TCP a fost proiectat să opereze în diferite reţele şi să ofere conexiuni virtuale între procese, prin
transmisii sigure şi în ordine ale datelor utilizatorilor. TCP reprezintă baza unui mecanism de comunicaţie
interprocese aşezat peste câteva nivele care oferă servicii nedemne de încredere, nivele în care pot să
apară pierderi, duplicări, întârzieri, erori sau dezordonări ale pachetelor. Este un protocol complex, care
trebuie să se ocupe, de exemplu, de detecţia pachetelor pierdute, retransmisia automată şi probleme
"patologice", cum ar fi apariţia unor pachete duplicat întârziate.
Potenţialul de a asigura robusteţe în faţa unui mediu de transmisie nesigur, fac din TCP un protocol
foarte dorit de o multitudine de aplicaţii care fac apel la intercomunicaţie. TCP poate lucra şi în medii
constituite din reţele interconectate. A fost special proiectat să lucreze deasupra protocolului IP, aflat la
nivelul trei din modelul ISO OSI (nivelul reţea)
TCP are sarcina de a asigura servicii de comunicaţie sigure între procese pereche aflate în cadrul
unor calculatoare gazdă distincte legate în aceeaşi reţea sau în cadrul unui set de reţele interconectate.
Oferă transferuri de date orientate pe conexiune la nivelul transport – aceleaşi servicii de bază ca şi
Sequenced Packet Protocol (SPP) realizat în cadrul XNS.
TCP acceptă o gamă largă de ULP care au nevoie să trimită date perechilor lor aflate pe alte
calculatoare gazdă. TCP nu încearcă să impună vreo structură a datelor trimise de către un protocol de la
nivel superior. TCP tratează datele primite ca pe un şir continuu, lăsând structurarea mesajelor pe seama
ULP, spre deosebire de SPP, care ajută propriii clienţi la demarcarea mesajelor. TCP încearcă, totuşi, să
segmenteze datele în unităţi distincte astfel încât ele să poată fi transmise şi recepţionate ca pachete
individuale. Fiecare astfel de unitate este numită segment.
Deoarece TCP a fost proiectat să fie independent de caracteristici particulare ale reţelelor în cadrul
cărora operează, este dată o definiţie generală a noţiunii de pachet (sau segment) care permite existenţa
unor pachete cu o lungime de până la 65KB. TCP pereche pot să-şi transmită pachete care au o lungime
până la lungimea maximă definită în standard (65KB). În realitate, dacă se în cearcă schimbul unor pachete
de o asemenea lungime, nivelele IP vor fi nevoite să împartă aceste pachete în multe pachete de nivel mai
coborât, pentru ca acestea să corespundă lungimii maxime a pachetelor în cadrul reţelei din care hostul
face parte. De obicei, diversele implementări ale TCP lucrează cu pachete care au lungimi adecvate reţelei
la care sunt ataşate.
TCP asignează câte un număr de ordine fiecărui octet al şirului infinit de date al clientului său.
Atunci când schimbă segmente cu perechea sa, TCP etichetează segmentul cu numărul de ordine al
primului octet al segmentului şi cu numărul de octeţi conţinuţi în pachet. Aceasta permite TCP să
reasambleze fluxul de date atunci când îl livrează nivelelor superioare.
Dacă este nevoit să retransmită o serie de segmente, TCP poate să reîmpacheteze datele,
combinând două segmente mai mici într-un segment mai mare, de exemplu. Acest mecanism, motivat de
dorinţa de a spori eficienţa transmisiei în cadrul unor reţele larg distribuite, unde se pune problema
minimizării raportului între numărul de biţi ai headerului şi numărul de biţi de date, face ca TCP să fie mai
complex decât alte protocoale de transport.
Reserved (Rezervat) Lungimea câmpului: 6 biţi Acest câmp este rezervat pentru extensii ulterioare.
Trebuie să aibă toţi biţii zero.
UDP oferă servicii de transport de încărcare redusă pentru a permite ULP să transfere datagrame
între ele. Ca şi TCP, UDP foloseşte câmpuri port pentru a specifica procesul sursă şi destinaţie al fiecărei
tranzacţii. Se poate folosi, opţional, şi o sumă de control.