TCP Сүлжээний Холбоонд зориулсан Нагле алгоритм

Инженер Жон Нагле нэрээр нэрлэгдсэн Нагл алгоритм нь TCP-ийн програмуудтай "жижиг пакет асуудлууд" -ын улмаас үүссэн сүлжээний түгжрэлийг багасгах зорилготой юм. UNIX-ийн шийдэл 1980-аад онд Наглегийн алгоритмыг ашиглаж эхэлсэн бөгөөд одоо TCP-ийн стандарт шинж чанар хэвээр байна.

Nagle алгоритм хэрхэн ажилладаг талаар

Нөөмийн алгоритм нь TCP програмуудын илгээсэн тал дээр өгөгдлийг явуулдаг. Энэ нь жижиг хэмжээний мэдээллүүдийг илрүүлж TCP пакетууд руу утсаар датаг илгээхээсээ өмнө хуримтлуулж, тиймээс маш олон тооны жижиг пакетуудыг үүсгэхээс зайлсхийдэг. Наглегийн алгоритмийн техникийн тодорхойлолтыг 1984 онд RFC 896 болгон хэвлэн гаргасан. Өгөгдөл цуглуулахад их хэмжээний өгөгдөл гаргах, илгээх хооронд хэр удаан хүлээх шийдвэрүүд нь ерөнхий гүйцэтгэлд чухал ач холбогдолтой.

Наглинг нь сүлжээний холболтын зурвасын өргөнийг илүү удаашруулж ( хоцролт ) нэмдэг. RFC 896-д тодорхойлсон жишээ нь зурвасын өргөн боломжит ашиг тус ба түүний үүсгэх шалтгааныг харуулсан болно:

Applications нь TCP_NODELAY серверийн програмчлалын сонголттой Наглэ алгоритмийг ашиглахыг хянадаг. Windows, Linux, болон Java системүүд нь анхдагчаар Nagle-г идэвхжүүлдэг болохоор тэдгээр орчны програмууд нь алгоритмыг унтрааснаар TCP_NODELAY-ийг зааж өгөх шаардлагатай байдаг.

Хязгаарлалтууд

Nagle-ийн алгоритм нь зөвхөн TCP-т хэрэглэгддэг. UDP зэрэг бусад протокол үүнийг дэмждэггүй.

Наулт идэвхжиж байх үед интернет утасны дуудлага эсвэл анхны цочролын тоглоом гэх мэт хурдан сүлжээний хариулт хэрэгтэй TCP програмууд нь ажиллахгүй байж магадгүй юм. Алгоритм нь алсаас өгөгдөл үүсгэхийн тулд нэмэлт цаг шаардагдах үед үүсэх саатал нь дэлгэцэн дээр эсвэл дижитал аудио урсгал дээр мэдэгдэхүйц хоцрогдол үүсгэдэг. Эдгээр програмууд нь ихэвчлэн Nagle-г идэвхгүй болгодог.

Энэхүү алгоритм нь компьютерийн сүлжээнүүд нь өнөөгийнхөөс харьцангуй их зурвасын өргөнийг дэмжиж байсан үеийн үед боловсруулагдсан байсан. Дээр тайлбарласан жишээ нь 1980-аад оны эхээр Жон Наглын Ford Aerospace-ийн туршлага дээр үндэслэсэн бөгөөд удаан хугацаанд ачаалал ихтэй алсын зайн сүлжээнд удаан хугацаагаар ажиллах чадвартай болсон. Сүлжээний програмууд түүний алгоритмаас ашиг тус хүртэж болох цөөн тохиолдлууд байдаг.