Durch das rasche Anwachsen der Hostzahlen war es fast abzusehen. 1986 gibt es den ersten „Internet Congestion Collapse“, einen Zusammenbruch des Netzes durch Überlastung. Um auf diese Überlastung zu reagieren und um zukünftig ähnliche Zusammenbrüche zu vermeiden wird das Transmission Control Protocol (TCP) um das so genannte Slow-Start- und Congestion-Avoidance-Verfahren erweitert.
Der Slow-Start-Algorithmus sieht einen langsamen Beginn der Datenübertragung und, solange keine Paketverluste auftreten, einen exponentiellen Anstieg der Übertragungsrate vor. Zunächst wird nur ein einzelnes Segment gesendet. Für jedes vom Empfänger bestätigte Segment dürfen zwei neue Segmente gesendet werden. So steigt die Kurve exponentiell an, d.h. nach vorsichtigem Beginn nähert sich die Übertragungsrate der Verbindung schnell der auf dem Weg durch das Netz verfügbaren Übertragungskapazität an.
Wird diese überschritten, festgestellt z.B. durch einen Paketverlust, der durch eine Bestätigungswiederholung erkannt wird, nicht jedoch durch einen Timeout, so greift der Congestion-Avoidance-Algorithmus. Die Zahl der erlaubten Segmente wird halbiert und von dort an nur noch linear erhöht. Wenn keine außergewöhnlichen Stausituationen auftreten, verbleibt die TCP-Verbindung im Congestion-Avoidance-Modus. Tritt hingegen ein Timeout auf, wird die Zahl der erlaubten Segmente auf 1 gesetzt und erneut ein Slow Start begonnen, der nur bis zur hälfte des Wertes erreichten exponentiell gesteigert wird.
TCP-Erweiterung in MI-Learning Computernetze