Преглед Нагле алгоритма за ТЦП мрежну комуникацију

Нагле алгоритам, назван по инжењеру Јохну Наглеу, дизајниран је да смањи загушење мреже узроковано проблемима малих пакета са ТЦП апликације. УНИКС имплементације су почеле да користе Нагле алгоритам 1980-их, и он је данас стандардна карактеристика ТЦП-а.

Како функционише Нагле алгоритам

Нагле алгоритам обрађује податке на страни слања ТЦП апликација методом која се зове наглинг. Он детектује поруке мале величине и акумулира те поруке у веће ТЦП пакете пре слања података преко жице. Овај процес избегава стварање непотребно великог броја малих пакета.

Техничка спецификација за Нагле алгоритам је објављена 1984. године као РФЦ 896. Одлуке о томе колико података треба акумулирати и колико дуго чекати између слања су критичне за његов укупни учинак.

Предности Наглинга

Наглинг може ефикасно да искористи проток мрежне везе на рачун додавања кашњења, или латентност. Пример описан у РФЦ 896 илуструје потенцијалне предности пропусног опсега и разлог за његово стварање:

  • Ако ТЦП апликација која пресреће притиске на тастатури жели да комуницира сваки знак који се куца пријемнику, може да генерише серију порука, од којих свака садржи 1
    бајт података.
  • Пре него што се ове поруке могу слати широм мреже, свака мора бити упакована са информацијама о ТЦП заглављу како то захтева ТЦП/ИП. Свако заглавље има величину између 20 и 60 бајтова.
  • Без муке, овај пример апликације би генерисао мрежне поруке које се састоје од 95 процената или више информације заглавља (најмање 20 од 21 бајта) и 5 ​​процената или мање стварних података од пошиљаоца тастатура. Користећи Нагле алгоритам, исти подаци би се могли испоручити користећи мање порука, што резултира великом уштедом пропусног опсега.

Апликације контролишу своју употребу Нагле алгоритма помоћу ТЦП_НОДЕЛА соцкет опција програмирања. Виндовс, Линук и Јава системи обично подразумевано омогућавају Нагле. Стога, апликације написане за та окружења морају да наведу ТЦП_НОДЕЛАИ да би искључили алгоритам.

Заглавље протокола контроле преноса (ТЦП).
Лифевире / Бредли Мичел

Ограничења

Апликације које захтевају брз мрежни одговор, као што су видео позиви и онлајн игре, можда неће добро функционисати када је Нагле омогућен. Кашњења изазвана док алгоритму треба додатно време да састави мање делове података могу да изазову приметно заостајање визуелно на екрану или у дигиталном аудио току. Такве апликације обично онемогућавају Нагле.

Овај алгоритам је првобитно развијен у време када су рачунарске мреже подржавале мањи пропусни опсег него данас. Горе описани пример заснивао се на искуствима Џона Нејгла у Форд Аероспаце-у раних 1980-их, где је хватање компромиса са Фордовом спором, тешко оптерећеном мрежом за велике удаљености имало смисла. Данас је све мање ситуација у којима мрежне апликације могу имати користи од његовог алгоритма.

Нагле алгоритам је употребљив само са ТЦП. Други протоколи, као нпр УДП, не подржавају то.