อะไรคือความแตกต่างระหว่าง TCP และ UDP?

คุณอาจเคยเห็นการอ้างอิงถึง TCP และ UDP เมื่อตั้งค่าการส่งต่อพอร์ตบนเราเตอร์หรือเมื่อกำหนดค่าซอฟต์แวร์ไฟร์วอลล์ โปรโตคอลทั้งสองนี้ใช้สำหรับข้อมูลประเภทต่างๆ

TCP / IP เป็นชุดของโปรโตคอลที่อุปกรณ์ใช้ในการสื่อสารผ่านอินเทอร์เน็ตและเครือข่ายท้องถิ่นส่วนใหญ่ ได้รับการตั้งชื่อตามโปรโตคอลดั้งเดิมสองโปรโตคอลนั่นคือ Transmission Control Protocol (TCP) และ Internet Protocol (IP) TCP จัดเตรียมวิธีการส่งมอบ (และรับ) สตรีมข้อมูลที่สั่งซื้อและตรวจสอบข้อผิดพลาดผ่านเครือข่าย แอปใช้ User Datagram Protocol (UDP) เพื่อส่งกระแสข้อมูลที่เร็วขึ้นโดยการตรวจสอบข้อผิดพลาด เมื่อกำหนดค่าฮาร์ดแวร์เครือข่ายหรือซอฟต์แวร์คุณอาจจำเป็นต้องทราบความแตกต่าง

สิ่งที่พวกเขามีเหมือนกัน

ที่เกี่ยวข้อง: วิธีค้นหาที่อยู่ IP ส่วนตัวและสาธารณะของคุณ

ทั้ง TCP และ UDP เป็นโปรโตคอลที่ใช้ในการส่งบิตข้อมูลหรือที่เรียกว่าแพ็กเก็ตผ่านอินเทอร์เน็ต โปรโตคอลทั้งสองสร้างขึ้นบนโปรโตคอล IP กล่าวอีกนัยหนึ่งไม่ว่าคุณจะส่งแพ็กเก็ตผ่าน TCP หรือ UDP แพ็กเก็ตนั้นจะถูกส่งไปยังที่อยู่ IP แพ็กเก็ตเหล่านี้ได้รับการปฏิบัติในทำนองเดียวกันเนื่องจากถูกส่งต่อจากคอมพิวเตอร์ของคุณไปยังเราเตอร์ตัวกลางและไปยังปลายทาง

TCP และ UDP ไม่ใช่โปรโตคอลเดียวที่ทำงานบน IP อย่างไรก็ตามพวกเขาใช้กันอย่างแพร่หลายมากที่สุด

TCP ทำงานอย่างไร

TCP เป็นโปรโตคอลที่ใช้บ่อยที่สุดบนอินเทอร์เน็ต

เมื่อคุณขอเว็บเพจในเบราว์เซอร์คอมพิวเตอร์ของคุณจะส่งแพ็กเก็ต TCP ไปยังที่อยู่ของเว็บเซิร์ฟเวอร์โดยขอให้ส่งหน้าเว็บกลับมาให้คุณ เว็บเซิร์ฟเวอร์ตอบสนองโดยการส่งสตรีมของแพ็กเก็ต TCP ซึ่งเว็บเบราว์เซอร์ของคุณเชื่อมต่อเข้าด้วยกันเพื่อสร้างเว็บเพจ เมื่อคุณคลิกลิงก์ลงชื่อเข้าใช้แสดงความคิดเห็นหรือทำสิ่งอื่นใดเว็บเบราว์เซอร์ของคุณจะส่งแพ็กเก็ต TCP ไปยังเซิร์ฟเวอร์และเซิร์ฟเวอร์จะส่งแพ็กเก็ต TCP กลับ

TCP เป็นข้อมูลเกี่ยวกับความน่าเชื่อถือ - แพ็กเก็ตที่ส่งด้วย TCP จะถูกติดตามดังนั้นจึงไม่มีข้อมูลสูญหายหรือเสียหายระหว่างการขนส่ง นี่คือสาเหตุที่การดาวน์โหลดไฟล์ไม่เสียหายแม้ว่าเครือข่ายจะมีอาการสะอึกก็ตาม แน่นอนว่าหากผู้รับออฟไลน์โดยสมบูรณ์คอมพิวเตอร์ของคุณจะหยุดทำงานและคุณจะเห็นข้อความแสดงข้อผิดพลาดแจ้งว่าไม่สามารถสื่อสารกับโฮสต์ระยะไกลได้

TCP สามารถทำได้สองวิธี ขั้นแรกสั่งซื้อแพ็คเก็ตโดยการกำหนดหมายเลข ประการที่สองการตรวจสอบข้อผิดพลาดโดยให้ผู้รับตอบกลับไปยังผู้ส่งโดยแจ้งว่าได้รับข้อความแล้ว หากผู้ส่งไม่ได้รับคำตอบที่ถูกต้องผู้ส่งสามารถส่งแพ็กเก็ตอีกครั้งเพื่อให้แน่ใจว่าผู้รับได้รับอย่างถูกต้อง

ที่เกี่ยวข้อง: การทำความเข้าใจ Process Explorer

