Transmission Control Protocol (TCP) adalah suatu protokol yang berada di lapisan transport (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan bersifat dapat diandalkan (reliable). Teori-teori TCP dijelaskan secara lengkap pada RFC 793. Dokumen tersebut diterbitkan oleh IETF pada bulan September 1981. TCP adalah protokol yang paling umum digunakan pada jaringan Internet, karena TCP memiliki kelebihan koreksi kesalahan. Dengan menggunakan protokol TCP, maka proses pengiriman data menjadi terjamin. Hal ini disebabkan adanya bagian yang menjalankan suatu metode yang disebut dengan flow control. TCP mempunyai prinsip kerja seperti "virtual circuit" pada jaringan telepon. TCP lebih mementingkan tata-cara dan keandalan dalam pengiriman data antara dua komputer dalam jaringan. TCP tidak peduli dengan hal-hal yang dikerjakan oleh IP, prioritas TCP adalah memastikan hubungan komunikasi antara dua komputer dapat berjalan dengan baik. Dalam hal ini, TCP mengatur cara membuka hubungan komunikasi dan jenis aplikasi apa yang melakukan komunikasi (misalnya mengirim e-mail, transfer file dsb.) Selain itu, TCP juga melakukan pendeteksian dan perbaikan ketika terjadi kesalahan pengiriman data. TCP mengatur seluruh proses koneksi antara satu komputer dengan komputer yang lain dalam sebuah jaringan.
TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP. Beberapa kelebihan TCP/IP dibandingkan protokol yang lain antara lain adalah bisa diarahkan. Artinya ia bisa mengirimkan data-gram melalui rute-rute yang telah ditentukan sebelumnya. Hal ini dapat mengurangi padatnya lalu lintas pada jaringan, serta dapat membantu jika jaringan mengalami kegagalan. Pada kondisi tersebut TCP/IP dapat mengarahkan data melalui jalur lain dengan kondisi lebih baik. TCP/IP memiliki mekanisme pengiriman data yang handal, efisien dan bersifat open platform atau platform independent. Maksudnya adalah tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu. Karena sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara sistem-sistem komputer yang berbeda yang beroperasi pada berbagai sistem operasi yang berbeda pula. TCP/IP terpisah dari perangkat keras yang mendasari-nya. Protokol ini dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui sambungan telepon. TCP/IP menggunakan skema pemberian alamat yang umum, maka dari itu semua sistem dapat mengirimkan data ke alamat sistem yang lain.
Saat Vint Cerf dan Bob Kahn pertama kali menulis spesifikasi protokol TCP pada tahun 1973, Internet masih merupakan media yang dilarang untuk keperluan komersial. Di bulan Mei 1974, IEEE membuat publikasi artikel berjudul "Protokol sebagai paket interkoneksi jaringan". Sebagai penulis artikel tersebut, Cerf dan Kahn menjabarkan sebuah protokol interkoneksi untuk berbagi layanan dengan memanfaatkan pertukaran paket antara node jaringan yang saling terhubung. Komponen-komponen kontrol utama model tersebut disebut sebagai "Transmission Control Protocol" yang menggabungkan sambungan koneksi teri-orientasi dan layanan data-gram antar host. Model inilah kemudian dikenal dengan istilah TCP/IP, meski secara formal istilah yang digunakan adalah paket Internet Protocol. Pada bulan januari 1980 IETF menerbitkan RFC 761, dokumen tersebut berjudul Transmission Control Protocol. Latar belakang penerbitan RFC 761 adalah karena semakin pentingnya peran sistem komunikasi komputer dalam lingkungan militer, pemerintah, dan sipil. Pada bulan September 1981 IETF menerbitkan dokumen RFC 793 yang dipersiapkan oleh University of Southern California. Dokumen itu dipersiapkan untuk dijadikan sebagai standar kantor teknik pengolah informasi di Defense Advanced Research Projects Agency (DARPA). RFC 793 berisi tentang informasi dan standar teknis protokol TCP untuk DoD dan diberi nama Transmission Control Protocol.
Aplikasi TCP antara lain adalah World Wide Web, FTP, WAIS dan FAX. Aplikasi World Wide Web mirip aplikasi gopher, yakni penyediaan database yang dapat di-akses tidak hanya berupa teks, namun dapat berupa gambar, suara dan video. Protokol pada aplikasi ini dikenal dengan nama Hypertext-transfer-protocol (HTTP). Aplikasi FTP memungkinkan pengguna melakukan transfer berkas dari mana saja di seluruh dunia. Server Archie secara berkala melakukan anonymous ftp ke sejumlah FTP Server dan mengambil informasi daftar seluruh berkas yang ada pada FTP Server tersebut. WAIS (Wide Area Information Services) merupakan salah satu layanan pada Internet yang memungkinkan pengguna mencari materi yang ter-indeks dan menemukan dokumen atau artikel berdasarkan isi artikel tersebut. WAIS memberikan layanan untuk mencari artikel yang berisi kata-kata kunci sebagai dasar pencarian. Dokumen yang memiliki unsur kata kunci diberi skor atau nilai. Dokumen yang paling banyak mengandung kata-kata kunci akan mendapat skor tertinggi. Dengan demikian, pengguna mendapatkan informasi kemungkinan terbesar dari beberapa dokumen yang mengandung kumpulan kata yang diajukannya. Mesin FAX sebagai pengirim dan penerima berita tertulis melalui telepon saat ini hampir dimiliki oleh semua kantor. Melalui gateway Internet FAX, pengiriman FAX dapat dilakukan melalui e-mail. Gateway akan menerjemahkan pesan e-mail tersebut dan menghubungi mesin FAX tujuan melalui jalur telepon secara otomatis.
Kegunaan TCP adalah menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda-beda. Protokol transport berjalan pada end systems. File Transfer Protokol (FTP) memungkinkan pengguna komputer satu dapat mengirim atau menerima berkas ke komputer lain di jaringan. Network terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log-in ke dalam suatu komputer di dalam suatu jaringan. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut. Informasi spesifik tentang telnet terdapat dalam RFC 854 dan 855. Computer mail digunakan untuk menerapkan sistem surat elektronik. Network File System (NFS) merupakan pelayanan akses berkas-berkas jarak jauh yang memungkinkan klien-klien untuk dapat mengakses berkas-berkas pada komputer jaringan walaupun berkas tersebut disimpan secara lokal. Informasi dan standar NFS terdapat dalam RFC 1001 dan 1002. Remote execution memungkinkan pengguna komputer untuk menjalankan suatu program pada komputer yang berbeda. Biasanya berguna ketika pengguna menggunakan komputer yang terbatas, sedangkan ia memerlukan sumber daya yang banyak dalam suatu sistem komputer.
Cara kerja protokol TCP/IP adalah sebagai berikut: pertama, data-gram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith. Pada lapisan TCP, data tersebut ditambah dengan informasi header yang dibutuhkan. Contohnya adalah protokol untuk mengarahkan data tersebut ke tujuannya, protokol untuk merangkai kembali menjadi bagian-bagian data jika sudah sampai pada tujuannya, dan sebagainya. Setelah data-gram dibungkus dengan header, datagram tersebut dikirim kepada lapisan IP. IP menerima data-gram dari TCP dan menambahkan header tersendiri pada data-gram tersebut. Lalu IP mengarahkan data-gram tersebut ke tujuannya. Komputer penerima melakukan perhitungan, ia memeriksa perhitungan checksum dengan data yang diterima. Jika kedua perhitungan tersebut tidak cocok berarti ada kesalahan sewaktu proses pengiriman dan data-gram akan dikirimkan kembali. Port TCP berbeda dengan port UDP, meski keduanya memiliki nomor yang sama. Port TCP digunakan untuk melakukan sebuah koneksi TCP, sementara port UDP digunakan pada sebuah antrean pesan UDP. Protokol lapisan aplikasi yang menggunakan port TCP dan UDP juga tidak harus sama. Sebagai contoh protokol Extended Filename Server (EFS) menggunakan port TCP dengan nomor 520, dan protokol Routing Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520. Standar nomor port TCP dan UDP diterbitkan oleh IANA.
TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP. Beberapa kelebihan TCP/IP dibandingkan protokol yang lain antara lain adalah bisa diarahkan. Artinya ia bisa mengirimkan data-gram melalui rute-rute yang telah ditentukan sebelumnya. Hal ini dapat mengurangi padatnya lalu lintas pada jaringan, serta dapat membantu jika jaringan mengalami kegagalan. Pada kondisi tersebut TCP/IP dapat mengarahkan data melalui jalur lain dengan kondisi lebih baik. TCP/IP memiliki mekanisme pengiriman data yang handal, efisien dan bersifat open platform atau platform independent. Maksudnya adalah tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu. Karena sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara sistem-sistem komputer yang berbeda yang beroperasi pada berbagai sistem operasi yang berbeda pula. TCP/IP terpisah dari perangkat keras yang mendasari-nya. Protokol ini dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui sambungan telepon. TCP/IP menggunakan skema pemberian alamat yang umum, maka dari itu semua sistem dapat mengirimkan data ke alamat sistem yang lain.
Saat Vint Cerf dan Bob Kahn pertama kali menulis spesifikasi protokol TCP pada tahun 1973, Internet masih merupakan media yang dilarang untuk keperluan komersial. Di bulan Mei 1974, IEEE membuat publikasi artikel berjudul "Protokol sebagai paket interkoneksi jaringan". Sebagai penulis artikel tersebut, Cerf dan Kahn menjabarkan sebuah protokol interkoneksi untuk berbagi layanan dengan memanfaatkan pertukaran paket antara node jaringan yang saling terhubung. Komponen-komponen kontrol utama model tersebut disebut sebagai "Transmission Control Protocol" yang menggabungkan sambungan koneksi teri-orientasi dan layanan data-gram antar host. Model inilah kemudian dikenal dengan istilah TCP/IP, meski secara formal istilah yang digunakan adalah paket Internet Protocol. Pada bulan januari 1980 IETF menerbitkan RFC 761, dokumen tersebut berjudul Transmission Control Protocol. Latar belakang penerbitan RFC 761 adalah karena semakin pentingnya peran sistem komunikasi komputer dalam lingkungan militer, pemerintah, dan sipil. Pada bulan September 1981 IETF menerbitkan dokumen RFC 793 yang dipersiapkan oleh University of Southern California. Dokumen itu dipersiapkan untuk dijadikan sebagai standar kantor teknik pengolah informasi di Defense Advanced Research Projects Agency (DARPA). RFC 793 berisi tentang informasi dan standar teknis protokol TCP untuk DoD dan diberi nama Transmission Control Protocol.
Aplikasi TCP antara lain adalah World Wide Web, FTP, WAIS dan FAX. Aplikasi World Wide Web mirip aplikasi gopher, yakni penyediaan database yang dapat di-akses tidak hanya berupa teks, namun dapat berupa gambar, suara dan video. Protokol pada aplikasi ini dikenal dengan nama Hypertext-transfer-protocol (HTTP). Aplikasi FTP memungkinkan pengguna melakukan transfer berkas dari mana saja di seluruh dunia. Server Archie secara berkala melakukan anonymous ftp ke sejumlah FTP Server dan mengambil informasi daftar seluruh berkas yang ada pada FTP Server tersebut. WAIS (Wide Area Information Services) merupakan salah satu layanan pada Internet yang memungkinkan pengguna mencari materi yang ter-indeks dan menemukan dokumen atau artikel berdasarkan isi artikel tersebut. WAIS memberikan layanan untuk mencari artikel yang berisi kata-kata kunci sebagai dasar pencarian. Dokumen yang memiliki unsur kata kunci diberi skor atau nilai. Dokumen yang paling banyak mengandung kata-kata kunci akan mendapat skor tertinggi. Dengan demikian, pengguna mendapatkan informasi kemungkinan terbesar dari beberapa dokumen yang mengandung kumpulan kata yang diajukannya. Mesin FAX sebagai pengirim dan penerima berita tertulis melalui telepon saat ini hampir dimiliki oleh semua kantor. Melalui gateway Internet FAX, pengiriman FAX dapat dilakukan melalui e-mail. Gateway akan menerjemahkan pesan e-mail tersebut dan menghubungi mesin FAX tujuan melalui jalur telepon secara otomatis.
Kegunaan TCP adalah menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda-beda. Protokol transport berjalan pada end systems. File Transfer Protokol (FTP) memungkinkan pengguna komputer satu dapat mengirim atau menerima berkas ke komputer lain di jaringan. Network terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log-in ke dalam suatu komputer di dalam suatu jaringan. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut. Informasi spesifik tentang telnet terdapat dalam RFC 854 dan 855. Computer mail digunakan untuk menerapkan sistem surat elektronik. Network File System (NFS) merupakan pelayanan akses berkas-berkas jarak jauh yang memungkinkan klien-klien untuk dapat mengakses berkas-berkas pada komputer jaringan walaupun berkas tersebut disimpan secara lokal. Informasi dan standar NFS terdapat dalam RFC 1001 dan 1002. Remote execution memungkinkan pengguna komputer untuk menjalankan suatu program pada komputer yang berbeda. Biasanya berguna ketika pengguna menggunakan komputer yang terbatas, sedangkan ia memerlukan sumber daya yang banyak dalam suatu sistem komputer.
Cara kerja protokol TCP/IP adalah sebagai berikut: pertama, data-gram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith. Pada lapisan TCP, data tersebut ditambah dengan informasi header yang dibutuhkan. Contohnya adalah protokol untuk mengarahkan data tersebut ke tujuannya, protokol untuk merangkai kembali menjadi bagian-bagian data jika sudah sampai pada tujuannya, dan sebagainya. Setelah data-gram dibungkus dengan header, datagram tersebut dikirim kepada lapisan IP. IP menerima data-gram dari TCP dan menambahkan header tersendiri pada data-gram tersebut. Lalu IP mengarahkan data-gram tersebut ke tujuannya. Komputer penerima melakukan perhitungan, ia memeriksa perhitungan checksum dengan data yang diterima. Jika kedua perhitungan tersebut tidak cocok berarti ada kesalahan sewaktu proses pengiriman dan data-gram akan dikirimkan kembali. Port TCP berbeda dengan port UDP, meski keduanya memiliki nomor yang sama. Port TCP digunakan untuk melakukan sebuah koneksi TCP, sementara port UDP digunakan pada sebuah antrean pesan UDP. Protokol lapisan aplikasi yang menggunakan port TCP dan UDP juga tidak harus sama. Sebagai contoh protokol Extended Filename Server (EFS) menggunakan port TCP dengan nomor 520, dan protokol Routing Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520. Standar nomor port TCP dan UDP diterbitkan oleh IANA.