Controlul Fluxului

TCP asigură și mecanisme de control al fluxului. Controlul fluxului ajută la menținerea fiabilității transmisiei TCP prin ajustarea ratei de flux al datelor între sursă și destinație pentru o anumită sesiune. Controlul fluxului este realizat prin limitarea cantității de segmente de date trimise la un anumit moment și prin solicitarea confirmărilor de primire înainte de a se trimite altele.

Pentru a realiza controlul fluxului, primul lucru pe care îl determină TCP este cantitatea de segmente de date pe care le poate accepta echipamentul de destinație. Antetul TCP include un câmp pe 16 biți numit dimensiunea ferestrei. Acesta este numărul de octeți pe care îl poate accepta și procesa la un anumit moment de timp echipamentul de destinație dintr-o sesiune TCP. Dimensiunea inițială a ferestrei este aleasă la începtului sesiunii prin intermediul handshake-ului dintre sursă și destinație. Odată aleasă, dispozitivul sursă trebuie să limiteze cantitatea segmentelor de date trimise către destinație pe baza dimensiunii ferestrei. Doar după ce echipamentul sursă primește o confirmare că segmentele de date au fost primite, poate continua trimiterea datelor pentru sesiune.

În timpul întârzierilor de primire a confirmărilor, expeditorul nu primește nici un segment adițional. În perioadele în care rețeaua este congestionată sau resursele hostului receptor sunt epuizate, întârzierile pot crește. Cu cât întârzierile cresc, cu atât scade rata de transmitere a datelor pentru această sesiune. Frânarea în transmisia datelor din fiecare sesiune ajută la reducerea conflictului dintre resursele din rețea și echipamentul de destinație atunci când sunt folosite mai multe sesiuni.

Consultați figura pentru o reprezentare simplificată a dimensiunii ferestrei și a confirmărilor de primire. În acest exemplu, dimensiunea inițială a ferestrei pentru sesiunea TCP reprezentată este setată la 3000 bytes. Atunci când expeditorul a transmis 3000 de octeți, acesta așteaptă o confirmare a acestor octeți înainte de a trimite alte segmente în această sesiune. După ce a fost primită confirmarea, expeditorul poate transmite încă 3000 octeți.

TCP utilizează dimensiunea ferestrei pentru a încerca să gestioneze rata de transmisiune la maximul pe care rețeaua și dispozitivul destinație le suportă, minimizând pierderile și retransmiterile.