Un algoritmo de control de congestión desarrollado por Google, el BBR ( B ottleneck B ywidth y R ound-trip tiempo de propagación) es una solución para aumentar la velocidad de transmisión de paquetes a través de Internet. Pero, ¿qué es un Algoritmo de Control de Congestión? Los Algoritmos de Control de Congestión son las diferentes formas en que los paquetes pueden ser enviados a través de Internet. Estos están incorporados en cada dispositivo de red y decidir la velocidad de transmisión de datos sobre la base de congestión, pérdida de paquetes, etc
El Internet más a menudo utiliza el control de la congestión basado en la pérdida, que decidió enviar los paquetes sobre la base de la pérdida de paquetes. Si dicho algoritmo detecta pérdida de paquetes, asumirá el estado de congestión y dejará de enviar paquetes o limitará su velocidad. Una limitación importante de tal algoritmo de control de congestión es que la congestión no es el único factor para la pérdida de paquetes. La pérdida de paquetes puede ocurrir debido a numerosas razones como medios de transmisión defectuosos y tampones poco profundos. En tales casos, el algoritmo supone congestión y limita la velocidad de transmisión.
El algoritmo de BBR, sin embargo, fue escrito tomando todos estos factores en consideración. BBR evalúa la red y la velocidad a la que es capaz de transmitir datos mediante el control de la velocidad de la red y el tiempo de ida y vuelta. A través de esto, se evalúa el ancho de banda máximo disponible y el tiempo de ida y vuelta mínimo, lo que guía al BBR para enviar la máxima cantidad posible de datos en un momento dado.
TCP BBR control de congestión en Ubuntu / Debian
El parche TCP BBR debe aplicarse al kernel de Linux.
Requisitos previos
1. La versión de Linux Kernel debe ser 4.9 o superior.
2. Las siguientes características deben estar disponibles en el kernel de Linux.
#CONFIG_TCP_CONG_BBR
#CONFIG_NET_SCH_FQ
(Nota: Puede comprobar si están disponibles ejecutando los comandos mencionados a continuación.)
Grep 'CONFIG_TCP_CONG_BBR' / boot / config - $ (uname -r)
Grep 'CONFIG_NET_SCH_FQ' / boot / config - $ (uname -r)
Egrep 'CONFIG_TCP_CONG_BBR | CONFIG_NET_SCH_FQ' / boot / config - $ (uname -r)
Configuración
1. Edite cualquiera de los siguientes archivos con la ayuda de cualquier editor de texto de su elección. Hemos utilizado vi editor.
Sudo vi /etc/sysctl.conf
Sudo vi /etc/sysctl.d/10-custom-kernel-bbr.conf
2. Las siguientes líneas deben agregarse a los archivos anteriores.
Net.core.default_qdisc = fq
Net.ipv4.tcp_congestion_control = bbr
3. Guarde el archivo y reinicie el sistema para que los cambios entren en vigor.
Sudo reboot
4. Puede probar la red con la ayuda de herramientas de red.
Una vez que los cambios surtan efecto, notará un cambio en la velocidad de los datos.