При передаче данных между распределенными ЦОДами через VPN часто возникают проблемы со скоростью. Например, при необходимости пересылки бэкапа объемом 50 GB за час, стандартный алгоритм управления перегрузкой TCP в Linux под названием CUBIC может не использовать всю доступную полосу пропускания. Это происходит из-за того, что CUBIC воспринимает потерю пакетов как сигнал перегрузки сети.

Алгоритм BBR, представленный Google в 2016 году, решает эту проблему, оценивая пропускную способность узкого места и время кругового обхода (RTT). Вместо реакции на потери, BBR оптимизирует объем данных в передаче, чтобы максимально загрузить канал без создания очередей. Это особенно эффективно для межрегиональных соединений с задержками около 30 ms.

Важно учитывать, что BBR не исправляет аппаратные проблемы, такие как перегруженные VPN-шлюзы или медленные диски. Алгоритм необходимо активировать именно на сервере-отправителе данных. Включение выполняется через команду sysctl, после чего настройки можно зафиксировать в конфигурационном файле системы для постоянного использования.

Для оценки эффективности рекомендуется проводить замеры с помощью iperf3 в однопоточном и многопоточном режимах. На практике использование BBR позволяло добиться прироста скорости до 6 раз. При этом стоит учитывать, что результат зависит от конкретных характеристик канала. Для глубокого изучения работы алгоритма рекомендуется ознакомиться с версией BBRv3.