BBR is a TCP congestion control algorithm developed by Google. It improves upon the shortcomings of traditional congestion control algorithms (like CUBIC), which reduce speed upon packet loss, significantly enhancing bandwidth utilization in high packet loss environments.
It’s important to note that congestion control algorithms manage the packet sending rate. For example, if a Google server enables BBR, its upload speed will maximize the available bandwidth; from the user’s perspective, this results in faster download speeds.
As is well known…
Many people enable BBR on their Linux servers with just a few commands:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p
As a result, when downloading files from the server, it utilizes the full bandwidth. However, when uploading files, the speed remains slow because the system used for uploading is still running a traditional congestion control algorithm.
If the user is on a Linux system, they can enable BBR using the same steps. For Windows systems, starting with Windows 11 22H2 and above, Microsoft has added support for BBRv2.
Note: On Windows 11 23H2 / 24H2, enabling BBR v2 may cause local TCP connections to become unusable (e.g., causing adb to freeze or fail to connect), see details at the end of the article.
Enabling BBR / BBR v2 on Windows 11
Open PowerShell (as Administrator) and first check the current congestion control algorithm:
NetTCPSetting | Select SettingName, CongestionProvider
Then enable BBRv2:
netsh int tcp set supplemental template=Internet congestionprovider=BBR2 netsh int tcp set supplemental template=InternetCustom congestionprovider=BBR2 netsh int tcp set supplemental template=Datacenter congestionprovider=BBR2 netsh int tcp set supplemental template=DatacenterCustom congestionprovider=BBR2 netsh int tcp set supplemental template=Compat congestionprovider=BBR2
Here, you can also replace
BBR2
withBBR
(BBR v1). Interested users can test and compare the results.
Run the command again to confirm it has been successfully enabled.
After enabling…
No system restart is required. Single-thread upload speed increased from 10Mbps to 30Mbps. The experience for scenarios like streaming and web browsing also improved.
Note: On Windows 11 23H2 / 24H2, enabling BBR v2 may cause local TCP connections to become unusable (e.g., causing adb to freeze, Steam to fail, etc.). You can revert the congestion control algorithm with the following commands:
netsh int tcp set supplemental template=Internet congestionprovider=CUBIC netsh int tcp set supplemental template=InternetCustom congestionprovider=CUBIC netsh int tcp set supplemental template=Datacenter congestionprovider=CUBIC netsh int tcp set supplemental template=DatacenterCustom congestionprovider=CUBIC netsh int tcp set supplemental template=Compat congestionprovider=NewReno
After reverting, no restart is needed, and the issue should resolve immediately. You can temporarily enable BBR again when you need faster uploads.
Coxxs