Der Slow Start Algorithmus ist im Transmission Control Protocol vorzufinden. Er dient dazu, Datengramme am Anfang „langsamer“ zu verschicken, um keine Überlastsituation hervor zu rufen.

Zu Beginn wird deshalb zwischen Sender und Empfänger eine geeignete Fenster-Größe („Window size“ – also eine Datenmenge, die der Sender mit einem Mal überträgt, bzw. der Empfänger mit einem Mal empfängt) gewählt, die auf der Buffer-Größe des Empfängers basiert. Damit soll schon einmal ein Buffer Overflow auf der Seite des Empfängers verhindert werden. Dennoch kann es jederzeit zu einer internen Überlastung des genutzten Netzwerks kommen. Deshalb beginnt der Sender erst einmal mit einem kleinen Fenster von einer MSS (Maximum Segment Size). Falls der Empfänger den Empfang bestätigt, verdoppelt der Sender die Größe des Fensters. Es kommt also zu einem exponentiellem Wachstum. Dies geht entweder so lange bis die Größe des maximalen Fenster des Empfängers erreicht ist, oder aber es zu einem Timeout (Empfänger quittiert nicht den Empfang) kommt. In diesem Fall fällt die Fenstergröße wieder auf 1 MSS und das ganze spielt mit der Verdopplung der Fenstergröße fängt von vorne an.

Mit der Congestion Avoidance kommt nun noch ein Schwellenwert ins Spiel. Wird dieser erreicht, wächst das Fenster nur noch um eine MSS. Statt einem exponentielle Wachstum hat man nun ein lineares Wachstum. Auch dieses führt so lange bis die Größe des maximalen Fenster des Empfängers erreicht ist, oder aber es zu einem Timeout kommt.