ອາວຸດລັບຂອງ TCP: ການຄວບຄຸມການໄຫຼວຽນຂອງເຄືອຂ່າຍແລະການຄວບຄຸມຄວາມແອອັດຂອງເຄືອຂ່າຍ

ການຂົນສົ່ງຄວາມຫນ້າເຊື່ອຖືຂອງ TCP
ພວກເຮົາທຸກຄົນຄຸ້ນເຄີຍກັບໂປໂຕຄອນ TCP ເປັນໂປໂຕຄອນທີ່ມີຄວາມຫນ້າເຊື່ອຖື, ແຕ່ມັນຮັບປະກັນຄວາມຫນ້າເຊື່ອຖືຂອງການຂົນສົ່ງແນວໃດ?

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

ເພາະສະນັ້ນ, TCP ຈ້າງກົນໄກເຊັ່ນ: ການຕອບຮັບລໍາດັບ, ການຄວບຄຸມທາງດ້ານລໍາດັບ, ການຄວບຄຸມການເຊື່ອມຕໍ່, ແລະຄວບຄຸມການຕິດຕໍ່, ແລະການຄວບຄຸມການສົ່ງຕໍ່.

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

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

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

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

ເຈົ້າຂອງເຈົ້າພາບແຈ້ງໃຫ້ຜູ້ສົ່ງຂະຫນາດຂອງຂໍ້ມູນທີ່ມັນສາມາດຮັບໄດ້, ແລະຜູ້ສົ່ງສົ່ງເຖິງຂີດຈໍາກັດນີ້. ຂີດຈໍາກັດນີ້ແມ່ນຂະຫນາດຫນ້າຕ່າງ, ຈື່ຫົວຂໍ້ TCP ບໍ? ມີການຮັບສະຫມັກ window, ເຊິ່ງໃຊ້ເພື່ອຊີ້ບອກຈໍານວນຂອງ bytes ຂອງຜູ້ຮັບແມ່ນສາມາດຫຼືເຕັມໃຈທີ່ຈະໄດ້ຮັບ.

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

ນີ້ແມ່ນແຜນວາດການຄວບຄຸມການໄຫລຂອງເຄືອຂ່າຍ:

ການຄວບຄຸມການຈະລາຈອນ

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

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

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

ດັ່ງນັ້ນ, TCP ບໍ່ສາມາດບໍ່ສົນໃຈສິ່ງທີ່ກໍາລັງເກີດຂື້ນໃນເຄືອຂ່າຍ. ເມື່ອເຄືອຂ່າຍຖືກລະງັບ, ການເສຍສະລະຂອງ TCP ເອງໂດຍການຫຼຸດຜ່ອນຈໍານວນຂໍ້ມູນທີ່ມັນສົ່ງ.

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

ປ່ອງຢ້ຽມແອັດຊັງແມ່ນຫຍັງ? ສິ່ງນີ້ຕ້ອງເຮັດຫຍັງກັບປ່ອງຢ້ຽມສົ່ງ?

ປ່ອງຢ້ຽມທີ່ແອອັດແມ່ນຕົວປ່ຽນແປງຂອງລັດທີ່ຖືກຮັກສາໂດຍຜູ້ສົ່ງທີ່ກໍານົດຈໍານວນຂໍ້ມູນທີ່ຜູ້ສົ່ງສາມາດສົ່ງໄດ້. ປ່ອງຢ້ຽມທີ່ແອອັດປ່ຽນແປງແບບເຄື່ອນໄຫວຕາມລະດັບຄວາມແອອັດຂອງເຄືອຂ່າຍ.

ປ່ອງຢ້ຽມການສົ່ງແມ່ນຖືກຕົກລົງກັນໃນປ່ອງຢ້ຽມລະຫວ່າງຜູ້ສົ່ງແລະຜູ້ຮັບທີ່ສະແດງເຖິງຈໍານວນຂໍ້ມູນທີ່ຜູ້ຮັບສາມາດໄດ້ຮັບ. ປ່ອງຢ້ຽມທີ່ແອອັດແລະປ່ອງຢ້ຽມການສົ່ງແມ່ນກ່ຽວຂ້ອງ; ປ່ອງຢ້ຽມທີ່ສົ່ງແມ່ນເທົ່າກັບຕ່ໍາສຸດຂອງຄວາມແອອັດແລະໄດ້ຮັບປ່ອງຢ້ຽມ, ນັ້ນແມ່ນ, swnd = min (cwnd, rwnd).

ຫນ້າຈໍ Window CWND ປ່ຽນແປງດັ່ງຕໍ່ໄປນີ້:

