ໂປຣໂຕຄໍທີ່ເອີ້ນວ່າ TCP Flow Control ຖືກສ້າງຂຶ້ນເພື່ອຄວບຄຸມການໄຫຼເຂົ້າຂອງຂໍ້ມູນລະຫວ່າງຜູ້ໃຊ້ກັບເຊີບເວີ.
ມັນເຮັດໃຫ້ແນ່ໃຈວ່າມີຈໍານວນແບນວິດທີ່ແນ່ນອນສໍາລັບການສົ່ງແລະຮັບຂໍ້ມູນເພື່ອໃຫ້ການປຸງແຕ່ງສາມາດດໍາເນີນການໄດ້ໂດຍບໍ່ຕ້ອງພົບບັນຫາທີ່ຮ້າຍແຮງ.
ໂປໂຕຄອນ TCP ໃຊ້ວິທີການທີ່ເອີ້ນວ່າໂປໂຕຄອນ window sliding ເພື່ອເຮັດສໍາເລັດນີ້.
ພວກເຮົາຈະພິຈາລະນາຢ່າງເລິກເຊິ່ງກ່ຽວກັບການຄວບຄຸມການໄຫຼວຽນຂອງ TCP ໃນຊິ້ນນີ້, ລວມທັງວິທີການເຮັດວຽກຂອງມັນແລະ, ສໍາຄັນທີ່ສຸດ, ໂປໂຕຄອນປ່ອງຢ້ຽມເລື່ອນ.
TCP Flow Control ແມ່ນຫຍັງ?
ອະນຸສັນຍາ TCP ຮັບປະກັນວ່າຊ່ອງທາງການສື່ສານທີ່ເຊື່ອຖືໄດ້ສາມາດຖືກສ້າງຕັ້ງຂຶ້ນໃນທົ່ວເຄືອຂ່າຍທີ່ບໍ່ສາມາດຄາດເດົາໄດ້.
ແພັກເກັດຂໍ້ມູນສາມາດສູນເສຍ, ອອກຈາກລໍາດັບ, ໄດ້ຮັບການສໍາຮອງຂໍ້ມູນໃນເຄືອຂ່າຍ, ຫຼືໄດ້ຮັບການໂຫຼດເກີນຢູ່ໃນໂຫນດຮັບຍ້ອນວ່າພວກມັນຖືກສົ່ງຈາກໂຫນດຫນຶ່ງໄປຫາອີກ.
ຢ່າງໃດກໍຕາມ, ໃນຂະນະທີ່ພັດທະນາຄໍາຮ້ອງສະຫມັກ, ພວກເຮົາບໍ່ຈໍາເປັນຕ້ອງຈັດການກັບຄວາມສັບສົນນີ້; ແທນທີ່ຈະ, ພວກເຮົາພຽງແຕ່ສົ່ງຂໍ້ມູນບາງຢ່າງໄປຫາເຕົ້າສຽບ, ແລະ TCP ຮັບປະກັນວ່າແພັກເກັດຖືກຈັດສົ່ງຢ່າງສໍາເລັດຜົນກັບໂຫນດຜູ້ຮັບ..
ການຄວບຄຸມການໄຫຼເຂົ້າເປັນຄຸນສົມບັດເພີ່ມເຕີມທີ່ສໍາຄັນທີ່ TCP ສະເຫນີ.
ໂດຍຜ່ານການນໍາໃຊ້ການຄວບຄຸມການໄຫຼເຂົ້າ, TCP ຈະເຮັດໃຫ້ແນ່ໃຈວ່າຜູ້ສົ່ງບໍ່ໄດ້ສົ່ງຊຸດຮັບຫຼາຍເກີນໄປໃນເວລາດຽວກັນ.
Transfer Control Protocol – Flow Control ເຮັດວຽກແນວໃດ?
ນີ້ມັກຈະເກີດຂື້ນໃນເວລາທີ່ພວກເຮົາຕ້ອງການສື່ສານຂໍ້ມູນຜ່ານເຄືອຂ່າຍ.
ຄໍາຮ້ອງສະຫມັກຜູ້ສົ່ງຈະສົ່ງຂໍ້ມູນໄປຫາເຕົ້າຮັບ, ຊັ້ນການຂົນສົ່ງ (ໃນກໍລະນີນີ້, TCP) ຫຸ້ມຫໍ່ຂໍ້ມູນນີ້ຢູ່ໃນສ່ວນຫນຶ່ງ, ແລະຊັ້ນເຄືອຂ່າຍ (ຕົວຢ່າງ, IP) ຈະສົ່ງຕໍ່ແພັກເກັດນີ້ໄປຫາຈຸດຮັບໂດຍບາງເສັ້ນທາງ.
ຊັ້ນເຄືອຂ່າຍຈະສົ່ງຂໍ້ມູນນີ້ໄປໃຫ້ TCP ໃນຕອນທ້າຍການຮັບຂອງການສົນທະນາ, ແລະ TCP ຈະເຮັດໃຫ້ມັນສາມາດໃຊ້ໄດ້ກັບແອັບພລິເຄຊັນທີ່ໄດ້ຮັບເປັນຂໍ້ມູນທີ່ຊ້ໍາກັນຂອງຂໍ້ມູນທີ່ມອບໃຫ້.
TCP ຈະບໍ່ສົ່ງແພັກເກັດອອກຕາມລຳດັບ ແລະຈະລໍຖ້າການສົ່ງຄືນ ໃນກໍລະນີທີ່ມັນກວດພົບຊ່ອງຫວ່າງສະຕຣີມໄບຕ໌.
ນີ້ແມ່ນສິ່ງທີ່ພວກເຮົາຈະເບິ່ງວ່າພວກເຮົາຊູມເຂົ້າ.
ທັງການສົ່ງແລະຮັບ buffers ໃນ TCP ແມ່ນໃຊ້ເພື່ອເກັບຂໍ້ມູນທີ່ຕ້ອງໄດ້ສົ່ງແລະຮັບ, ຕາມລໍາດັບ.
ຂໍ້ມູນຈາກຮັບ buffer ຈະຖືກອ່ານໂດຍແອັບພລິເຄຊັນເມື່ອມັນຖືກກະກຽມ.
ໃຫ້ແນ່ໃຈວ່າພວກເຮົາບໍ່ສົ່ງແພັກເກັດເພີ່ມເຕີມໃນຂະນະທີ່ການຮັບ buffer ຂອງຜູ້ຮັບແມ່ນເຕັມແລ້ວແມ່ນເປົ້າຫມາຍຕົ້ນຕໍຂອງການຄວບຄຸມການໄຫຼນັບຕັ້ງແຕ່ການເຮັດດັ່ງນັ້ນຈະບັງຄັບໃຫ້ຜູ້ຮັບລຸດລົງແພັກເກັດເພີ່ມເຕີມທີ່ມັນບໍ່ສາມາດຈັດການໄດ້.
ຜູ້ຮັບຈະປະກາດປ່ອງຢ້ຽມຮັບຂອງຕົນ, ຫຼືພື້ນທີ່ທີ່ມີຢູ່ໃນຕົວຮັບ, ເພື່ອຈໍາກັດປະລິມານຂອງຂໍ້ມູນທີ່ TCP ສາມາດໂອນໄດ້.
ໂປໂຕຄອນ Window Sliding
ໂປໂຕຄອນ window sliding ໃນ TCP ແມ່ນຫນຶ່ງໃນວິທີການຄວບຄຸມການໄຫຼຂອງການນໍາໃຊ້ຢ່າງກວ້າງຂວາງທີ່ສຸດ. ມັນເປັນຂັ້ນຕອນການປ່ຽນແປງຂະຫນາດ, ຮັດກຸມ byte.
ໃນວິທີການນີ້, ຜູ້ຮັບສົ່ງຜູ້ສົ່ງປ່ອງຢ້ຽມຜູ້ຮັບທັນທີທີ່ຜູ້ສົ່ງແລະຜູ້ຮັບເຊື່ອມຕໍ່.
ຂະຫນາດຂອງ buffer ປັດຈຸບັນຂອງຜູ້ຮັບແມ່ນເອີ້ນວ່າປ່ອງຢ້ຽມຮັບ.
ຈໍານວນຂໍ້ມູນທີ່ສາມາດສົ່ງຕໍ່ໄປໂດຍບໍ່ມີການຮັບຮູ້ໄດ້ຖືກຄິດໄລ່ໂດຍ TCP ໂດຍອີງໃສ່ປ່ອງຢ້ຽມຜູ້ຮັບທີ່ມີຢູ່.
TCP, ຢ່າງໃດກໍຕາມ, ຢຸດການໂອນຂໍ້ມູນຖ້າຫາກວ່າຂະຫນາດປ່ອງຢ້ຽມຮັບແມ່ນ 0 ແລະລໍຖ້າໃຫ້ມັນເພີ່ມຂຶ້ນ.
ຂະຫນາດຂອງປ່ອງຢ້ຽມຮັບແມ່ນອົງປະກອບຂອງກອບ TCP.
ຂະຫນາດສູງສຸດຂອງປ່ອງຢ້ຽມແມ່ນ 65,535 bytes ເນື່ອງຈາກວ່າມັນມີຂະຫນາດຂອງປ່ອງຢ້ຽມ 16 bits.
ຂະຫນາດຂອງປ່ອງຢ້ຽມແມ່ນເລືອກໂດຍຜູ້ຮັບ. ດ້ວຍແຕ່ລະຂໍ້ຄວາມຮັບຮູ້, ຜູ້ຮັບຈະສົ່ງຂະຫນາດຂອງປ່ອງຢ້ຽມຜູ້ຮັບທີ່ມີຢູ່ໃນປະຈຸບັນ.
ຂະບວນການຂອງ Sliding Window Protocol
ເມື່ອນໍາໃຊ້ເຕັກນິກໂປໂຕຄອນ window sliding, ສອງ buffers ຖືກສ້າງຕັ້ງຂຶ້ນເມື່ອຜູ້ສົ່ງແລະຜູ້ຮັບກໍາລັງເຊື່ອມຕໍ່.
ສອງ buffers ເຫຼົ່ານີ້ຖືກແບ່ງອອກເປັນສອງກຸ່ມ: ປ່ອງຢ້ຽມສົ່ງ, ເຊິ່ງຂຶ້ນກັບຜູ້ສົ່ງ, ແລະປ່ອງຢ້ຽມຮັບ, ເຊິ່ງຂຶ້ນກັບຜູ້ຮັບ.
ປ່ອງຢ້ຽມຮັບສົ່ງຄືນພື້ນທີ່ຮັບທີ່ຍັງເຫຼືອເມື່ອຜູ້ສົ່ງສົ່ງຂໍ້ມູນໄປຫາຜູ້ຮັບ.
ດັ່ງນັ້ນ, ຜູ້ສົ່ງໄດ້ຖືກຈໍາກັດຈໍານວນຂໍ້ມູນທີ່ສາມາດເຫມາະກັບ buffer ຮັບ.
ປ່ອງຢ້ຽມສົ່ງຂໍ້ມູນໃນຕົວຢ່າງຂ້າງເທິງສົ່ງຂໍ້ມູນໄປຫາປ່ອງຢ້ຽມຮັບ.
ຫຼັງຈາກໄດ້ຮັບຂໍ້ມູນ, ປ່ອງຢ້ຽມທີ່ໄດ້ຮັບຈະສົ່ງການຮັບຮູ້, ແລະຫຼັງຈາກນັ້ນປ່ອງຢ້ຽມສົ່ງຂໍ້ມູນສົ່ງກອບຂໍ້ມູນໃຫມ່.
ເວລານີ້, ເຖິງແມ່ນວ່າ, ປ່ອງຢ້ຽມຮັບຍັງສົ່ງຂໍ້ຄວາມທີ່ບອກວ່າຫນ່ວຍຄວາມຈໍາທີ່ມີຢູ່ແມ່ນເຕັມໄປດ້ວຍການຮັບຮູ້ທີ່ມັນໄດ້ຮັບ.
ປ່ອງຢ້ຽມການສົ່ງຂໍ້ມູນຢຸດການສົ່ງຂໍ້ມູນໄວ້ຊົ່ວຄາວຈົນກ່ວາມັນໄດ້ຮັບການຢືນຢັນຈາກປ່ອງຢ້ຽມຮັບວ່າພື້ນທີ່ໄດ້ຖືກປົດປ່ອຍ, ໃນເວລານັ້ນມັນສາມາດສືບຕໍ່ການສົ່ງຂໍ້ມູນ.
ສະຫຼຸບ
ສະຫລຸບລວມແລ້ວ, ຊັ້ນເຊື່ອມຕໍ່ຂໍ້ມູນແລະຊັ້ນການຂົນສົ່ງມີຄວາມຮັບຜິດຊອບໃນການຈັດການຄວາມກັງວົນກ່ຽວກັບການຄວບຄຸມການໄຫຼ.
ຈຸດປະສົງພື້ນຖານຂອງກົນໄກການຄວບຄຸມການໄຫຼວຽນແມ່ນເພື່ອຢຸດຜູ້ຮັບຈາກການເປັນ overburdened ກັບຂໍ້ມູນຈາກຜູ້ສົ່ງທີ່ໄວຂຶ້ນ.
ເຖິງແມ່ນວ່າຂໍ້ມູນທີ່ຖືກໂອນໂດຍຜູ້ສົ່ງແມ່ນບໍ່ມີຂໍ້ຜິດພາດແລະຖືກສົ່ງໃນອັດຕາທີ່ໄວກວ່າຍ້ອນເຄື່ອງຈັກທີ່ມີປະສິດທິພາບ, ມັນກໍ່ເປັນໄປໄດ້ວ່າຕົວຮັບທີ່ຊ້າກວ່າຈະບໍ່ສາມາດຈັດການກັບອັດຕາຂໍ້ມູນທີ່ໄວກວ່າແລະດັ່ງນັ້ນຈຶ່ງສູນເສຍຂໍ້ມູນບາງຢ່າງ.
ອອກຈາກ Reply ເປັນ