Este tutorial le muestra cómo habilitar TCP BBR en Ubuntu. TCP BBR es un algoritmo de control de congestión de TCP desarrollado por Google. Aborda las deficiencias de los algoritmos tradicionales de control de congestión de TCP (Reno o CUBIC). Según Google, puede lograr órdenes de magnitud de mayor ancho de banda y menor latencia. TCP BBR ya se usa en Google.com, YouTube y Google Cloud Platform y el Grupo de trabajo de ingeniería de Internet (IETF) ha estado estandarizando este algoritmo desde julio de 2017. BBR significa Bottleneck Bandwidth and RTT.
BBR solo requiere cambios en el lado del remitente. Puede habilitar TCP BBR en su escritorio Linux para mejorar la experiencia general de navegación web. Si tiene un servidor web Linux, TCP BBR puede lograr descargas de páginas web más rápidas para los visitantes de su sitio web.
Paso 1:comprobar los algoritmos de control de congestión de TCP en Linux
De forma predeterminada, Linux usa el Reno
y CUBIC
Algoritmo de control de congestión. Para verificar los algoritmos de control de congestión disponibles, ejecute el siguiente comando.
sysctl net.ipv4.tcp_available_congestion_control
Salida:
net.ipv4.tcp_available_congestion_control = cubic reno
Para verificar el algoritmo de control de congestión actual en uso, ejecute
sysctl net.ipv4.tcp_congestion_control
Salida:
net.ipv4.tcp_congestion_control = cubic
Paso 2:Instale Linux Kernel 4.9 o superior
TCP BBR es compatible con Linux desde la versión 4.9 del kernel. Use el siguiente comando para verificar su versión del kernel de Linux.
uname -r
Ubuntu 18.04 tiene el núcleo 4.13.
4.13.0-16-generic
Es muy fácil instalar Linux kernel 4.10 en Ubuntu 16.04. No tiene que descargar manualmente el kernel desde el sitio web de Ubuntu. Simplemente instale la pila de habilitación de hardware (HWE), que proporciona un kernel más nuevo para las versiones de Ubuntu LTS.
sudo apt update sudo apt install --install-recommends linux-generic-hwe-16.04
Su proveedor de VPS puede usar un kernel de Linux personalizado en lugar del kernel proporcionado por Ubuntu. Si usa Linode VPS, debe ir a Linode VPS control penal, editar su perfil de configuración.
En Configuración de arranque, configure el kernel en GRUB2 .
Guarde sus cambios. Luego reinicie para usar el nuevo kernel 4.10.
sudo shutdown -r now
Paso 3:habilite TCP BBR en Ubuntu
Una vez que tenga el kernel 4.9 o superior, edite sysctl.conf
archivo.
sudo nano /etc/sysctl.conf
Agregue las siguientes dos líneas al final del archivo.
net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
Guarde y cierre el archivo. Luego vuelva a cargar las configuraciones de sysctl.
sudo sysctl -p
Si agregó correctamente las dos líneas anteriores en el archivo, se incluirán en el resultado como se muestra a continuación.
[email protected]:~$ sudo sysctl -p net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
Ahora compruebe el algoritmo de control de congestión en uso.
sysctl net.ipv4.tcp_congestion_control
Salida:
net.ipv4.tcp_congestion_control = bbr
¡Felicitaciones! Ha habilitado con éxito TCP BBR en Ubuntu.
Mejoras de velocidad
Usé el proxy Shadowsocks en un VPS de gama baja para probar TCP BBR. La mejora de la velocidad es enorme. La siguiente captura de pantalla muestra la velocidad de conexión de YouTube antes de habilitar TCP BBR en mi servidor proxy. Como puede ver, la velocidad es de solo alrededor de 400 Kb/s (50 KB/s).
Esta es la velocidad de conexión de YouTube después de habilitar TCP BBR en mi servidor proxy. 9878 Kb/s es aproximadamente 1234 KB/s. ¡Mi servidor proxy es 24 veces más rápido!
En un segundo servidor proxy Shadowsocks, la velocidad pasó de alrededor de 10 Mbit/s a alrededor de 62 Mbit/s (64172 Kbit/s) después de habilitar TCP BBR.
No desactive la escala de ventana de TCP
Es posible que deba deshabilitar la escala de ventana de TCP para solucionar un problema, pero hacerlo puede reducir en gran medida el rendimiento de la red. Agregue la siguiente línea en /etc/sysctl.conf
archivo para habilitar la escala de ventana de TCP.
net.ipv4.tcp_window_scaling = 1
Luego aplique los cambios.
sudo sysctl -p
¡Eso es todo! Espero que este tutorial te haya ayudado a habilitar TCP BBR en Ubuntu. Como siempre, si esta publicación le resultó útil, suscríbase a nuestro boletín gratuito para obtener más consejos y trucos útiles.