Process Explorer และยูทิลิตี้ระบบอื่น ๆ สามารถแสดงประเภทของการเชื่อมต่อที่กระบวนการสร้างขึ้นที่นี่เราจะเห็นเบราว์เซอร์ Chrome ที่มีการเชื่อมต่อ TCP แบบเปิดไปยังเว็บเซิร์ฟเวอร์ต่างๆ

UDP ทำงานอย่างไร

ที่เกี่ยวข้อง: ความหน่วงแฝงสามารถทำให้การเชื่อมต่ออินเทอร์เน็ตที่รวดเร็วแม้จะรู้สึกช้าได้อย่างไร

โปรโตคอล UDP ทำงานคล้ายกับ TCP แต่จะพ่นข้อมูลการตรวจสอบข้อผิดพลาดทั้งหมดออกไป การสื่อสารกลับไปกลับมาทั้งหมดทำให้เกิดเวลาในการตอบสนองซึ่งจะทำให้สิ่งต่างๆช้าลง

เมื่อแอปใช้ UDP แพ็กเก็ตจะถูกส่งไปยังผู้รับ ผู้ส่งไม่รอเพื่อให้แน่ใจว่าผู้รับได้รับแพ็กเก็ตเพียงแค่ส่งแพ็กเก็ตต่อไป หากผู้รับพลาดแพ็กเก็ต UDP สองสามแพ็กเก็ตที่นี่และที่นั่นแพ็กเก็ตเหล่านั้นหายไปผู้ส่งจะไม่ส่งแพ็กเก็ตอีกครั้ง การสูญเสียค่าใช้จ่ายทั้งหมดนี้หมายความว่าอุปกรณ์ต่างๆสามารถสื่อสารได้เร็วขึ้น

UDP ใช้เมื่อต้องการความเร็วและไม่จำเป็นต้องแก้ไขข้อผิดพลาด ตัวอย่างเช่น UDP มักใช้สำหรับการถ่ายทอดสดและเกมออนไลน์

ตัวอย่างเช่นสมมติว่าคุณกำลังดูสตรีมวิดีโอสดซึ่งมักออกอากาศโดยใช้ UDP แทน TCP เซิร์ฟเวอร์เพียงแค่ส่งแพ็กเก็ต UDP แบบคงที่ไปยังคอมพิวเตอร์ที่รับชม หากคุณขาดการเชื่อมต่อไปสองสามวินาทีวิดีโออาจค้างหรือกระตุกชั่วขณะแล้วข้ามไปยังบิตปัจจุบันของการออกอากาศ หากคุณพบการสูญเสียแพ็กเก็ตเล็กน้อยวิดีโอหรือเสียงอาจผิดเพี้ยนไปชั่วขณะเนื่องจากวิดีโอยังคงเล่นต่อไปโดยไม่มีข้อมูลขาดหายไป

สิ่งนี้ทำงานในลักษณะเดียวกันในเกมออนไลน์ หากคุณพลาดแพ็คเก็ต UDP บางตัวตัวละครของผู้เล่นอาจดูเหมือนจะเทเลพอร์ตข้ามแผนที่เมื่อคุณได้รับแพ็กเก็ต UDP ที่ใหม่กว่า ไม่มีประเด็นในการขอแพ็กเก็ตเก่าหากคุณพลาดเนื่องจากเกมกำลังดำเนินต่อไปโดยไม่มีคุณ สิ่งที่สำคัญคือสิ่งที่เกิดขึ้นตอนนี้บนเซิร์ฟเวอร์เกมไม่ใช่สิ่งที่เกิดขึ้นเมื่อไม่กี่วินาทีที่ผ่านมา การแก้ไขข้อผิดพลาดของ TCP ช่วยเพิ่มความเร็วในการเชื่อมต่อเกมและลดเวลาแฝง

แล้วไง?

ที่เกี่ยวข้อง: วิธีใช้ Wireshark เพื่อจับภาพกรองและตรวจสอบแพ็คเก็ต

การที่แอปพลิเคชันใช้ TCP หรือ UDP นั้นขึ้นอยู่กับผู้พัฒนาและตัวเลือกนั้นขึ้นอยู่กับสิ่งที่แอปพลิเคชันต้องการ แอปส่วนใหญ่ต้องการการแก้ไขข้อผิดพลาดและความทนทานของ TCP แต่บางแอปพลิเคชันต้องการความเร็วและลดค่าใช้จ่ายของ UDP หากคุณเปิดเครื่องมือวิเคราะห์เครือข่ายเช่น Wireshark คุณจะเห็นแพ็กเก็ตประเภทต่างๆที่เดินทางไปมา

เว้นแต่คุณจะเป็นผู้ดูแลระบบเครือข่ายหรือนักพัฒนาซอฟต์แวร์สิ่งนี้ไม่ควรส่งผลกระทบต่อคุณมากเกินไป หากคุณกำลังกำหนดค่าเราเตอร์หรือซอฟต์แวร์ไฟร์วอลล์และคุณไม่แน่ใจว่าแอปพลิเคชันใช้ TCP หรือ UDP โดยทั่วไปคุณสามารถเลือกตัวเลือก“ ทั้งสอง” เพื่อให้เราเตอร์หรือไฟร์วอลล์ของคุณใช้กฎเดียวกันกับทราฟฟิก TCP และ UDP