1.
Pengertian UDP ( User Datagram Protocol )
UDP
( User Datagram Protocol )adalah transport layer yang tidak andal ( unreliable
), connectionless dan merupakan kebalikan dari transport layer TCP. Dengan
menggunakan UDP, setiap aplikasi socket dapat mengirimkan paket – paket yang
berupa datagram. Istilah datagram diperuntukkan terhadap paket dengan koneksi
yang tidak andal ( unreliable service ). Koneksi yang andal selalu memberikan
keterangan apabila pengiriman data gagal, sedangkan koneksi yang tidak andal
tidak akan mengirimkan keterangan meski pengiriman data gagal.
UDP
tidak menjamin kevalidan data saat data sampai ke si penerima, jadi jika
terjadi pengiriman data maka tidak dijamin sampai tidaknya. Datagram yang
sampai mempunyai kemungkinan tidak sampai, rusak, duplikasi atau hilang tanpa
diketahui penyebabnya. Hal ini berarti bahwa suatu paket yang dikirim melalui
jaringan dan mencapai komputer lain tanpa membuat suatu koneksi. Sehingga dalam
perjalanan ke tujuan paket dapat hilang karena tidak ada koneksi langsung
antara kedua host, jadi UDP sifatnya tidak realibel, tetapi UDP adalah lebih
cepat dari pada TCP karena tidak membutuhkan koneksi langsung. Pada UDP juga
tidak ada pemecahan data, oleh karena itu tidak dapat dilakukan pengiriman data
dengan ukuran yang besar.
Penggunaan
UDP lebih tepat diperuntukkan untuk data – data kecil dengan jumlah banyak.
Dengan perilaku UDP yang tidak berusaha untuk mengecek apakah data yang dikirim
telah sampai atau tidak membuat UDP lebih cepat dan lebih efisien. Aplikasi –
aplikasi yang bersifat real time seringkali menggunakan UDP sebagai
protokolnya, hal tersebut dikarenakan paket yang hilang lebih bisa ditolerir
daripada paket yang datang terlambat ( contoh aplikasi realtime: Video
Streaming ). Tidak seperti TCP, UDP juga menyediakan jenis paket broadcast
(mengirim paket ke local network) dan multicast (mengirim paket ke semua
subscriber).
Dalam
UDP, client tidak membangun koneksi dengan server, melainkan client hanya
mengirim paket data ke server tanpa mengecek apakah server tersebut telah siap
atau tidak. Sama halnya dengan server tidak menerima koneksi dengan fungsi
accept, namun server hanya menjalankan perintah untuk menerima data, server
akan terus menunggu sampai data diterima.
UDP
merupakan komunikasi antar komputer yang dianalogikan sistem kerjanya seperti
komputer menulis sesuatu ke dalam file. Jadi, jika kita ingin mengirim dan
menerima paket data secara langsung dengan mengandalkan kecepatan yang lebih
tinggi dibandingkan TCP dengan kemungkinan paket yang hilang sebesar 1 – 5%,
kita dapat menggunakan UDP.
UDP
melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya
perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi
dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP
dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan.
Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk
nomor port TCP dan UDP.
UDP
mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence
dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte
tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu
penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini
berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat
dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan
(atau tidak dilakukan) oleh UDP atau TCP.
UDP
merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk
memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang
sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya
dengan byte tambahan yang lebih sedikit dalam header UDP.
2.
PROTOKOL UDP
UDP
( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP
mempunyai karateristik connectionless (tidak berbasis koneksi). Dengan kata
lain, data yang dikirimkan dalam bentuk packet tidak harus melakukan call setup
seperti pada TCP. Selain itu, data dalam protokol UDP akan dikirimkan sebagai
datagram tanpa adanya nomor identifier. Sehingga sangat besar sekali
kemungkinan data sampai tidak berurutan dan sangat mungkin hilang/rusak dalam
perjalananan dari host asal ke host tujuan. Tergantung pada host
penerima/tujuan, apakah akan meminta kembali pakcet yang rusak atau hilang.
Kelebihan
UDP adalah pada saat digunakan pada lightweight protokol, misalnya saja DNS
(Domain Name Service). Selain itu protokol UDP lebih fleksibel karena misalnya
saja terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat
dialihkan menghindari bagian yang mengalami kemacetan tersebut. Kemudian
apabila sebuah simpul(node) mengalami kerusakan/kegagalan, maka pacekt packet
berikutnya dapat menemukan jalan/rute pengganti yang melewati simpul tersebut.
1.
UDP adalah “datagram-oriented”, sedangkan TCP adalah “session-oriented”.
Datagram adalah paket informasi self-contained. UDP berhubungan dengan datagram
atau paket individu yang dikirim dari client ke server dan atau sebaliknya.
2.
UDP adalah connection-less. Client tidak membangun koneksi ke server sebelum
mengirim data, client hanya mengirim data secara langsung.
3.
UDP adalah protokol yang tidak andal, dalam artian :
*
Paket dapat hilang. UDP tidak dapat mendeteksinya, sehingga pada program
aplikasi client – server, metode transmisi ulang dikarenakan data rusak atau
hilang harus dilakukan pada level aplikasi. Biasanya aplikasi 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 aplikasilah yang mendeteksi hal ini dan melakukan transmisi
ulang seperlunya.
*
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.
*
Karena UDP tidak memerlukan mekanisme kontrol yang rumit, maka UDP dapat
dianggap lebih mudah dan lebih kecil ( dalam hal baris data dan memori ) untuk
diimplementasikan. Namun hal tersebut juga membuat UDP tidak cocok untuk
sejumlah besar data.
3.
PERBEDAAN UTP DAN TCP
Header
message UDP lebih sederhana dibandingkan TCP. Sebagaimana terlihat pada gambar
. Field padding dapat ditambahkan ke datagram untuk memastikan bahwa message
terdiri atas multiple 16-bit.
·
Port in UDP
Tidak
ada perbedaan fungsi yang signifikan antara port di UDP dan TCP. Seperti halnya
TCP, port dalam UDP menggunakan 16-bit integer, port – port yang bisa digunakan
adalah antara 1 sampai 65535. Port – port yang digunakan dibagi menjadi 3
bagian yaitu well-known port ( antara 1 – 1023), registered port ( 1024 – 49151
) dan ephemeral port ( 49152 – 65535 ).
·
Port in TCP
Aplikasi
client menggunakan nomor port untuk memberitahu mesin tujuan dan service TCP
mana yang diinginkannya. Server untuk aplikasi tertentu menggunakan well-known
port untuk mengetahui koneksi dari client yang meminta servicenya.
Port
– port yang digunakan dalam transport layer menggunakan 16-bit integer (0 –
65535), dengan satu sama lain harus berbeda (unique). Pada saat client ingin
membangun koneksi dengan Server, client harus mengetahui port dari server yang
dituju dan protokol apa yang digunakan (UDP or TCP or SCTP).
Client
di sisi sebaliknya, umumnya menggunakan ephemeral port atau biasa disebut
short-lived ports. Nomor pada port ephemeral yang digunakan oleh client
diberikan oleh Transport Protocol. Client tidak perlu tahu nomor port ephemeral
yang digunakan, yang jelas semua port ephemeral yang digunakan pasti bersifat
unique.
The
Internet Assigned Numbers Authority (IANA) telah mengelompokkan nomor - nomor
port yang dibagi menjadi tiga bagian :
1.
well-known ports: 0 – 1023. Pada range ini merupakan nomor – nomor port yang
telah digunakan oleh IANA. Contoh nya adalah Web server yang menggunakan port
80, FTP menggunakan 21 dll.
2.
Registered ports: 1024 – 49252. Nomor – nomor port pada range ini tidak
digunakan oleh IANA, IANA mengelompokkan port – port ini untuk dapat digunakan
sebagai server untuk TCP atau UDP. Contohnya antara port 6000 sampai 6063
digunakan untuk X Windows server. Aplikasi yang kita gunakan juga bisa
menggunakan port ini.
3.
Private ports: 49152 – 65535. Nomor – nomor port pada range ini adalah
ephemeral port. Namun tentu saja tidak menutup kemungkinan nilai ephemeral port
mempunya nilai diluar range ini, hal tersebut bergantung juga dari Sistem
Operasi yang digunakan.
Referensi dari : "http://rian-share4u.blogspot.com/2012/09/udp-user-datagram-protocol.html"
0 komentar:
Posting Komentar