Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> ระบบเครือข่าย

TCP กับ UDP

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

ผลการสืบค้นโดยรวม

TCP
  • รับประกันว่าข้อมูลจะมาถึงตามที่ส่ง

  • ข้อผิดพลาด-ตรวจสอบกระแสข้อมูล

  • ส่วนหัวขนาด 20 ไบต์อนุญาตให้มีข้อมูลฟังก์ชันเสริมขนาด 40 ไบต์

  • ช้ากว่า UDP

  • ดีที่สุดสำหรับแอปที่ต้องการความน่าเชื่อถือ

UDP
  • ไม่รับประกันว่าข้อมูลจะมาถึง

  • ไม่มีการตรวจสอบข้อผิดพลาดให้

  • ส่วนหัวขนาด 8 ไบต์อนุญาตเฉพาะข้อมูลฟังก์ชันบังคับเท่านั้น

  • เร็วกว่า TCP

  • ดีที่สุดสำหรับแอปที่ต้องการความเร็ว

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

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

ดีที่สุดสำหรับความน่าเชื่อถือ:TCP

TCP
  • รับประกันการส่งมอบข้อมูล

  • ติดตามแพ็กเก็ตข้อมูล

  • ตรวจสอบแพ็กเก็ตเพื่อหาข้อผิดพลาด

  • การควบคุมการไหล

  • ส่วนหัวขนาด 20 ไบต์พร้อมตัวเลือกเพิ่มเติม

UDP
  • ไม่มีการรับประกันการจัดส่ง

  • แพ็กเก็ตอาจสูญหายได้

  • ไม่มีการควบคุมการไหล

  • ส่วนหัวถูกจำกัดไว้ที่ 8 ไบต์

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

UDP ไม่รับประกันการส่งข้อมูล นอกจากนี้ แพ็กเก็ต UDP อาจสูญหายระหว่างการขนส่งหรือเสียหายได้

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

ความเร็วที่ดีที่สุด:UDP

TCP
  • ช้าเพราะใช้งานได้หลากหลาย

UDP
  • รวดเร็วเพราะมีฟังก์ชันจำกัด

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

ดีที่สุดสำหรับการใช้งาน:ขึ้นอยู่กับการใช้งาน

TCP
  • ดีที่สุดสำหรับเว็บ การถ่ายโอนไฟล์ อีเมล และเชลล์ที่ปลอดภัย

UDP
  • ดีที่สุดสำหรับ VPN, สตรีมวิดีโอ, VoIP, การถ่ายทอดสด และการเล่นเกมออนไลน์

เนื่องจาก TCP มีความน่าเชื่อถือ จึงดีที่สุดในสถานการณ์ที่ต้องการความน่าเชื่อถือสูงแต่ไม่ต้องการความเร็ว เช่น เว็บ อีเมล และ FTP

ความเร็วของ UDP ทำให้เหมาะสมที่สุดสำหรับการเล่นเกมออนไลน์ การถ่ายทอดสด การขุดอุโมงค์ VPN และการสตรีมวิดีโอ

รูปแบบส่วนหัว TCP

ส่วนหัว TCP แต่ละรายการมี 10 ฟิลด์บังคับรวม 20 ไบต์ (160 บิต) โดยสามารถเลือกใส่ช่องข้อมูลเพิ่มเติมที่มีขนาดสูงสุด 40 ไบต์ได้

TCP กับ UDP

8 บิต เท่ากับ 1 ไบต์

