Algoritmo di Nagle

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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
  Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete