Este artículo presenta brevemente cómo activar el algoritmo de control de congestión BBR en dispositivos Windows, así como los posibles problemas al usar esta función actualmente.

Introducción a BBR

BBR (Bottleneck Bandwidth and Round-trip propagation time) es un tipo de algoritmo de control de congestión TCP más nuevo desarrollado por Google. Su objetivo es resolver los problemas de baja utilización del ancho de banda y alta latencia de los algoritmos de control de congestión tradicionales (como Reno o CUBIC) en ciertas condiciones de red (especialmente en redes con cierta pérdida de paquetes y latencia).

Idea central

La idea central de BBR es dejar de depender de la pérdida de paquetes como la señal principal para juzgar la congestión de la red. Los algoritmos de control de congestión tradicionales generalmente reducen la velocidad de transmisión solo cuando se detecta la pérdida de paquetes, pero esto puede conducir a la incapacidad de utilizar completamente el ancho de banda disponible o introducir retrasos innecesarios (hinchazón del búfer) en redes con búferes más grandes o con una ligera pérdida de paquetes aleatoria.

BBR, en cambio, mide activamente dos parámetros clave de la red:

  1. Ancho de banda del cuello de botella (Bottleneck Bandwidth, BtlBw): El límite superior de la velocidad de transmisión de datos en la ruta de la red, es decir, la capacidad del enlace más estrecho en la ruta.
  2. Tiempo de propagación de ida y vuelta (Round-trip Propagation Time, RTprop): El tiempo más corto requerido para que un paquete de datos viaje de ida y vuelta en la ruta de la red, excluyendo el tiempo de espera en los búferes de los dispositivos intermedios.

Mecanismo de trabajo

BBR ajusta dinámicamente su comportamiento de transmisión sondeando periódicamente estos dos parámetros:

  • Sondeo del ancho de banda del cuello de botella: BBR enviará datos a una velocidad ligeramente superior al ancho de banda del cuello de botella estimado actualmente durante un período de tiempo para sondear si hay un ancho de banda disponible mayor.
  • Sondeo del tiempo de propagación de ida y vuelta: BBR enviará datos a una velocidad ligeramente inferior al ancho de banda del cuello de botella estimado actualmente durante un período de tiempo para vaciar las colas en la ruta y, por lo tanto, medir un RTprop más preciso.

De esta manera, BBR intenta mantener la cantidad de datos que se transmiten (datos en vuelo) ligeramente por encima del producto del ancho de banda y el retraso (BDP = BtlBw * RTprop). Esto puede utilizar completamente el ancho de banda del enlace de cuello de botella y evitar causar colas excesivas y alta latencia en la red.

Principales ventajas

  • Alto rendimiento: especialmente en redes largas y gordas (Long Fat Networks) con cierta pérdida de paquetes y latencia, BBR generalmente puede obtener un rendimiento más alto que los algoritmos tradicionales.
  • Baja latencia: al controlar activamente las colas, BBR puede reducir eficazmente la latencia de la red y evitar problemas de hinchazón del búfer.
  • Insensible a la pérdida de paquetes: dado que no depende principalmente de la pérdida de paquetes para juzgar la congestión, BBR funciona de manera más estable en redes con una pequeña cantidad de pérdida de paquetes aleatoria.

Condiciones para activar BBR en Windows

El sistema operativo debe ser compatible. El requisito de la versión puede ser Windows 11 versión 22H2 y superior.

Ejecute Powershell como administrador, envíe el siguiente comando para comprender los algoritmos compatibles con el sistema:

[Enum]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.CongestionProvider])

Puede generar algo como:

Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2

Esta lista representa los nombres de los algoritmos de control de congestión que el sistema puede reconocer y configurar en la configuración de TCP. Default generalmente significa que el sistema decide usar CUBIC u otros algoritmos según una plantilla específica o una configuración global.

Intentar usar el algoritmo de control de congestión BBR en Windows

Ver la configuración actual del algoritmo de control de congestión:

