Algorithm ya Nagle , iliyoitwa baada ya mhandisi John Nagle, ilipangwa kupunguza ushirika wa mtandao unaosababishwa na "matatizo madogo ya pakiti" na maombi ya TCP . Utekelezaji wa UNIX ulianza kutumia algorithm ya Nagle katika miaka ya 1980, na bado ni kipengele cha kawaida cha TCP leo.
Jinsi Algorithm ya Nuru Ilivyofanya
Njia ya algorithm ya Nagle inachukua data kwenye upande wa kutuma maombi ya TCP kwa njia inayoitwa nagling . Inachunguza ujumbe mdogo na huwaingiza kwenye pakiti kubwa za TCP kabla ya kutuma data kwenye waya, na hivyo kuzuia kizazi cha idadi kubwa ya pakiti ndogo. Ufafanuzi wa kiufundi kwa algorithm ya Nagle ilichapishwa mwaka 1984 kama RFC 896. Maamuzi kwa data nyingi kujilimbikiza na kwa muda gani kusubiri kati ya kutumwa ni muhimu kwa utendaji wake wote.
Nagling inaweza kutumia ufanisi zaidi bandwidth ya uunganisho wa mtandao kwa gharama ya kuongeza ucheleweshaji ( latency ). Mfano ulioelezewa katika RFC 896 unaonyesha uwezekano wa faida za bandwidth na sababu ya uumbaji wake:
- Programu ya TCP ambayo inachukua vipindi vya keyboard na inataka kuwasiliana na kila tabia inayowekwa kwa mpokeaji, inaweza kuzalisha mfululizo wa ujumbe kila moja yenye data ya 1 ya data.
- Kabla ya ujumbe huu unaweza kupelekwa kwenye mtandao, kila mmoja lazima awe na vifurushi pamoja na maelezo ya kichwa TCP kama inavyotakiwa na TCP / IP. Kila kichwa cha kati kina ukubwa kati ya 20 na 60 byte.
- Bila kufunga, programu hii ya mfano itazalisha ujumbe wa mtandao unaojumuisha maelezo ya kichwa cha 95% au zaidi (angalau 20 kati ya 21 na) na data 5% au chini halisi kutoka kwenye kibodi cha mtumaji. Kutumia algorithm ya Nagle, data hiyo inaweza kuhifadhiwa kwa kutumia ujumbe mfupi na kuwa na 95% ya maudhui kuwa habari za kibodi - akiba kubwa sana ya bandwidth.
Maombi hudhibiti matumizi yao ya algorithm ya Nagle na chaguo la programu ya tundu la TCP_NODELAY. Windows, Linux, na mifumo ya Java yote huwawezesha kuunganisha Nyenyekevu, hivyo maombi yaliyoandikwa kwa mazingira hayo yanahitaji kutaja TCP_NODELAY wakati unataka kubadili algorithm.
Vikwazo
Algorithm ya Nagle inatumiwa tu na TCP. Protocols zingine ikiwa ni pamoja na UDP haziiunga mkono.
Maombi ya TCP ambayo yanahitaji majibu ya haraka ya mtandao, kama wito wa simu ya mtandao au michezo ya mchezaji wa kwanza, haifanyi kazi vizuri wakati Nagle imewezeshwa. Ucheleweshaji unasababishwa wakati algorithm inachukua muda mwingi ili kukusanya vipande vidogo vya data pamoja inaweza kusababisha kamba inayoonekana kwenye skrini au mkondo wa sauti ya digital. Programu hizi zinazima Disable Nagle.
Hifadhi ya algorithm hii ilianzishwa mwanzoni wakati mitandao ya kompyuta iliungwa mkono kiasi kidogo cha bandwidth kuliko ilivyo leo. Mfano ulioelezwa hapo juu unategemea uzoefu wa John Nagle kwenye Kituo cha Maafa ya Ford katika miaka ya 1980, ambapo biashara ya biashara iliyopungua kwa kasi, yenye mzigo wa umbali mrefu ulikuwa na akili. Kuna hali zinazochechea ambazo maombi ya mtandao yanaweza kufaidika kutokana na algorithm yake leo.