Computerphile
June 15, 2026
TL;DR
TCP uses Additive Increase Multiplicative Decrease (AIMD) and Slow Start mechanisms to dynamically adjust data transmission rates based on network congestion signals detected through packet loss and timeouts.
“We call it slow start because it's tremendously quick. I know. I didn't name it.”
— Presenter
“The real internet is really really much more complicated than the sketches we draw out in the classroom.”
— Presenter
“Despite its age, it's doing a very, very, very good and complicated job.”
— Presenter
1. TCP Basics and Packet Acknowledgement
Review of sequence numbers, acknowledgement numbers, and cumulative acknowledgements. Introduction to the concept of packets in flight and the challenge of not knowing network size or RTT in advance.
2. Congestion Detection Signals
Explanation of how TCP infers congestion through lost packets. Triple duplicate ACKs indicate isolated loss; timeouts indicate severe congestion. Discussion of why TCP cannot send detailed loss information in packet headers.
3. AIMD: Additive Increase Multiplicative Decrease
Core congestion control algorithm: window increases by one packet per successful round trip (additive increase) but halves upon loss detection (multiplicative decrease), creating a sawtooth pattern.
4. Slow Start and Exponential Growth
Initial connection phase where the congestion window doubles each round (1→2→4→8→16 packets) to rapidly reach network capacity. Named counterintuitively; called slow start because it's the mechanism to escape truly slow single-packet-at-a-time transmission.
5. TCP Flavors and RTT-Adaptive Timeouts
Different TCP variants (Cubic, Vegas, etc.) implement different responses to congestion signals. Timeout thresholds adapt to measured RTT, allowing the same algorithm to function across data centers, home networks, and satellite links with vastly different latencies.
6. Real-World TCP Behavior vs. Theory
Analysis of actual packet captures shows TCP behavior is far messier than textbook diagrams. Network mesh topologies concatenate packets, TLS adds overhead, and competing traffic creates jagged, complex patterns rather than clean sawtooth curves.
7. Observed Slow Start in Real Traffic
Demonstration of beautiful exponential slow start visible in real Ubuntu download data, reaching ~10 MB/s before transitioning to AIMD. Shows that theoretical mechanisms do work in practice despite complexity.
8. Constraints and Evolution
TCP header space is fixed and limited; middleboxes reject non-standard flag usage. Protocol has changed minimally since the 1980s due to compatibility requirements, yet it continues to perform well across diverse modern networks.