TCP dan UDP merupakan protokol yang terdapat dalam Transport Layer. Transport Layer merupakan Layer 4 dalam Model OSI. Transport Layer melayani layer aplikasi dengan melakukan segmentasi. Paket harus disegmentasi karena tidak dimungkinkan sebuah paket dikirim 1 sekaligus.

Perbandingan TCP dengan UDP
Transmisi Control Protokol (TCP) merupakan protokol yang berorientasi pada konektivitas (connection-oriented protocol) dan banyak digunakan sebagai dasar layanan internet bersamaan dengan protokol internet (IP). TCP memungkinkan untuk komunikasi yang handal (reliable), memastikan paket yang mencapai tujuan sesuai keinginan pengirim. Dan berikut merupakan beberapa aplikasi yang menggunakan TCP yaitu:
- Web Browser
- E-mail
- file transfer
- dll.
User Datagram Protokol (UDP) merupakan protokol yang berorientasi pada pesan minimal (minimal message-oriented) atau connectionless. Pertukaran datagram dalam UDP tidak mendapatkan acknowledgment atau terjaminya pengiriman. Dan pada saat ada data yang lost saat pengiriman, UDP tidak melakukan retransmission melainkan retransmissionnya itu ditangani oleh protokol lain. Dan berikut adalah beberapa aplikasi yang menggunakan UDP yaitu:
- Domain Name System (DNS)
- Video Streaming
- Voice over IP (VoIP)
- Dll.
TCP vs UDP

Sebetulnya ada banyak kelebihan yang dimiliki protokol TCP dibandingkan dengan protokol UDP. Kita tahu bahwa TCP merupakan protokol yang berorientasi pada koneksi, itu berarti bahwa setiap koneksi perlu dipersiapkan terlebih dahulu sebelum transfer data dimulai. Untuk melakukan hal tersebut, maka TCP memiliki sistem 3 way handshake. Dengan sistem ini, user terlebih dahulu menginisialisasi koneksi dan harus mendapatkan pengakuan / acknowledgment dari pihak penerima sebelum mengirim data, jika syarat tersebut terpenuhi, maka TCP dapat membuat koneksi dan pengiriman data dapat dilakukan.

Konsep 3 way handshake
TCP merupakan protokol yang dipercaya atau reliable. Jadi semua data yang dikirim akan terjamin sampai ke pihak penerima. Bila ada paket data yang lost atau hilang maka protokol TCP akan mengirim kembali dan apabila koneksinya terputus datanya akan di request kembali, sehingga paket data yang kita kirimkan itu pasti sampai ke pihak penerima. Semua ini tidak bisa kita dapatkan jika menggunakan protokol UDP, karena protokol UDP tidak bersifat reliable.
Protokol TCP memungkinkan data diterima secara urut sesuai dengan pengirimannya. Hal tersebut tidak terjadi dalam protokol UDP, karena UDP bersifat connectionless maka data yang dikirim menggunakan protokol UDP akan diterima secara tidak terurut. Cara kerja protokol UDP adalah mengirim data tanpa ada jaminan apakah data tersebut akan sampai tujuan atau tidak. Oleh sebab itu protokol TCP paling sering digunakan dalam sebuah sistem.