Pentru a înțelege cu adevărat diferențele între TCP și UDP, este important să înțelegem modul în care fiecare protocol implementează funcțiile specifice de fiabilitate și modul în care urmăresc comunicațiile.

Transmission Control Protocol (TCP)

TCP a fost descris inițial în RFC 793. Pentru a suporta funcțiile de bază ale segmentării și reasamblării datelor, așa cum se arată în figură, TCP asigură și:

Stabilirea unei sesiuni

TCP este un protocol orientat pe conexiune. Un protocol orientat pe conexiune este acela care negociază și stabilește o conexiune permanentă (sau sesiune) între sursă și destinație înainte de transmiterea traficului. Stabilirea sesiunii pregătește echipamentele pentru a comunica între ele. În timpul stabilirii sesiunii, echipamentele negociază cantitatea de trafic ce poate fi trimisă la un anumit moment, iar datele de comunicare dintre cele două pot fi gestionate. Sesiunea se termină doar după ce comunicarea este completă.

Livrare Fiabilă

TCP poate implementa o metodă pentru a asigura livrarea fiabilă a datelor. În termeni de rețelistică, fiabilitatea se referă la faptul că fiecare piesă de date pe care o trimite sursa ajunge la destinație. Din mai multe motive, este posibil ca o parte din date să fie corupte sau pierdute complet, pe măsură ce sunt transmise în rețea. TCP se poate asigura că toate piesele ajung la destinație, punând echipamentul sursă să retransmită datele pierdute sau corupte.

Livrarea în Aceeași Ordine

Deoarece rețelele pot furniza mai multe rute care pot avea rate de transmisie diferite, datele pot sosi în ordinea greșită. Prin numerotarea și secvențierea segmentelor, TCP se poate asigura că aceste segmente sunt asamblate în ordinea corectă.

Controlul Fluxului

Hosturile din rețea au resurse limitate, cum ar fi memoria sau lățimea de bandă. Atunci când TCP este conștient că aceste resurse sunt suprataxate, poate solicita aplicației expeditoare să reducă rata fluxului de date. Acest lucru se realizează de TCP care reglează cantitatea de date transmise de sursă. Controlul fluxului poate împiedica pierderea de segmente în rețea și poate evita nevoia de retransmisie.