Unit content
TCP congestion window and congestion control
TCP limits outstanding data using two different constraints: the receiver's advertised window protects receiver capacity, while the sender's congestion window estimates how much the network path can sustain.
The usable sending window is constrained by both. TCP grows its congestion window while acknowledgements indicate successful delivery and reduces it when congestion is inferred from loss or explicit signals.
Classical TCP behavior includes a rapid initial probing phase often called slow start, followed by more conservative growth. Duplicate acknowledgements can reveal isolated loss before a retransmission timer expires, enabling faster recovery.
Modern TCP implementations use several congestion-control algorithms, so there is no single timeless growth formula. The enduring architecture is feedback-based adaptation of in-flight data to path capacity.
This separates TCP's reliable-stream semantics from the distinct problem of sharing congestible network resources.