Kata Dosen Baca Dulu
UDP (User Datagram Protocol)UDP adalah sebuah connectionless transport protocol yang tidak memiliki connection setup, flow control, congestion control dan juga tidak reliable. Terlepas dari ketidakreliableannya, UDP mampu mengirim data dengan rate berapa saja walaupun tentu saja tidak djiamin data pasti akan sampai di penerima (ada kemungkinan terjadi data loss).
- 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.
- Header UDP
Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap seperti tersebutkan dalam tabel, Penggunaan dua dari mereka adalah opsional (latar belakang merah terang dalam diagram) seperti seperti pada gambar.
- Karakterisik UDP
- Membutuhkan response yang cepat. UDP tidak memiliki connection state dan connection establishment sehingga mampu memberikan response yg cepat atas setiap request dari client.
- Mentolerir data loss. Beberapa applikasi tidak terlalu sensitive terhadap kehilangan data (selama kehilangan tersebut tidak significant), sehingga ketidak reliablean UDP tidak begitu masalah bagi applikasi seperti ini.
- Membutuhkan kontrol yang lebih baik atas apa yang akan dikirim dan kapan data akan dikirim. Mekanisme kontrol koneksi yg dimiliki TCP akan membuat applikasi menjadi tidak luwes untuk menentukan kapan saat yg tepat untuk mengirim data sehingga bisa menimbulkan delay yg tidak dapat ditoleransi. Di samping itu, TCP akan tetap berusaha mengirimkan data (walaupun akan membutuhkan waktu yg lama) ketika terjadi kongesti, padahal beberapa aplikasi membutuhkan rate pengiriman yang
- Memerlukan pengiriman data pada lebih dari 1 client, baik applikasi broadcast ataupun multicast. TCP tidak mampu melakukan broardcast ataupun multicast.
- UDP tidak menyediakan layanan-layanan antar-host berikut :
1. 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.
2. 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.
3. UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
- Penggunaan UDP
UDP sering digunakan dalam beberapa tugas berikut :
1. 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 aplikasi Domain Name System.
2. 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).
3. Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
4. 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.
TCP (Transmission Control Protocol)
TCP
adalah protokol yang memungkinkan program-program aplikasi untuk
mengakses/menggunakan layanan komunikasi bersifat connection-oriented.
TCP mampu memberikan jasa pengiriman yang dapat diandalkan (reliable)
sekaligus bersifat flow-controlled. Sifat flow-controlled ini
memungkinkan peralatan-peralatan jaringan yang berkecepatan rendah
(slower-speed network devices) dapat berhubungan dengan
peralatan-peralatan jaringan yang berkecepatan tinggi (higher-speed
network devices).
- Port TCP
Port
TCP mampu mengindikasikan sebuah lokasi tertentu untuk menyampaikan
segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP Port
Number. Nomor-nomor di bawah angka 1024 merupakan port yang umum
digunakan dan ditetapkan oleh IANA (Internet Assigned Number
Authority).
- Karakteristik TCP
TCP memiliki karakteristik sebagai berikut:
1. Berorientasi sambungan (connection-oriented):
Sebelum data dapat ditransmisikan antara dua host, dua proses yang
berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat
sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan
proses terminasi koneksi TCP (TCP connection termination).
2. Full-duplex:
Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri
atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan
menggunakan teknologi lapisan yang lebih rendah yang mendukung
full-duplex, maka data pun dapat secara simultan diterima dan dikirim.
Header TCP berisi nomor urut (TCP sequence number) dari data yang
ditransmisikan dan sebuah acknowledgment dari data yang masuk.
3. Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment
dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka
segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan
ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan
segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan
di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin
integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP
Checksum.
4. Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream
yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment
dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski
demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream
TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol
lapisan aplikasi (dalam DARPA Reference Model), yang harus
menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
5. Memiliki layanan flow control:
Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang
akhirnya membuat "macet" jaringan internetwork IP, TCP
mengimplementasikan layanan flow control yang dimiliki oleh
pihak pengirim yang secara terus menerus memantau dan membatasi jumlah
data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima
untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
6. Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
7. Mengirimkan paket secara "one-to-one":
hal ini karena memang TCP harus membuat sebuah sirkuit logis antara
dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP
tidak menyediakan layanan pengiriman data secara one-to-many.
Perbedaan antara TCP dan UDP
vs UDP telah menjadi bahan pembicaraan yang hangat di kalangan kita.
Sebagaimana kita ketahui kedua teknologi tersebut mengalami revolusi
yang berbeda (atau bahkan berlawanan). TCP lahir sebagai sebuah
teknologi yang berdasar pada koneksi, menjaga sesi aplikasi, dan
menjamin tingkat komunikasi yang handal dan memiliki standarisasi pada
tingkat flow control. UDP tidak memiliki kesemua fitur tersebut dan
sangat bergantung pada aplikasi untuk menghasilkan sekumpulan fitur yang
mencukupi. UDP dapat dikatakan sebagai protokol yang tidak terikat
aturan. Pada saat menggunakan UDP kita dapat membuat paket yang kita
kirimkan memiliki checksum atau tidak, mengirimkan paket ke satu atau
banyak penerima, hingga memilih port komunikasi yang digunakan secara
bebas. UDP tidak menjaga sesi koneksi dan paket yang dikirimkan bersifat
independen dari satu paket ke paket yang lain sehingga urutan paket
yang datang bukanlah sebuah jaminan dari protokol ini. Hal yang menarik
lagi dari dukungan sekuritas, UDP tidak menawarkan mekanisme sekuritas
secara built-in.
Berdasar
pada argumen di atas maka dapat dipastikan membuat aplikasi berbasis
UDP harus kita pikirkan dari segi manfaatnya. Sebagai contohnya UDP
akan sangat sesuai apabila diimplementasikan pada presentasi serentak
sebanyak 20 klien.
Hal
lain yang mungkin menjadi pertimbangan pemilihan antara UDP dan TCP
adalah kecepatan. Pada TCP dibutuhkan sekurang kurangnya tiga
pertukaran paket. Sebagai contoh komunikasi antara Yogyakarta dan
Jakarta membutuhkan tiga paket dan masing-masing adalah 200ms maka
dibutuhkan waktu 600ms. Pada UDP hanya terjadi sebuah pertukaran paket
seperti pada gambar berikut. Hal ini tentunya menunjukkan bahwa pada
suatu waktu (terutama bila paket TCP yang dikirimkan kecil) timbul
overhead yang tidak perlu. Hal ini dapat dihindarkan dengan menggunakan
UDP. Hal lain tentang perbedaan TCP dan UDP adalah urutan paket. Pada
aplikasi tertentu urutan paket menjadi penting sebagai contoh aplikasi
transfer berkas tetapi pada kasus tertentu paket yang hilang atau tidak
urut tidak terlalu berpengaruh pada aplikasi video streaming yang
mendukung frame skipping.
Sebuah
kesimpulan pada sisi ini adalah TCP memberikan fitur yang lebih dari
sisi keamanan, fleksibilitas, dan juga kualitas. Programmer akan mudah
melakukan pemrograman TCP terlebih lagi hal-hal detil tentang keamanan
telah dicakup juga pada TCP. Sementara pada UDP, hal tersebut tidak
ditemukan, UGP unggul dalam suatu keadaan jaringan yang membutuhkan
performa tetapi dengan ketahanan yang tidak terlalu tinggi.

DNS
menggunakan TCP dan UDP di port komputer 53 untuk melayani permintaan
DNS. Nyaris semua permintaan DNS berisi permintaan UDP tunggal dari
klien yang diikuti oleh jawaban UDP tunggal dari server. Dan pada saat
kapan protocol TCP digunakan? Umumnya TCP dipergunakanhanya ketika
ukuran data jawaban melebihi 512 byte, atau untuk pertukaran zona DNS
zone transfer. DNS zone transfer adalah sebuah mekanisme
untukmereplikasi DNS data dari satu DNS ke DNS server lain. Zone
transfer digunakan pada saat kita ingin mereplikasi DNS data pada DNS
server kita dalam upaya menghemat bandwidth, untuk
meningkatkankecepatan terhadap suatu permintaaan atau untuk membuat DNS
data selalu tersedia pada saat DNS server pada internet terputus.
Hadiah stelah membaca ==> Download File <==
Hadiah stelah membaca ==> Download File <==
Tidak ada komentar:
Posting Komentar