ຄວາມລຶກລັບທີ່ສຳຄັນຂອງການເຊື່ອມຕໍ່ TCP ຂອງ Network Packet Broker: ເປີດເຜີຍຄວາມຕ້ອງການ Triple Handshake

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

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

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

 ການຈັບມືສາມທາງ TCP

ລອງມາພິຈາລະນາເບິ່ງແພັກເກັດ TCP ທີ່ຖືກສົ່ງໃນແຕ່ລະການເຊື່ອມຕໍ່ໃຫ້ລະອຽດກວ່າ.

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

 ແພັກເກັດ SYN

ເມື່ອລູກຄ້າເລີ່ມການເຊື່ອມຕໍ່, ມັນຈະສ້າງໝາຍເລກລຳດັບເບື້ອງຕົ້ນແບບສຸ່ມ (client_isn) ແລະວາງມັນໄວ້ໃນຊ່ອງ "ໝາຍເລກລຳດັບ" ຂອງຫົວຂໍ້ TCP. ໃນເວລາດຽວກັນ, ລູກຄ້າຈະຕັ້ງຕຳແໜ່ງທຸງ SYN ເປັນ 1 ເພື່ອຊີ້ບອກວ່າແພັກເກັດທີ່ສົ່ງອອກແມ່ນແພັກເກັດ SYN. ​​ລູກຄ້າຊີ້ບອກວ່າຕ້ອງການສ້າງການເຊື່ອມຕໍ່ກັບເຊີບເວີໂດຍການສົ່ງແພັກເກັດ SYN ທຳອິດໄປຫາເຊີບເວີ. ແພັກເກັດນີ້ບໍ່ມີຂໍ້ມູນຊັ້ນແອັບພລິເຄຊັນ (ນັ້ນຄືຂໍ້ມູນທີ່ສົ່ງ). ໃນຈຸດນີ້, ສະຖານະຂອງລູກຄ້າຖືກໝາຍເປັນ SYN-SENT.

ແພັກເກັດ SYN+ACK

ເມື່ອເຊີບເວີໄດ້ຮັບແພັກເກັດ SYN ຈາກລູກຄ້າ, ມັນຈະເລີ່ມຕົ້ນໝາຍເລກລຳດັບຂອງຕົນເອງ (server_isn) ແບບສຸ່ມ ແລະ ຈາກນັ້ນໃສ່ໝາຍເລກນັ້ນໃນຊ່ອງ "ໝາຍເລກລຳດັບ" ຂອງຫົວຂໍ້ TCP. ຕໍ່ໄປ, ເຊີບເວີຈະໃສ່ client_isn + 1 ໃນຊ່ອງ "ໝາຍເລກຮັບຮູ້" ແລະ ຕັ້ງຄ່າທັງບິດ SYN ແລະ ACK ເປັນ 1. ສຸດທ້າຍ, ເຊີບເວີຈະສົ່ງແພັກເກັດໄປຫາລູກຄ້າ, ເຊິ່ງບໍ່ມີຂໍ້ມູນຊັ້ນແອັບພລິເຄຊັນ (ແລະ ບໍ່ມີຂໍ້ມູນສຳລັບເຊີບເວີທີ່ຈະສົ່ງ). ໃນເວລານີ້, ເຊີບເວີຢູ່ໃນສະຖານະ SYN-RCVD.

ແພັກເກັດ ACK

ເມື່ອລູກຄ້າໄດ້ຮັບແພັກເກັດຈາກເຊີບເວີແລ້ວ, ມັນຈຳເປັນຕ້ອງປະຕິບັດການປັບປຸງຕໍ່ໄປນີ້ເພື່ອຕອບສະໜອງຕໍ່ກັບແພັກເກັດຕອບກັບສຸດທ້າຍ: ກ່ອນອື່ນໝົດ, ລູກຄ້າຕັ້ງຄ່າບິດ ACK ຂອງຫົວຂໍ້ TCP ຂອງແພັກເກັດຕອບກັບເປັນ 1; ອັນທີສອງ, ລູກຄ້າໃສ່ຄ່າ server_isn + 1 ໃນຊ່ອງ "ຢືນຢັນໝາຍເລກຄຳຕອບ"; ສຸດທ້າຍ, ລູກຄ້າສົ່ງແພັກເກັດໄປຫາເຊີບເວີ. ແພັກເກັດນີ້ສາມາດນຳຂໍ້ມູນຈາກລູກຄ້າໄປຫາເຊີບເວີ. ເມື່ອສຳເລັດການດຳເນີນງານເຫຼົ່ານີ້, ລູກຄ້າຈະເຂົ້າສູ່ສະຖານະ ESTABLISHED.

