Nagles algoritm
Nagles algoritmär en algoritm för datornät, framtagen av John Nagle och presenterad i tidskriftsartikeln "Congestion Control in TCP/IP Internetworks", Computer Communication Review, vol. 14, pp. 11-17, Oct. 1984.Se även RFC 896, Congestion Control in IP/TCP Internetworks av John Nagle, 6 jan 1984.
Kort sammanfattning: Nagles algoritm syftar till att undvika att små återkommande paket (t.ex. tangenttryckningar som sänds via telnet/SSH)sänds ett och ett med en massa extradata (pakethuvuden), när nätets prestanda är sådant att man lika gärna kan sända flera paket samtidigt.Metoden går ut på att fördröja sändningen av små segment tills alla tidigare sända paket har bekräftats.
Detaljerad beskrivning
I ett paketförmedlande datanät skapas en virtuell krets mellan en sändare och en mottagare genom att varje datapaket ges ett löpnummer av sändaren, som måste bekräftas av mottagaren. Löpnumren räknas upp och slår runt inom vad man kallar ett fönster.Om fönstret är tre paket stort, tillåts sändaren skicka iväg tre paket och måste sedan invänta bekräftelse på första paketet innan det fjärde får skickas.Varje datapaket har en viss grundstorlek, i fallet TCP-IP 40 bytes, och kan dessutom bära en nyttolast mellan 1 och 65000 bytes.Om enstaka tecken (t.ex. tangentnedtryckningar från en terminal) ska skickas, blir det alltså 1 byte nyttolast för totalt 41 bytes transporterade. Detta låter orimligt, men fungerar bra så länge nätet inte är hårt belastat.Om emellertid köer uppstår, kan väntan på bekräftelse ta lång tid och en alltför liten fönsterstorlek upplevas som ett stort problem, samtidigt som det låga utnyttjandet (1 byte nytta av 41 bytes) gör att nätet riskerar att bli ännu mer överbelastat.
Nagles algoritm löser detta genom att sändaren väntar med att sända ett datapaket om det inte är fullpackat, till dess att alla tidigare paket på samma virtuella krets har blivit bekräftade.
Man kan likna det hela vid en vägtull som kräver att alla bilister packar ihop sig och samåker i så få fordon som möjligt, men bara när det är köbildning. Under tiden som den stoppade bilen väntar in fler passagerare, kanske kön hinner lösa upp sig och då släpps bilen iväg även om den inte är helt full.
Nagles algoritm har beskrivits som en självklockad heurestik som grupperar samman utgående datapaket för att öka genomströmningen.Finns det något väletablerad svensk term för "sliding window"? Sändfönster? Glidande fönster?
Artikeln skriven 2009-01-20 av Learning4sharing
Inga kategorier för denna artikel än...Intresserad av fler artiklar?
SkriftspråkNågon
Swedoc
Dinosaurie
PTN
ATN
Anna Gustafsdotter Örnevinge
Erik Gustafsson Stenbock
Magdalena Svantesdotter Sture