w3ador

Notes on TCP window tuning on long-haul links

2026-07-02

On a 180 ms path, throughput is bounded by the receive window long before it is bounded by the link. A default 64 KB window caps a single stream at roughly 3 Mbit/s regardless of how much bandwidth is available.

Window scaling helps, but only if both sides agree and middleboxes do not strip the option. We have seen providers silently rewrite the scale factor to zero, which reproduces the original bottleneck and looks like packet loss in captures.

The practical numbers: 2 MB of window is enough for about 90 Mbit/s at 180 ms. Above that, bufferbloat on the access link starts to dominate, and an AQM on the egress queue is worth more than another megabyte of window.