In pratica ogni volta che TCP invia un segmento al destinatario (sia un segmento con dei dati sia un segmento senza dati come ad esempio un ack) scrive in un apposito spazio dello header del segmento il valore corrente della sua Window locale. Così il destinatario conoscerà quanti byte il partner è in grado di ricevere.
Se il livello TCP dispone nel suo buffer di trasmissione di 4 KB di dati che non sono ancora stati inviati ma dall'ultimo segmento arrivato dal partner ha visto che la Remote Window è di soli 2KB, invierà 2, e non 4, KB (qui in realtà si dovrebbe vedere che valore di MSS è stato accordato all'apertura della connessione TCP).
Infine, come scegliere la dimensione della Window? Diciamo che è bene che sia un multiplo di MSS, che nelle reti ethernet è di 1436 byte (ovvero MTU ethernet - header IP - header TCP :1500-32-32)
tieni conto che è difficile riassumere in 2 righe comportamenti "generali" di TCP
|