Kamis, 08 Maret 2018

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)

Pada kehidupan sehari-hari UDP dianalogikan seperti proses pengiriman pesan pada alat komunikasi telepon selular dengan menggunakan fasilitas SMS (Short Messsage Service) dimana kita tidak harus selalu berada ditempat untuk menunggu pesan karena pesan yang dikirim melalui fasilitas SMS akan sampai sekalipun telepon selular itu tidak diaktifkan. Sedang TCP dianalogikan seperti proses komunikasi langsung pada telepon dimana kita harus berada ditempat untuk menjawab langsung tele

Tidak ada komentar:

Posting Komentar