Sunteți pe pagina 1din 21

Retele TCP/IP

Nivelul Transport
Nivelul Transport
Servicii oferite

Exista doua tipuri de srevicii oferite de nivelul transport:


Servicii fara conexiune
Servicii orientate conexiune

Servicii fara conexiune:


Servicii fara conexiune si fara confirmare
Servicii fara conexiune cu confirmare
Nivelul Transport
Servicii fara conexiune si fara confirmare
Masina sursa trimite datele catre masina destinatie fara a primi un
mesaj de confirmare (ACK) de la receptor. In cazul pierderii unui cadru nu
exista nici o cale de a-l recupera.

Acest tip de serviciu este utilizat:


cand rata de eroare este scazuta
la traficul in timp real (transmisie de voce)
Nivelul Transport
Servicii fara conexiune cu confirmare
La receptia unei date, destinatarul trimite o confirmare prin care
instiinteaza sursa (emitatorul) ca mesajul a fost primit. Daca dupa un anumit
timp emitatorul nu a primit aceasta confirmare el va retrimite mesajul.

!!! Problema in acest tip de transmisie este ca receptorul poate primi


mesajul, trimite confirmare (ACK) dar aceasta se pierde pe drumul catre
emitator. Astfel emitatorul va proceda la retrimiterea mesajului (posibil
de mai multe ori).
Nivelul Transport
Servicii orientate conexiune
Emitatorul si receptorul se pun de acord pentru stabilirea unei
conexiuni inainte de a incepe transmiterea datelor.

Etape:
Se stabileste conexiunea
Se tansmit datele
Se elibereaza conexiunea.
Nivelul Transport
Functiile nivelului transport
Permite controlul fluxului si asigura fiabilitatea transmisiei
Incearca sa detecteze erorile si cere retransmiterea datelor in caz
de eroare
Imparte mesajele de dimensiune mare in segmente pentru a le
putea transmite nivelului retea
La destinatie ordoneaza segmentele sosite pentru a recompune
mesajul si al transmite nivelului aplicatie (sesiune in ISO/OSI).
Incearca sa asigure o calitate a serviciului cu privire la:
stabilirea conexiunii
intarzierea acestei conexiuni
debitul de informatie
intarzierea deconectarii
Nivelul Transport
Protocoale

TCP (Transmission Control Protocol)


utilizeaza un serviciu orientat conexiune
asigura controlul fluxului si fiabilitatea comunicarii
impreuna cu protocolul IP (fara conexiune, se ocupa de adresare,
de nivel 3) asigura o buna calitate a serviciului comunicarii (pe aceste doua
protocoale: IP si TCP a fost fondat Internetul)

UDP (User DataGramm Protocol)


utilizeaza un serviciu fara conexiune
Nivelul Transport
Nivelul Transport
TCP (Transmission Control Protocol) - Caracteristici
TCP este un protocol orientat conexiune construit pentru a fi
implementat intr-un ansamblu (suita) de protocolae stratificate, sprijinind
functionarea retelelor eterogene.
TCP furnizeaza un mijloc de a stabili o comunicare fiabila intre doua
sarcini executate pe doua calculatoare independente conectate la o retea de
date.
TCP necesita doar ca straturile inferioare sa ofere un simplu
serviciu de transmitere a pachetelor a carei calitate nu este garantata.
TCP se integreaza intr-o arhitectura de protocoale stratificate chiar
deasupra protocolului IP. Acesta din urma permite TCP sa trimita si sa
receptioneze segmente de lungime variabila incapsulate intr-un pachet
internet numit « datagrama ».
Datagrama Internet dispune de mecanisme ce-i permit adresarea
serviciilor TCP sursa si destinatie indiferent de locul lor in retea.
Nivelul Transport
TCP (Transmission Control Protocol) – Interfete
TCP furnizeaza un serviciu de comunicare de la proces la proces
intr-un mediu retea. Este definit ca un protocol de comunicare « host to
host » .

TCP se interfateaza cu procesul utilizator (aplicatie) si cu un


protocol de nivel inferior – IP (Internet Protocol).

Interfata cu aplicatiile consta intr-un ansamblu de comenzi pentru


stabilirea sau intreruperea comunicarii pentyru a trimite sau receptiona date
pe o conexiune deschisa (asemeni modului de lucru dintre o aplicatie si
sistemul de operare al calculatorului pe care ruleaza acea aplicatie, de
exemplu comenzi pentru manipularea fisierelor).
Nivelul Transport
TCP (Transmission Control Protocol) – Functionare
TCP este proiectat pentru a furniza un serviciu fiabil de transmitere
a datelor intre doua masini conectate la o retea cu comutare de pachete.

Pentru a putea asigura acest serviciu chiar deasupra unui protocol


