คำนิยาม
UDP (User Datagram Protocol) เป็นโปรโตคอลหลักในชั้นการขนส่งของ TCP/IP suite มันให้บริการการสื่อสารที่ไม่มีการเชื่อมต่อซึ่งไม่มีการรับประกันความน่าเชื่อถือ การจัดลำดับ หรือกลไกการควบคุมการไหล
ลักษณะของโปรโตคอล
- ไม่มีการเชื่อมต่อ: ไม่ต้องมีการจับมือก่อนการส่งข้อมูล
- ไม่เชื่อถือได้: ไม่มีการยืนยันการรับแพ็กเก็ตหรือการส่งซ้ำ
- ค่าใช้จ่ายต่ำ: หัวขนาด 8 ไบต์เมื่อเปรียบเทียบกับหัวขนาด 20 ไบต์ของ TCP
- ไม่มีการควบคุมความแออัด: แพ็กเก็ตอาจถูกทิ้งภายใต้การจราจรที่หนาแน่น
- ไม่มีสถานะ: แต่ละ Datagram จะถูกประมวลผลโดยอิสระ
โครงสร้างหัว UDP (8 ไบต์)
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source Port | Destination Port|
+--------+--------+--------+--------+
| Length | Checksum |
+--------+--------+--------+--------+
| Data... |
+----------------------------------+
การใช้งานทั่วไป
- บริการเรียลไทม์: VoIP (เช่น SIP/RTP), การสตรีมวิดีโอ
- การสอบถาม DNS: การแก้ไขอย่างรวดเร็วด้วยการแลกเปลี่ยนแพ็กเก็ตเดียว
- เกมออนไลน์: การอัปเดตตำแหน่งผู้เล่นที่มีความสำคัญต่อความล่าช้า
- ข้อมูล IoT/เซ็นเซอร์: รายงานสถานะเป็นระยะที่การสูญเสียสามารถยอมรับได้
- มัลติคาสต์/กระจายเสียง: การส่งข้อมูลจากหนึ่งไปยังหลายอย่างมีประสิทธิภาพ
ข้อดีเมื่อเปรียบเทียบกับ TCP
ฟีเจอร์ | UDP | TCP |
---|---|---|
ความเร็ว | เร็วกว่า (ไม่มีการจับมือ/ACK) | ช้ากว่า (การตั้งค่าการเชื่อมต่อ) |
ความน่าเชื่อถือ | ไม่มี (การส่งมอบที่ดีที่สุด) | การส่งมอบที่รับประกัน |
การจัดลำดับ | ไม่มีการบังคับลำดับ | ลำดับไบต์ที่เข้มงวด |
การควบคุมความแออัด | ไม่มี | การปรับขนาดหน้าต่างตามการใช้งาน |
ข้อพิจารณาเกี่ยวกับประสิทธิภาพ
- การสูญเสียแพ็กเก็ต: สามารถยอมรับได้ในแอปพลิเคชันเรียลไทม์ (เช่น แพ็กเก็ต VoIP ที่หายไป)
- การจัดการ Jitter: แอปพลิเคชันต้องดำเนินการจัดเก็บข้อมูลของตนเอง
- การรับรู้ MTU: Datagram ขนาดใหญ่สามารถถูกแบ่งที่ชั้น IP
- Checksum เป็นทางเลือก: IPv4 อนุญาตให้มี checksum เป็นศูนย์ (มีความเสี่ยงของข้อมูลที่เสียหาย)
คุณอาจชอบ