Telecommunications Pocket Reference

TCP is a layer 4 protocol and is a user of IP services. It does not require IP, however, and can use ,almost any other layer 3 protocol for transport services. The software resides in hosts but not in routers. A router does not need to know about TCP because it does not process the TCP header. Only hosts (both originating and receiving) process this header.
There is one exception to this rule. Sometimes routers will use TCP software for network management purposes, in which case they must be able to generate a TCP header to encapsulate the network management message. User data is never processed in routers. Likewise, gateways do not use TCP (other than for the generation and processing of network management messages). We will discuss network management later on in this chapter, but for now understand that network management is considered an application, and it relies on TCP and IP for the delivery of network management data units.
TCP provides end-to-end session control between two hosts. Remember that TCP is connection-oriented, which requires a session to be established before data can be exchanged. TCP also provides error detection and correction for applications requiring connection-oriented services.
As with any connection-oriented protocol, once the session is established between two logical entities, the receiving host must acknowledge all received data units. If a data unit is not acknowledged, no error messages (negative acknowledgments) are sent by TCP. Instead, the sending host sets a timer, and...