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[1].

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[1].

Referencoj redakti

  1. 1,0 1,1 RFC 896 (angle) (HTML) (1984-01-06). Alirita 2016-04-15.