TCP Connection Preparation: Transmission Control Blocks (TCBs) and Passive and Active Socket OPENs
(Page 1 of 2)
In the TCP fundamentals topic describing ports and connections, I raised an important point about TCP operation: it must be capable of handling many connections simultaneously. It is for this reason that we uniquely identify each connection using the quadruple of the socket identifiers (IP address and port number) for each of the two devices on the connection. The process of setting up, managing and terminating a connection is performed independently for each connection.
Since each connection is distinct, we must maintain data about each connection separately. TCP uses a special data structure for this purpose, called a transmission control block (TCB). The TCB contains all the important information about the connection, such as the two socket numbers that identify it and pointers to buffers where incoming and outgoing data are held. The TCB is also used to implement the sliding window mechanism. It holds variables that keep track of the number of bytes received and acknowledged, bytes received and not yet acknowledged, current window size and so forth. Of course, each device maintains its own TCB for the connection.
Before the process of setting up a TCP connection can begin, the devices on each end must perform some prep work. One of the tasks required to prepare for the connection is to set up the TCB that will be used to hold information about it. This is done right at the very start of the connection establishment process, when each device just transitions out of the CLOSED state.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.