Get-NetTCPSetting | Select SettingName, CongestionProvider

La salida puede verse como la siguiente:

SettingName        CongestionProvider
-----------        ------------------
Automatic
InternetCustom     CUBIC
DatacenterCustom   CUBIC
Compat             NewReno
Datacenter         CUBIC
Internet           CUBIC

Intente activarlo:

Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2

Error:

Set-NetTCPSetting : Property CongestionProvider is read-only
At line:1 char:1
+ Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (MSFT_NetTCPSett...ystemName = ""):ROOT/StandardCimv2/MSFT_NetTCPSetti
   ng) [Set-NetTCPSetting], CimException
    + FullyQualifiedErrorId : Windows System Error 87,Set-NetTCPSetting

Problemas actuales con el uso del algoritmo BBR en Windows

En este momento, al consultar, se sabe que el soporte de BBR de Windows no es perfecto y tiene muchos errores (los dos primeros materiales mencionan que activar BBR corromperá el tráfico TCP de “localhost” (interfaz de bucle invertido), lo que hará que las conexiones dentro de la misma máquina sean lentas o no respondan), como:

  • Destruirá Steam, porque Steamwebhelper ya no se puede iniciar, y cuando se usa Internet Download Manager, destruye todos los ganchos de descarga, y cuando se cambia de nuevo a CUBIC, vuelven a funcionar: Fix BBR2 bugs on Windows 11 - Microsoft Community , creado el 8 de mayo de 2025
  • El nuevo error de BBR2 24H2 es la conexión inestable. Mi navegador Firefox recibe aleatoriamente errores NS_BINDING_ABORT. Mi complemento de desarrollo remoto de Visual Studio Code se bloquea al conectarse y muestra el siguiente error: failed to set up socket for dynamic port forward to remote port =: proxy connection timed out. . Mi aplicación Messenger (UWP) casi se bloquea (no se pueden mostrar los mensajes nuevos). —— Windows 11 24H2 and BBR2 : r/Windows11
  • Interrumpirá las conexiones de consola local de Hyper-V (desde Windows 11 23H2). La consola mostrará Connecting to '[VM]' durante unos minutos, luego fallará con Video remoting was disconnected y aparecerá un mensaje emergente Could not connect to the virtual machine. —— 如何在 Windows 上启用 TCP BBR - Stack Overflow
  • v2rayN no puede actualizar archivos geográficos, núcleo ni conectarse a servidores proxy. —— [Bug]: Windows 中的 BBR2 拥塞算法导致 v2rayN 停止工作 · 2dust/v2rayN

Por lo tanto, decidí no activar BBR por el momento. Si desea intentar activarlo, puede probar el siguiente comando:

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

Aquí también puede reemplazar BBR2 con BBR (BBR v1), puede probarlo y comparar los efectos.

Luego, verifique si el algoritmo de control de congestión configurado actualmente ya está configurado como BBR2:

Get-NetTCPSetting | Select SettingName, CongestionProvider

En Windows 11 23H2 / 24H2, habilitar BBR v2 puede hacer que las conexiones TCP locales no estén disponibles (por ejemplo, hacer que adb no se pueda usar, que Steam falle, etc.), en este momento, restaure el algoritmo de control de congestión a la configuración anterior. No es necesario reiniciar después de la restauración, el problema debería resolverse de inmediato.

Este artículo no es perfecto, bienvenido a dejar un mensaje o comentario para informarme de la información más reciente.

Referencia

Set-NetTCPSetting (NetTCPIP) | Microsoft Learn

Enable TCP BBR v2 on Linux & Windows 11 - Coxxs

https://github.com/google/bbr

Otras versiones de esta página web

Este artículo tiene versiones en varios idiomas.

Si desea publicar un comentario, visite las siguientes páginas web:

ZH EN ZH-TW JA

Estas páginas web solo admiten la navegación, no se pueden publicar comentarios o mensajes, pero ofrecen más opciones de idioma y tienen tiempos de carga más cortos:

ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO