Ceriwis  

Go Back   Ceriwis > HOBI > Komputer & Teknologi > Programming

Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman.

Reply
 
Thread Tools
  #1  
Old 11th November 2011
Braincode's Avatar
Braincode Braincode is offline
Ceriwis Addicted
 
Join Date: Nov 2011
Posts: 4,638
Rep Power: 20
Braincode mempunyai hidup yang Normal
Default Share Basic Socket Programming (UDP)

Konsep UDP



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. Datagram yang sampai mempunyai kemungkinan tidak sampai, rusak, duplikasi atau hilang tanpa diketahui penyebabnya. 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.
  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.



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



Contoh aplikasi � aplikasi yang menggunakan well-known port dan TCP sebagai transport layernya adalah : the Domain Name System (DNS), streaming media applications such as IPTV, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) and online games.



Semoga berguna



Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


 


All times are GMT +7. The time now is 09:44 PM.


no new posts