Difference between revisions of "Transmission Control Protocol"

From Computer History Wiki
Jump to: navigation, search
(Mention connections)
m (Avoid dab page)
Line 1: Line 1:
The '''Transmission Control Protocol‏‎''' is the [[reliable byte stream]] [[protocol]] of the [[TCP/IP]] [[protocol suite]]. It provides [[connection]]s, identified by a pair of [[Internet Protocol]] host [[address]]es and a 16-bit [[port]] number on each end, between pairs of [[host]]s.
+
The '''Transmission Control Protocol‏‎''' (usually '''TCP''') is the [[reliable byte stream]] [[protocol]] of the [[TCP/IP]] [[protocol suite]]. It provides [[connection]]s, identified by a pair of [[Internet Protocol]] host [[address]]es and a 16-bit [[networking port|port]] number on each end, between pairs of [[host]]s.
  
 
It runs on top of the Internet Protocol - the [[internetworking layer]] in TCP/IP. That layer is unreliable - [[packet]]s 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.
 
It runs on top of the Internet Protocol - the [[internetworking layer]] in TCP/IP. That layer is unreliable - [[packet]]s 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.

Revision as of 15:11, 26 October 2018

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.