Нэйгл Алгарытм TCP сеткі сувязі

Алгарытм Нэйгл, названы ў гонар інжынера Джона Нэгла, быў распрацаваны , каб паменшыць перагрузку сеткі , выкліканую "невялікія праблемы пакетаў» з TCP прыкладаннямі . UNIX Рэалізацыі пачалі выкарыстоўваць алгарытм НЭК ў 1980 - х гадах, і яна застаецца стандартнай функцыяй TCP сёння.

Як алгарытм працы Нэгла

Алгарытм Нэйгла апрацоўвае дадзеныя на які перадае боку ПТС - прыкладанняў з дапамогай метаду , званага nagling. Ён выяўляе малагабарытныя паведамленні і назапашвае іх у больш буйныя пакеты TCP перад перадачай дадзеных па правадах, пазбягаючы тым самым генерацыю залішне вялікай колькасці маленькіх пакетаў. Тэхнічная спецыфікацыя для алгарытму НЭК была апублікавана ў 1984 годзе ў якасці RFC 896. Рашэнні для вялікай колькасці дадзеных для назапашвання і як доўга чакаць паміж пасылаюць маюць вырашальнае значэнне для агульнай прадукцыйнасці.

Nagling можа больш эфектыўна выкарыстоўваць прапускную здольнасць сеткавага злучэння за кошт дадання затрымак ( латэнтнасьць ). Прыклад, апісаны ў RFC 896 ілюструе патэнцыйныя перавагі прапускной здольнасці і прычыну яго стварэння:

Прыкладання кантралююць іх выкарыстанне алгарытму нахабная з TCP_NODELAY сокета опцыі праграмавання. сістэмы Windows, Linux і Java ўсё нармальна ўключыць Нэгла па змаўчанні, так што прыкладанні, напісаныя для гэтых асяроддзяў неабходна ўказаць TCP_NODELAY пры жаданні пераключыць алгарытм выключэння.

абмежаванні

Алгарытм Нэйгла выкарыстоўваецца толькі з TCP. Іншыя пратаколы , уключаючы UDP не падтрымліваюць яго.

TCP прыкладанняў , якія патрабуюць хуткага рэагавання сеткі, як Інтэрнэт тэлефон выкліку або шутэр ад першай асобы гульні, не можа добра працаваць , калі Нэйгл ўключана. Затрымкі выкліканыя ў той час як алгарытм патрабуе дадатковага часу , каб сабраць дробныя кавалкі дадзеных разам можа выклікаць прыкметнае адставанне візуальна на экране або ў лічбавым гукавым струмені. Гэтыя прыкладання, як правіла, адключыць Нэгла.

Гэты алгарытм быў першапачаткова распрацаваны ў той час, калі кампутарныя сеткі падтрымліваецца значна меншую прапускную здольнасць, чым сёння. Прыклад, апісаны вышэй, быў заснаваны на вопыце Джона Нэйгла на Форд Аэроспейс ў пачатку 1980-х гадоў, дзе nagling кампрамісы па іх павольна, цяжка нагружаны міжгародняй сеткі са здаровага сэнсу. Ёсць усё менш сітуацый, калі сеткавыя прыкладання могуць атрымаць выгаду з свайго алгарытму сёння.