Back to TransmissionControlProtocol

Slow start happens during several scenarios:

   1. When you start a connection
   1. When you experience a Timeout

In this initial phase we increase the congestion window for every packet that is ACKed. 

|| packet # ACKed || Congestion Window size ||
|| 1 || 2 ||
|| 2 || 3 ||
|| 3 || 4 ||
||...||...||

The results in an exponential growth

|| Number of congestion windows sent || Congestion window size ||
|| 0 || 1 ||
|| 1 || 2 ||
|| 2 || 4 ||
|| 3 || 8 ||
|| 4 || 16 ||
|| 5 || 32 ||
|| 6 || 64 ||
||...||...||

This continues until the MAX_TCPWIN size is reached. Since the MAX_ADVERTISED_WINDOW_SIZE = 64 KB, it doesn't make sense to allow it to grow beyond that, as you won't be able to send more than the advertised window size.

Back to TransmissionControlProtocol