Lompat ke konten Lompat ke sidebar Lompat ke footer

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.