Perbedaan TCP dan UDP
Mungkin ada teman-teman yang bertanya-tanya "Apa TCP/IP, TCP, dan IP itu sama satu kesatuan?" Tentu tidak, TCP/IP adalah model jaringan. Sedangkan TCP dan IP adalah protocol dalam jaringan.
TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol) adalah protocol yang bekerja di layer 4 Model OSI. Sebelumnya kita sudah pernah menyinggung dua protocol ini di pembahasan tentang Model OSI dan TCP/IP. Nah, di sini kita akan memperjelas lagi tentang Perbandingan TCP dan UDP.
1. Jenis Koneksi
-
TCP
TCP adalah Connection-oriented, maksudnya ia perlu melakukan negosisasi sebelum melakukan pengiriman data, biasa disebut dengan istilah three-way-handshake.
Yaitu pengirim akan mengirim pesan Synchronize (SYN) ke penerima untuk melakukan request koneksi.
Setelah diterima oleh penerima, penerima kemudian mengirimkan pesan Syncronize Acknowledge (SYN/ACK).
Terakhir, pengirim menjawab dengan pesan Acknowledge (ACK). Setelah itu barulah koneksi terjalin dan proses transfer data bisa dilakukan. -
UDP
Berbeda dengan TCP, UDP berjenis Connectionless, maksudnya UDP langsung mengirimkan paket data ke tujuan tanpa perlu tahu penerima mau menerima atau tidak, bahkan tak peduli paket itu dijawab atau diabaikan. (Ya begitulah, si UDP ini cukup barbar. :v)
2. Keandalan (Reliability)
-
TCP
Bersifat reliable, semua paket data yang dikirim akan diperiksa untuk menjamin paket TCP diterima dalam kondisi utuh. Jika ada paket yang hilang, maka protocol ini akan melakukan request lagi untuk merngirimkan kembali paket tersebut. -
UDP
Bersifat unreliable, tidak ada pengecekan apakah semua paket sudah sampai tujuan dengan utuh atau tidak. Sehingga jika ada paket yang hilang akan diabaikan dan diterima apa adanya.
3. Ukuran Header (Transport Layer)
-
TCP
20 Byte -
UDP
8 Byte
4. Flow Control
-
TCP
TCP mempunyai flow control, yaitu pengawasan terhadap jumlah data yang dikirimkan pada satu waktu secara terus menerus. Hal ini bertujuan untuk menjegah terlalu banyak data yang dikirmkan pada satu waktu yang akan membuat padatnya lalu lintas jaringan. -
UDP
UDP tidak memiliki flow control. (Benar-benar barbar kan? :v)
5. Resources
-
TCP
TCP membutuhkan banyak resource (CPU dan memori), apalagi jika besar data dan jumlah trafficnya padat. -
UDP
Bukan berarti UDP tidak membutuhkan resource, hanya saja resource yang dibutuhkan UDP jauh lebih kecil daripada TCP.
6. Broadcast
-
TCP
TCP tidak memungkinkan broadcast, karena TCP adalah koneksi host to host dan memerlukan handshake. -
UDP
UDP bisa untuk broadcast karena dia tidak perlu melakukan handshake selayaknya TCP. Broadcast yaitu mengirimkan data ke banyak tujuan sekaligus dalam waktu yang sama.
7. Penggunaan
-
TCP
TCP umunya digunakan pada aplikasi yang membutuhkan keandalan yang tinggi. Misalnya : FTP (File Transfer Protocol), SSH, SMTP (Simple Mail Transfer Protocol), Web, dll. -
UDP
Sementara UDP cocok untuk aplikasi yang membutuhkan transmisi cepat dan mengizinkan adanya sedikit data yang hilang. Contohnya : Game Multiplayer, DNS (Domain Name System), SNMP (Simple Management Protocol), dll.
Itu dia beberapa perbedaan antara TCP dan UDP, semoga menambah pengetahuan teman-teman tentang dua protokol ini.