UDP VS TCP
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).
##### 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.
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).
########Karakteristik TCP#########
TCP memiliki karakteristik sebagai berikut:
- 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).
- 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.
- 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.
- 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.
- 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.
- Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
- 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
| TCP TCP | UDP UDP |
| Reliabilitas: TCP merupakan protokol berorientasi koneksi. Ketika sebuah file atau pesan kirim diantarkan kecuali akan mendapatkan koneksi gagal. Jika sambungan terputus, server akan meminta bagian yang hilang. Tidak ada korupsi ketika mentransfer pesan. | Reliabilitas: UDP adalah connectionless protocol. Ketika Anda mengirim data atau pesan, Anda tidak tahu apakah itu akan sampai di sana, ini bisa tersesat di jalan. Mungkin ada korupsi sementara mentransfer pesan. |
| Memerintahkan: Jika Anda mengirim dua pesan sepanjang sambungan, satu demi satu, Anda tahu pesan pertama akan sampai di sana terlebih dahulu. Anda tidak perlu khawatir data yang tiba di urutan yang salah. | Memerintahkan: Jika Anda mengirim dua pesan keluar, Anda tidak tahu apa agar mereka akan tiba di tidak yaitu memerintahkan |
| Kelas berat: - ketika bagian rendahnya dari TCP "sungai" tiba di urutan yang salah, telah mengirimkan kembali permintaan untuk dikirim, dan semua bagian-bagian dari urutan harus disatukan kembali, sehingga memerlukan sedikit pekerjaan yang harus mengumpulkan . | Ringan: Tidak ada pemesanan pesan, tidak ada pelacakan koneksi, dll Ini berarti membuat koneksi itu jauh lebih cepat, dan kartu jaringan / OS telah melakukan sedikit pekerjaan untuk menerjemahkan kembali data dari paket. |
| Streaming: Data dibaca sebagai sebuah "sungai," dengan tidak membedakan mana satu paket berakhir dan yang lain dimulai. Mungkin ada beberapa paket per dibaca panggilan. | Datagrams: Paket akan dikirim secara individu dan dijamin akan utuh jika mereka tiba. Satu paket per satu membaca panggilan. |
| Contoh: World Wide Web (Apache TCP port 80), e-mail (SMTP TCP port 25 Postfix MTA), File Transfer Protocol (FTP port 21) dan Secure Shell (OpenSSH port 22), dll | Contoh: Domain Name System (DNS UDP port 53), aplikasi media streaming seperti IPTV atau film, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) dan online multiplayer games etc |
http://www.wimpermana.web.ugm.ac.id/budi_s/2007/08/24/berkenalan-dengan-tcp-transmission-control-protocol/
http://id.wikipedia.org/wiki/TCP
http://www.scribd.com/doc/3451645/Konsep-Dasar-TCP
http://id.wikipedia.org/wiki/User_Datagram_Protocol
http://www.cyberciti.biz/faq/key-differences-between-tcp-and-udp-protocols/
PDF | DOC | DOCX


Toni mengatakan...
Makasih atas penjelasannya, Kalo UDP menggunakan Algoritma Apa ya mas dalm pengiriman Datanya itu ?
Syamsu Bachtiar mengatakan...
Terima Kasih atas pencerahannya ! jadi tahu perbedaannya TCP dan UDP !! sekali lagi terima kasih buanyak !!