Chapter 5: TCP

This chapter focuses on transport: specifically, onTCP ("Transport Control Protocol", the workhorse of the Internet). Chapter5 deals with the actual mechanics of TCP (which is a sliding-window protocolsimilar to the ones described in section 2.5). The following chapter, Chapter 6, deals with TCP's congestion-reduction mechanisms. 

Section 5.1: UDP

This is about UDP, a best-effort (no acknowledgementss, no bells and whistles) mechanismfor sending a packet from A to B. About the only difference from IP itselfis that UDP provides for a data checksum, and it also delivers data toa specified "port" on a specified host. A port (the same concept is used in TCP) is just a 16-bit number; at the operating system level, wheneveryou open a "socket" that "listens" for network packets, that socket isassigned (by either you or the operating system) a port number.Put another way, the port number is just a demultiplexer key that allows multiple simultaneous connections. 

UDP is like postal mail to a mailbox: if two competing senders eachsend to a given port on a given third machine C, then the process receivingthe packets will see them mixed together, in the same order as they arrived.TCP is more like the phone: the receiving process would first connect exclusively to one sender, and then, when that sender was done, it would connect tothe second sender. Senders would send data one at a time.

Section 5.2: TCP

To be completed later
5.2.1: End-to-end issues
5.2.2: Packet format; sequence numbers
5.2.3: Connection setup and teardown; three-way handshake; state diagrams
5.2.4: TCP's flavor of sliding windows
5.2.5: Adaptive setting of the TimeOut interval
 

Study questions:

Exercises:

4    TCP state diagram
5     TCP state diagram
6    Probing of size-0 windows
9    Sequence-number issues
12   Duplicate SYN issues
18   Nagle algorithm
21    TIMEWAIT
25    Adaptive statistics for TimeOut
33     Simultaneous open