UDP (User Datagram Protocol)
UDP (User Datagram Protocol)

UDP (User Datagram Protocol) adalah
protokol transport yang digunakan secara luas pada lapisan di atas IP. Seperti
TCP, UDP menggunakan port dan menyediakan konektivitas end-to-end antara
aplikasi client dan server. UDP merupakan protokol yang kecil dan efisien.
Tetapi, berbeda dengan TCP, UDP tidak menjamin pengiriman – aplikasi harus
mengimplementasikan mekanisme error recovery-nya sendiri — jika memerlukan
mekanisme tersebut. Hal ini membuatnya cocok untuk beberapa aplikasi, tetapi
tidak untuk beberapa yang lain.
Dalam
beberapa hal, UDP mirip dengan TCP :
UDP adalah
protokol transport : UDP hanya
berhubungan dengan komunikasi antara dua end point (misalnya aplikasi client
pada mesin Anda, dan aplikasi server pada mesin remote). Intermediate router
tidak berhubungan dengan data UDP dalam paket yang dikirimkannya – router hanya
beroperasi pada layer IP atau network lower-down.
UDP
menggunakan port untuk membedakan antara trafic dari banyak aplikasi UDP pada
mesin yang sama, dan untuk mengirim paket yang tepat ke aplikasi yang sesuai
(ini disebut demultiplexing). UDP dan port-nya menyediakan interface antara
program aplikasi dan layar networking IP.
UDP
berbeda dari TCP dalam beberapa hal penting, karena:
UDP adalah
“datagram oriented”, TCP adalah “session-oriented”. Datagram adalah paket
informasi self-contained; UDP berhubungan dengan datagram atau paket individu
yang dikirim dari client ke server, atau sebaliknya.
UDP adalah
connectionless. Client tidak membangun koneksi ke server sebelum mengirim data
– client hanya mengirim data secara langsung.
UDP “tidak
andal” dalam pengertian jaringan formal :
Paket
dapat hilang. UDP tidak dapat mendeteksinya.
Program
aplikasi – client atau server – (sebagai kebalikan TCP/IP stack sendiri) harus
mendeteksi paket yang hilang dan menangani transmisi ulang, dan lain-lain.
Aplikasi sering menunggu hingga timeout habis, dan kemudian mencoba lagi.
Paket
dapat mengalami kerusakan. Paket UDP berisi checksum semua data dalam paket.
Checksum ini memungkinkan UDP mendeteksi kapan suatu paket mengalami kerusakan.
Jika hal ini terjadi, maka paket tersebut dikeluarkan, dan sebagaimana biasa
aplikasi-lah yang harus mendeteksi hal ini dan melakukan transmisi ulang
sepenuhnya.
Operasi
checksum ini dapat dihentikan, dan beberapa aplikasi melakukannya untuk alasan
unjuk kerja. Akan tetapi hal ini dapat berarti paket yang rusak tidak
terdeteksi atau layer aplikasi harus melakukan pemeriksaan integritas data
sendiri, hal ini merupakan false economy (penghematan finansial yang sebenarnya
menuju pada pengeluaran yang lebih besar)
Karena
UDP adalah datagram-oriented dan pada level protokol setiap paket berdiri
sendiri, maka UDP tidak memiliki konsep paket sesuai urutan, yang selanjutnya
berarti tidak memerlukan nomor urut pada paket tersebut.
Sejak
pertama kali dikembangkan, TCP telah dilengkapi dengan mekanisme yang sangat
canggih untuk mengendalikan kecepatan aliran dalam koneksinya, untuk
menghindari kemacetan dan kehilangan paket yang berlebihan. Karena UDP hanya
mengirim paket tunggal, yang berdiri sendiri, maka UDP tidak memerlukan
mekanisme kontrol yang rumit. Hal ini membuat UDP lebih mudah dan lebih kecil
(dalam baris data dan memori) untuk diimplementasikan, tetapi juga membuatnya
tidak cocok untuk sejumlah besar data.
Jika suatu
aplikasi diimplementasikan menggunakan UDP, bukannya TCP, maka aplikasi
tersebut harus memiliki sendiri deteksi paket-hilang, retry, dan lain
sebaginya.
UDP
mewarisi sifat IP, yaitu connectionless dan tidak andal. UDP sebagai layer
transport sangat tipis di atas IP untuk memberikan akses aplikasi ke fasilitas
networking dasar IP, tanpa menambahkan fungsionalitas tambahan yang sangat
banyak selain port dan checksum. (sebaliknya, TCP juga merupakan layer transport
tetapi tidak melakukan banyak hal selain komunikasi paket IP dasar)
Comments
Post a Comment