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