Algoritmo di Nagle
L'algoritmo di Nagle è un algoritmo che stabilisce l'invio di dati durante una comunicazione TCP. Attraverso il protocollo TCP i dati vengono inviati in pacchetti di dimensione variabile utilizzando l'algoritmo sliding window, che prevede la presenza di una finestra di dimensione variabile alla destinazione. Tale finestra definisce un intervallo di dimensione variabile di dati accettati dalla sorgente. La sorgente è obbligata a limitare la spedizione dei dati all'interno della finestra pubblicizzata dalla destinazione. Se questa finestra si chiude completamente la sorgente deve necessariamente terminare temporaneamente l'invio di dati. Durante queste pause, la finestra tenderà gradatamente ad aprirsi, permettendo l'invio di nuovi dati da parte della sorgente. È necessario però determinare, nel momento della riapertura della finestra, quando inviare i dati. Se i dati venissero inviati appena possibile, ossia inviando anche la quantità minima consentita di byte, si cadrebbe in un fenomeno conosciuto come silly window syndrome, che riduce decisamente le prestazioni della comunicazione. L'algoritmo di Nagle definisce un metodo per stabilire una connessione auto-temporizzata, che non richiede l'utilizzo di cronometri locali.
Algoritmo
[modifica | modifica wikitesto]se ci sono dati da inviare se la dimensione della finestra >= MSS e dati disponibile nel buffer >= MSS spedisci i dati altrimenti se sono stati inviati dati non ancora confermati memorizza i dati ma non inviarli ancora altrimenti invia i dati direttamente verso la destinazione fine se fine se fine se