TCP Connections
TCP is an end to end point to point transport used in internet. being a point to point protocols means that there is always s single sender a single receiver for a TCP session. Being an end to end protocols on the other hand means that the TCP session should cover al parameters and transportation involved form the source host to the destination host. The latter is an important features of the TCP and should never e forgotten during the analysis any TCP/ IP network or a protocol design.
TCP is a pipelined protocols. This means that the TCP packed data units which are commonly named TCP segments are logically enclosed in a pipe and thus they will be successively transported within the end to end TCP connections. This is one of the reliability features of the TCP so that all TCP segments will be delivered to the receiver host in the means that even if the segment are delivered in a different order TCP will make them in order before passing them to the higher layer protocols that is the application layer figure show the logical pipelining in TCP.
The are buffers at both sides of a TCP connections. The TCP connection however is not seen by the network elements such as routers as they work at layer below the transport layer. These network elements just see the datagram's that is the IP layer packets.
TCP provides a means of full duplex data transfer. Therefore a bidirectional data flow is available in the same TCP connection. TCP puts a maximum segment size ( MSS) on its data. This MSS is usually less than 1500 bytes but in practical network even smaller MSS is used around 500bytes.
TCP is a connection oriented protocols. This means that before any data transfer could be started a connection must be established through a process called three way during this process.
TCP utilizes a complete flow control flow control mechanism . by this methods TCP not only entries that the sender host does not overwhelm the receiver host sending too much data too fast but also ensures a fair bandwidth share among, all TCP sessions concurrently used.