UDP dan Transportasi Tanpa Koneksi
User Datagram Protocol adalah transportasi tanpa koneksi yang ringan di Internet, hanya menambahkan sedikit lebih dari multipleksing proses dan checksum opsional pada layanan best-effort IP, sehingga aplikasi memperoleh overhead dan latensi minimal dengan mengorbankan jaminan keandalan.
Definition
User Datagram Protocol adalah protokol lapisan transport tanpa koneksi yang menyediakan pengiriman berorientasi pesan best-effort antar proses, menambahkan multipleksing berbasis port dan checksum opsional ke lapisan jaringan tetapi tidak menawarkan keandalan, pengurutan, kontrol aliran, atau kontrol kongesti.
Scope
Topik ini mencakup transportasi tanpa koneksi: format segmen UDP, multipleksing dan demultipleksing-nya melalui nomor port, checksum opsionalnya, dan alasan mengapa suatu aplikasi akan memilihnya daripada TCP — tidak ada penundaan pengaturan koneksi, tidak ada pembatasan kontrol kongesti, kontrol yang lebih halus atas apa dan kapan harus mengirim, dan overhead per paket yang kecil. Ini mensurvei aplikasi berbasis UDP yang umum dan tanggung jawab (seperti keandalan atau kontrol laju) yang beralih ke aplikasi. Ini tidak termasuk mekanisme keandalan dan kongesti TCP.
Core questions
- Layanan minimal apa yang ditambahkan UDP di atas IP?
- Bagaimana UDP melakukan multipleksing dan demultipleksing data menggunakan nomor port?
- Mengapa suatu aplikasi lebih memilih UDP daripada TCP?
- Tanggung jawab apa, seperti keandalan dan kontrol laju, yang beralih ke aplikasi dengan UDP?
- Jenis aplikasi apa yang umumnya menggunakan UDP?
Key concepts
- layanan tanpa koneksi
- orientasi datagram (pesan)
- format segmen UDP
- multipleksing/demultipleksing berbasis port
- checksum opsional
- overhead dan latensi rendah
- tanpa kontrol kongesti
- keandalan lapisan aplikasi
Key theories
- Layanan tanpa koneksi minimal
- UDP mengekspos layanan datagram best-effort IP ke aplikasi hampir tanpa perubahan, hanya menambahkan multipleksing berdasarkan port dan checksum opsional, sehingga tidak ada pengaturan, tidak ada status, dan tidak ada pemulihan otomatis — menukar jaminan dengan kesederhanaan dan latensi rendah.
- Transportasi yang dikendalikan aplikasi
- Dengan menghindari kontrol kongesti dan keandalan TCP, UDP memberikan aplikasi kontrol langsung atas waktu dan apa yang harus dikirim ulang, yang cocok untuk protokol waktu nyata dan kustom, tetapi mewajibkan aplikasi untuk menangani kehilangan dan menghindari membanjiri jaringan itu sendiri.
Clinical relevance
UDP mendukung layanan di mana latensi rendah atau kontrol halus lebih penting daripada pengiriman yang terjamin: pencarian DNS, suara dan video waktu nyata, game online, dan manajemen jaringan. Transportasi yang lebih baru seperti QUIC dibangun di atas UDP justru untuk mendapatkan kontrol atas transportasi sambil melewati batasan TCP, menjadikan transportasi tanpa koneksi sentral bagi jaringan latensi rendah modern.
History
UDP ditetapkan dalam RFC 768 (1980) sebagai transportasi minimal untuk aplikasi yang tidak memerlukan mekanisme TCP, ketika TCP dan IP dipisahkan menjadi protokol yang berbeda. Ini tetap tidak berubah secara esensial, dan perannya telah berkembang seiring dengan proliferasi aplikasi yang sensitif terhadap latensi dan ketika pengembang membangun fitur transportasi baru, termasuk protokol QUIC, di atasnya.
Key figures
- Jon Postel
- James F. Kurose
- Keith W. Ross
Related topics
Seminal works
- rfc768
- kurose2021
Frequently asked questions
- Jika UDP tidak dapat diandalkan, mengapa menggunakannya?
- Untuk banyak aplikasi, pengiriman cepat lebih penting daripada pengiriman sempurna. Suara dan video waktu nyata dapat mentolerir kehilangan sesekali tetapi tidak penundaan, DNS mendapat manfaat dari kueri pertukaran tunggal yang cepat, dan beberapa aplikasi mengimplementasikan keandalannya sendiri. Kurangnya pengaturan dan pembatasan kongesti UDP memberi mereka latensi yang lebih rendah dan kontrol yang lebih besar.
- Apakah UDP melakukan sesuatu di luar IP?
- Ya, tetapi sedikit. UDP menambahkan nomor port sehingga data mencapai proses aplikasi yang benar pada host (multipleksing dan demultipleksing), dan checksum opsional untuk mendeteksi korupsi. Selain itu, ia membiarkan pengiriman best-effort, tanpa koneksi IP tidak berubah.