RFC 3742 – Limited Slow-Start for TCP with Large Congestion Windows
| Status | Experimental |
|---|---|
| Veröffentlicht | März 2004 |
| Volltext | rfc-editor.org/rfc/rfc3742 |
RFC 3742 spezifiziert eine optionale Modifikation des TCP-Slow-Start für Verbindungen mit großen Congestion Windows. Bei Standard-Slow-Start kann das Congestion Window bei tausend oder zehntausend MSS-Segmenten pro Umlaufzeit drastisch ansteigen, was zu tausenden Paketverlusten in einer einzigen RTT führt. Dies beeinträchtigt nicht nur den TCP-Fluss selbst, sondern belastet auch andere Verkehrsströme auf der überlasteten Verbindung. Limited Slow-Start begrenzt diesen Anstieg, um die Effizienz zu verbessern und unnötige Retransmit-Timeouts zu vermeiden.
Der Kernmechanismus führt einen Parameter „max_ssthresh“ ein, standardmäßig 100 MSS. Solange der Congestion Window-Wert (cwnd) kleiner oder gleich max_ssthresh ist, wird das Window wie üblich um ein MSS pro bestätigtem Segment erhöht. Überschreitet cwnd diesen Schwellenwert, wird der Anstieg proportional begrenzt: Für jedes ankommende ACK erfolgt nur eine Erhöhung um 1/K MSS, wobei K = int(cwnd/(0,5*max_ssthresh)). Damit steigt das Window pro RTT maximal um max_ssthresh/2 MSS. Der Slow-Start endet, sobald cwnd den regulären ssthresh-Wert überschreitet, und der Sender wechselt in die Congestion-Avoidance-Phase.
Historisch gesehen adressiert RFC 3742 ein praktisches Problem bei Hochgeschwindigkeitsnetzen, wo Standard-Slow-Start zu massiven Paketverlusten führen kann. Es bleibt ein experimenteller Vorschlag, der als Option neben anderen Mechanismen wie Appropriate Byte Counting oder Rate-Based Pacing eingesetzt werden kann. Er verbessert die Netzstabilität, indem er den transienten Warteschlangenaufbau begrenzt und die Gesamtperformance von TCP mit großen Congestion Windows erhöht.