โปรโตคอล Datagram ผู้ใช้

การทำความเข้าใจ UDP และวิธีการที่แตกต่างจาก TCP

โพรโทคอลเดตาแกรมผู้ใช้ (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