Three-Way Handshake คืออะไร? เข้าใจ TCP Handshake ฉบับนักดูแลเซิร์ฟเวอร์ 2026
อธิบาย Three-Way Handshake กระบวนการสร้างการเชื่อมต่อ TCP ครอบคลุมขั้นตอนการทำงาน ความปลอดภัย และการตั้งค่าเซิร์ฟเวอร์
Three-Way Handshake คืออะไร กระบวนการเบื้องหลังทุกการเชื่อมต่อ TCP
Three-Way Handshake คือกระบวนการ 3 ขั้นตอนที่โปรโตคอล TCP ใช้สำหรับสร้างการเชื่อมต่อระหว่างอุปกรณ์สองเครื่องก่อนเริ่มรับส่งข้อมูล โดยทั้งฝั่ง Client และ Server จะยืนยันความพร้อมซึ่งกันและกันผ่านแพ็กเก็ต SYN, SYN-ACK และ ACK ตามลำดับ เป็นพื้นฐานสำคัญที่ทำให้การสื่อสารบนอินเทอร์เน็ตเป็นไปอย่างน่าเชื่อถือ
ทำไม Three-Way Handshake ถึงสำคัญ
ทุกครั้งที่เปิดเว็บไซต์ ส่งอีเมล หรือดาวน์โหลดไฟล์ กระบวนการ Three-Way Handshake จะเกิดขึ้นเบื้องหลังโดยที่ผู้ใช้ไม่รู้ตัว เป็นกลไกที่ทำให้ TCP มีความน่าเชื่อถือสูง เพราะทั้งสองฝ่ายต้องยืนยันว่าพร้อมรับส่งข้อมูลก่อนเริ่มต้นจริง
หากเปรียบเทียบกับการโทรศัพท์ Three-Way Handshake ก็คือช่วงที่ทั้งสองฝ่ายพูดว่าสวัสดีและยืนยันว่าได้ยินเสียงกันชัดเจนก่อนเริ่มสนทนา
3 ขั้นตอนของ Three-Way Handshake
ขั้นตอนที่ 1 SYN (Synchronize)
Client ส่งแพ็กเก็ต SYN ไปยัง Server เพื่อเริ่มต้นการเชื่อมต่อ โดยแพ็กเก็ตนี้จะมีหมายเลข Sequence Number เริ่มต้น (ISN - Initial Sequence Number) ที่ถูกสุ่มขึ้นมา เพื่อใช้ในการติดตามลำดับของข้อมูลที่จะส่งในภายหลัง
ขั้นตอนที่ 2 SYN-ACK (Synchronize-Acknowledge)
Server ได้รับแพ็กเก็ต SYN แล้วตอบกลับด้วยแพ็กเก็ต SYN-ACK ซึ่งทำหน้าที่สองอย่างพร้อมกัน คือ ยืนยันว่าได้รับ SYN จาก Client แล้ว (ACK) และส่ง SYN ของตัวเองพร้อม Sequence Number ของ Server กลับไปให้ Client
ขั้นตอนที่ 3 ACK (Acknowledge)
Client ได้รับ SYN-ACK แล้วส่ง ACK กลับไปยัง Server เพื่อยืนยันว่าได้รับ SYN ของ Server แล้ว เมื่อ Server ได้รับ ACK นี้ การเชื่อมต่อก็เสร็จสมบูรณ์ พร้อมรับส่งข้อมูลจริงได้
Sequence Number และ Acknowledgment Number
หัวใจของ Three-Way Handshake อยู่ที่ระบบหมายเลขลำดับ
- Sequence Number ใช้ระบุลำดับของข้อมูลที่ส่ง ช่วยให้ฝั่งรับสามารถจัดเรียงข้อมูลได้ถูกต้องแม้แพ็กเก็ตมาถึงผิดลำดับ
- Acknowledgment Number ใช้ยืนยันว่าได้รับข้อมูลจนถึงลำดับที่เท่าไหร่แล้ว
ระบบนี้ทำให้ TCP สามารถตรวจจับแพ็กเก็ตที่สูญหายและร้องขอให้ส่งใหม่ได้
TCP vs UDP ต่างกันอย่างไร
ต่างจาก TCP โปรโตคอล UDP ไม่มีกระบวนการ Three-Way Handshake เพราะ UDP ออกแบบมาเพื่อความเร็ว ไม่เน้นความน่าเชื่อถือ
- TCP เหมาะกับงานที่ต้องการความถูกต้องของข้อมูล เช่น เว็บไซต์ อีเมล การถ่ายโอนไฟล์
- UDP เหมาะกับงานที่ต้องการความเร็ว เช่น วิดีโอ Streaming เกมออนไลน์ VoIP
ปัญหาที่เกี่ยวข้องกับ Three-Way Handshake
SYN Flood Attack
SYN Flood เป็นการโจมตีแบบ DDoS ที่อาศัยกระบวนการ Three-Way Handshake โดยผู้โจมตีจะส่งแพ็กเก็ต SYN จำนวนมากไปยัง Server โดยไม่ส่ง ACK ตอบกลับ ทำให้ Server ต้องเก็บ Half-open Connection จนทรัพยากรหมด
วิธีป้องกัน SYN Flood
- ใช้ SYN Cookies
- ตั้งค่า Connection Timeout ให้สั้นลง
- ใช้ Firewall หรือ IPS ตรวจจับ
- ใช้ Rate Limiting
สำหรับเซิร์ฟเวอร์ที่ต้องรับมือกับ Traffic สูง การมีระบบ Security ที่แข็งแกร่งเป็นสิ่งจำเป็น
Connection Timeout
หากขั้นตอนใดขั้นตอนหนึ่งของ Handshake ไม่สำเร็จ จะเกิด Timeout ขึ้น ซึ่งอาจเกิดจากหลายสาเหตุ เช่น Firewall บล็อกแพ็กเก็ต เครือข่ายมีปัญหา หรือ Server ไม่ทำงาน
Four-Way Handshake สำหรับปิดการเชื่อมต่อ
เมื่อต้องการปิดการเชื่อมต่อ TCP จะใช้กระบวนการ Four-Way Handshake
- ฝ่ายที่ต้องการปิดส่ง FIN
- อีกฝ่ายตอบกลับ ACK
- อีกฝ่ายส่ง FIN ของตัวเอง
- ฝ่ายแรกตอบกลับ ACK
กระบวนการนี้ทำให้ทั้งสองฝ่ายมั่นใจว่าข้อมูลทั้งหมดถูกส่งครบถ้วนก่อนปิดการเชื่อมต่อ
การประยุกต์ใช้ในงานดูแลเซิร์ฟเวอร์
ผู้ดูแลระบบควรเข้าใจ Three-Way Handshake เพราะ
- ช่วยวิเคราะห์ปัญหาการเชื่อมต่อด้วย Wireshark หรือ tcpdump
- ช่วยตั้งค่า Firewall ได้ถูกต้อง
- ช่วยเข้าใจ Connection State ต่าง ๆ เช่น ESTABLISHED, TIME_WAIT, CLOSE_WAIT
- ช่วยปรับแต่ง TCP Parameters เพื่อเพิ่มประสิทธิภาพ
การมีเซิร์ฟเวอร์ VPS ที่มีประสิทธิภาพสูงจะช่วยให้กระบวนการ Handshake ทำงานได้รวดเร็ว ลด Latency ในการเชื่อมต่อ
คำถามที่พบบ่อย
ทำไมต้องมี 3 ขั้นตอน ทำ 2 ขั้นตอนไม่ได้หรือ
ต้องมี 3 ขั้นตอนเพราะทั้งสองฝ่ายต้อง Synchronize Sequence Number ของตัวเองและยืนยันของอีกฝ่าย หากใช้เพียง 2 ขั้นตอน จะมีฝ่ายหนึ่งที่ไม่ได้รับการยืนยัน ซึ่งอาจทำให้เกิดปัญหาในการรับส่งข้อมูล
Three-Way Handshake ใช้เวลานานเท่าไหร่
ในเครือข่ายปกติ กระบวนการทั้ง 3 ขั้นตอนใช้เวลาเพียงไม่กี่มิลลิวินาที ขึ้นอยู่กับ Latency ระหว่าง Client และ Server หากเซิร์ฟเวอร์อยู่ในประเทศเดียวกัน อาจใช้เวลาน้อยกว่า 10 มิลลิวินาที
ดู Three-Way Handshake ได้อย่างไร
สามารถใช้เครื่องมืออย่าง Wireshark จับแพ็กเก็ตเครือข่ายแล้วกรองด้วยตัวกรอง tcp.flags.syn==1 จะเห็นแพ็กเก็ต SYN, SYN-ACK และ ACK ตามลำดับ
HTTPS ก็ใช้ Three-Way Handshake ไหม
ใช้ HTTPS ทำงานบน TCP เช่นเดียวกับ HTTP ดังนั้นจะมี Three-Way Handshake เกิดขึ้นก่อนเสมอ แต่หลังจากนั้นจะมี TLS Handshake เพิ่มเติมเพื่อเข้ารหัสการเชื่อมต่อ ทำให้ HTTPS ใช้เวลาในการเชื่อมต่อเริ่มต้นนานกว่า HTTP เล็กน้อย
ต้องการเซิร์ฟเวอร์ที่มี Latency ต่ำและเสถียรสำหรับเว็บไซต์หรือแอปพลิเคชัน DriteStudio มีบริการ VPS และHosting ที่ตอบโจทย์ ติดต่อทีมงานเพื่อรับคำปรึกษาฟรี
DriteStudio
Digital infrastructure provider for VPS, web hosting, and colocation in Thailand
Operated by Craft Intertech (Thailand) Co., Ltd.