Seputar Tekno

Apa itu TCP?

Pada kesempatan kali ini, kami akan mengajak Sobat Gaptex sekalian untuk mengetahui apa itu TCP. Pastinya Anda sudah tidak asing lagi dengan istilah ini bukan? Terlebih lagi jika pekerjaan Anda berkaitan dengan dunia internet. TCP memang menjadi bagian inti penting dari Internet Protocol sehingga tak heran jika sering disebut sebagai TCP/IP.

Pengertian TCP
Transmission Control Protocol (TCP) adalah salah satu protokol utama dari paket protokol internet. Istilah ini berasal dari implementasi jaringan awal yang dilengkapi dengan Internet Protokol (IP). Oleh karena itulah keseluruhan suite ini juga biasa disebut sebagai TCP/IP. TCP menyediakan pengiriman oktet yang dapat diandalkan, teratur, dan terkoreksi kesalahan antar aplikasi yang berjalan pada host yang berkomunikasi melalui jaringan IP.

Aplikasi Internet utama seperti World Wide Web, email, remote administration, dan transfer file bergantung pada TCP. Aplikasi yang tidak memerlukan layanan aliran data yang andal dapat menggunakan User Datagram Protocol (UDP), yang menyediakan layanan datagram tanpa koneksi dengan menekankan penurunan latensi.

Asal Mula
Selama bulan Mei 1974, Institute of Electrical and Electronic Engineers (IEEE) menerbitkan sebuah makalah berjudul “A Protocol for Packet Network Intercommunication”. Penulis makalah, Vint Cerf dan Bob Kahn, menggambarkan sebuah protokol internetworking untuk berbagi sumber daya dengan menggunakan packet switching di antara node-node, dan menggabungkan konsep-konsep dari proyek CYCLADES Perancis yang didukung oleh Louis Pouzin.

Komponen kontrol utama dari model ini adalah Transmission Control Program yang menggabungkan kedua koneksi connection-oriented dan layanan datagram antar host. Program Kontrol Transmisi monolitik kemudian dibagi menjadi arsitektur modular yang terdiri dari Protokol Kontrol Transmisi (TCP) pada lapisan berorientasi koneksi dan Protokol Internet (IP) pada lapisan internetworking (datagram). Model ini dikenal secara informal sebagai TCP/IP, walaupun secara formal disebut Internet Protocol Suite.

Karakteristik TCP
TCP mempunyai karakteristik sebagai berikut:

1. Connection-oriented atau berorientasi sambungan
Saat data belum dapat dikirim antara dua host yang bersangkutan, dua proses yang berjalan pada layer aplikasi harus bernegosiasi untuk membentuk sesi koneksi terlebih dahulu. Sambungan TCP akan ditutup dengan menggunakan proses penghentian koneksi TCP.

2. Full-duplex
Untuk setiap host TCP, koneksi antara dua host terdiri dari dua jalur, jalur keluar dan jalur masuk. Karena mengandalkan teknologi lapisan bawah yang disupport full duplex, maka data bisa langsung diterima dan dikirim secara bersamaan. Header TCP berisi nomor urut dari data yang ditransmisikan dan acknowledgment data masuk.

3. Reliable
Data yang ditransmisikan ke koneksi TCP akan diurutkan berdasarkan nomor seri paket yang nantinya akan mengharapkan paket acknowledgment positif dari receiver. Jika tidak ada paket Ucapan Terima Kasih dari penerima, maka segmen TCP (unit data protokol dalam protokol TCP) akan dipancarkan ulang. Kemudian, segmen duplikat pun diabaikan dan segmen yang tidak sesuai dengan urutan akan ditempatkan di belakang untuk mengurutkan segmen TCP, jika dilihat dari sisi penerima. Untuk memastikan integritas setiap segmen TCP, TCP mengimplementasikan perhitungan TCP Checksum.

Artikel menarik:  Apa itu Bloatware?

4. Byte stream
TCP melihat data yang dikirim dan diterima melalui dua jalur TCP masuk dan keluar sebagai arus byte yang berdekatan (bersebelahan). Nomor seri TCP dan nomor acknowledgment di setiap header TCP ditulis dalam bentuk byte. Namun, TCP sendiri tidak mengetahui keterbatasan pesan dalam aliran byte TCP.

5. Memiliki layanan kontrol aliran
Demi mencegah terlalu banyak data yang dikirim pada waktu bersamaan, yang akhirnya berakibat menghentikan jaringan internetwork IP, TCP menerapkan layanan kontrol aliran yang dimiliki oleh pengirim, dimana ia akan terus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu.

TCP biasanya digunakan ketika protokol lapisan aplikasi memerlukan layanan transfer data yang andal, dimana layanannya tidak dimiliki oleh protokol lapisan aplikasi. Contoh protokol yang menggunakan TCP adalah HTTP dan FTP.

Fungsi
TCP menyediakan layanan komunikasi pada tingkat menengah antara program aplikasi dan Protokol Internet. Ini menyediakan konektivitas host-to-host pada model Transport Layer di Internet. Aplikasi tidak perlu mengetahui mekanisme pengiriman data melalui link ke host lain, seperti fragmentasi paket yang dibutuhkan pada media transmisi. Pada lapisan transport, protokol akan menangani semua detail handshaking dan transmisi, serta menyajikan abstraksi koneksi jaringan ke aplikasi.

Pada tingkat yang lebih rendah dari stack protokol, karena kemacetan jaringan, load balancing lalu lintas, atau perilaku jaringan yang tidak dapat diprediksi lainnya, paket IP mungkin saja hilang, diduplikasi, atau dikirim dalam kondisi rusak. TCP secara otomatis akan mendeteksi masalah ini, meminta transmisi ulang data yang hilang, mengatur ulang data out-of-order dan bahkan membantu meminimalkan kemacetan jaringan untuk mengurangi terjadinya masalah lainnya. Jika data tetap tidak terkirim, sumbernya diberitahu tentang kegagalan ini. Setelah penerima TCP menyusun ulang urutan oktet yang awalnya dikirimkan, maka receiver tersebut akan mengirimkannya ke aplikasi penerima.

TCP digunakan secara luas oleh banyak aplikasi yang tersedia melalui internet, termasuk World Wide Web (WWW), E-mail, File Transfer Protocol, Secure Shell, peer-to-peer file sharing, dan aplikasi media streaming.

Selain itu, TCP juga dioptimalkan untuk pengiriman yang akurat ketimbang pengiriman tepat waktu dan dapat menyebabkan penundaan yang relatif lama (sesuai urutan detik) sambil menunggu pesan keluar atau pengiriman ulang pesan yang hilang. Oleh karena itu, hal ini tidak terlalu sesuai untuk aplikasi real-time seperti Voice over IP. Untuk aplikasi seperti itu, protokol seperti Real-time Transport Protokol (RTP) yang beroperasi di atas User Datagram Protocol (UDP) biasanya direkomendasikan.