TCP/IP For Internet Administrators
Previous Section Previous Page Query/Search Next Page Next Section

TCP

Applications that need reliable data delivery to be provided by the Transport Layer use Transmission Control Protocol (TCP). TCP establishes bi-directional communication between a source and destination, verifies that data is delivered correctly, and terminates the connection when the communication ends.

TCP is a more complex protocol than UDP and has a larger overhead for operation. The header is six 32-bit words in length, three times the size of the UDP header, and a TCP conversation has many more parts than one using UDP. TCP begins by establishing a handshake with the remote host. Then data is exchanged between the hosts. If a segment of the information is sent and a positive acknowledgment is not received back telling that the segment was properly received, TCP will re-transmit the segment. TCP verifies that the all segments are received and ordered properly at the receiving end. It also communicates flow control between the receiver and sender as a part of the acknowledgment messages. When a data transfer is concluded the two systems exchange a termination message to close the connection.

Like UDP, TCP is responsible for delivering received data to the correct application process. TCP also uses a 16-bit Source Port and 16-bit Destination Port to identify the application. These are in the first word of the TCP header.

The Transmission Control Protocol is documented in RFC 793.

Previous Section Previous Page Query/Search Next Page Next Section