Chapter 3.1. Introduction to TCP
INTRODUCTION
TCP or the Transmission Control Protocol is the dominant transport layer protocol in the Internet. It provides a reliable, in-order stream of data between two applications, even if the applications are running on different machines and separated by a network that can drop, reorder, or corrupt the packets. TCP provides this reliable data stream by detecting if packets are lost, delayed, or changed in transit and retransmitting them.
A good way to understand how TCP accomplishes this is to think how you might handle sending a very large document over a fax machine that skips pages. You would most likely number the pages so that the receiver could tell what portions were missing. You might send a special cover page that tells how many pages there are so that the receiver would know how many pages to expect. You would need feedback from the receiver to know what was missing so that you could resend them. TCP records much of this same information in the header that it adds to each segment.
Every TCP segment consists of a header followed by an optional data portion. The format of the header is defined in RFC 793 and is shown below. The header always begins with 32 bits for the port used on the sending machine and is followed by 32 bits for the port used on the destination machine.
The next 32 bits are used for a sequence number. In our example of faxing pages with a machine that skips pages, this is the equivalent of numbering the pages. The sequence ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access