TCP dan UDP adalah protokol koneksi yang digunakan untuk menetapkan cara pertukaran data melalui koneksi Internet. Jika Anda sudah mengetahui singkatan dari IP (yaitu Internet Protocol), maka Anda sudah mengetahuinya, karena TCP dan UDP telah dikembangkan di atasnya.
Namun, Anda salah jika berpikir bahwa mereka hampir sama; meskipun TCP dan UDP “memiliki suara” dalam cara data Anda dikirim/diterima di Internet, mereka sebenarnya sangat berbeda dan untuk alasan ini, mereka digunakan untuk tujuan yang berbeda.
Singkatnya, katakan saja Anda secara tidak sengaja menggunakan kedua protokol ini setiap hari ketika Anda mengakses Internet, yang menjadikannya penting dalam cara perangkat Anda berkomunikasi dengan Web terbuka (dan perangkat yang terhubung dengannya) dan sebaliknya.
Karena TCP dan UDP dibangun di atas Protokol Internet, Anda mungkin ingin memahami lebih banyak tentang IP sebelum langsung masuk ke pelajaran pengantar TCP/UDP. Anda tahu, Anda perlu belajar cara berjalan sebelum Anda bisa berlari.
Apa itu alamat IP?
IP, yang merupakan kependekan dari Internet Protocol, adalah tulang punggung di mana Internet seperti yang kita kenal saat ini dibangun. Pentingnya dapat dengan mudah diketahui oleh fakta bahwa setiap perangkat diberi alamat IP yang unik untuk mengakses Internet.
Alamat yang digunakan hanya terdiri dari angka dan desimal. Untuk lebih spesifik, alamat IPv4 dapat dibentuk dari empat nomor individu, yang masing-masing dapat memiliki nilai antara 0 dan 254. IPv4 memberi kami rentang total 4,3 miliar alamat IP unik.
Tak pelak lagi, Internet mulai mencapai titik di mana tidak ada alamat IP unik baru yang dapat dihasilkan, saat itulah sistem IPv6 masuk untuk menyelamatkan hari. Alamat IPv6 publik menggunakan digit heksadesimal dan masing-masing berisi 128 bit, yang berarti bahwa alih-alih basis 10 (0 hingga 10) mereka menggunakan basis 16 (0 hingga 10 plus “a” hingga “f”).
Dengan bantuan sistem IPv6, total jangkauan alamat IPv6 publik yang dapat kami miliki adalah 340 undecillion (3,4 * 10^28). Jika itu tidak mungkin untuk membungkus kepala Anda, lihat bagaimana alamat IPv4 dan IPv6 terlihat seperti di bawah ini:
Contoh alamat IPv4: 10.238.126.215
Contoh alamat IPv6: fe80:0db8:0412:2001:3c5e:0000:10a9
Meskipun tujuan utamanya adalah agar IPv6 menggantikan IPv4, saat ini kedua protokol tersebut bekerja bersama.
Alamat IP memungkinkan perangkat yang mendukung Internet untuk mencari, berkomunikasi satu sama lain, dan bertukar informasi. Berbagi data, streaming video, atau mengirim email tidak akan mungkin dilakukan tanpa alamat IP. Segala sesuatu yang Anda lakukan secara online dapat ditranskripsikan menjadi data.
Untuk memastikan fungsionalitas yang optimal, IP membagi data ini menjadi potongan-potongan yang lebih kecil sehingga dapat mengelolanya dengan lebih baik. Kami menyebut potongan data ini sebagai paket. Namun, paket-paket ini tidak hanya menyimpan informasi yang seharusnya mereka bawa, tetapi juga alamat IP tujuan perangkat yang harus mereka jangkau. Tujuan ini disebut header.
Setelah sebuah paket meninggalkan perangkat Anda, paket itu menuju gateway, yang memindai alamat IP tujuan paket Anda di domainnya. Perlu disebutkan bahwa gateway hanya dapat melihat satu set alamat IP tertentu di Internet.
Jadi, jika gateway tidak dapat menemukan alamat di domainnya, ia hanya mengirim paket ke gateway yang berbeda, dan operasi ini terus berlanjut hingga paket mencapai gateway yang dapat mendeteksi alamat IP tujuan yang ditentukan di header dan mengirim ke perangkat yang terkait dengan alamat itu.
Hal lain yang perlu diperhatikan adalah fakta bahwa data Anda dipecah menjadi paket-paket kecil berarti data tersebut tidak perlu tiba secara berurutan, atau bahkan menggunakan rute yang sama, dalam hal ini. Faktanya, paket biasanya mencoba menemukan rute tercepat yang mereka bisa setiap saat.
Terakhir, namun tidak kalah pentingnya, Anda harus tahu bahwa Protokol Internet tidak spesifik format, sehingga ideal untuk segala bentuk data, baik itu video, gambar, audio, email, pesan instan, atau bahkan game.
Apa itu TCP?
TCP, yang merupakan singkatan dari Transmission Control Protocol, adalah salah satu protokol utama yang digunakan oleh paket protokol Internet. Itu datang sebelum UDP dan digunakan untuk memungkinkan program dan perangkat sama untuk bertukar informasi melalui jaringan.
Anda mungkin memperhatikan bahwa kadang-kadang dipasangkan dengan IP, dan disebut sebagai TCP/IP, tetapi artinya sama (yaitu TCP dan TCP/IP adalah hal yang sama persis).
Seperti dijelaskan di atas, data dipecah menjadi paket-paket kecil dan dikirim ke perangkat lain dalam bentuk terfragmentasi ini, bahkan mungkin pada rute yang berbeda. TCP diciptakan untuk kebutuhan untuk menyusun kembali paket-paket ini kembali ke bentuk aslinya.
TCP menunggu semua paket tiba, menghitungnya, memeriksa kesalahannya menggunakan checksum, mengakui paket yang sampai ke tujuan dan meminta komputer asal untuk mengirim ulang paket yang tidak berhasil pertama kali. Setelah menerima semua paket, TCP merakitnya kembali menjadi data asli dan mengirimkannya ke aplikasi yang sesuai (misalnya klien email, penampil gambar, pemutar video).
Proses ini terjadi sangat cepat saat ini, dan memastikan bahwa data tiba di mesin penerima persis seperti di perangkat pengirim, tanpa perubahan tersembunyi. Selain itu, ini melibatkan komunikasi yang konstan di kedua ujungnya, karena prosesnya sebenarnya dapat digambarkan sebagai bolak-balik terus menerus antara perangkat yang berpartisipasi hingga data tiba dan dikonfirmasi 100%.
Tak perlu dikatakan lagi bahwa komunikasi yang konstan antar perangkat ini memberikan tekanan yang mengerikan pada TCP, karena paket yang hilang atau rusak dapat menghentikan proses sampai bit yang hilang tiba dengan selamat di tujuannya. Namun, TCP tidak harus melakukan semuanya sendiri, jadi UDP ditemukan segera setelahnya.
Singkatnya, TCP:
Pastikan tidak ada paket yang jatuh
Meminta paket untuk dikirim ulang jika mendeteksi ada yang hilang
Mengirim paket secara berurutan sehingga dapat dengan mudah dipasang kembali
Protokol Internet paling populer
Lebih lambat dari UDP karena perlu memastikan setiap paket tiba
Cocok untuk situs web, email, FTP (Protokol Transfer File), berbagi file P2P
Apa itu UDP?
UDP, kependekan dari User Datagram Protocol, adalah alternatif dari TCP, jadi aman untuk mengasumsikan bahwa pada dasarnya mereka membawa tugas yang sama. Namun, mereka juga sangat berbeda pada saat yang sama, karena TCP cukup teliti dalam memeriksa data paket, sedangkan UDP sedikit lebih ceroboh.
Bayangkan dua karyawan menangani surat di stasiun penyortiran surat: TCP adalah orang yang memeriksa setiap surat dengan hati-hati dan menahan semua komunikasi sampai setiap surat tiba, sementara UDP hanya memeriksa surat untuk integritas dan meneruskannya ke tujuan, sambil menjatuhkan surat apa pun yang tidak datang dan tidak meminta kirim ulang.
Jadi aman untuk mengatakan bahwa UDP lebih cepat, tetapi mengapa Anda ingin mengorbankan kecepatan dengan mengorbankan kehilangan data di sepanjang jalan? Yah, pada dasarnya ada beberapa aplikasi di mana kehilangan paket bukanlah sebuah tragedi.
Misalnya, jika Anda menggunakan klien VoIP dan berbicara dengan seseorang, Anda mungkin melihat kehilangan bingkai sesekali, atau sedikit gagap dalam audio, yang sering kali mudah diabaikan, dan karena itu tidak penting. Hal yang sama berlaku untuk permainan, di mana Anda mungkin melihat permainan gagap, atau karet gelang sesekali. Anda hanya melanjutkan bermain dan itu adalah akhir dari itu karena UDP hanya menjatuhkan paket yang hilang dalam perjalanan.
Dengan kata lain, UDP:
Lebih cepat dari TCP dan menggunakan lebih sedikit sumber daya
Tidak harus mengirim paket secara berurutan
Jatuhkan paket yang hilang untuk mempercepat koneksi
Pengirim tidak memiliki cara untuk mengetahui apakah paket telah dijatuhkan
Sebagian besar digunakan untuk streaming video, VoIP, game, dan siaran langsung
TCP dan UDP dalam penggunaan VPN
Saat ini, semakin banyak VPN mulai mengadopsi WireGuard atau membuat protokol milik mereka untuk digunakan, tetapi banyak dari mereka mengandalkan OpenVPN karena setelah bertahun-tahun masih dapat diandalkan, cepat, dan aman.
Namun, yang mungkin tidak Anda ketahui adalah bahwa OpenVPN bekerja dengan TCP dan UDP, dan sering kali memungkinkan Anda memilih di antara kedua protokol tersebut. Meskipun ini mungkin terdengar seperti keputusan besar yang harus diambil (integritas data versus kecepatan), masalah sebenarnya ada di tempat lain.
Saat menggunakan VPN, Anda mungkin tidak dapat melihat perbedaan besar antara TCP dan UDP dalam hal kecepatan. Namun, jika koneksi Anda perlu melewati firewall, saat itulah segalanya berubah, terutama karena protokol ini beroperasi pada port yang berbeda, dan beberapa firewall mungkin memblokir port default untuk jenis lalu lintas tertentu.
Karenanya mengapa penyedia VPN membiarkan Anda memilih antara TCP dan UDP. Jika Anda melihat bahwa koneksi Anda tidak berfungsi pada satu protokol, Anda dapat beralih ke protokol lain dan menyilangkan jari Anda. Beberapa penyedia VPN menawarkan pengaturan lanjutan di mana Anda juga dapat memilih port khusus untuk koneksi Anda guna menghindari firewall.
Perbedaan antara TCP dan UDP
TCP
UDP
TCP adalah protokol yang paling banyak digunakan di internet
Semua data yang dikirim sampai ke penerima, tidak ada jaminan kehilangan paket
Paket dikirim sesuai pesanan
Membutuhkan lebih banyak sumber daya, yang membuatnya lebih lambat juga.
UDP digunakan untuk bermain game, streaming video, VoIP, siaran langsung
Pengirim tidak akan tahu jika ada paket yang hilang (tidak diterima)
Paket tidak harus dikirim secara berurutan
Lebih sedikit sumber daya yang dibutuhkan, lebih cepat.
TCP vs UDP: Kesimpulan
Untuk menyelesaikannya, TCP dan UDP adalah protokol yang sangat mirip, karena mereka memastikan data Anda sampai ke tujuannya dengan aman dan tanpa dimodifikasi di suatu tempat di sepanjang jalan.
TCP melakukan beberapa pemeriksaan saat mentransmisikan data dan umumnya lebih drastis tentang tidak kehilangan paket, yang membuatnya bagus untuk situs web, email, pesan instan, gambar, dan berbagi file.
UDP hanya memeriksa apakah tujuannya benar dan memeriksa integritas paket, tetapi tidak meminta pengirim untuk mengirim ulang paket yang hilang, dan malah menjatuhkannya, yang berarti Anda akan memiliki koneksi yang lebih cepat, tetapi Anda dapat menjatuhkan paket bersama jalan. UDP sebagian besar digunakan untuk bermain game, VoIP, streaming video, dan menyiarkan konten langsung, di mana kehilangan beberapa paket seharusnya tidak terlalu memengaruhi hasil akhirnya.