Algoritma Nagle , dijenengi sawise insinyur John Nagle, dirancang kanggo ngurangi kemacetan jaringan sing disebabake "masalah cilik paket" karo aplikasi TCP . Pangaplikasi UNIX wiwit nggunakake algoritma Nagle ing taun 1980-an, lan tetep dadi fitur standar TCP ing dina iki.
Cara Algoritma Nagle
Algoritma Nagle ngolah data ing sisi ngirim aplikasi TCP kanthi cara sing disebut nagling . Iku ndeteksi pesen ukuran cilik lan nglumpukake kasebut dadi paket TCP sing luwih gedhe sadurunge ngirim data liwat kabel, saéngga nyegah generasi pirang-pirang paket cilik sing ora perlu. Spesifikasi teknis kanggo algoritma Nagle diterbitake taun 1984 minangka RFC 896. Keputusan kanggo akeh data kanggo ngumpulake lan suwene kanggo ngenteni antarane ngirim kritis kanggo kinerja sakabèhé.
Nagling bisa nggunakake luwih irit bandwidth saka sambungan jaringan kanthi nambah penundaan ( latency ). Conto sing diterangake ing RFC 896 nggambarake manfaat potensial bandwidth lan alesan kanggo nggawe:
- Aplikasi TCP sing nyegat keystrok keyboard lan kepengin komunikasi saben karakter sing diketik menyang panrima, bisa ngasilake serangkaian pesen saben ngemot 1 byte data.
- Sadurunge pesen kasebut bisa dikirim liwat jaringan, saben siji kudu dikemas bebarengan karo informasi header TCP kaya sing dibutuhake dening TCP / IP. Saben header diarani ukuran antarane 20 lan 60 byte.
- Tanpa aplikasi iki, aplikasi conto iki bakal ngasilake pesen-pesen jaringan sing dumadi saka 95% utawa luwih informasi header (paling 20 saka 21 bita) lan 5% utawa kurang data aktual saka keyboard pangirim. Nggunakake algoritma Nagle, data sing padha bisa dikirim kanthi nggunakake luwih akeh pesen lan nduweni 95% isi informasi keyboard - tabungan bandwidth sing gedhe banget.
Aplikasi ngontrol panggunaan algoritma Nagle kanthi opsi program soket TCP_NODELAY. Sistem Windows, Linux, lan Java kabeh biasane netepaké Nagle sacara default, supaya aplikasi sing ditulis kanggo lingkungan kasebut kudu nemtokake TCP_NODELAY nalika arep mateni mateni algoritma kasebut.
Watesan
Algoritma Nagle mung digunakke karo TCP. Protokol liya kalebu UDP ora ndhukung.
Aplikasi TCP sing perlu respon jaringan cepet, kaya panggilan telpon Internet utawa game penembake pisanan, bisa uga ora bisa dianggo nalika Nagle diaktifake. Panah sing disebabake nalika algoritma mbutuhake ekstra wektu kanggo ngumpulake potongan cilik data bebarengan bisa micu nggoleki katon visual ing layar utawa ing stream audio digital. Aplikasi iki biasane mateni Nagle.
Algoritma iki asline dikembangake nalika wektu jaringan komputer ndhukung bandwidth luwih murah tinimbang saiki. Conto sing diterangake ing ndhuwur adhedhasar pengalaman John Nagle ing Ford Aerospace nalika awal 1980-an, ing ngendi jaringan jarak jauh sing alon lan dimupangatake apik. Ana kahanan sing luwih sithik ing ngendi aplikasi jaringan bisa entuk manfaat saka algoritma sing saiki.