mai putin fiabil TCP asigura urmatoarele functiuni:
transferul datelor utile
controlul erorii de transmitere
controlul fluxului
multiplexarea
gestiunea conexiunilor
Nivelul Transport
TCP (Transmission Control Protocol) – Transferul datelor utile
TCP este capabil sa transfere un flux continuu de date intre doua
calculatoare, “impartind” fluxul in pachete. In general TCP decide el insusi
acolo undefluxul de date trebuie sa fie taiat (impartit).
Uneori, utilizatorii (aplicatiile) trebuie să ştie că toate datele
transmise catre TCP au fost transmise. Functia "Push" a fost prevăzuta în
acest scop. Pentru a asigura transmiterea completă a datelor pana la un
moment dat, utilizatorul activeaza "push" de TCP. Aceasta functie forteaza
TCP sa transmita imediat datele de pana la acel moment catre destinatar.
Nu este nevoie sa se furnizeze un marker specific pentru acest moment, în
măsura în care destinatarul acceptă datele ca o transmisie normală.
Nivelul Transport
TCP (Transmission Control Protocol) – Controlul erorii de transmitere
TCP trebuie sa considere si sa trateze cazurile datelor pierdute, eronate,
duplicate sau sosite intr-o alta ordine la celalalt capat al legaturii Intenet.
Pentru aceasta TCP introduce un numar de secventa si impune
receptorului sa transmita o confirmare de primire (ACK).
Daca receptionarea confirmarii de primire nu se realizeaza intr-un timp
predefinit pachetul va fi retransmis. La receptor numerele de secventa sunt
utilizate pentru a reconstitui ordinea datelor in fluxul original si totodata sa
elimine pachetele duplicat.
Eliminarea erorilor fizice de transmisie se face prin codarea unei valori de
control (Checksum) care se transmite impreuna cu datele utile. Se
recalculeaza aceasta valoare la destinatar si se elimina pachetele pentru
care cele doua valori nu coincid.
Nivelul Transport
Nivelul Transport
Nivelul Transport
TCP (Transmission Control Protocol) – Controlul fluxului
TCP furnizeaza un mijloc prin care destinatarul poate controla
debitul datelor trimise de catre emitator.
Acesta presupune ca receptorul sa returneze emitatorului odata cu
fiecare confirmare de primire si o informatie care sa indice capacitatea de
receptie instantanee (de la un moment dat) in termeni de numere de
secventa. Acest parametru se numeste fereastra (window) si indica numarul
de octeti pe care emitatorul ii poate trimite inainte de a autoriza o alta emisie.

Dimensiunea ferestrei este negociata dinamic între noduri, pentru a


utiliza eficient latimea de banda disponibila.
Nivelul Transport
Nivelul Transport
TCP (Transmission Control Protocol) – Multiplexarea
Pentru a permite mai multor procese (aplicatii) ale unei aceleiasi
masini sa comunice in acelasi timp prin intermediul TCP, protocolul defineste
un ansamblu alcatuit din adresa IP si port pentru un proces al acelei masini.
Acest ansamblu se numeste socket. O conexiune necesita utilizarea a doua
socket-uri: unul la emitator si unul la receptor.
Un socket poate fi utilizat de catre mai multe conexiuni distincte
(client – server).
Atribuirea porturilor catre procese este stabilita de catre fiecare
calculator.
Este totusi mai riguros sa se rezerve anumite numere de port
pentru servicii unanim cunoscute si utilizate mai des. Aceste servicii standard
pot fi folosite prin aceste porturi rezervate.
Atribuirea, utilizarea si invatarea porturilor asociate serviicilor mai
putin curente necesita utilizarea de mecanisme de atribuire dinamica.
Nivelul Transport
TCP (Transmission Control Protocol) – Gestiunea Conexiunilor
Mecanismele de fiabilizare si de control al fluxului descrise impun
TCP sa initializeze si sa mentina anumite informatii pentru fiecare
comunicare: socket-uri, ferestre, numere de secventa (aceste informatii
definesc comunicarea).
Fiecare conexiune este identificata in mod unic prin percehea sa de
socket-uri, definind fiecare din cele doua sensuri ale comunicarii.
Atunci cand doua procese doresc sa comunice, TCP trebuie sa
negocieze si sa stabileasca o conexiune (initializarea informatiilor de ambele
parti).
Atunci cand comunicarea se incheie, conexiunea va fi inchisa,
eliberand resursele pentru alte utilizari.
In masura in care se considera ca reteaua nu este fiabila se
utilizeaza o metoda de initializare prin negociere bazata pe un contor de timp
pentru numerele de secventa.
Nivelul Transport
Porturi (RFC 1700)
• utilizate pentru a tine evidenta diferitelor conversatii care au loc simultan în
retea;
• numere pâna în 255: aplicatii publice;
• numere 255..1023: aplicatii comerciale sau publice;
• atribuite dinamic - porturi inalte (>1023);
Nivelul Transport
TCP

UDP

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