ส่วนหัว TCP ปรากฏในลำดับต่อไปนี้ โดยเริ่มต้นด้วยปลายทางการสื่อสารต้นทางและปลายทาง:

  • หมายเลขพอร์ต TCP ต้นทาง (2 ไบต์หรือ 16 บิต):หมายเลขพอร์ต TCP ต้นทางแสดงถึงอุปกรณ์ส่ง
  • หมายเลขพอร์ต TCP ปลายทาง (2 ไบต์หรือ 16 บิต):หมายเลขพอร์ต TCP ปลายทางคือปลายทางการสื่อสารสำหรับอุปกรณ์ที่รับ
  • หมายเลขลำดับ (4 ไบต์หรือ 32 บิต):ผู้ส่งข้อความใช้หมายเลขลำดับเพื่อทำเครื่องหมายลำดับของกลุ่มข้อความ
  • หมายเลขตอบรับ (4 ไบต์หรือ 32 บิต):ทั้งผู้ส่งและผู้รับใช้การตอบรับ ฟิลด์ตัวเลขเพื่อสื่อสารหมายเลขลำดับของข้อความที่เพิ่งได้รับหรือคาดว่าจะส่ง
  • ออฟเซ็ตข้อมูล TCP (4 บิต):ฟิลด์ออฟเซ็ตข้อมูลเก็บขนาดรวมของส่วนหัว TCP เป็นทวีคูณของสี่ไบต์ ส่วนหัวที่ไม่ได้ใช้ฟิลด์ TCP ที่เป็นตัวเลือกจะมีค่าออฟเซ็ตข้อมูลเท่ากับ 5 (แทน 20 ไบต์) ในขณะที่ส่วนหัวที่ใช้ฟิลด์ตัวเลือกขนาดสูงสุดจะมีค่าออฟเซ็ตข้อมูลเท่ากับ 15 (แทน 60 ไบต์)
  • ข้อมูลที่จองไว้ (3 บิต):ข้อมูลที่สำรองไว้ในส่วนหัว TCP มีค่าเป็นศูนย์เสมอ ฟิลด์นี้จะจัดขนาดส่วนหัวทั้งหมดให้มีขนาดเท่าทวีคูณของสี่ไบต์ ซึ่งมีความสำคัญต่อประสิทธิภาพของการประมวลผลข้อมูลคอมพิวเตอร์
  • ธงควบคุม (สูงสุด 9 บิต):TCP ใช้ชุดมาตรฐานหกชุดและแฟล็กการควบคุมแบบขยายสามรายการ ซึ่งแต่ละบิตแสดงถึงการเปิดหรือปิด เพื่อจัดการการไหลของข้อมูลในสถานการณ์เฉพาะ
  • ขนาดหน้าต่าง (2 ไบต์หรือ 16 บิต):ผู้ส่ง TCP ใช้ตัวเลขที่เรียกว่าขนาดหน้าต่าง เพื่อควบคุมปริมาณข้อมูลที่ส่งไปยังผู้รับก่อนที่จะต้องการการตอบรับเป็นการตอบแทน หากขนาดหน้าต่างเล็กเกินไป การถ่ายโอนข้อมูลเครือข่ายจะช้าโดยไม่จำเป็น หากขนาดหน้าต่างใหญ่เกินไป ลิงก์เครือข่ายอาจอิ่มตัว หรือเครื่องรับอาจไม่สามารถประมวลผลข้อมูลที่เข้ามาได้เร็วพอ ส่งผลให้ประสิทธิภาพการทำงานช้าลง อัลกอริทึมการทำหน้าต่างที่สร้างขึ้นในโปรโตคอลจะคำนวณค่าขนาดแบบไดนามิกและใช้ฟิลด์ส่วนหัว TCP เพื่อประสานการเปลี่ยนแปลงระหว่างผู้ส่งและผู้รับ
  • เช็คซัม TCP (2 ไบต์หรือ 16 บิต):ค่าเช็คซัมภายในส่วนหัว TCP ถูกสร้างขึ้นโดยผู้ส่งโปรโตคอลซึ่งเป็นเทคนิคทางคณิตศาสตร์เพื่อช่วยให้ผู้รับตรวจพบข้อความที่เสียหายหรือถูกดัดแปลง
  • ตัวชี้ด่วน (2 ไบต์หรือ 16 บิต):ฟิลด์ตัวชี้แบบเร่งด่วนมักจะถูกตั้งค่าเป็นศูนย์และถูกละเว้น แต่เมื่อใช้ร่วมกับแฟล็กการควบคุมตัวใดตัวหนึ่ง ฟิลด์นี้สามารถใช้เป็นออฟเซ็ตข้อมูลเพื่อทำเครื่องหมายชุดย่อยของข้อความว่าต้องการการประมวลผลที่มีลำดับความสำคัญ
  • ข้อมูลทางเลือก TCP (0 ถึง 40 ไบต์):การใช้ข้อมูล TCP ที่เป็นตัวเลือกรวมถึงการรองรับการตอบรับพิเศษและอัลกอริธึมการปรับขนาดหน้าต่าง

รูปแบบส่วนหัว UDP

เนื่องจาก UDP มีความสามารถจำกัดเมื่อเทียบกับ TCP ส่วนหัวจึงเล็กกว่า ส่วนหัว UDP มี 8 ไบต์ แบ่งออกเป็นสี่ฟิลด์ที่จำเป็นดังต่อไปนี้:

  • แหล่งที่มาของหมายเลขพอร์ต UDP (2 ไบต์):หมายเลขพอร์ต UDP ต้นทางแสดงถึงอุปกรณ์ส่ง
  • หมายเลขพอร์ต UDP ปลายทาง (2 ไบต์):หมายเลขพอร์ต UDP ปลายทางคือปลายทางการสื่อสารสำหรับอุปกรณ์ที่รับ
  • ความยาวของข้อมูล (2 ไบต์):ฟิลด์ความยาวใน UDP แสดงถึงขนาดรวมของแต่ละดาตาแกรม รวมทั้งส่วนหัวและข้อมูล ช่องนี้มีค่าตั้งแต่ 8 ไบต์ขึ้นไป ซึ่งเป็นขนาดส่วนหัวที่กำหนด จนถึงขนาดที่สูงกว่า 65,000 ไบต์
  • เช็คซัม UDP (2 ไบต์):คล้ายกับ TCP การตรวจสอบ UDP ช่วยให้ผู้รับตรวจสอบข้อมูลขาเข้าข้ามเพื่อหาบิตที่เสียหายของข้อความได้

คำตัดสินสุดท้าย

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

เวลาที่ UDP สว่างกว่า TCP คือเวลาที่ความเร็วมีความสำคัญอย่างยิ่ง เช่น ในการสตรีมวิดีโอ, VPN หรือเกมออนไลน์