Monday 29 April 2013

Sekilas UDP



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 berukar 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.


Ada beberapa keuntungan menggunakan UDP yaitu :
  • UDP komunikasi dapat lebih efisien dibanding guaranteed-delivery arus data. Jika jumlah data adalah kecil dan data dikirim berkali-kali ( seperti kasus suatu counter nilai sebelumnya siapa adalah tidak relevan), mungkin bisa dipertimbangkan untuk menghindari ongkos exploitasi penyerahan yang dijamin.

  • Tidak sama dengan TCP arus, yang menetapkan suatu koneksi, UDP menyebabkan lebih sedikit biaya. Jika jumlah data dikirim adalah kecil dan data dikirim dengan jarang, ongkos exploitasi menetapkan suatu koneksi tidak sampai berharga itu. UDP mungkin (adalah) lebih baik dalam hal ini, terutama sekali jika data dikirim dari sejumlah besar mesin kepada satu pusat, di dalam kasus pen;jumlahan yang mana total dari semua koneksi ini mungkin menyebabkan beban terlalu berat penting.

  • Real-Time Aplikasi yang menuntut up-to-the-second atau lebih baik capaian mungkin calon untuk UDP, seperti ada lebih sedikit keterlambatan dalam kaitan dengan pemeriksaan kesalahan dan kendali arus tentang TCP. UDP paket dapat digunakan untuk memenuhi luas bidang jaringan tersedia untuk [menyampaikan/kirim] sejumlah data besar ( seperti arus video/audio, atau data telemetri untuk suatu multiplayer game jaringan). Sebagai tambahan, jika data beberapa hilang, [itu] dapat digantikan oleh yang berikutnya satuan paket dengan informasi dibaharui, menghapuskan kebutuhan [itu] untuk mengirimkan kembali data tua yang kini ke luar tentang tanggal/date. paket UDP dapat menerima data dari mesin tuan rumah lebih dari satu. Jika beberapa mesin harus jadilah diberitahukan, kemudian UDP mungkin lebih menyenangkan dibanding mekanisme lain .

  • Beberapa protokol jaringan menetapkan UDP sebagai mekanisme pengangkutan, menuntut penggunaannya.


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.  UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.


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 aplikasi Domain 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 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.


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 Domain Name System (DNS) Name Query
·        67 BOOTP client (Dynamic Host Configuration Protocol [DHCP])
·        68 BOOTP server (DHCP)
·        69 Trivial File Transfer Protocol (TFTP)
·        137 NetBIOS Name Service
·        138 NetBIOS Datagram Service
·        161 Simple Network Management Protocol (SNMP)
·        445 Server Message Block (SMB)
·        520 Routing Information Protocol (RIP)
·        1812/1813 Remote Authentication Dial-In User Service (RADIUS)

1 comment: