
SedangPemulaDevOps
Apa perbedaan utama antara protokol TCP dan UDP?
Jawaban singkat
TCP adalah protokol yang berorientasi koneksi dan andal yang menjamin pengiriman, pemesanan,
dan pengecekan kesalahan dengan biaya overhead. UDP adalah protokol tanpa koneksi sederhana
tanpa jaminan pengiriman atau pemesanan, tetapi lebih cepat dan lebih ringan.
TCP dan UDP adalah dua protokol lapisan transport utama yang berjalan di atas IP. Perbedaan intinya: TCP berorientasi pada koneksi dan dapat diandalkan, sedangkan UDP tidak memiliki koneksi dan bekerja berdasarkan basis "api dan lupakan".
TCP (RFC 9293)
- Berorientasi koneksi. Sebelum mengirim data, titik akhir melakukan jabat tangan tiga arah (3WHS): SYN → SYN-ACK → ACK, menyinkronkan nomor urut awal.
- Dapat diandalkan dan teratur. Setiap byte mendapat nomor urut; penerima mengirimkan pengakuan (ACK), segmen yang hilang ditransmisikan kembali, dan data disusun kembali dalam urutan aslinya. Integritas diverifikasi dengan checksum. RFC 9293 menyatakan TCP "menyediakan layanan aliran byte yang andal dan teratur."
- Aliran byte, tanpa batas pesan. TCP mengirimkan aliran byte yang tidak terstruktur: batas pesan tidak dipertahankan (aplikasi harus membingkai pesannya sendiri). Sebaliknya, UDP berorientasi pada pesan — setiap datagram dikirimkan sebagai unit yang terpisah dan lengkap atau tidak dikirimkan sama sekali (satu kirim ke = satu terima dari).
- Kontrol aliran dan kemacetan. TCP membatasi kecepatan pengirimannya sehingga tidak membebani penerima maupun jaringan.
- Trade-off: lebih banyak overhead dan latensi, serta header yang lebih besar — 20–60 byte (20 tanpa opsi, dapat diperluas melalui opsi seperti MSS, penskalaan jendela, SACK).
UDP (RFC 768)
- Tanpa koneksi. Tidak ada jabat tangan; setiap datagram bersifat independen.
- Tidak ada jaminan. RFC secara eksplisit mengatakan "perlindungan pengiriman dan duplikat tidak dijamin" — UDP tidak memulihkan paket yang hilang, terduplikasi, atau rusak.
- Memperbaiki header 8-byte hanya dengan empat kolom: Port Sumber, Port Tujuan, Panjang, Checksum.
- Manfaat: latensi dan overhead rendah, ditambah dukungan untuk siaran/multicast.
Kapan menggunakan yang mana
- TCP: web (HTTP/HTTPS melalui TCP), email, transfer file, SSH — di mana pun integritas data penting.
- UDP: Pencarian DNS, game online, VoIP, streaming video langsung — yang mengutamakan kecepatan daripada satu paket yang hilang.
Poin tindak lanjut umum
- UDP sendiri tidak mengurutkan data, namun aplikasi dapat melapisi logikanya sendiri di atasnya (QUIC melakukan ini melalui UDP).
- HTTP/3 berjalan pada QUIC melalui UDP, sedangkan HTTP/1.1 dan HTTP/2 dijalankan melalui TCP.
- Checksum UDP secara teknis opsional pada IPv4 (nilai nol berarti "tidak dihitung") tetapi wajib pada IPv6.