ຖ້າບໍ່ມີຄວາມແອອັດໃນເຄືອຂ່າຍ, ເຊັ່ນ, ບໍ່ມີການກໍານົດເວລາກັບຄືນໃຫມ່, ຫນ້າຕ່າງທີ່ແອອັດເພີ່ມຂື້ນ.

ຖ້າມີຄວາມແອອັດໃນເຄືອຂ່າຍ, ຫນ້າຕ່າງທີ່ແອອັດຫຼຸດລົງ.

ຜູ້ສົ່ງກໍານົດວ່າເຄືອຂ່າຍຈະມີຄວາມຫຍຸ້ງຍາກໂດຍການສັງເກດເຫັນວ່າການສັງເກດເຫັນວ່າການສັງເກດເຫັນວ່າການສັງເກດເຫັນວ່າຊຸດ ACKNowled Packet ແມ່ນໄດ້ຮັບພາຍໃນເວລາທີ່ກໍານົດ. ຖ້າຜູ້ສົ່ງບໍ່ໄດ້ຮັບຊຸດຮັບຮູ້ ACK ພາຍໃນເວລາທີ່ກໍານົດ, ມັນໄດ້ຖືກພິຈາລະນາວ່າເຄືອຂ່າຍແມ່ນແອອັດ.

ນອກເຫນືອໄປຈາກປ່ອງຢ້ຽມທີ່ແອອັດ, ມັນແມ່ນເວລາທີ່ຈະປຶກສາຫາລືກ່ຽວກັບສູດການຄວບຄຸມແອັດສະໄລ້ຂອງ TCP. Algorithm ຄວບຄຸມຄວາມແອອັດຂອງ TCP ປະກອບມີສາມພາກສ່ວນຕົ້ນຕໍ:

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

ການເລີ່ມຕົ້ນຊ້າ
ເມື່ອການເຊື່ອມຕໍ່ TCP ຖືກສ້າງຕັ້ງຂື້ນ, Cornestion Window CWND ແມ່ນຖືກຕັ້ງຄ່າໃນເບື້ອງຕົ້ນກັບ MSS ຕ່ໍາສຸດ (ຂະຫນາດສ່ວນສູງສຸດ) ມູນຄ່າ. ວິທີນີ້, ອັດຕາການສົ່ງໃນເບື້ອງຕົ້ນແມ່ນກ່ຽວກັບ MSS / RTT BYTES / ວິນາທີ. ແບນວິດທີ່ມີຕົວຈິງມັກຈະມີຂະຫນາດໃຫຍ່ກ່ວາ MSS / RTT, ສະນັ້ນ TCP ຕ້ອງການທີ່ຈະຊອກຫາອັດຕາການສົ່ງທີ່ດີທີ່ສຸດ, ເຊິ່ງສາມາດບັນລຸໄດ້ໂດຍການເລີ່ມຕົ້ນ.

ໃນຂະບວນການເລີ່ມຕົ້ນທີ່ຊ້າ, ມູນຄ່າຂອງຫນ້າຈໍ Cornes CWND ຈະຖືກເລີ່ມຕົ້ນໃຫ້ເປັນ 1 MSS, ແລະມູນຄ່າຂອງ CWND ຈະກາຍເປັນ 2 MSS. ຫລັງຈາກນັ້ນ, ມູນຄ່າຂອງ CWND ແມ່ນເພີ່ມຂື້ນສອງເທົ່າສໍາລັບການສົ່ງເສີມສ່ວນຂອງແພັກເກັດທີ່ປະສົບຜົນສໍາເລັດແຕ່ລະອັນ, ແລະອື່ນໆ. ຂະບວນການເຕີບໂຕສະເພາະແມ່ນສະແດງຢູ່ໃນຕົວເລກຕໍ່ໄປນີ້.

 ການຄວບຄຸມຄວາມແອອັດຂອງເຄືອຂ່າຍ

ເຖິງຢ່າງໃດກໍ່ຕາມ, ອັດຕາການສົ່ງທີ່ບໍ່ສາມາດເຕີບໃຫຍ່ໄດ້ສະເຫມີ; ການເຕີບໂຕຕ້ອງສິ້ນສຸດບາງຄັ້ງ. ສະນັ້ນ, ອັດຕາການສົ່ງເພີ່ມຂື້ນເມື່ອໃດທີ່ເພີ່ມຂື້ນ? ຊ້າ-startically ສິ້ນສຸດການເພີ່ມຂື້ນຂອງອັດຕາການສົ່ງໃນຫນຶ່ງໃນຫຼາຍວິທີ:

