The Broadband Guide
SG
search advanced

Windows 10 Anniversary updates to TCP

Anniversary Update adds support for newer TCP protocol options to improve speed and reduce latency
2018-11-02 (updated: 2018-11-23) by
Tags: , , ,

Windows 10 Anniversary update adds support for a few newer TCP protocol options aimed to improve web browsing speed and reduce latency. Even though many of them are not user-editable in the client variants of the OS, I will outline the important changes below.


TCP Fast Open (TFO) - RFC 7413

TFO allows for sending and receiving data in the initial SYN packets during the TCP handshake. If supported by both the client and the server, it allows for reduced latency in establishing successive TCP connections to the same server. This is accomplished by storing a TFO cookie on the client after the initial TCP handshake. This TFO cookie is sent to the server if the client later reconnects, allowing successive TCP handshakes to skip one roundtrip delay, reducing latency.

TCP Fast Open is enabled by default in the Windows 10 Anniversary update and newer Linux 3.7+ kernels. It is not available in Chrome for PCs (Only under Android/Chrome OS, see: chrome://flags/ and look for "TCP Fast Open" flag). It can be enabled in MS Edge (look at the About:Flags setting "TCP Fast Open").

You can see the current value in command prompt using: netsh int tcp show global

It can be set using: netsh int tcp set global fastopen=enabled
(default: enabled, possible values: enabled, disabled, default)

Recommendation: Leave as is, enabled in the OS is ok as applications need to support/enable it separately. It still needs wider adoption.

Note: It may cause issues with dropped packets by some older middleware/routers/firewalls that do not like SYN packets with larger headers.


Initial Congestion Window (IW, or ICW) - RFC 6928

The Initial Congestion Window determines how much data TCP can send out before waiting for acknowledgements and adjusting the transfer speed depending on line conditions. Traditionally (RFC 3390), this was between 2 and 4 segments, however, with faster broadband connections it has been proposed to increase the permitted TCP Initial Window (IW) to 10 segments.

The default value in Windows 10 and Server 2012 R2 was 4 MSS, it was increased to 10 MSS for the Internet template with the anniversary update, which is a good thing. It can't be changed directly on Windows 10 Home/Pro, you'd have to change the template to "compat" to limit it, which is counterproductive.

Our take: IW of 10 is better than 4.


Tail Loss Probe (TLP) - experimental IETF draft

Aims to improve packet loss recovery. It is enabled by default for connections with over 10ms rtt. Again, for client variants of Windows 10 (Home/Pro), it is only adjustable if you change the template from "Internet" to "compat", which disables it.

Our take: It is better to leave enabled, which is the default.


Recent ACKnowledgement (RACK) - experimental IETF draft

Detects packet loss based on time rather than checking packet sequence. It is enabled by default for connections over 10ms rtt that use SACK. Client Windows 10 OSes have it enabled in the "Internet" template, disabled in the "compat" template, and the setting is read-only.

Our take: undecided, may be useful in some fringe situations and the benefit may be offset by overhead. Needs further testing.


Windows Low Extra Delay BAckground Transport (LEDBAT) - RFC 6817

It is a Congestion Control module designed for background transfers, so that they consume only unused background bandwidth, without interfering with other TCP connections. It is undocumented, experimental, and not easily configurable.

Our take: irrelevant, as we can't test, change, or use it.


TL;DR;

The Anniversary update improves and builds up on some new experimental TCP options which is a good thing. Increasing the Initial Congestion Window to 10 segments and support for TCP Fast open are both great. At the same time, Microsoft has locked down a lot of those settings and they are not user-editable in Windows 10 Home/Pro.


References
Building a faster and more secure web with TCP Fast Open, TLS False Start, and TLS 1.3
New Transport Advancements in the Anniversary Update for Windows 10 and Windows Server 2016
Shaving your RTT with TCP Fast Open


See Also

Windows 8, 10, 2012 Server TCP/IP Tweaks


  User Reviews/Comments:
    rate:
   avg:
by MariioL - 2021-12-22 15:50
Windows 10 is legendary OC
News Glossary of Terms FAQs Polls Cool Links SpeedGuide Teams SG Premium Services SG Gear Store
Registry Tweaks Broadband Tools Downloads/Patches Broadband Hardware SG Ports Database Security Default Passwords User Stories
Broadband Routers Wireless Firewalls / VPNs Software Hardware User Reviews
Broadband Security Editorials General User Articles Quick Reference
Broadband Forums General Discussions
Advertising Awards Link to us Server Statistics Helping SG About