Networking · Cluster
Transport Protocols
Reliability, flow control, and congestion.
- 01 Sequence Numbers and the Sliding Window Arithmetic How a 32-bit byte counter replaces per-byte bookkeeping, why the window variables are indices into a modular sequence space, and where the arithmetic breaks.
- 02 Retransmission Timeout Estimation and Karn's Algorithm Why the retransmission timer is computed from a smoothed round-trip estimate plus a variance term, and why timing a retransmitted segment corrupts the estimate.
- 03 Advertised Windows and Zero-Window Probing What the receive window field promises, how the receiver computes the value it advertises, and how a sender recovers when the peer advertises zero and then forgets to reopen.
- 04 Connection State Transitions and the TIME_WAIT Hold Why closing a TCP connection takes four segments rather than two, what TIME_WAIT protects against, and why the state exists on the side that closed first.
- 05 SACK Blocks and the Retransmission Queue How selective acknowledgement turns a cumulative ACK into a map of received ranges, why the sender keeps a scoreboard, and what the option length limit costs.
- 06 The Effective Window: Congestion Window, Receive Window, and Buffers Why three independent limits govern how much a TCP sender may have outstanding, how the congestion window grows and collapses, and which limit binds in practice.
- 07 Nagle's Algorithm and the Delayed Acknowledgement Deadlock Why coalescing small writes and batching acknowledgements interact badly, how the 40 ms delay arises, and which socket options disable each mechanism.
- 08 Timestamps, RTTM, and Protection Against Wrapped Sequences How an echoed timestamp lets a sender time a retransmitted segment, why PAWS rejects segments by timestamp rather than sequence number, and what the option costs per segment.
- 09 SYN Cookies and the Cost of Half-Open Connections How a server avoids storing state for every handshake attempt by encoding the connection parameters into the initial sequence number, and what the encoding gives up.
- 10 Multipath TCP and the Data-Level Sequence Space How MPTCP separates a 64-bit connection-level byte counter from the 32-bit per-subflow counters, why the mapping needs a signal option, and what reordering costs.