ວິທີທໍາອິດແມ່ນກໍລະນີຂອງການສູນເສຍແພັກເກັດໃນລະຫວ່າງການສົ່ງຂະບວນການເລີ່ມຕົ້ນຊ້າ. ໃນເວລາທີ່ການສູນເສຍແພັກເກັດເກີດຂື້ນ, TCP ກໍານົດຫນ້າຈໍທີ່ມີຄວາມແອອັດຂອງຜູ້ສົ່ງເຖິງ 1 ແລະເລີ່ມຕົ້ນຂະບວນການເລີ່ມຕົ້ນຊ້າ. ໃນຈຸດນີ້, ແນວຄວາມຄິດຂອງການເລີ່ມຕົ້ນທີ່ຊ້າລົງ SSTHREST SSTHREST ໄດ້ຖືກນໍາສະເຫນີ, ເຊິ່ງມູນຄ່າເບື້ອງຕົ້ນແມ່ນເຄິ່ງຫນຶ່ງຂອງມູນຄ່າຂອງ CWND. ນັ້ນແມ່ນ, ໃນເວລາທີ່ການກວດພົບຄວາມແອອັດ, ມູນຄ່າຂອງ ssthresh ແມ່ນເຄິ່ງຫນຶ່ງຂອງມູນຄ່າ window.

ວິທີທີສອງແມ່ນການພົວພັນໂດຍກົງກັບມູນຄ່າຂອງການເລີ່ມຕົ້ນທີ່ຊ້າລົງ ssthresh. ເນື່ອງຈາກວ່າມູນຄ່າຂອງ ssthresh ແມ່ນເຄິ່ງຫນຶ່ງຂອງມູນຄ່າ window ເມື່ອພົບເຫັນຄວາມແອອັດ, ການສູນເສຍແພອາດຈະເກີດຂື້ນກັບແຕ່ລະຄັ້ງເມື່ອມີຂະຫນາດໃຫຍ່ກວ່າ ssthresh. ສະນັ້ນ, ມັນເປັນສິ່ງທີ່ດີທີ່ສຸດທີ່ຈະຕັ້ງ CWND ໃຫ້ SSTHRESH, ເຊິ່ງຈະເຮັດໃຫ້ TCP ສາມາດປ່ຽນເປັນໂຫມດຄວບຄຸມຄວາມແອອັດແລະສິ້ນສຸດລົງຊ້າ.

ວິທີການສຸດທ້າຍທີ່ເລີ່ມຕົ້ນການເລີ່ມຕົ້ນທີ່ສາມາດຢຸດໄດ້ແມ່ນຖ້າສາມໃບຖືກກວດພົບ, TCP ປະຕິບັດໃຫ້ມີການຟື້ນຟູຢ່າງໄວວາແລະເຂົ້າສູ່ສະພາບການຟື້ນຟູ. (ຖ້າມັນບໍ່ເປັນທີ່ຈະແຈ້ງວ່າເປັນຫຍັງມີສາມຊຸດຂອງ ACK, ມັນຈະຖືກອະທິບາຍແຍກຕ່າງຫາກໃນກົນໄກການສົ່ງຕໍ່.)

