Masih dalam topik jaringan,kali ini kita akan membahas sedikit tentang UDP atau User Datagram Protocol.
UDP, singkatan
dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang
mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless)
antara host-host dalam jaringan yang menggunakan TCP/IP.
Protokol ini didefinisikan dalam RFC 768.
UDP
memiliki karakteristik-karakteristik berikut:
·
Connectionless (tanpa koneksi):
Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi
antara dua host yang hendak bertukar informasi.
·
Unreliable (tidak andal):
Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau
pesan acknowledgment. Protokol
lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap
pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi
yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka
masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan
waktu yang telah didefinisikan.
·
UDP menyediakan mekanisme untuk mengirim
pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam
sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP
berisi field Source Process Identification dan Destination
Process Identification.
·
UDP menyediakan penghitungan checksum
berukuran 16-bit terhadap keseluruhan pesan UDP.
·
UDP tidak menyediakan layanan-layanan
antar-host berikut:
·
UDP tidak menyediakan mekanisme
penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas
buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan
aplikasi yang berjalan di atas UDP.
·
UDP tidak menyediakan mekanisme
segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi
dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di
atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari
nilai Maximum Transfer Unit/MTU)
yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika
ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data
yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak
jadi terkirim dengan benar.
Penggunaan UDP
UDP sering digunakan
dalam beberapa tugas berikut:
Protokol yang
"ringan" (lightweight): Untuk menghemat sumber daya memori dan
prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol
yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar
pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol
lapisan aplikasiDomain Name System.
Protokol lapisan
aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan
aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan
terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari
protokol seperti ini adalah Trivial File
Transfer Protocol (TFTP) dan Network File System
(NFS)
Protokol yang tidak
membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
Transmisi broadcast:
Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu
dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah
protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan
dengan menggunakan alamat multicast atau broadcast.
Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi
one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.
Pesan-pesan UDP
Ilustrasi
mengenai pesan-pesan UDP
UDP, berbeda
dengan TCP yang
memiliki satuan paket data yang disebut dengan segmen, melakukan
pengepakan terhadap data ke dalam pesan-pesan UDP (UDP Messages). Sebuah pesan
UDP berisi header UDP dan akan dikirimkan ke protokol lapisan
selanjutnya (lapisan internetwork)
setelah mengepaknya menjadi datagram
IP. Enkapsulasi terhadap
pesan-pesan UDP oleh protokol IP dilakukan dengan menambahkan header IP dengan
protokol IP nomor 17 (0x11). Pesan UDP dapat memiliki besar maksimum
65507 byte: 65535 (216)-20 (ukuran terkecil dari header IP)-8 (ukuran
dari header UDP) byte. Datagram IP yang dihasilkan
dari proses enkapsulasi tersebut, akan dienkapsulasi kembali dengan
menggunakan header dan trailer protokol lapisan Network Interface yang
digunakan oleh host tersebut.
Dalam header IP
dari sebuah pesan UDP, field Source IP Address akan diset ke antarmuka host
yang mengirimkan pesan UDP yang bersangkutan; sementara field Destination IP
Address akan diset ke alamat
IP unicast dari sebuah host tertentu, alamat
IP broadcast, atau alamat
IP multicast.
Header UDP diwujudkan
sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap, seperti
tersebutkan dalam tabel berikut.
Ilustrasi mengenai
header UDP
Field
|
Panjang
|
Keterangan
|
Source
Port
|
16
bit (2 byte)
|
Digunakan
untuk mengidentifikasikan sumber protokol lapisan aplikasi yang mengirimkan
pesan UDP yang bersangkutan. Penggunaan field ini adalah opsional, dan jika
tidak digunakan, akan diset ke angka 0. Beberapa protokol lapisan aplikasi
dapat menggunakan nilai field ini dari pesan UDP yang masuk sebagai nilai field
port tujuan (Destination Port, lihat baris selanjutnya) sebagai balasan untuk
pesan tersebut.
|
Destination
Port
|
16
bit (2 byte)
|
Digunakan
untuk mengidentifikasikan tujuan protokol lapisan aplikasi yang menjadi
tujuan pesan UDP yang bersangkutan. Dengan menggunakan kombinasi antara
alamat IP dengan nilai dari field ini untuk membuat sebuah alamat yang
signifikan untuk mengidentifikasikan proses yang berjalan dalam sebuah host
tertentu yang dituju oleh pesan UDP yang bersangkutan.
|
Length
|
16
bit (2 byte)
|
Digunakan
untuk mengindikasikan panjang pesan UDP (pesan UDP ditambah dengan header
UDP) dalam satuan byte. Ukuran paling kecil adalah 8 byte (ukuran header UDP,
ketika tidak ada isi pesan UDP), dan ukuran paling besar adalah 65515 bytes
(65535 [216] -20 [ukuran header protokol IP]). Panjang maksimum aktual dari
pesan UDP akan disesuaikan dengan menggunakan nilai Maximum Transmission Unit
(MTU) dari saluran di mana pesan UDP dikirimkan. Field ini bersifat redundan
(terulang-ulang). Panjang pesan UDP dapat dihitung dari field Length dalam
header UDP dan field IP Header Length dalam header IP.
|
Checksum
|
16
bit (2 byte)
|
Berisi
informasi pengecekan integritas dari pesan UDP yang dikirimkan (header UDP
dan pesan UDP). Penggunaan field ini adalah opsional. Jika tidak digunakan,
field ini akan bernilai 0.
|
Port UDP
Seperti halnya TCP,
UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut
dengan UDP Port. Untuk menggunakan protokol UDP, sebuah aplikasi harus
menyediakan alamat IP dan nomor UDP
Port dari host yang dituju. Sebuah UDP port berfungsi sebagai
sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut
dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi
dengan nomor yang unik, seperti halnya TCP,
tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun
memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP
port yang telah dikenal secara luas.
Nomor Port UDP
|
Digunakan oleh
|
53
|
|
67
|
|
68
|
|
69
|
|
137
|
|
138
|
|
161
|
|
445
|
|
520
|
|
1812/1813
|
0 komentar:
Post a Comment