Adjust TCP Window Scaling Heuristics in Regedit

This article explains how to adjust the system-wide Transmission Control Protocol (TCP) window scaling heuristics in Windows using the Registry Editor (Regedit). TCP window scaling allows the operating system to dynamically manage receive buffer sizes to optimize throughput over high-bandwidth, high-latency connections. Modifying these settings through the registry lets you override default heuristics, resolve throughput bottlenecks, or ensure compatibility with network equipment that does not support RFC 1323 extensions.

Step 1: Open the Windows Registry Editor

  1. Press Win + R on your keyboard to open the Run dialog box.
  2. Type regedit and press Enter or click OK.
  3. If prompted by User Account Control (UAC), click Yes to grant administrative privileges.

Step 2: Navigate to the TCP/IP Parameters Key

In the Registry Editor, use the left-hand navigation pane to browse to the following path:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Step 3: Configure RFC 1323 Window Scaling (Tcp1323Opts)

The Tcp1323Opts value controls the behavior of RFC 1323 timestamps and window scaling heuristics:

  1. Look for a DWORD (32-bit) Value named Tcp1323Opts in the right pane.
  2. If it does not exist, right-click in the empty space, select New > DWORD (32-bit) Value, and name it Tcp1323Opts.
  3. Double-click Tcp1323Opts to modify its value:
    • 0: Disables both TCP window scaling and timestamps.
    • 1: Enables TCP window scaling only (disables timestamps).
    • 2: Enables timestamps only (disables window scaling).
    • 3: Enables both TCP window scaling and timestamps (default recommendation for modern networks).
  4. Set the Base to Hexadecimal (or Decimal), enter your preferred value, and click OK.

Step 4: Configure Global TCP Window Size (Optional)

To define a specific maximum buffer size alongside your window scaling configuration:

  1. In the same Parameters key, check for the value GlobalMaxTcpWindowSize.
  2. If it does not exist, right-click, select New > DWORD (32-bit) Value, and name it GlobalMaxTcpWindowSize.
  3. Double-click the value, set the Base to Decimal, and enter your desired maximum buffer size in bytes (for example, 65535 for standard, or larger values like 131072 or 262144 for scaled networks).
  4. Click OK.

Step 5: Apply the Changes

Registry changes to the core TCP/IP stack do not take effect immediately. Restart your computer to apply the updated TCP window scaling heuristics system-wide.