TCP/IP

TCP/IP is the pair of protocols at the core of the internet: the Transmission Control Protocol and the Internet Protocol. They were originally conceived as a single combined protocol by Vint Cerf and Bob Kahn in 1974, then split into two layers so that the reliable-delivery machinery (TCP) sat above the simple datagram-forwarding machinery (IP). This separation let the network stay simple while the endpoints handled reliability, an early expression of the end-to-end principle.

The Internet Protocol is defined in RFC 791 (September 1981), edited by Jon Postel for DARPA. As the specification states, IP “provides for transmitting blocks of data called datagrams from sources to destinations,” using fixed-length addresses, and it “also provides for fragmentation and reassembly of long datagrams, if necessary, for transmission through small packet networks.” IP is deliberately connectionless and unreliable: it makes a best effort to deliver each datagram but offers no guarantees, leaving recovery to higher layers.

The Transmission Control Protocol is defined in RFC 793 (September 1981), also edited by Postel. RFC 793 describes TCP as “a highly reliable host-to-host protocol between hosts in packet-switched computer communication networks.” TCP runs on top of IP and adds the features applications expect: ordered byte streams, retransmission of lost data, flow control, and connection setup and teardown through mechanisms such as the three-way handshake.

The lineage of these standards runs back to RFC 675, “Specification of Internet Transmission Control Program” (December 1974), authored by Cerf, Yogen Dalal, and Carl Sunshine, which was the first detailed written specification of the protocol before it was divided. Over the following years the design was refined through the RFC process until the 1981 specifications stabilized it. On January 1, 1983, the ARPANET switched from its older host protocol to TCP/IP, the event later called the internet flag day, making TCP/IP the common language of the network of networks.