TCP slow start
TCP Slow Start hilft, die Übertragungsgeschwindigkeiten an die Fähigkeiten des Netzwerks anzupassen. Dies geschieht, ohne die Kenntnisse über diese Fähigkeiten zu Beginn zu haben und ohne Staus zu verursachen. TCP Slow Start ist ein Algorithmus, der die verfügbare Bandbreite für die Paketübertragung erkennt und die Geschwindigkeit einer Netzwerkverbindung ausbalanciert. Er verhindert das Auftreten von Netzstau, dessen Kapazitäten anfangs unbekannt sind, und erhöht langsam das übertragene Datenvolumen, bis die maximale Netzwerkkapazität gefunden ist.
Um TCP Slow Start zu implementieren, setzt das "congestion window" (cwnd) eine Obergrenze für die Datenmenge, die eine Quelle über das Netzwerk senden kann, bevor eine Bestätigung (ACK) empfangen wird. Der Schwellenwert für den langsamen Start (ssthresh) bestimmt die (De)Aktivierung des langsamen Starts. Wenn eine neue Verbindung hergestellt wird, wird cwnd auf ein TCP-Daten- oder Bestätigungspaket initialisiert und wartet auf eine Bestätigung, oder ACK. Wenn diese ACK empfangen wird, wird das "congestion window" inkrementiert, bis das cwnd größer als ssthresh ist. Der Slow-Start endet auch, wenn Staus auftreten.
Staukontrolle
Stau selbst ist ein Zustand, der innerhalb einer Netzwerkschicht auftritt, wenn der Nachrichtenverkehr so stark ist, dass er die Netzwerkantwortzeit verlangsamt. Der Server sendet Daten in TCP-Paketen, der Client des Benutzers bestätigt dann die Lieferung, indem er Bestätigungen oder ACKs zurücksendet. Die Verbindung hat eine begrenzte Kapazität, abhängig von der Hardware und den Netzwerkbedingungen. Wenn der Server zu viele Pakete zu schnell sendet, werden sie verworfen. Das bedeutet, es gibt keine Bestätigung. Der Server registriert dies als fehlende ACKs. Staukontrollalgorithmen verwenden diesen Fluss von gesendeten Paketen und ACKs, um eine Sendegeschwindigkeit zu bestimmen.