User Datagram Protocol (UDP)
- Pendahuluan
UDP adalah protocol yang sangat sederhana
dengan overhead yang minimum, jika suatu proses perlu untuk mengirim
pesan yang realatif kecil dan tidak terlalu mementingkan kehandalan, tepat jika
menggunakan UDP. Pengiriman pesan kecil menggunakan UDP membutuhkan interaksi
antara pengirim dan penerima lebih sedikit dibandingkan bila menggunakan TCP
atau SCTP.
Tabel 23.1 dibawah ini menunjukkkan beberapa nomor
port yang sering digunakan oleh UDP. Beberapa port dapat juga digunakan baik
oleh TCP maupun UDP.
Tabel 23.1 Port Yang digunakan
Gambar. Format User Datagram
- Operasi UDP
a.
Connectionless
Service
UDP memberikan layanan connectionless
services, yang artinya setiap user datagram yang dikirim adalah datagram yang independent, Sehingga tidak ada
hubungan antara datagram yang
berbeda meskipun mereka berasal dari proses yang sama dan program tujuan yang sama. User datagram juga
tidak dinomori, serta tidak ada koneksi yang dibangun dan tidak ada koneksi yang diputuskan, seperti pada TCP,
ini artinya setiap user datagram
dapat menuju tujuan yang berbeda-beda.
Salah satu hasil dari connectionless ini
adalah proses menggunakan UDP tidak dapat
mengirim aliran data dan mengaitkan user datagram satu sama lain. Dan juga request harus cukup kecil untuk
dimuat dalam satu datagram.
b.
Kontrol
Aliran dan Galat/Error
UDP sangat sederhana, protokol transport yang
unreliable. Tidak ada kontrol aliran dan juga window mechanism. Penerima hanya
akan dibanjiri dengan pesan yang datang. Sedangkan untuk kontrol error UDP juga
tidak ada kecuali hanya untuk checksum. Sehingga pengirim tidak tahu apakah
pesannya ganda atau hilang dijalan. Ketika penerima mendapatkan kesalahan pada
checksum maka user datagram akan diabaikan begitu saja secara diam-diam.
c.
Enkapsulasi
dan Dekapsulasi
Untuk mengirimkan pesan dari satu proses ke
proses yang lain, UDP mekapsulasi dan dekapsulasi pesan dalam IP datagram.
d.
Antrian/Queuing
Pada sisi client ketika proses dimulai maka
proses akan meminta nomer port dari sistem operasi. Beberapa implementasi
membuat antrian kedatangan dan pengiriman yang berkaitan untuk setiap proses,
namun ada juga yang hanya membuat antrian pengiriman saja yang berkaitan dengan
proses. Meskipun komunikasi melibatkan banyak proses namun port yang digunakan
tetap satu. Kebanyakan antrian dimulai oleh client, yang berfungsi selama
proses berjalan, ketika proses selesai maka antrian akan dihapus.
- Penggunaan UDP
Berikut ini
adalah beberapa penggunaan protokol UDP
a. UDP cocok untuk proses yang memerlukan
komunikasi request-respon yang sederhana dan sedikit perhatian terhadap kendali
aliran dan galat. Hal ini tidak lazim digunakan pada proses seperti FTP yang
perlu untuk mengirimkan data besar.
b. UDP cocok untuk proses dengan mekanisme
kendali aliran dan galat internal. seperti Trivial File Transfer Protokol
(TFTP) dimana TFTP memiliki kendali aliran dan galat sendiri pada prosesnya.
c. UDP adalah protokol transport yang cocok untuk
multicasting, Kemampuan multicasting sudah tertanam pada software UDP namun
tidak pada TCP.
d. UDP dapat digunakan pada pengaturan proses
seperti pada SNMP. UDP
dapat digunakan pada beberapa protokol untuk rutin update seperti Routing
Information Protocol.
- Perbandingan UDP dengan TCP
No | TCP | UDP |
1 | TCP (Transmission Control Protocol) adalah protokol yang berorientasi pada koneksi, sehingga memerlukan handshaking untuk memulai komunikasi, setelah koneksi dengan TCP terjalin memungkinkan pengiriman data secara bolak-balik (bi-directional). | UDP adalah protokol koneksi yang sederhana/simple. UDP tidak melakukan persiapan koneksi sebelum mengirimkan data. Komunikasi terjadi dengan pengiriman informasi secara satu arah dari sumber tanpa adanya pemeriksaan apakan sampai atau terbaca oleh penerima. |
2 | Reliable – TCP mengatur pesan untuk perkenalan (acknowledment), pengiriman ulang dan tengang waktu (time out). Jika terjadi pesan hilang selama perjalanan, server akan mengirim ulang bagian yang hilang. Secara umum TCP dirancang untuk tidak ada data yang hilang karena koneksi yang terputus dan habisnya tenggang waktu (multiple timeout) | Unreliable – Ketika sebuah pesan dikirim, maka tidak diketahui apakah sampai ke tujuan atau tidak. |
3 | Ordered, jika ada dua pesan dikirim secara berurutan maka pesan yang pertama harus diterima aplikasi terlebih dahulu, jika pecahan (segmen) data datang dengan urutan yang salah, maka TCP buffer akan menyimpannya dulu sehingga semua data bisa urut baru kemudian di berikan ke applikasi. | Not Ordered – Jika dua pesan dikirimkan maka tidak dipedulikan manakah yang terlebih dahulu sampai ke penerima. |
4 | Heavyweight - Sebelum memulai membutuhkan sedikitnya 3 paket pesan untuk memulai koneksi dengan socket. | Lightweight – pada UDP tidak ada pesan untuk pengurutan, tracking connection dan sebagainya. |
5 | Streaming - Data terbaca sebagai byte stream, tidak ada pembeda antara bagian-bagian yang dikirim. | Datagram – Paket dikirim secara individual dan di cek keadaanya ketika sampai. Setiap paket memiliki penanda yang membedakan satu dengan yang lain. |
sumber : te.ugm.ac.id
0 comments:
Post a Comment