Lably
Skip to content

Transmission Control Protocol

Principal protocol used to stream data across an IP network

  • 44 min read
  • 14 chapters

Related on Lably

Through Internet protocol suite, Error detection and correction and World Wide Web

Major internet applications such as the World Wide Web, email, remote administration, file transfer and streaming media rely on TCP, which is part of the transport layer of the TCP/IP suite. SSL/TLS often runs on top of TCP. Today, TCP remains a core protocol for most Internet communication, ensuring reliable data transfer across diverse networks.

TCP is connection-oriented, meaning that sender and receiver first need to establish a connection based on agreed parameters; they do this through a three-way handshake procedure. The server must be listening (passive open) for connection requests from clients before a connection is established. The three-way handshake (active open), retransmission, and error detection add to reliability but lengthen latency. Applications that do not require reliable data stream service may use the User Datagram Protocol (UDP) instead, which provides a connectionless datagram service that prioritizes time over reliability. TCP employs network congestion avoidance. However, there are vulnerabilities in TCP, including denial of service, connection hijacking, TCP veto, and reset attack.

Historical origin

In May 1974, Vint Cerf and Bob Kahn described an internetworking protocol for sharing resources using packet switching among network nodes. The authors had been working with Gérard Le Lann to incorporate concepts from the French CYCLADES project into the new network. The specification of the resulting protocol, RFC 675 (Specification of Internet Transmission Control Program), was written by Vint Cerf, Yogen Dalal, and Carl Sunshine, and published in December 1974. It contains the first attested use of the term internet, as a shorthand for internetwork.

The Transmission Control Program incorporated both connection-oriented links and datagram services between hosts. In version 4, the monolithic Transmission Control Program was divided into a modular architecture consisting of the Transmission Control Protocol and the Internet Protocol. This resulted in a networking model that became known informally as TCP/IP, although formally it was variously referred to as the DoD internet architecture model (DoD model for short) or DARPA model. Later, it became part of, and synonymous with, the Internet Protocol Suite. TCP continues to evolve, with incremental updates and best practices formalized in RFCs such as RFC 9293 (2022).

The following Internet Experiment Note (IEN) documents describe the evolution of TCP into the modern version:

  • IEN #5 Specification of Internet Transmission Control Program TCP Version 2 (March 1977)
  • IEN #21 Specification of Internetwork Transmission Control Program TCP Version 3 (January 1978)
  • IEN #27 A Proposal for TCP Version 3.1 Header Format (February 1978)
  • IEN #40 Transmission Control Protocol Draft Version 4 (June 1978)
  • IEN #44 Latest Header Formats (June 1978)
  • IEN #55 Specification of Internetwork Transmission Control Protocol Version 4 (September 1978)
  • IEN #81 Transmission Control Protocol Version 4 (February 1979)
  • IEN #112 Transmission Control Protocol (August 1979)
  • IEN #124 DOD STANDARD TRANSMISSION CONTROL PROTOCOL (December 1979)

TCP was standardized in January 1980 as RFC 761. About 315 Internet hosts advertised TCP support by 1983, with only a portion accepting connections at any given time.

In 2004, Vint Cerf and Bob Kahn received the Turing Award for their foundational work on TCP/IP.

Sign in to keep reading

13 more chapters are free with a Lably account.

More in Computing and communication