TCP congestion control algorithms determine how fast Windows transmits data packets over network connections before backing off when packet loss or latency spikes occur. By default, Windows 11 selects a standard congestion provider designed for broad compatibility, but network administrators and high-performance computing users can switch to advanced algorithms—such as CUBIC, CTCP (Compound TCP), or NewReno—using PowerShell to maximise network throughput across modern high-speed broadband and low-latency local connections.
Supported TCP Congestion Providers in Windows 11
Windows 11 supports multiple congestion control providers through the modern NetTCPIP PowerShell module:
- CUBIC: The current industry standard for high-bandwidth, high-latency networks. CUBIC scales window growth as a cubic function of time since the last loss event, allowing rapid recovery and high link saturation.
- CTCP (Compound TCP): Microsoft’s proprietary dual-state algorithm that evaluates both packet loss and delay variations, delivering aggressive performance on long-fat networks (LFN).
- NewReno: The legacy loss-based congestion control algorithm that recovers gradually after packet loss, providing reliable operation on constrained or lossy wireless links.
- DCTCP (Data Center TCP): Optimised specifically for enterprise data centres utilising Explicit Congestion Notification (ECN) to maintain ultra-low latency.
Checking the Active TCP Congestion Settings
To inspect your current transport profiles and active congestion control providers:
- Right-click the Start button on Windows 11 and select Terminal (Admin) or PowerShell (Admin).
- Execute the following command to list all transport filters and their associated congestion providers:
Get-NetTCPSetting | Select-Object SettingName, CongestionProvider, MinRtoMs, InitialCongestionWindowMss - Observe the profiles: typically
Internet,Datacenter,Compat, andInternetCustom. In default Windows 11 installations, theInternettemplate often defaults toCUBICorDefault.
Configuring CUBIC or CTCP via PowerShell
To switch or reinforce the optimal congestion provider for Internet traffic, use the Set-NetTCPSetting cmdlet:
# Set the primary Internet profile to use CUBIC:
Set-NetTCPSetting -SettingName Internet -CongestionProvider CUBIC
# Alternatively, set CTCP for aggressive throughput across high-speed connections:
Set-NetTCPSetting -SettingName Internet -CongestionProvider CTCP
If your system utilizes custom network profiles or datacenter virtual machines, update the relevant profile as well:
Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider CUBIC
Verifying and Benchmarking Changes
After applying the configuration, confirm that the changes took effect immediately without requiring a system reboot:
Get-NetTCPSetting -SettingName Internet | Format-List SettingName, CongestionProvider
Verify that CongestionProvider displays your chosen algorithm (e.g., CUBIC). You can now run sustained file transfers or benchmark utilities such as iperf3 to measure throughput consistency, round-trip latency, and link saturation improvements under load.