Slow start is a state in the TCP congestion control algorithm that rapidly detects a connection’s maximum bandwidth. Slow start relies on several variables, events, and network transmissions to make decisions regarding state change and network conditions.
Slow start uses a congestion window variable (denoted
cwnd) to assess how quickly TCP can send data through the network without experiencing unnecessary timeouts of loss events. The
cwnd is initially set to the maximum segment size (MSS) which by TCP specification in RFC879 defaults to 536 octets (IP MSS – 40 octets.)
During slow start, TCP rapidly increases the
cwnd size by detecting timeout events and duplicate ACKs. Simultaneously, Slow Start is adjusting another variable named
ssthresh. When the
cwnd amounts to the
ssthresh value, slow start then transitions to TCP’s congestion avoidance state.