Soluzione di Clark
# Soluzione di Clark

La soluzione di Clark è una strategia adottata dal protocollo di trasporto di Internet TCP per evitare un utilizzo inefficiente della banda causato da un eccessivo overhead, ossia un rapporto tra lunghezza delle intestazioni (header) dei segmenti TCP e dati utili (payload) troppo a favore delle prime.

Quando un ricevente lento (rispetto al mittente) riempie il proprio buffer di ricezione comunica al mittente che la finestra di ricezione è piena, e quindi impone a quest'ultimo di non inviare più dati fino a nuovo avviso. Tuttavia se il ricevente, non appena si fossero liberati pochi byte di spazio nel proprio buffer, mandasse immediatamente un riscontro (ACK) al mittente con la dimensione della finestra di ricezione pari allo spazio liberato, il mittente inviando un nuovo segmento riempirebbe di nuovo il buffer del ricevente, inviando un segmento con un payload di pochi byte.

La soluzione di Clark previene questo uso inefficiente del canale evitando che il mittente comunichi la dimensione della sua finestra di ricezione non appena liberi qualche byte. Precisamente il ricevente "inganna" il mittente comunicando nei riscontri un valore zero per rcvWindow finché lo spazio libero nel buffer sarà minore del minimo tra MSS e la metà di RecvBuffer.

