โพรโทคอลเดตาแกรมผู้ใช้ (UDP) ได้รับการแนะนำในปีพ. ศ. 2523 และเป็นหนึ่งในโปรโตคอลเครือข่ายที่เก่าแก่ที่สุดในการดำรงอยู่ เป็นโพรโตคอล OSI transport layer สำหรับไคลเอ็นต์ / เซิร์ฟเวอร์โดยใช้ Internet Protocol (IP) และเป็นทางเลือกหลักของ TCP
คำอธิบายสั้น ๆ เกี่ยวกับ UDP อาจอธิบายได้ว่าเป็นโปรโตคอลที่ไม่น่าเชื่อถือเมื่อเทียบกับ TCP แม้ว่าจะไม่มีข้อผิดพลาดในการตรวจสอบหรือแก้ไขข้อมูลที่เกี่ยวข้องกับการส่งข้อมูล แต่ก็เป็นความจริงที่ว่ามีแอพพลิเคชันสำหรับโปรโตคอลนี้ที่ TCP ไม่สามารถจับคู่ได้
UDP (บางครั้งเรียกว่า UDP / IP) มักใช้ในแอปพลิเคชันการประชุมทางวิดีโอหรือเกมคอมพิวเตอร์ที่ทำขึ้นมาเพื่อการทำงานแบบเรียลไทม์โดยเฉพาะ เพื่อให้ได้ประสิทธิภาพที่สูงขึ้นโปรโตคอลจะช่วยให้แต่ละแพ็คเก็ตถูกทิ้ง (โดยไม่ต้องลองใหม่) และแพ็คเก็ต UDP ที่จะได้รับตามลำดับที่ต่างจากที่ได้ถูกส่งไปตามที่แอพพลิเคชันกำหนดไว้
วิธีการส่งข้อมูลเมื่อเปรียบเทียบกับ TCP ช่วยให้มีค่าใช้จ่ายและความล่าช้าน้อยลง เนื่องจากมีการส่งแพ็คเก็ตไม่ว่าจะมีอะไรและไม่มีข้อผิดพลาดใด ๆ ที่เกี่ยวข้องกับการตรวจสอบก็จะส่งผลให้ใช้แบนด์วิธน้อยลง
UDP ดีกว่า TCP หรือไม่?
คำตอบสำหรับคำถามนี้ขึ้นอยู่กับบริบทเนื่องจาก UDP ช่วยให้สามารถทำงานได้ดีขึ้น แต่อาจมีคุณภาพแย่กว่า TCP
ตัวอย่างที่ดีของเมื่อ UDP อาจต้องการผ่าน TCP ก็คือเมื่อพูดถึงแอปพลิเคชันที่ทำงานได้ดีขึ้นโดยมีเวลาในการตอบสนองน้อยลงเช่นการเล่นเกมออนไลน์วิดีโอแชทหรือการส่งเสียง แพ็คเก็ตอาจสูญหายได้ แต่มีความล่าช้าโดยรวมน้อยลงเพื่อลดทอนคุณภาพการสูญเสียที่มีคุณภาพจะไม่ได้รับการตอบรับอย่างแท้จริง
ด้วยการเล่นเกมออนไลน์การเข้าชม UDP จะช่วยให้เกมดำเนินต่อไปแม้ว่าการเชื่อมต่อจะหายไปชั่วขณะหรือหากบางส่วนของแพ็คเก็ตถูกทิ้งด้วยเหตุผลใดก็ตาม หากมีการแก้ไขข้อผิดพลาดการเชื่อมต่อจะประสบความสูญเสียเวลาเนื่องจากแพ็คเก็ตกำลังพยายามป้อนอีกครั้งที่พวกเขาทิ้งไว้เพื่อชดเชยข้อผิดพลาด แต่ไม่จำเป็นในเกมวิดีโอสด เช่นเดียวกับการสตรีมแบบสด
อย่างไรก็ตามเหตุผลที่ UDP ไม่ดีนักเมื่อต้องถ่ายโอนไฟล์ก็คือคุณต้องใช้ไฟล์ทั้งหมดเพื่อให้ใช้งานได้อย่างถูกต้อง อย่างไรก็ตามคุณไม่จำเป็นต้องใช้แพ็คเก็ตวิดีโอหรือวิดีโอเพียงรายการเดียวเพื่อที่จะได้รับความเพลิดเพลิน
ทั้ง TCP และ UDP ในชั้น 4 ของรูปแบบ OSI และทำงานร่วมกับบริการต่างๆเช่น TFTP, RTSP และ DNS
datagrams UDP
การรับส่งข้อมูล UDP ทำงานผ่านสิ่งที่เรียกว่าดาต้าแกรมโดยมีดาต้าทุกชุดประกอบด้วยหน่วยข้อความเดี่ยว รายละเอียดส่วนหัวจะถูกจัดเก็บไว้ในแปดไบต์แรก แต่ส่วนที่เหลือเป็นข้อมูลที่เก็บจริง
ส่วนของส่วนหัว UDP datagram แต่ละรายการมีสองไบต์:
- หมายเลขพอร์ตต้นทาง
- หมายเลขพอร์ตปลายทาง
- ขนาดดาแกรม
- การตรวจสอบ
หมายเลขพอร์ต UDP อนุญาตให้แอพพลิเคชันที่ต่างกันรักษาช่องทางของตนเองสำหรับข้อมูลเช่น TCP ส่วนหัวพอร์ต UDP มีสองไบต์ยาว; หมายเลขพอร์ต UDP ที่ถูกต้องมีตั้งแต่ 0 ถึง 65535
ขนาดดาต้า UDP คือจำนวนไบต์ที่รวมอยู่ในส่วนหัวและข้อมูล เนื่องจากความยาวส่วนหัวเป็นขนาดที่กำหนดช่องนี้จึงติดตามความยาวของส่วนข้อมูลที่มีการกำหนดขนาดได้ (บางครั้งเรียกว่า payload)
ขนาดของดาต้าแกรมขึ้นอยู่กับสภาพแวดล้อมการทำงาน แต่มีขนาดได้สูงสุด 65535 ไบต์
checksums UDP ปกป้องข้อมูลจากการปลอมแปลงข้อมูล ค่า checksum เป็นการเข้ารหัสข้อมูลดาต้าที่คำนวณโดยผู้ส่งและภายหลังโดยตัวรับ หากดาต้าแต่ละตัวถูกแก้ไขหรือเกิดความเสียหายระหว่างการส่งโปรโตคอล UDP จะตรวจจับการคำนวณการตรวจสอบ checksum ไม่ตรงกัน
ใน UDP การตรวจสอบจะเป็นทางเลือกเมื่อเทียบกับ TCP ที่ต้องใช้ checksums