Computer Networks · free preview

Transmission Control Protocol

The Transmission Control Protocol builds a reliable, ordered byte stream between two processes anywhere in the Internet on top of an unreliable datagram service, connections are named by the four-tuple of ports and addresses and opened by a three-way handshake that synchronizes sequence numbers against long-dead duplicates, the sliding window from the link layer returns but measured in bytes and bounded by the receiver's advertised window so a slow reader is never overrun, silly window pathologies are suppressed by rules that wait for full segments or usable acknowledgments, and the retransmission timer adapts to round-trip times that vary by two orders of magnitude, estimating a smoothed average and its variance and refusing to sample timings polluted by retransmission.

1. A Byte Stream from Datagrams

A Byte Stream from Datagrams

2. The Three-Way Handshake

The Three-Way Handshake

3. The Window, Measured in Bytes

The Window, Measured in Bytes

4. Guessing the Round Trip

Guessing the Round Trip

5. What the stream hides

An application writes 2000 bytes in one call, then 100 bytes in another. What does the receiving application see?

6. Why three messages

Why does TCP's connection setup need three messages rather than two?

7. The advertised window

How does TCP keep a fast sender from over-running a slow receiver?

8. The silly window

A receiving application drains its buffer one byte at a time, and the sender ships one-byte segments in response. What is this failure called, and how does Nagle's rule prevent its sender side?

9. Poisoned samples

Why must TCP refuse to measure a round-trip sample from a segment that was retransmitted?

10. Mean plus deviation

When round-trip samples vary wildly, what does the Jacobson-Karels timeout do differently from the original twice-the-mean rule?

11. The four-tuple

A TCP connection is uniquely named by the source and destination ports together with which two further fields?

12. The lifetime bound

TCP assumes no segment lives longer in the network than the maximum segment lifetime, conventionally set to how many seconds?

13. The self-clocking rule

Whose algorithm forbids sending a small segment whenever unacknowledged data is outstanding, pacing transmission by returning acknowledgments?

14. The fourfold margin

In the Jacobson-Karels timeout, the estimated round-trip mean is added to how many times the estimated deviation?

Practice this interactively

Free account · instant grading · spaced review that schedules itself.

Start this course for free