TCP Sequence Diagrams

TCP 3-way handshake

The sequence diagrams presented here describe the 3-way handshake setup and release of a TCP connection. The byte level sequence numbers and TCP Ack handling is also shown.

TCP slow start

Analyse "Slow start" congestion control mechanisms built right into TCP. As the name suggests, "Slow Start" starts slowly, increasing its window size as it gains confidence about the network's throughput.

TCP congestion avoidance

TCP connection starts up in slow start mode, geometrically increasing the congestion window (cwnd) until it crosses the slow start threshold (ssthresh). Once cwnd is greater that ssthresh, TCP enters the congestion avoidance mode of operation. In this mode, the primary objective is to maintain high throughput without causing congestion. If TCP detects segment loss, TCP reduces its data flow rate by reducing cwnd. After reducing cwnd, TCP goes back to slow start.

TCP Fast Retransmit and Fast Recovery Sequence Diagram

Fast Retransmit and Recovery detect a segment loss via duplicate acknowledgements. When a segment is lost, TCP at the receiver will keep sending ack segments indicating the next expected sequence number. This triggers fast recovery at the transmitter.