Algoritmo de Nagle

La algoritmo de Nagle estas algoritmo aplikata en la interreta komunikado per la protokolo TCP. Ĝi nomiĝas laŭ inĝeniero John Nagle kiu inventis ĝin; ĝi estis publikigita en 1984 en la dokumento IETF RFC 896.

La interreta protokolo sendas informojn en pakaĵoj. La algoritmo de Nagle kunigas malgrandajn pakaĵojn al pli grandaj kaj tiel povas pliefikigi la komunikadon. Tio utilas ekzemple kiam uzanto interaktive tajpas al fora komputilo, kreante apartan pakaĵon por ĉiu tajpita signo. Ĉar ĉiu pakaĵo enhavas administrajn informojn (adresoj ktp) de 40 bajtoj (por TCP/IPv4), la "utila parto" tiuokaze estas tre malgranda kompare al la tutaĵo. Aliflanke estas situacioj kiam necesas sendi la kolektitan pakaĵon, alie la uzanto ne ricevus respondon. Tiun decidon faras la algoritmo de Nagle.

La algoritmo baziĝas sur tri grandoj, unu konstanta kaj du variantaj:
 La "maksimuma segmento-grandeco" (MSG), kiu difinas kiom da datenoj povas esti senditaj en unu paŝo
 La grandeco de la "glitanta fenestro", kiu enhavas la datenojn jam senditajn sed ankoraŭ ne konfirmitajn de la ricevanto
 La amplekso de la disponeblaj datenoj ankoraŭ ne senditaj

  se estas datenoj por sendi
    se grandeco de la fenestro ≧ MSG kaj amplekso de disponeblaj datenoj ≧ MSG
      sendu kompletan segmenton
    alie
      se ankoraŭ mankas konfirmo pri senditaj datenoj
        konservu la datenojn por posta sendado (atendu)
      alie
        sendu la datenojn (kreu pakaĵon)
      fino de se
    fino de se
  fino de se

Por la transsendo de grandaj pakaĵoj la algoritmo povas havi malavantaĝon kiu tamen estas malgranda.

 Referencoj 

Nagle
Nagle