ความแตกต่างระหว่าง TCP และ UDP คืออะไร
คุณอาจเห็นการอ้างอิงถึง TCP และ UDP เมื่อตั้งค่าการส่งต่อพอร์ตบนเราเตอร์หรือเมื่อกำหนดค่าซอฟต์แวร์ไฟร์วอลล์ โปรโตคอลทั้งสองนี้ใช้สำหรับข้อมูลประเภทต่างๆ.
TCP / IP เป็นชุดโปรโตคอลที่อุปกรณ์ใช้ในการสื่อสารผ่านอินเทอร์เน็ตและเครือข่ายท้องถิ่นส่วนใหญ่ มันถูกตั้งชื่อตามสองโปรโตคอลดั้งเดิมนั่นคือ Transmission Control Protocol (TCP) และ Internet Protocol (IP) TCP จัดเตรียมแอปพลิเคชันในการส่ง (และรับ) สตรีมข้อมูลที่สั่งซื้อและตรวจสอบข้อผิดพลาดผ่านเครือข่าย User Datagram Protocol (UDP) ถูกใช้โดยแอปเพื่อส่งข้อมูลที่เร็วขึ้นด้วยการตรวจสอบข้อผิดพลาด เมื่อกำหนดค่าฮาร์ดแวร์เครือข่ายหรือซอฟต์แวร์บางอย่างคุณอาจต้องทราบความแตกต่าง.
สิ่งที่พวกเขามีเหมือนกัน
ทั้ง TCP และ UDP เป็นโปรโตคอลที่ใช้สำหรับส่งบิตข้อมูลที่รู้จักกันในชื่อแพ็กเก็ตผ่านอินเทอร์เน็ต โปรโตคอลทั้งสองสร้างอยู่ด้านบนของโปรโตคอล IP กล่าวอีกนัยหนึ่งไม่ว่าคุณจะส่งแพ็กเก็ตผ่าน TCP หรือ UDP แพ็คเก็ตนั้นจะถูกส่งไปยังที่อยู่ IP แพ็คเก็ตเหล่านี้ได้รับการปฏิบัติเช่นเดียวกันเนื่องจากส่งต่อจากคอมพิวเตอร์ของคุณไปยังเราเตอร์ตัวกลางและไปยังปลายทาง.
TCP และ UDP ไม่ใช่โปรโตคอลเดียวที่ทำงานบน IP อย่างไรก็ตามพวกเขาจะใช้กันอย่างแพร่หลาย.
TCP ทำงานอย่างไร
TCP เป็นโปรโตคอลที่ใช้บ่อยที่สุดบนอินเทอร์เน็ต.
เมื่อคุณร้องขอเว็บเพจในเบราว์เซอร์คอมพิวเตอร์ของคุณจะส่งแพ็กเก็ต TCP ไปยังที่อยู่ของเว็บเซิร์ฟเวอร์โดยขอให้ส่งเว็บเพจดังกล่าวกลับมาหาคุณ เว็บเซิร์ฟเวอร์ตอบสนองโดยการส่งกระแสข้อมูลของแพ็คเก็ต TCP ซึ่งเว็บเบราว์เซอร์ของคุณประสานเข้าด้วยกันเพื่อจัดทำเว็บเพจ เมื่อคุณคลิกลิงก์ลงชื่อโพสต์ความคิดเห็นหรือทำสิ่งอื่นใดเว็บเบราว์เซอร์ของคุณจะส่งแพ็กเก็ต TCP ไปยังเซิร์ฟเวอร์และเซิร์ฟเวอร์จะส่งแพ็กเก็ต TCP กลับ.
TCP เป็นข้อมูลเกี่ยวกับแพ็คเก็ตความน่าเชื่อถือที่ส่งไปพร้อมกับ TCP ดังนั้นจึงไม่มีข้อมูลสูญหายหรือเสียหายระหว่างการขนส่ง นี่คือสาเหตุที่การดาวน์โหลดไฟล์ไม่เสียหายแม้ว่าจะมีเครือข่ายสะดุด แน่นอนหากผู้รับออฟไลน์โดยสมบูรณ์คอมพิวเตอร์ของคุณจะยอมแพ้และคุณจะเห็นข้อความแสดงข้อผิดพลาดว่าไม่สามารถสื่อสารกับโฮสต์ระยะไกลได้.
TCP สามารถทำได้สองวิธี อันดับแรกคือสั่งซื้อแพ็คเก็ตโดยกำหนดหมายเลข ประการที่สองเป็นการตรวจสอบข้อผิดพลาดโดยให้ผู้รับส่งการตอบกลับกลับไปยังผู้ส่งโดยแจ้งว่าได้รับข้อความแล้ว หากผู้ส่งไม่ได้รับการตอบสนองที่ถูกต้องก็สามารถส่งแพ็กเก็ตอีกครั้งเพื่อให้แน่ใจว่าผู้รับได้รับอย่างถูกต้อง.
Process Explorer และยูทิลิตี้ระบบอื่น ๆ สามารถแสดงประเภทการเชื่อมต่อที่กระบวนการทำได้ที่นี่เราสามารถเห็นเบราว์เซอร์ Chrome ที่มีการเชื่อมต่อ TCP แบบเปิดไปยังเว็บเซิร์ฟเวอร์ที่หลากหลาย.
UDP ทำงานอย่างไร
โพรโทคอล UDP ทำงานในลักษณะเดียวกับ TCP แต่มันจะตรวจสอบข้อผิดพลาดทั้งหมด การสื่อสารแบบไปกลับมาทั้งหมดนั้นทำให้เกิดความหน่วงแฝงและทำให้สิ่งต่าง ๆ ช้าลง.
เมื่อแอปใช้ UDP แพ็คเก็ตจะถูกส่งไปยังผู้รับ ผู้ส่งไม่รอเพื่อให้แน่ใจว่าผู้รับได้รับแพ็กเก็ต - มันยังคงส่งแพ็กเก็ตต่อไป หากผู้รับพลาดแพ็กเก็ต UDP สองสามตัวที่นี่และที่นั่นพวกเขาจะสูญเสียเพราะผู้ส่งจะไม่ส่งอีกครั้ง การสูญเสียค่าใช้จ่ายทั้งหมดนี้หมายความว่าอุปกรณ์สามารถสื่อสารได้เร็วขึ้น.
UDP ใช้เมื่อต้องการความเร็วและไม่จำเป็นต้องแก้ไขข้อผิดพลาด ตัวอย่างเช่น UDP มักใช้สำหรับการถ่ายทอดสดและเกมออนไลน์.
ตัวอย่างเช่นสมมติว่าคุณกำลังดูสตรีมวิดีโอสดซึ่งมักออกอากาศโดยใช้ UDP แทน TCP เซิร์ฟเวอร์เพิ่งส่งกระแสข้อมูลแพ็คเก็ต UDP ไปยังคอมพิวเตอร์อย่างสม่ำเสมอ หากคุณสูญเสียการเชื่อมต่อเป็นเวลาสองสามวินาทีวิดีโออาจหยุดค้างหรือน่ากลัวสักครู่แล้วข้ามไปยังการออกอากาศปัจจุบัน หากคุณประสบกับการสูญเสียแพ็คเก็ตเล็กน้อยวิดีโอหรือเสียงอาจผิดเพี้ยนไปชั่วขณะเนื่องจากวิดีโอยังคงเล่นต่อโดยไม่มีข้อมูลหายไป.
วิธีนี้ใช้ได้ผลในเกมออนไลน์ หากคุณพลาดแพ็กเก็ต UDP บางตัวอักขระของผู้เล่นอาจดูเหมือนเทเลพอร์ตทั่วแผนที่เมื่อคุณได้รับแพ็คเก็ต UDP ที่ใหม่กว่า ไม่มีจุดประสงค์ในการร้องขอแพ็คเก็ตเก่าหากคุณพลาดเพราะเกมดังกล่าวดำเนินต่อไปโดยไม่มีคุณ สิ่งที่สำคัญคือสิ่งที่เกิดขึ้นในขณะนี้บนเซิร์ฟเวอร์เกมไม่ใช่สิ่งที่เกิดขึ้นเมื่อสองสามวินาทีก่อน การแก้ไขข้อผิดพลาดของ TCP ช่วยให้การเชื่อมต่อเกมเร็วขึ้นและลดความหน่วงแฝง.
แล้วอะไรล่ะ?
แอปพลิเคชันที่ใช้ TCP หรือ UDP นั้นขึ้นอยู่กับผู้พัฒนาและขึ้นอยู่กับสิ่งที่แอปพลิเคชันต้องการ แอพส่วนใหญ่ต้องการการแก้ไขข้อผิดพลาดและความทนทานของ TCP แต่บางแอพพลิเคชั่นต้องการความเร็วและลดค่าใช้จ่ายของ UDP หากคุณใช้เครื่องมือวิเคราะห์เครือข่ายเช่น Wireshark คุณจะเห็นประเภทของแพ็กเก็ตที่เดินทางไปมา.
หากคุณไม่ใช่ผู้ดูแลระบบเครือข่ายหรือนักพัฒนาซอฟต์แวร์สิ่งนี้จะไม่ส่งผลกระทบใด ๆ กับคุณมากเกินไป หากคุณกำลังกำหนดค่าเราเตอร์หรือซอฟต์แวร์ไฟร์วอลล์และคุณไม่แน่ใจว่าแอปพลิเคชันใช้ TCP หรือ UDP คุณสามารถเลือกตัวเลือก“ ทั้งคู่” เพื่อให้เราเตอร์หรือไฟร์วอลล์ของคุณใช้กฎเดียวกันกับปริมาณการใช้ TCP และ UDP.