Transmission Control Protocol

From Computer History Wiki
Jump to: navigation, search

The Transmission Control Protocol‏‎ (usually TCP) is the reliable byte stream protocol of the TCP/IP protocol suite. It provides connections, identified by a pair of Internet Protocol host addresses and a 16-bit port number on each end, between pairs of hosts.

It runs on top of the Internet Protocol - the internetworking layer in TCP/IP. That layer is unreliable - packets carried by it may be delayed, damaged, duplicated, re-ordered, or lost. TCP therefore has to use a number of mechanisms to built a reliable stream out of the unreliable substrate.

To do that, it uses checksums (to prevent and detect damaged data), sequence numbers (each byte sent over the channel is individually numbered), acknowledgements, timeouts (to look for missing acknowledgements), and re-transmissions (of data which was damaged, or never acknowledged, and thus was somehow lost).

A number of major application protocols (including HTTP, email, etc) are built on top of TCP.