How to Configure TCP Minimum Retransmission Timeout (MinRTO) in Windows 11 Using PowerShell

In the Transmission Control Protocol (TCP), when a packet is dropped due to network switch buffer saturation or transient signal interference, the sender must wait for a timer to expire before retransmitting the unacknowledged segment. This timer is governed by the Retransmission Timeout (RTO) calculation (RFC 6298), which dynamically estimates network latency based on measured round-trip time (RTT) and variance.

To prevent timer instability on jittery internet connections, TCP implementations enforce an artificial lower boundary known as the Minimum Retransmission Timeout (MinRTO). In standard Windows 11 networking profiles, this floor is traditionally clamped at 300 milliseconds. However, in modern ultra-low-latency environments — such as high-performance data centre clusters, local 10GbE/25GbE SAN storage networks, NVMe-over-TCP arrays, financial trading platforms, and microservice clusters where baseline RTT is under 1 millisecond — waiting 300 ms for a dropped packet introduces unacceptable latency spikes. Windows 11 provides native PowerShell cmdlets within the NetTCPIP module to configure and tune the TCP MinRTO parameter.

Understanding MinRTO and Retransmission Timer Mechanics

The standard RFC 6298 algorithm computes RTO using smoothed round-trip time (SRTT) and round-trip time variation (RTTVAR):

RTO = SRTT + max(G, 4 * RTTVAR)

After calculating this value, the operating system clamps the result between two hard boundaries: MinRTO and MaxRTO. If the calculated RTO is 4 milliseconds but MinRtoMs is set to 300 milliseconds, the kernel TCP stack overrides the calculated value and enforces the 300 ms delay.

In Windows 11, the MinRtoMs parameter can be tuned within network settings templates:

  • Default Range: Accepts integer values ranging from 20 milliseconds up to 300 milliseconds.
  • Client Profile (Internet): Typically enforces 300 ms to protect against premature timeouts on erratic cellular, Wi-Fi, or transatlantic internet connections.
  • Data Centre Profile (Datacenter): Pre-configured by Microsoft with a conservative 20 ms floor, optimized for high-bandwidth, ultra-low-latency local network switches.

Inspecting Current MinRTO Settings in PowerShell

To inspect active MinRTO settings across all network templates on your Windows 11 system, launch an elevated PowerShell session (Run as Administrator) and run Get-NetTCPSetting:

Get-NetTCPSetting | Select-Object SettingName, MinRtoMs, InitialRtoMs, AutoTuningLevelLocal, CongestionProvider | Format-Table -AutoSize

To inspect the detailed attributes of the default client profile (Internet) and high-speed profile (Datacenter):

Get-NetTCPSetting -SettingName "Internet", "Datacenter" | Select-Object SettingName, MinRtoMs, DelayedAckTimeoutMs, PacingProfile

The output will reveal the disparity between templates:

SettingName MinRtoMs DelayedAckTimeoutMs PacingProfile
----------- -------- ------------------- -------------
Internet         300                  40 InitialCwnd
Datacenter        20                  10 Offload

Configuring MinRtoMs Using Set-NetTCPSetting

Windows 11 protects the default Internet template from certain direct timing modifications on some client editions. The supported method to customize timing parameters is either tuning the Datacenter template (for local LANs and virtual switches) or configuring the InternetCustom profile.

Tuning MinRTO for Data Centre and Local LAN Connections

To optimize local clustering, Hyper-V virtual switches, or home lab storage networks utilizing the Datacenter profile, ensure MinRtoMs is locked at the absolute minimum hardware boundary (20 ms):

Set-NetTCPSetting -SettingName "Datacenter" -MinRtoMs 20

Configuring MinRTO on Custom Network Profiles

To configure a custom profile with aggressive retransmission timing for low-latency gaming, streaming, or database replication:

Set-NetTCPSetting -SettingName "InternetCustom" -MinRtoMs 50 -DelayedAckTimeoutMs 20

In this configuration, if a packet is dropped, the Windows TCP/IP stack waits only 50 ms before initiating a retransmit, reducing latency stall duration by over 80% compared to the standard 300 ms ceiling.

Apply the customized profile to all standard outbound network traffic by configuring transport filters:

Set-NetTransportFilter -SettingName "InternetCustom" -ApplyProfile Yes

Confirm the updated setting:

Get-NetTCPSetting -SettingName "InternetCustom" | Select-Object SettingName, MinRtoMs, DelayedAckTimeoutMs

Configuring Adapter-Level RTO via Windows Registry

For dedicated high-speed network interfaces (such as a dual-port 10GbE/25GbE optical adapter), Windows allows setting granular TCP retransmission thresholds directly inside the adapter’s registry interface key.

First, identify your target network adapter GUID:

Get-NetAdapter | Select-Object Name, InterfaceDescription, InterfaceGuid

Copy the GUID and construct the registry path:

$AdapterGuid = "{YOUR-ADAPTER-GUID-HERE}"
$RegistryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\$AdapterGuid"

Configure the initial RTO and retransmission limits via PowerShell:

# Set Initial RTO to 1000ms (1 second)
Set-ItemProperty -Path $RegistryPath -Name "TcpInitialRTT" -Value 1 -Type DWord

# Limit maximum SYN retransmissions
Set-ItemProperty -Path $RegistryPath -Name "TcpMaxConnectRetransmissions" -Value 2 -Type DWord

Verify that the values are recorded accurately in the Windows kernel:

Get-ItemProperty -Path $RegistryPath | Select-Object TcpInitialRTT, TcpMaxConnectRetransmissions

Restart the network adapter to reload the driver stack:

Restart-NetAdapter -Name "Ethernet"

Validating Retransmission Performance and Latency Health

After lowering MinRtoMs, monitor TCP performance to confirm that packet retransmissions occur promptly without triggering spurious duplicate storms.

Query real-time TCP retransmission counters in PowerShell:

Get-Counter -Counter "\TCPv4\Segments Retransmitted/sec", "\TCPv4\Connection Failures", "\TCPv4\Connections Established" -Continuous

Capture packet flow timing using Windows Packet Monitor (pktmon):

# Add capture filter for test port
pktmon filter add -p 443

# Start real-time packet monitoring
pktmon start --etw -m real-time

# Stop capture after running workload
pktmon stop

In packet captures, inspect the delta between a missing ACK and the subsequent retransmitted segment: the retransmit will fire shortly after 50 ms rather than 300 ms.

Reverting to Default Windows 11 MinRTO Settings

If your device transitions to unstable public Wi-Fi or high-latency cellular connections, a low MinRTO can cause spurious retransmissions because normal transit delays are misidentified as packet losses. Revert the setting back to default:

Set-NetTCPSetting -SettingName "InternetCustom" -MinRtoMs 300 -DelayedAckTimeoutMs 40

To clear registry overrides on specific interfaces:

Remove-ItemProperty -Path $RegistryPath -Name "TcpInitialRTT" -ErrorAction SilentlyContinue
Restart-NetAdapter -Name "Ethernet"

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.