ການຫລີກລ້ຽງຄວາມແອອັດ
ເມື່ອ TCP ເຂົ້າໄປໃນສະພາບການຄວບຄຸມແອອັດ, CWND ຖືກກໍານົດໃຫ້ເຄິ່ງຫນຶ່ງຂອງເຄິ່ງຫນຶ່ງຂອງລະດັບສູງຂອງ ssthresh. ນີ້ຫມາຍຄວາມວ່າມູນຄ່າຂອງ CWND ບໍ່ສາມາດເພີ່ມຂື້ນສອງເທົ່າຕະຫຼອດເວລາທີ່ສ່ວນຫນຶ່ງຂອງ Packet ແມ່ນໄດ້ຮັບ. ແທນທີ່ຈະ, ວິທີການອະນຸລັກທີ່ຂ້ອນຂ້າງຖືກຮັບຮອງເອົາໃນທີ່ມູນຄ່າຂອງ CWND ເພີ່ມຂື້ນໂດຍພຽງແຕ່ MSS (ຄວາມຍາວສ່ວນທີ່ສູງສຸດຂອງ Packed Patch ຍົກຕົວຢ່າງ, ເຖິງແມ່ນວ່າຈະມີ 10 ສ່ວນທີ່ຖືກຮັບຮູ້ໃນຊຸດ, ມູນຄ່າຂອງ CWND ຈະເພີ່ມພຽງແຕ່ຫນຶ່ງ MSS ເທົ່ານັ້ນ. ນີ້ແມ່ນຮູບແບບການເຕີບໂຕທີ່ເປັນເສັ້ນແລະມັນກໍ່ມີການຜູກມັດເທິງຂອງການເຕີບໂຕ. ໃນເວລາທີ່ການສູນເສຍແພັກເກັດເກີດຂື້ນ, ມູນຄ່າຂອງ CWND ຖືກປ່ຽນເປັນ MSS, ແລະມູນຄ່າຂອງ ssthresh ແມ່ນຕັ້ງເຄິ່ງຫນຶ່ງຂອງ cwnd. ຫຼືມັນຍັງຈະຢຸດການຂະຫຍາຍຕົວຂອງ MSS ເມື່ອມີການຕອບຮັບຂອງກະຕ່າຄືນໃຫມ່. ຖ້າສາມ acksedant acks ຍັງໄດ້ຮັບຫຼັງຈາກທີ່ຫຼຸດລົງຄຸນຄ່າຂອງ cwnd ຂອງ cwnd, ມູນຄ່າຂອງ ssthresh ໄດ້ຖືກບັນທຶກເປັນເຄິ່ງຫນຶ່ງຂອງລະດັບການຟື້ນຕົວຂອງ CWND.

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

ໃນເວລາທີ່ ACK ຂອງສ່ວນທີ່ສູນຫາຍໄປສະເຫນີ, TCP ຫຼຸດລົງມູນຄ່າຂອງ CWND ແລະຫຼັງຈາກນັ້ນເຂົ້າໄປໃນສະພາບການຫລີກລ້ຽງຄວາມແອອັດ. ນີ້ແມ່ນການຄວບຄຸມຂະຫນາດຂອງປ່ອງຢ້ຽມທີ່ແອອັດແລະຫລີກລ້ຽງການເພີ່ມເຄືອຂ່າຍທີ່ເພີ່ມຂື້ນຂອງເຄືອຂ່າຍ.

ຖ້າຫມົດເວລາເກີດຂື້ນຫຼັງຈາກລັດຄວບຄຸມຄວາມແອອັດ, ສະພາບເຄືອຂ່າຍຈະກາຍເປັນຜູ້ເຄື່ອນໄຫວທີ່ຮ້າຍແຮງກວ່າເກົ່າແລະ TCP ຍ້າຍອອກຈາກສະຖານະການຫລີກລ້ຽງການເຮັດໃຫ້ສະຖານະການຊ້າລົງ. ໃນກໍລະນີນີ້, ມູນຄ່າຂອງຫນ້າຈໍ Congestion CWND ຖືກກໍານົດໃຫ້ເປັນ 1 MSS, ຄວາມຍາວຂອງຕອນທີ່ສູງສຸດຂອງຊຸດ, ແລະຄ່າຂອງ SSTHRESH STUL-STALL SSTHRESH ແມ່ນຕັ້ງເປັນເຄິ່ງຫນຶ່ງຂອງ CWND. ຈຸດປະສົງຂອງສິ່ງນີ້ແມ່ນການເພີ່ມຂະຫນາດຂອງປ່ອງຢ້ຽມທີ່ແອອັດໄດ້ອີກເທື່ອຫນຶ່ງຫຼັງຈາກທີ່ເຄືອຂ່າຍຫາຍສາບສູນເພື່ອດຸ່ນດ່ຽງອັດຕາການສົ່ງຕໍ່ແລະລະດັບຂອງເຄືອຂ່າຍຄວາມແອອັດ.

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

ໃນພາກຕໍ່ໄປ, ພວກເຮົາຈະກວດສອບກົນໄກການສົ່ງຕໍ່ຂອງ TCP ໂດຍລະອຽດ. ກົນໄກການສົ່ງຕໍ່ແມ່ນພາກສ່ວນຫນຶ່ງທີ່ສໍາຄັນຂອງ TCP ເພື່ອບັນລຸການສົ່ງຕໍ່ທີ່ເຊື່ອຖືໄດ້. ມັນຮັບປະກັນການສົ່ງຕໍ່ທີ່ເຊື່ອຖືໄດ້ໂດຍ RetransMitting Retransmitting Lost, ເສຍຫາຍຫຼືຊັກຊ້າຫຼືຊັກຊ້າຫຼືຊ້າ. ຫຼັກການຈັດຕັ້ງປະຕິບັດແລະຍຸດທະສາດຂອງກົນໄກການຕໍ່ຕ້ານຈະຖືກນໍາສະເຫນີແລະວິເຄາະໂດຍລະອຽດໃນພາກຕໍ່ໄປ. ຕິດຕາມເບິ່ງ!


ເວລາໄປສະນີ: Feb-24-2025