Achiziționarea de segmente și confirmarea tcp

Rubrica: Protocoale de rețea

Una dintre funcțiile TCP este de a verifica dacă fiecare segment atinge destinația. Serviciile TCP pe gazda destinație confirmă datele pe care le-au primit la aplicația sursă.







Numărul secvenței secvenței din antetul segmentului și numărul de confirmare sunt utilizate împreună pentru a confirma recepția octelor de date conținute în segmente. Numărul de ordine al secvenței este numărul relativ de octeți care au fost transmiși în această sesiune plus 1 (care este egal cu numărul primului octet de date din segmentul curent). TCP utilizează numărul de confirmare în segmentele trimise înapoi la sursă pentru a indica următorul octet din această sesiune pe care receptorul se așteaptă să îl primească. Aceasta se numește o confirmare cu valoarea așteptată.

Sursa este informată că nodul de destinație a primit toți octeții din acest flux de date până la, dar fără a include, octetul indicat de numărul de confirmare. Se presupune că nodul de trimitere va trimite un segment care utilizează un număr de secvență egal cu numărul de confirmare.

Amintiți-vă că fiecare conexiune este, de fapt, două sesiuni unice. Numerele de secvențe și numerele de confirmare sunt schimbate în ambele direcții.







În exemplul din figură, nodul din stânga trimite datele către nodul din dreapta. Acesta trimite un segment care conține 10 octeți de date pentru această sesiune și un număr de ordine în antet egal cu 1.

Gazda receptoare din partea dreaptă primește segmentul la nivelul 4 și stabilește că numărul de serie este 1 și că y are 10 octeți de date. Nodul trimite apoi segmentul înapoi gazdei din stânga pentru a confirma primirea acestor date. În acest segment, nodul stabilește numărul de confirmare 11 pentru a indica faptul că următorul byte de date pe care se așteaptă să îl primească în această sesiune este octetul numărul 11. Notați valoarea lui Ack. pe nodul sursă, 1 rămâne pentru a indica faptul că segmentul face parte din dialogul în desfășurare și că câmpul Număr de confirmare este activat.

Când nodul de transmisie din stânga primește această confirmare, acesta poate trimite acum următorul segment care conține date pentru această sesiune, care încep cu octetul numărul 11.

Privind la acest exemplu, se poate observa că dacă nodul de transmisie trebuia să aștepte recunoașterea la fiecare 10 octeți recepționați, rețeaua ar costa mult. Pentru a reduce costurile acestor confirmări, mai multe segmente de date pot fi trimise înainte și sunt confirmate de un singur mesaj TCP în direcția opusă. Această confirmare conține numărul de confirmări bazat pe numărul total de octeți recepționați în sesiune.

Cantitatea de date pe care o sursă o poate transmite înainte de primirea unei confirmări se numește dimensiunea ferestrei. Dimensiunea ferestrei este un câmp în antetul TCP care vă permite să gestionați datele pierdute și să controlați fluxul.







Articole similare

Trimiteți-le prietenilor: