TCP Message (Segment) Format
(Page 1 of 4)
In the TCP fundamentals section, I described one of the most interesting jobs that TCP performs: it allows an application to send data as an unstructured sequence of bytes, transparently packaging that data in distinct messages as required by the underlying protocol that TCP uses (normally the Internet Protocol, of course). TCP messages are called segments, the name referring to the fact that each segment is a portion of the overall data stream passing between the devices.
TCP segments are very much jack of all trade messagesthey are flexible and serve a variety of purposes. A single field format is used for all segments, with a number of header fields that implement the many functions and features for which TCP is responsible. One of the most notable characteristics of TCP segments is that they are designed to carry both control information and data simultaneously. This reduces the number of segments sent, since they can perform more than one function.
For example, there is no need to send separate acknowledgments in TCP because each TCP message includes a field for an acknowledgment byte number. Similarly, one can request that a connection be closed while sending data in the same message. The nature of each TCP segment is indicated through the use of several special control bits. More than one bit can be sent to allow a segment to perform multiple functions, such as when a bit is used to specify an initial sequence number and acknowledge receipt of another such segment at the same time.
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.