The algorithm Nagle ສໍາລັບການສື່ສານເຄືອຂ່າຍ TCP

ລະບົບປະຕິບັດການ Nagle , ຊື່ວ່າ engineer John Nagle, ໄດ້ຖືກອອກແບບມາເພື່ອຫຼຸດຜ່ອນການເຊື່ອມຕໍ່ເຄືອຂ່າຍທີ່ເກີດຈາກ "ບັນຫາຂະຫນາດນ້ອຍ" ທີ່ມີ ຄໍາຮ້ອງສະຫມັກ TCP . ການ ປະຕິບັດ UNIX ໄດ້ເລີ່ມຕົ້ນໃຊ້ລະບົບຂອງ Nagle ໃນຊຸມປີ 1980 ແລະມັນຍັງເປັນຄຸນນະສົມບັດມາດຕະຖານຂອງ TCP ໃນມື້ນີ້.

ວິທີການ Nagle Algorithm ເຮັດວຽກ

ສູດຂອງ Nagle ປະຕິບັດຂໍ້ມູນກ່ຽວກັບການສົ່ງຂອງຄໍາຮ້ອງສະຫມັກ TCP ໂດຍວິທີການທີ່ເອີ້ນວ່າ nagling . ມັນກວດພົບຂໍ້ຄວາມຂະຫນາດນ້ອຍແລະສະສົມໃຫ້ເຂົ້າໃນບັນຈຸພັນ TCP ຂະຫນາດໃຫຍ່ກ່ອນທີ່ຈະສົ່ງຂໍ້ມູນຜ່ານສາຍ, ດັ່ງນັ້ນຫຼີກເວັ້ນການຜະລິດຈໍານວນຂະຫນາດນ້ອຍທີ່ບໍ່ຈໍາເປັນຈໍາເປັນ. ຂໍ້ກໍານົດດ້ານວິຊາການສໍາລັບວິທີການຂອງ Nagle ໄດ້ຖືກເຜີຍແຜ່ໃນປີ 1984 ເປັນ RFC 896. ການຕັດສິນໃຈສໍາລັບຂໍ້ມູນຫຼາຍທີ່ຈະສະສົມແລະໄລຍະເວລາລໍຖ້າລະຫວ່າງການສົ່ງແມ່ນສໍາຄັນຕໍ່ຜົນປະໂຫຍດໂດຍລວມຂອງມັນ.

Nagling ສາມາດນໍາໃຊ້ ແບນວິດ ຂອງການເຊື່ອມຕໍ່ເຄືອຂ່າຍໄດ້ຢ່າງມີປະສິດທິຜົນໂດຍໃຊ້ເວລາເພີ່ມຄວາມລ່າຊ້າ ( ຄວາມລາດເວກັດ ). ຕົວຢ່າງທີ່ອະທິບາຍໃນ RFC 896 ສະແດງໃຫ້ເຫັນຜົນປະໂຫຍດຂອງແບນວິດທີ່ມີທ່າແຮງແລະເຫດຜົນສໍາລັບການສ້າງຂອງມັນ:

ຄໍາຮ້ອງສະຫມັກຄວບຄຸມການນໍາໃຊ້ຂອງພວກເຂົາໃນລະບົບ algorithm Nagle ກັບຕົວເລືອກການກໍານົດຄ່າ ຊັອກເກັດ TCP_NODELAY. ລະບົບ Windows, Linux ແລະ Java ໂດຍທົ່ວໄປເຮັດໃຫ້ Nagle ໂດຍອັດຕະໂນມັດ, ດັ່ງນັ້ນ, ຄໍາຮ້ອງສະຫມັກທີ່ຂຽນສໍາລັບສະພາບແວດລ້ອມທີ່ຕ້ອງການກໍານົດ TCP_NODELAY ໃນເວລາທີ່ຕ້ອງການປ່ຽນຄໍາສັ່ງອອກ.

ຂໍ້ຈໍາກັດ

ສູດຂອງ Nagle ແມ່ນສາມາດໃຊ້ໄດ້ກັບ TCP ເທົ່ານັ້ນ. ໂປແກຼມອື່ນໆລວມທັງ UDP ບໍ່ສະຫນັບສະຫນູນມັນ.

ຄໍາຮ້ອງສະຫມັກ TCP ທີ່ຕ້ອງການຕອບສະຫນອງຕໍ່ເຄືອຂ່າຍຢ່າງໄວວາ, ເຊັ່ນ ການໂທຫາໂທລະສັບອິນເຕີເນັດ ຫຼືເກມ shooter ຄົນທໍາອິດ, ອາດຈະບໍ່ເຮັດວຽກໄດ້ດີເມື່ອ Nagle ເປີດໃຊ້ງານ. ຄວາມຊັກຊ້າທີ່ເກີດຂື້ນໃນຂະນະທີ່ວິທີການໃຊ້ເວລາພິເສດໃນການປະກອບຂໍ້ມູນຂະຫນາດນ້ອຍກວ່າກັນກໍ່ສາມາດເຮັດໃຫ້ເກີດຄວາມ ເລິກ ທີ່ຫນ້າຈໍໄດ້ໃນຫນ້າຈໍຫຼືໃນສາຍດິຈິຕອນ. ແອັບພລິເຄຊັນເຫຼົ່ານີ້ປົກກະຕິແລ້ວປິດການໃຊ້ງານ Nagle

ສູດນີ້ໄດ້ຖືກພັດທະນາໃນເວລາທີ່ເວລາທີ່ເຄືອຂ່າຍຄອມພິວເຕີ້ໄດ້ສະຫນັບສະຫນູນຫຼາຍກ່ວາແບນວິດຫຼາຍກວ່າທີ່ພວກເຂົາເຮັດໃນມື້ນີ້. ຕົວຢ່າງທີ່ໄດ້ອະທິບາຍຂ້າງເທິງນີ້ແມ່ນອີງໃສ່ປະສົບການຂອງຈອນນາໂກທີ່ Ford Aerospace ໃນຊຸມປີ 1980, ບ່ອນທີ່ການແລກປ່ຽນຄວາມສໍາພັນກັບເຄືອຂ່າຍທາງໄກ, ທີ່ມີຄວາມຫນາແຫນ້ນຫຼາຍ, ເຮັດໃຫ້ມີຄວາມຮູ້ສຶກດີ. ມີສະຖານະການຫນ້ອຍທີ່ສຸດທີ່ການນໍາໃຊ້ເຄືອຂ່າຍສາມາດໄດ້ຮັບຜົນປະໂຫຍດຈາກວິທີການຂອງຕົນໃນມື້ນີ້.