TCP window scale option

This TCP option, along with several others, is defined in RFC 7323 which deals with long fat networks (LFNs).

TCP window scale option is needed for efficient transfer of data when the bandwidth-delay product (BDP) is greater than 64 KB[1].

For instance, if a T1 transmission line of 1.5 Mbit/s was used over a satellite link with a 513 millisecond round-trip time (RTT), the bandwidth-delay product is

This would allow a single TCP connection to transfer data over the example satellite link at 1.5 Mbit/s utilizing all of the available bandwidth.

The window scale option enables a single TCP connection to fully utilize an LFN with a BDP of up to 1 GB, e.g. a 10 Gbit/s link with round-trip time of 800 ms. Because some firewalls do not properly implement TCP Window Scaling, it can cause a user's Internet connection to malfunction intermittently for a few minutes, then appear to start working again for no reason.

[4][5] It is enabled by default in Windows Vista / Server 2008 and newer, but can be turned off manually if required.

The configuration parameters are found in the /proc filesystem, see pseudo-file /proc/sys/net/ipv4/tcp_window_scaling and its companions /proc/sys/net/ipv4/tcp_rmem and /proc/sys/net/ipv4/tcp_wmem (more information: man tcp, section sysctl).

Default setting for FreeBSD, OpenBSD, NetBSD and Mac OS X is to have window scaling (and other features related to RFC 1323) enabled.