Summary

  • RFC 6928 made a ten-segment TCP initial window optional, not unconditional: the precise ceiling depends on MSS and may be set lower.
  • IW10 can remove round trips from short transfers, but it spends more queue capacity before the sender has path evidence; monitoring and fallback are therefore part of the mechanism, not operational decoration.

A TCP connection begins with an information deficit. The handshake establishes endpoints, but it does not tell the sender how much unused capacity, buffering or competing traffic lies between them. The initial congestion window is the rule for acting inside that deficit: how much data may leave before acknowledgements begin to describe the path.

RFC 6928 changed the permitted upper bound from the two-to-four-segment regime associated with RFC 3390 to a formula capped at ten segments: min(10*MSS, max(2*MSS, 14600)). Ten is a ceiling, not a command. An implementation may start smaller. The change governs the first round trip of data during or after the three-way handshake; the SYN/ACK and the ACK that completes the handshake do not earn extra window.

That distinction separates IW10 from TCP Fast Open. Fast Open asks whether application data can travel before the handshake finishes. IW10 asks how much ordinary post-handshake data may form the first flight. One changes when useful bytes may appear. The other changes the volume exposed before congestion evidence returns.

The saved round trips

The gain is concrete under the RFC's simplified model of infinite bandwidth, no loss and standard delayed acknowledgements. Moving from an initial window of three to ten can save as many as four round trips for transfers larger than 4 KB. The document's example says a 32-segment transfer can finish in two round trips rather than five. A larger first flight can also create enough later acknowledgements for Fast Retransmit to recover some loss without waiting for the initial retransmission timeout.

Those results are a mechanism demonstration, not a promise about a present network. Receiver flow control can erase the gain if the advertised receive window is below ten segments. Different MTUs were not fully validated by the cited tests. Application behavior also matters: several simultaneous connections multiply the first-flight burst and can work against the congestion-control discipline that a single window is meant to preserve.

The burst arrives before the evidence

The cost appears at the same instant as the benefit. Ten segments reach a slow link, a shallow access buffer or a busy queue before the sender has learned which condition applies. The larger burst may cause premature drops, a retransmission timeout or an early exit from slow start. Across the network, IW10 may temporarily favor flows that begin more aggressively than RFC 3390 flows. On access links with deep queues, it can add delay for DNS, voice, gaming or other latency-sensitive traffic.

RFC 6928 does not claim that one larger first flight will by itself create persistent congestion or collapse. TCP's later backoff remains intact. But that reassurance weakens when applications open many connections together. A one-time allowance at the transport layer can become a repeated aggregate behavior at the application layer.

Three windows, three obligations

The RFC keeps the initial window, restart window and loss window separate. The optional larger value applies to new connections. A restart after idleness may use no more than the lesser of the initial-window value and current congestion window. The loss window after a retransmission timeout remains one MSS, preserving the smallest response for severe congestion. If loss is observed in an initial or restart window after more than 4 KB has been sent, implementations should return the restart window to RFC 3390 behavior.

Timer discipline is equally material. On a low-bandwidth path, serialization time can make a large burst look like a timeout. RFC 6928 therefore requires RFC 6298 behavior that restarts the current retransmission timer for every acknowledgement of new data. Without that rule, a faster opening can manufacture its own duplicate work.

Source boundary

This analysis is bounded to RFC 6928, published as Experimental in April 2013. It establishes the formula, reasoning, experiment summaries and conditional deployment obligations. It does not establish which current systems enable IW10, how a named network performs, or that values above ten are safe.