previous | start | next

TCP Segments

TCP slices (dices?) the incoming byte-stream data into segments for transmission across the Internet. A segment is a highly-structured data package consisting of an administrative header and some application data.
TCP segment format
Source and Destination Port Numbers
We have already seen that TCP server processes wait for connections at a pre-agreed port number. At connection establishment time, TCP first allocates a client port number -- a port number by which the client, or initiating, process can be identified. Each segment contains both port numbers.
 
Segment and Acknowledgment Numbers
Every transmitted segment is identified with a 32-bit Sequence number[2], so that it can be explicitly acknowledged by the receipient. The Acknowledgment Number identifies the last segment recived by the originator of this segment.
 
Application Data
Optional because some segments convey only control information -- for example, an ACK segment has a valid acknowledgment number field, but no data. The data field can be any size up to the currently configured MSS for the whole segment.

 
[2] The sequence number actually identifies the last byte of data contained in this segment.
Lecture 11: Reliable Transport -- TCP Copyright © 2005 P.Scott, La Trobe University Bendigo.


previous | start | next