ECN Capability in Windows Server 2012: Windows Server 2012 is the first Windows Server version to enable Explicit Congestion Notification, or ECN, in the TCP stack. This is also known as ECN Capability. Explicit Congestion Notification is an extension to the Internet Protocol and to the Transmission Control Protocol and is defined in RFC 3168. ECN allows end-to-end notification of network congestion without dropping packets. ECN is an optional feature that may be used between two ECN-enabled endpoints when the underlying network infrastructure also supports it.
Table of Contents
Outdated Network Equipment Dropping Packets that have ECN Bits Set #
Unfortunately, rather than responding properly or ignoring the bits, some outdated or faulty network equipment drop packets that have ECN bits set. This slows down your outbound connections, because packets needs to be retransmitted without ECN bits. As retransmission intervals increase, it may take up to 10 seconds before a connection is made.Advertisement:
Until most network equipment supports ECN bits in packets, my advise is to disable ECN on Windows Server 2012 (R2) server. This is easily done with
Disable Windows Server Explicit Congestion Notification (ECN) capabilities #
You may choose to disable Explicit Congestion Notification support on Windows Server 2012 if you experience slow outbound connections. Connections with up to a 10 second delay. Use the
netsh command to disable ECN Capability. A reboot is not required.
First verify ECN Capability is enabled. Look for “Enabled” in the command output from
netsh interface tcp show global
If ECN Capability is enabled, you can disable it:
netsh interface tcp set global ecncapability=disabled
A reboot is not required.
Enjoy your fast outbound connections from now on! However, you may still need to disable IPv6 on your Windows server, or set the primary preference to IPv4, because of slow connections from PHP to MySQL. Also, tuning the Windows TCP/IP stack is a must for high performance websites too.