Skip to content
Optimal Lab

Networking · interactive

TCP congestion control

TCP doesn't know how fast the path is, so it probes: start small, double every round trip, then grow slowly. A lost packet is the signal to back off. This is why a fresh connection starts slow.

Congestion window (packets in flight) per round trip

first threshold: 16
slow start (doubling) congestion avoidance (+1) packet lost

Packets sent in 24 round trips: 369

A packet is lost at round trip 10. Reno halves the window and keeps going.

Algorithm

Packet loss

  1. 1

  2. 2

  3. 3

    A lost packet probably means a full queue somewhere. Reno halves the window; the older Tahoe restarts from 1. Modern stacks use CUBIC or BBR, but the idea is the same.

    Multiplicative decrease.

  4. 4

In production

Tools and technologies

Every TCP stack runs a congestion controller; the default differs by OS.

Not tied to one language — use these names when you search docs or design a system.