Hallo semuanya dalam kesempatan kali ini izinkan saya berbagi protokol yang bekerja di layer Transport yaitu ada TCP dan UDP, apasih perbedaan antara kedua protkol tersebut? Oleh karena itu mari kita coba bahas di blog ini.
Kalau ingin jawaban yang singkat dan padat perbedaan kedua hal tersebut adalah,
TCP protol yang bisa dihandalkan (reliable), sementara UDP protokol yang tidak bisa dihandalkan (unreliable) tapi dia bisa menjadi upaya yang terbaik.
Mungkin sebagian kita mulai beranggapan, kalau UDP tidak bisa dihandalkan buat apa dibuatnya protkol tersebut, eitss.. jangan sangka memang protkol tersebut tidak bisa dihandalkan dibanding kan dengan TCP, tapi UDP ini dalam proses tranport data berbeda dengan TCP sehinggal hal ini yang menjadi kan kenapa UDP juga kita butuhkan dibandingkan dengan TCP, agar lebih jelasnya simak penjelasan berikut.
Coba amati gambar proses pengiriman data dengan 2 prokol yang berbeda di atas, dari gambar di atas kita memiliki 2 node, 1 sebagai sender (pengirim) dan 1 sebagai receiver (penerima), kita fokus ke bagian TCP terlebih dahulu.
TCP (Transmission Control Protocol)
Di TCP ketika kita ingin mengirimakn sebuah data antara pengirim dan penerima adalah kita harus menjalin hubungan antara ke dua node tersebut, dari sisi sender pertama dia akan membuaka koneksi kepada receiver dengan mengirimkan TCP SYN yang kurang lebih arti dari paket tersebut seperti ini, “Hai Recever saya ingin berbica sama kamu dong” setelah pake TCP SYN tersebut diterima oleh reciver maka dia akan menerimanya dan akan membalas paket tersebut dengan TCP SYN, ACK “oke sender saya mau menerima komunikasi kamu, dan saya juga mau berbicara dengan mu”, di paket ini ada tambahan ACK, TCP SYN sebagai untuk pengajuan membuka komunkiasi semenara TCP ACK sebagai reply dari TCP SYN bahwa diterima komunikasi tersebut. Maka setelah TCP SYN, ACK dikrimkan kembali ke sender maka di sisi sender akan mereply paket tersebut dengan TCP ACK sebagai bentuk konfirimasi penerimaan komunikasi dari reciver ke sender.
Untuk komunikasi data dengan protkol TCP kurang lebih seperti itu proses alur pembukaan koneksinya sebelum data tersebut benar-benar dikirimkan, proses TCP SYN/ACK tersebut dikenal dengan isitilah Three Way Handshake (3 Jabat Tangan) yang dimana setidaknya ada 3 kali proses alur pembukaan dan penerimaan dari komunikasi data.
TCP dengan Three Way Handshake ini menjadi alasan kenapa data yang menggunakan protoko tersebut dapat di andalkan, karean data-data yang dikirimkan dengan protkol tersebut bisa dipastikan benar-benar dikirim dan diterima di kedua sisi sender/receiver karena ada nya 3 Way Handshake.
Itulah yang menjadi kelebihan dari TCP, sayangnya dibalik kelebihan tersebut proses pengiriman datanya agak sedikit lebih lama dibandingkan dengan UDP karena dari proses Three Way Handshake tersebut.
UDP (User Datagram Protokol)
Sekarang kita coba beralih ke UDP, kita sebelumnya sudah mengetahui dari sisi TCP intinya yaitu adanya proses Three Way Handshake sehingga data yang dikrimkan dapat diterima dengan baik tanpa ada nya kecacatan paket. Beda halnya dengan UDP, dia tidak melakukan proses three way handshake, artinya ketika pengirim mengirimkan data kepada receiver maka proses yang di lalui nya hanyalah “dikirim dan diterima” tanpa melalui proses three way handshake sehingga tidak peduli data yang dikrimkan itu benar-benar paket yang utuh atau tidak, yang di utamakan dari UDP bukan dari keutuhan paket tapi data paket yang dikirmkan ini bisa terkirimkan ke reciver tepat waktu tanpa adanya delay, dan ini membuat data yang dikirimkan oleh UDP jauh lebih cepat.
Penerapan dari Implementasi TCP dan UDP
Untuk penerapan dari TCP itu banyak digunakan ketika ingin mendownload suatu file, file sharing, printing. Sementara untuk contoh penggunaan UDP di lingkungan kita adalah dari teknologi vidio streaming, game online, VoIP.
Sekarang menjadi pertanyaan “Kenapa download file, file sharing, printing tidak menggunakna protkol UDP? dan kenapa streaming vidio, VoIP, game online tidak menggunakan protokol TCP?”
Jawabannya simpel, kalau misalnya kita download file, file sharing, printing menggunaka protokol UDP apakah kita mau file tersebut ada yang cacat? apakah kita mau misalnya kita print kertas dengan isi kata sebanyak 100 kata tapi kenyataanya yang berhasil diprint hanya 50 kata saja? bahkan bisa lebih buruk lagi, memang jika kita tinjau dari segi koneksi pengriman data lebih cepat menggunakan UDP, tapi kembali lagi apakah kita hal tersebut terjadi?
Sekarang masuk jawab ke pertanyaan yang kedua, alasan kenapa kita saat menggunakan vidio streaming game online lebih menggunakan UDP, jawabannya simple aja karena saat kita telpon atau streamingan kita ingin melihat data yang real time, kita ingin menerima data yang real time, analoginya gini kalau kita telpon menggunakan TCP pastinya akan three way handshake dulu kan, dan karena sifat tersebut akan memakan waktu, sehingga semisalnya di sisi pengirim berbicara maka kemungkinan data suara tersebut akan diterima pendengar beberapa saat setelahnya. Jadi mungkin saja dari sisi pendengan mendengarkan suara yang diterima oleh pengirim 10 detik yang lalu atau bahkan lebih, justru ini akan menjadi masalah dan bisa membuat kesalah pahaman, itu kalau kita makai TCP di VoIP.
Maka dari itu sudah jelas lah alasan kita menggunakan protkol UDP saat VoIP agar bisa menerima suara secara real time, karena itu yang kita utamakan, tidak peduli data yang sampai itu utuh atau tidak yang terpenting bisa diterima secara real time, itulah kenapa mungkin saat kita telpon kadang ada suara kresek-kresek, nah itu akibat dari data yang dikirm kan dengan proses UDP.
Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.
Penulis : Faisal Nur Rochman