Jump to content

UDP

From Wiki

UDP merupakan protokol yang bersifat connectionless oriented. Artinya, saat melakukan pengiriman data tidak dilakukan proses handshaking, tidak ada sequencing datagram, dan tidak ada garansi bahwa paket data (datagram) yang dikirim akan tiba dengan selamat. UDP juga tidak menyediakan fitur koreksi kesalahan. (Sofana, 2009)

UDP hanya menyediakan fasilitas multiplexing aplikasi (via nomor port) dan integritas verifikasi/deteksi kesalahan (via checksum) yang disediakan dalam header dan payload. Deteksi kesalahan dalam UDP hanya bersifat optional. Untuk menghasilkan data yang reliable, haruslah dibantu dan dilakukan ditingkat aplikasi. Tidak bisa dikerjakan ditingkat protokol UDP. Pengiriman paket dilakukan berdasarkan best effort basis.

UDP merupakan protokol yang juga berada pada layer transport selain TCP. Protokol ini bersifat connectionless dan unreliable dalam pengiriman data. Connectionless berarti tidak diperlukannya suatu bentuk hubungan terlebih dahulu untuk mengirimkan data. Unreliable berarti pada protokol ini tidak dijamin akan sampai pada tujuan yang benar dan dalam kondisi yang benar pula. Kehandalan pengiriman data pada protokol ini menjadi tanggung jawab dari program aplikasi pada layer atasnya. Jika dibandingkan dengan TCP, UDP adalah protokol yang lebih sederhana dikarenakan proses yang ada didalamnya lebih sedikit. Dengan demikian aplikasi yang memanfaatkan UDP sebagai protokol transport dapat mengirimkan data tanpa melalui proses pembentukan koneksi terlebih dahulu. Hal ini pun terjadi pada saat mengakhiri suatu koneksi, sehingga dalam banyak hal proses yang terjadi sangatlah sederhana dibanding jika mengirimkan data melalui protokol TCP. (Aldya Dwiki, 2015).

Beberapa hal yang harus diperhatikan jika suatu program aplikasi akan menggunakan protokol UDP sebagai protokol transport:

  • Tidak ada pembentukan koneksi. Protokol UDP hanya mengirim informasi begitu saja tanpa melakukan proses awal sebelumnya.
  • Tidak ada pengkondisian koneksi. Protokol UDP tidak melakukan penentuan kondisi koneksi yang berupa parameter-parameter seperti buffer kirim dan terima, nomor urutan segment, dan acknowledgement.
  • Memiliki header kecil. Protokol UDP meiliki 8 byte header dibanding 20 header byte pada TCP.
  • Tidak ada pengaturan laju pengiriman. Protokol UDP hanya menekankan kecepatan kirim pada laju program aplikasi dalam menghasilkan data dan bandwidth akses menuju Internet.

Berikut ini penjelasan dari user datagram dan format header UDP:

  • Source port number: Ini adalah nomor port yang digunakan dalam proses transmisi pada source host. Memiliki panjang 16 bit dimana jangkauan nomor port mulai dari 0 sampai 65,535. Jika source host adalah client (client mengirim request), nomor port, pada kebanyakan kasus, adalah sebuah nomor port ephemeral yang diminta proses dan dipilih oleh software UDP yang berjalan di source host. Jika source host adalah server (server mengirim balasan), nomor port, pada kebanyakan kasus, adalah nomor port well-known.
  • Destination port number: Ini adalah nomor port yang digunakan dalam proses transmisi pada destination host. Memiliki panjang 16 bit juga. Jika destination host adalah server (client mengirim request), nomor port, pada kebanyakan kasus, adalah sebuah nomor port well-known. Jika destination host adalah client (server mengirim balasan), nomor port, pada kebanyakan kasus, adalah nomor port ephemeral. Pada kasus ini, server menyalin nomor port ephemeral yang diterima dalam paket request.
  • Length. Bagian ini adalah field 16 bit yang mendefinisikan panjang total user datagram, header ditambah data. 16 bit dapat didefinisikan sebuah panjang total 0 sampai 65,535 byte. Bagaimanapun juga, panjang total harus lebih kecil karena user datagram UDP disimpan dalam sebuah datagram IP dengan panjang total 65,535 byte. Panjang field pada user datagram UDP sesungguhnya tidak terlalu penting. Satu user datagram dienkapsulasi dalam datagram IP. Terdapat field dalam datagram IP yang mendefinisikan panjang total. Ada field lain dalam datagram IP yang mendefinisikan panjang header. Jadi ketika kita mengurangi nilai field kedua dengan yang pertama, kita mendapatkan panjang datagram UDP yang dienkapsulasi di dalam datagram IP.
  • Checksum. Field ini digunakan untuk mendeteksi kesalahan keseluruhan user datagram (header ditambah data).

Overhead yang diperlukan untuk mengirimkan datagram atau paket UDP sangatlah kecil. Sehingga UDP cocok untuk digunakan pada aplikasi yang membutuhkan query dan response cepat. Contoh layanan yang cocok untuk UDP yaitu transmisi audio/video, seperti: VoIP, audio/video streaming. UDP kurang baik jika digunakan untuk mengirimkan paket berukuran besar. Karena dapat memperbesar peluang jumlah packet loss atau hilang/rusak. (Sofana, 2009)

Source