How does TCP try to avoid network meltdown?
TCP includes several mechanisms that attempt to sustain good data transfer rates while avoiding placing excessive load on the network. TCP’s “Slow Start”, “Congestion Avoidance”, “Fast Retransmit” and “Fast Recovery” algorithms are summarised in RFC 2001. TCP also mandates an algorithm that avoids “Silly Window Syndrome” (SWS), an undesirable condition that results in very small chunks of data being transferred between sender and receiver. SWS Avoidance is discussed in RFC 813. The “Nagle Algorithm”, which prevents the sending side of TCP from flooding the network with a train of small frames, is described in RFC 896. Van Jacobson has done significant work on this aspect of TCP’s behaviour. The FAQ used to contain a couple of pieces of historically interesting pieces of Van’s email concerning an early implementation of congestion avoidance, but in the interests of saving space they’ve been removed and can instead be obtained by anonymous FTP from the end-to-end mailing list archive at