TCP functions by opening connections to a remote computer. This is called connection-oriented communication. TCP maintains status information regarding the connections it makes and is therefore a reliable protocol. A single TCP connection is identified by combination of IP addresses and virtual port numbers used by both ends. During communication, additional numbers are used to keep track of the order or sequence in which the data segments are transmitted. The sequence number indicates what order the segments of data should be reassembled. Finally, a maximum transmission size is constantly being negotiated via a fallback mechanism called windowing. The combination of port numbers, sequence numbers and window sizes constitutes a connection, or pipe.
For example, when you use your browser to open a website you are opening a TCP connection from your browser to the website. Your local computer uses an IP addresses and a virtual port number ot identify itself. Your computer opens a connection to the server on port 80 (the well-known port for HTTP, the protocol web pages are delivered on.
To establish a connection, TCP uses the three-way handshake (SYN-SYN-ACK). This three-way handshake will only be completed in one direction even if both sides initialize TCP socket connections at the same time.
TCP Tutorials
- Introduction to Transmission Control Protocol (TCP)
- TCP: A Reliable Protocol
- TCP Header
- TCP 3-Way Handshake
- TCP Connections
- TCP Sockets
- TCP Data Transfer/a>
- TCP Segmentation and Reassembly
- TCP Flow Control
- TCP Multiplexing
- TCP Precedence
- TCP Transport Stream Push (TCP Push)