What differentiates TCP from simpler transport protocols like UDP is the quality of the manner in which it sends data between devices. Rather than just sticking data in a message and saying, "off you go," TCP carefully keeps track of the data it sends. This management of data is required to facilitate the following two key requirements of the protocol:
Reliability Ensuring that data that is sent actually arrives at its destination, and if it doesn't arrive, detecting this and resending it.
Data Flow Control Managing the rate at which data is sent so that it does not overwhelm the device that is receiving it.
To accomplish these tasks, the entire operation of the protocol is oriented around something called ...