เพื่อทำความเข้าใจความแตกต่างระหว่าง TCP และ UDP คุณต้องมีความเข้าใจพื้นฐานเกี่ยวกับโปรโตคอล IP ก่อน บทความนี้จะอธิบายว่าโปรโตคอลเหล่านี้คืออะไรความแตกต่างระหว่าง UDP และ TCP และตัวอย่างของวิธีการใช้งานแต่ละอย่าง.
โปรโตคอล IP
อุปกรณ์ทุกชิ้นที่เชื่อมต่อกับอินเทอร์เน็ตได้รับการกำหนดที่อยู่ IP ที่ไม่ซ้ำกันซึ่งประกอบด้วยตัวเลขและทศนิยม เช่นเดียวกับที่อยู่ทางกายภาพที่อยู่ IP ช่วยให้คอมพิวเตอร์ที่เชื่อมต่ออินเทอร์เน็ตเพื่อค้นหาซึ่งกันและกันและส่งข้อมูลไปกลับมาฟังก์ชั่นที่เรียกว่า “การกำหนดเส้นทาง” หากไม่มีโปรโตคอล IP เราจะไม่มีอินเทอร์เน็ต.
โปรโตคอลอินเทอร์เน็ตทำงานโดยแยกข้อมูลออกเป็นชิ้นเล็ก ๆ ที่เรียกว่า ดาต้าแกรม หรือ แพ็คเก็ต. จากนั้นจะส่งชิ้นข้อมูลทางอินเทอร์เน็ตจากที่อยู่ IP หนึ่งไปยังอีกที่หนึ่ง.
นอกเหนือจากข้อมูลแล้วแพ็คเก็ต IP ยังมีข้อมูลการกำหนดเส้นทางเช่นที่อยู่ IP ปลายทางที่พวกเขากำลังมุ่งหน้าไป ข้อมูลนี้เรียกว่า“หัวข้อ.”
เมื่อแพ็กเก็ตออกจากอุปกรณ์ของคุณมันจะไปที่ ประตู. เกตเวย์นี้เป็นคอมพิวเตอร์อีกเครื่องหนึ่งที่สามารถดูที่อยู่ IP บางส่วนในอินเทอร์เน็ต หากที่อยู่ IP ปลายทางของแพ็กเก็ตไม่ใช่ที่ที่เกตเวย์สามารถมองเห็นได้แพ็กเก็ตจะถูกส่งต่อไปยังเกตเวย์ถัดไปขึ้นบรรทัด กระบวนการนี้ซ้ำจนกว่าแพ็กเก็ตจะไปถึงเกตเวย์ที่รับรู้ที่อยู่ IP ปลายทางว่าเป็นของมัน โดเมน. เกตเวย์นั้นส่งต่อแพ็คเก็ตไปยังคอมพิวเตอร์ที่มีที่อยู่ที่ระบุไว้ในส่วนหัว.
เนื่องจากข้อมูลถูกแบ่งออกเป็นแพ็กเก็ตจึงไม่จำเป็นต้องเดินทางในเส้นทางเดียวกันผ่านทางอินเทอร์เน็ตหรือแม้แต่มาถึงตามลำดับ.
ทุกครั้งที่คุณใช้อินเทอร์เน็ตโอกาสที่คุณจะใช้โปรโตคอล IP มันไม่เชื่อเรื่องชนิดของข้อมูลที่ถูกแลกเปลี่ยนดังนั้นมันจึงถูกใช้กับทุกอย่างไม่ว่าจะเป็นข้อความรูปภาพเสียงวิดีโอเกมอีเมลอีเมลข้อความไฟล์และอื่น ๆ.
แอปพลิเคชั่นส่วนใหญ่ในปัจจุบันใช้โปรโตคอลอินเทอร์เน็ตรุ่นที่สี่ที่รู้จักกันในชื่อ IPv4. คุณอาจเคยได้ยินเกี่ยวกับการเปลี่ยน IPv4 ของ, IPv6. ปัจจุบันทั้งสองรุ่นทำงานพร้อมกัน แต่การใช้ IPv6 กำลังเพิ่มขึ้นและในที่สุดจะแทนที่ IPv4 โดยสิ้นเชิง เหตุผลก็คือโลกนี้มีที่อยู่ IPv4 หมด – นักประดิษฐ์ไม่ได้คาดการณ์ว่าจะมีการแพร่กระจายของอินเทอร์เน็ตมากเท่าที่มันมีอยู่ในปัจจุบัน IPv6 อนุญาตให้มีที่อยู่ IP ได้มากขึ้นรวมถึงการอัปเกรดทางเทคนิคอื่น ๆ ที่เราจะไม่เจาะเข้าไปที่นี่.
ดูสิ่งนี้ด้วย: IPV6 กับ IPV4
TCP
TCP มาก่อน UDP มันหมายถึงโปรโตคอลการควบคุมการส่ง คุณมักจะเห็นมันถูกเรียกว่า TCP / IP, แม้ว่าจะไม่มีความแตกต่างระหว่างสิ่งนั้นกับ TCP.
โพรโทคอล IP แบ่งข้อมูลเป็นแพ็คเก็ตและส่งไปยังปลายทางผ่านอินเทอร์เน็ต แต่คุณจะนำแพคเก็ตเหล่านั้นกลับมารวมกันได้อย่างไรเมื่อพวกเขามาถึง นั่นคือสิ่งที่ TCP คิดค้นขึ้นมา เมื่อแพ็กเก็ตมาถึงปลายทางแล้วอุปกรณ์เหล่านั้นจะถูกประกอบขึ้นใหม่โดยอุปกรณ์ที่รับสัญญาณกลับสู่รูปแบบเดิม.
TCP ต้องการให้ทั้งสองฝ่ายสื่อสารเพื่อสร้างการเชื่อมต่อและส่งข้อมูล TCP รับประกันว่าผู้รับจะได้รับแพ็คเก็ตตามลำดับ หมายเลขลำดับ รวมอยู่ในส่วนหัว ผู้รับจะส่งข้อความกลับไปยังผู้ส่งสำหรับแต่ละแพ็คเก็ต, ยอมรับ ที่พวกเขาได้รับ แพ็คเก็ตใด ๆ ที่ผู้รับไม่ยอมรับจะถูกส่งอีกครั้ง แพ็กเก็ตถูกตรวจสอบหาข้อผิดพลาดโดยใช้ การตรวจสอบ, ซึ่งรวมอยู่ในส่วนหัวด้วย.
เนื่องจากสิ่งนี้กลับไปกลับมาระหว่างไคลเอนต์และเซิร์ฟเวอร์, TCP สามารถมั่นใจได้ว่าการแลกเปลี่ยนข้อมูลทางอินเทอร์เน็ตที่สมบูรณ์เชื่อถือได้ กล่าวง่ายๆคือสามารถรับประกันว่าข้อมูลจะมาถึงอย่างที่ถูกส่งไปโดยไม่มีการดัดแปลงหรือส่วนที่ขาดหายไป สิ่งนี้ทำให้ TCP มีประโยชน์สำหรับแอปพลิเคชันจำนวนมากและเป็นโปรโตคอลที่ใช้บ่อยที่สุดบนอินเทอร์เน็ต เมื่อใดก็ตามที่คุณคลิกลิงก์ดาวน์โหลดไฟล์ในเว็บเบราว์เซอร์ของคุณอัปเดตแอปพลิเคชั่นหรือเปิดอีเมลอาจใช้ TCP.
อย่างไรก็ตามการสื่อสารแบบไปข้างหลังนั้นทำให้ TCP ช้าลง หากแพ็กเก็ตหายไปการดำเนินการทั้งหมดจะถูกระงับจนกว่าจะมีการส่งอีกครั้ง แม้ว่านี่จะแปลเป็นมิลลิวินาทีเท่านั้นในชีวิตจริง แต่ก็สามารถส่งผลกระทบต่อประสิทธิภาพการทำงานของแอพพลิเคชั่นที่ต้องการแบนด์วิดท์สูง ป้อน UDP.
UDP
UDP ย่อมาจาก User Datagram Protocol จำได้ว่าดาตาแกรมและแพ็คเก็ตนั้นเหมือนกันมากหรือน้อย UDP ซึ่งสร้างขึ้นบนโพรโทคอล IP ทำงานคล้ายกับ TCP แต่เป็น ง่ายและเร็วขึ้น.
ความแตกต่างที่สำคัญคือ UDP ไม่ต้องการให้ผู้รับรับทราบ ที่ได้รับแต่ละแพ็คเก็ต แพ็คเก็ตใด ๆ ที่สูญหายระหว่างการขนส่งจะไม่ส่งผล สิ่งนี้ทำให้คอมพิวเตอร์สามารถสื่อสารได้เร็วขึ้น แต่ข้อมูลที่ได้รับอาจไม่ตรงกับข้อมูลที่ส่ง.
แพ็กเก็ต UDP ไม่มีหมายเลขลำดับดังนั้นจึงสามารถเรียงลำดับได้ แม้ว่าจะมีเช็คซัมดังนั้นแพ็คเก็ตที่มาถึงจะได้รับการคุ้มครองจากการทุจริตหรือการดัดแปลงในการขนส่ง.
ด้วยเหตุผลนี้ UDP จึงถูกใช้เมื่อต้องการความเร็วมากกว่าการแก้ไขข้อผิดพลาด แอปพลิเคชั่นทั่วไปบางอย่างรวมถึงการสตรีมวิดีโอและเพลงการถ่ายทอดสดการโทรด้วยเสียงและวิดีโอ (VoIP) และเกมออนไลน์ ในสถานการณ์เหล่านี้มันไม่สำคัญเลยถ้าคุณเสียเฟรมวิดีโอหรือการกดปุ่มเป็นครั้งคราวซึ่งโปรดปราน UDP การรับส่งข้อมูล DNS มักจะแลกเปลี่ยนผ่านโปรโตคอล UDP.
ดูสิ่งนี้ด้วย: คำแนะนำเกี่ยวกับ UDP
OpenVPN ผ่าน UDP และ TCP
แอพ VPN ยอดนิยมหลายตัวที่ใช้โปรโตคอล OpenVPN ทำให้ผู้ใช้สามารถเลือกระหว่างโปรโตคอล UDP และ TCP ไม่ดีกว่าผู้ใช้รายอื่นและผู้ใช้ปลายทางส่วนใหญ่โดยเฉพาะจะไม่เห็นความแตกต่าง ดังที่เราได้กล่าวไว้ก่อนหน้านี้ UDP จะให้ความเร็วที่ดีกว่า แต่จะแตกต่างกันไปในแต่ละกรณี.
ในบางกรณีจำเป็นต้องใช้วิธีการหนึ่งหรืออย่างใดอย่างหนึ่งเพื่อเลี่ยงผ่านไฟร์วอลล์ UDP และ TCP สามารถทำงานกับพอร์ตต่าง ๆ และไฟร์วอลล์บางตัวอาจขึ้นบัญชีดำพอร์ต UDP ปกติของ OpenVPN หากคุณพบว่าการเชื่อมต่อ OpenVPN ของคุณถูกปิดกั้นเนื่องจากมีการเซ็นเซอร์ลองเปลี่ยนไปใช้โปรโตคอลอื่น โดยทั่วไปแล้ว TCP จะดีกว่าสำหรับสิ่งนี้.
UDP กับ TCP
นี่คือสรุปข้อแตกต่างที่สำคัญบางประการระหว่าง UDP และ TCP:
UDP:
- ใช้สำหรับการสตรีมวิดีโอเกม VoIP การถ่ายทอดสด
- เร็วขึ้นและต้องใช้ทรัพยากรน้อยลง
- แพ็คเก็ตไม่จำเป็นต้องมาถึงตามลำดับ
- ช่วยให้แพ็คเก็ตที่ขาดหายไป; ผู้ส่งไม่สามารถทราบได้ว่าได้รับแพ็กเก็ตหรือไม่
TCP:
- โปรโตคอลที่ใช้กันอย่างแพร่หลายบนอินเทอร์เน็ต
- TCP รับประกันว่าไม่มีแพ็กเก็ตหายไปและข้อมูลทั้งหมดที่ส่งไปยังผู้รับ
- TCP ส่งแพ็กเก็ตตามลำดับเพื่อให้สามารถรวมเข้าด้วยกันได้อย่างง่ายดาย
- ช้าลงและต้องใช้ทรัพยากรมากขึ้น
หากคุณเข้าใจเรื่องตลกต่อไปนี้แสดงว่าคุณมีความเข้าใจพื้นฐานของความแตกต่างระหว่าง TCP และ UDP.
“ Breitling Wingwalkers” โดย Agnn Foon ได้รับใบอนุญาตภายใต้ CC BY 2.0
“ Internet layering” โดย Jsoon eu ได้รับอนุญาตภายใต้ CC BY-SA 3.0