ເມື່ອເຊີບເວີໄດ້ຮັບແພັກເກັດຕອບກັບຈາກລູກຄ້າ, ມັນຍັງປ່ຽນເປັນສະຖານະ ESTABLISHED.

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

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

ການຈັບມືສາມທາງສາມາດຫຼີກລ່ຽງການເລີ່ມຕົ້ນການເຊື່ອມຕໍ່ທີ່ຊ້ຳກັນໃນປະຫວັດສາດໄດ້ຢ່າງມີປະສິດທິພາບ (ເຫດຜົນຫຼັກ)
ການຈັບມືສາມຝ່າຍຮັບປະກັນວ່າທັງສອງຝ່າຍໄດ້ຮັບເລກລຳດັບເບື້ອງຕົ້ນທີ່ໜ້າເຊື່ອຖື.
ການຈັບມືສາມຝ່າຍຫຼີກລ່ຽງການສູນເສຍຊັບພະຍາກອນ.

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

ການຈັບມືສາມທາງຫຼີກລ່ຽງການເຊື່ອມຕໍ່ທີ່ຊໍ້າຊ້ອນທາງປະຫວັດສາດ

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

1- ແພັກເກັດ SYN ເກົ່າມາຮອດເຊີບເວີກ່ອນແພັກເກັດ SYN ລ່າສຸດ.
2- ເຊີບເວີຈະຕອບກັບແພັກເກັດ SYN + ACK ໃຫ້ກັບລູກຄ້າຫຼັງຈາກໄດ້ຮັບແພັກເກັດ SYN ເກົ່າ.
3- ເມື່ອລູກຄ້າໄດ້ຮັບແພັກເກັດ SYN + ACK, ມັນຈະກຳນົດວ່າການເຊື່ອມຕໍ່ແມ່ນການເຊື່ອມຕໍ່ທາງປະຫວັດສາດ (ໝາຍເລກລຳດັບໝົດອາຍຸ ຫຼື ໝົດເວລາ) ຕາມສະພາບການຂອງມັນເອງ, ແລະຫຼັງຈາກນັ້ນສົ່ງແພັກເກັດ RST ໄປຫາເຊີບເວີເພື່ອຢຸດການເຊື່ອມຕໍ່.

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

1- ຖ້າມັນເປັນການເຊື່ອມຕໍ່ທາງປະຫວັດສາດ (ໝາຍເລກລຳດັບໝົດອາຍຸ ຫຼື ໝົດເວລາ), ແພັກເກັດທີ່ສົ່ງໂດຍການຈັບມືຄັ້ງທີສາມແມ່ນແພັກເກັດ RST ເພື່ອຍົກເລີກການເຊື່ອມຕໍ່ທາງປະຫວັດສາດ.
2- ຖ້າມັນບໍ່ແມ່ນການເຊື່ອມຕໍ່ທາງປະຫວັດສາດ, ແພັກເກັດທີ່ສົ່ງເປັນຄັ້ງທີສາມແມ່ນແພັກເກັດ ACK, ແລະສອງຝ່າຍທີ່ຕິດຕໍ່ສື່ສານກັນຈະສ້າງການເຊື່ອມຕໍ່ໄດ້ສຳເລັດ.

ດັ່ງນັ້ນ, ເຫດຜົນຫຼັກທີ່ TCP ໃຊ້ການຈັບມືສາມທາງແມ່ນຍ້ອນວ່າມັນເລີ່ມຕົ້ນການເຊື່ອມຕໍ່ເພື່ອປ້ອງກັນການເຊື່ອມຕໍ່ທາງປະຫວັດສາດ.

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

ຜູ້ຮັບສາມາດກຳຈັດຂໍ້ມູນທີ່ຊໍ້າກັນ ແລະ ຮັບປະກັນຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນໄດ້.

ຜູ້ຮັບສາມາດຮັບແພັກເກັດຕາມລຳດັບຂອງໝາຍເລກລຳດັບເພື່ອຮັບປະກັນຄວາມສົມບູນຂອງຂໍ້ມູນ.

● ໝາຍເລກລຳດັບສາມາດລະບຸແພັກເກັດຂໍ້ມູນທີ່ໄດ້ຮັບໂດຍອີກຝ່າຍໜຶ່ງ, ເຊິ່ງເຮັດໃຫ້ການສົ່ງຂໍ້ມູນມີຄວາມໜ້າເຊື່ອຖືໄດ້.

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

ຊິ້ງຂໍ້ມູນໝາຍເລກລຳດັບເບື້ອງຕົ້ນຂອງທັງສອງຝ່າຍ

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

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

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

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

ຫຼີກລ່ຽງການສູນເສຍຊັບພະຍາກອນ

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

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

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


ເວລາໂພສ: ມັງກອນ-08-2025