O que é TCP BBR?
O TCP BBR, ou TCP Bottleneck Bandwidth and Round-trip propagation time, é um algoritmo de controle de congestionamento desenvolvido pelo Google para otimizar a transmissão de dados pela internet. Este algoritmo foi projetado para aprimorar o desempenho do protocolo de controle de transmissão (TCP), que é amplamente utilizado para garantir a entrega confiável de dados em redes de computadores.
Uma característica fundamental do TCP BBR é a sua capacidade de adaptar dinamicamente a taxa de transmissão de dados com base na largura de banda disponível e no tempo de propagação da ida e volta (RTT) da comunicação. Isso significa que o algoritmo é eficaz em identificar e contornar gargalos na rede, ajustando-se de maneira inteligente para evitar congestionamentos e melhorar a eficiência da transmissão.
Configurando o TCP BBR no Linux
Verifique se a sua máquina Linux está executando um kernel suportado. Para isso, use o comando:
uname -r
Se o seu kernel for anterior ao 4.9, você precisará atualizá-lo.
Abra um terminal e edite o arquivo de configuração sysctl com o comando
sudo nano /etc/sysctl.conf
Adicione as seguintes duas linhas no final do arquivo
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
Salve e feche o arquivo
Recarregue as configurações do sysctl com o comando
sudo sysctl -p
Agora, quando você verificar qual algoritmo de controle de congestionamento está em uso com o comando:
sysctl net.ipv4.tcp_congestion_control
A saída deverá conter “bbr”
Configurando o TCP BBR no Windows 11
Abra um terminal Powershell com permissões de Administrador e execute os seguintes comandos:
netsh int tcp set supplemental Template=Internet CongestionProvider=bbr2
netsh int tcp set supplemental Template=Datacenter CongestionProvider=bbr2
netsh int tcp set supplemental Template=Compat CongestionProvider=bbr2
netsh int tcp set supplemental Template=DatacenterCustom CongestionProvider=bbr2
netsh int tcp set supplemental Template=InternetCustom CongestionProvider=bbr2
Verifique se o BBR está habilitado com o comando
Get-NetTCPSetting | Select SettingName, CongestionProvider
A saída deverá conter BBR2
Se por algum motivo você precisar restaurar para o controle de congestionamento padrão use os comandos abaixo:
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