Algorithm Nagle ar gyfer Cyfathrebu Rhwydwaith TCP

Dyluniwyd algorithm Nagle , a enwyd ar ôl y peiriannydd John Nagle, i leihau tagfeydd rhwydwaith a achosir gan "broblemau pecyn bach" gyda cheisiadau TCP . Dechreuodd gweithrediadau UNIX ddefnyddio algorithm Nagle yn yr 1980au, ac mae'n parhau i fod yn nodwedd safonol o TCP heddiw.

Sut mae'r Algorithm Nagle yn Gweithio

Mae algorithm Nagle yn prosesu data ar ochr anfon ceisiadau TCP trwy ddull o'r enw nagling . Mae'n canfod negeseuon bach eu maint ac yn eu cronni i mewn i becynnau TCP mwy cyn anfon data ar draws y wifren, gan osgoi cynhyrchu nifer fawr o becynnau bach yn ddiangen. Cyhoeddwyd y fanyleb dechnegol ar gyfer algorithm Nagle ym 1984 fel RFC 896. Mae'r penderfyniadau ar gyfer llawer o ddata i'w casglu a pha mor hir y bydd disgwyl i chi aros rhwng hyn yn hanfodol i'w berfformiad cyffredinol.

Gall Nagling ddefnyddio lled band cysylltiad rhwydwaith yn fwy effeithlon ar draul ychwanegu oedi ( latency ). Mae enghraifft a ddisgrifir yn RFC 896 yn dangos y buddion lled band posibl a'r rheswm dros ei greu:

Mae ceisiadau yn rheoli eu defnydd o'r algorithm Nagle gyda'r opsiwn rhaglennu soced TCP_NODELAY. Mae systemau Windows, Linux a Java fel arfer yn galluogi Nagle yn ddiofyn, felly mae angen i geisiadau a ysgrifennwyd ar gyfer yr amgylcheddau hynny bennu TCP_NODELAY pan fyddant am newid yr algorithm i ffwrdd.

Cyfyngiadau

Dim ond gyda TCP y gellir defnyddio algorithm Nagle. Nid yw protocolau eraill gan gynnwys CDU yn ei gefnogi.

Efallai na fydd ceisiadau TCP sydd angen ymateb rhwydwaith cyflym, fel galwadau ffôn Rhyngrwyd neu gemau saethu person-gyntaf, yn gweithio'n dda pan gaiff Nagle ei alluogi. Gall yr oedi a achosir tra bod yr algorithm yn cymryd amser ychwanegol i ymgynnull darnau llai o ddata gyda'i gilydd yn gallu achosi golwg amlwg ar sgrin neu mewn nwd sain ddigidol. Fel arfer, mae'r ceisiadau hyn yn analluogi Nagle.

Datblygwyd yr algorithm hwn yn wreiddiol ar adeg pan oedd rhwydweithiau cyfrifiadurol yn cefnogi llawer llai o lled band nag y maent yn ei wneud heddiw. Roedd yr enghraifft a ddisgrifir uchod yn seiliedig ar brofiadau John Nagle yn Ford Aerospace yn gynnar yn yr 1980au, lle roedd rhwydweithiau rhyfeddol ar eu rhwydwaith pellter hir a oedd yn cael eu llwytho'n helaeth yn gwneud synnwyr da. Mae yna fwyfwy lai o sefyllfaoedd lle gall ceisiadau rhwydwaith elwa ar ei algorithm heddiw.