La figura rappresenta il traffico su una connessione TCP. La dimensione della finestra è statica a 16KB (32 pacchetti), mentre il gateway intermedio ha un buffer per 30 pacchetti.
Ogni pallino rappresenta un segmento contenente 512 ottetti: la sua ascissa corrisponde al suo tempo di spedizione, mentre l'ordinata il numero d'ordine del primo ottetto.
Quindi due pallini con identica ordinata indicano che il segmento è stato rispedito, mentre pallini incolonnati verticalmente indicano segmenti spediti consecutivamente ( o back-to-back).
Il comportamento desiderabile consisterebbe in una linea diagonale, possibilmente vicina a quella tratteggiata (che rappresenta la capacità della linea).
Ma non accade nulla del genere: all'inizio i segmenti vengono spediti back-to-back sino a saturare la finestra (arrivato a 16K) ed arrestarsi per il mancato ack di un pacchetto (packet sequence intorno 10K).
A 0.3 secondi di ascissa scatta il timeout di ritrasmissione di un segmento (più o meno il decimo), probabilmente perduto.
La trasmissione si arresta in attesa che scatti il timeout di questo segmento, intorno all'ascissa 1.5 sec.
Il segmento viene rispedito, e si attende l'ack, che renda nuovamente disponibile una porzione della finestra.
All'arrivo dell'ack, poco dopo i due secondi, viene spedito un altro treno di 16 KB.
Il primo segmento spedito corrisponde ai numero di sequenza intorno ai 15KB, segno che i numeri d'ordine da 10K a 15K sono stati riscontrati.
Tuttavia i n. d'ordine da 15K a 25K vengono rispediti.
La stessa situazione si riproduce ciclicamente: alla fine, dei
20KBps disponibili per la connessione, ne sono stati utilizzati solo
il 35%. Alcuni segmenti sono stati rispediti 5 volte e, ad eccezione di
quelli iniziali, tutti sono stati spediti almeno 2 volte.
next: L'algoritmo "slow start".
previous: Caratteristiche "self clocking" di TCP
up: La congestione nelle reti di comuicazione