Skip to content

Настройка TCP BBR

BBR (Bottleneck Bandwidth and Round-trip propagation time) — это алгоритм управления перегрузкой TCP, разработанный Google. Он значительно улучшает пропускную способность сети и снижает задержку (пинг) по сравнению со стандартным алгоритмом CUBIC, который используется в Linux по умолчанию.

Зачем это нужно?

BBR особенно полезен для игровых серверов, так как он лучше справляется с потерей пакетов и обеспечивает более стабильное соединение для игроков. Это может заметно снизить пинг и уменьшить количество лагов, связанных с сетью.

1. Проверка текущего алгоритма

Подключитесь к серверу по SSH и выполните команду:

bash
sysctl net.ipv4.tcp_congestion_control

Если в ответ вы увидите net.ipv4.tcp_congestion_control = cubic, значит используется стандартный алгоритм и есть смысл переключиться на BBR.

2. Проверка поддержки BBR

BBR доступен в ядрах Linux версии 4.9 и выше. Проверьте версию вашего ядра:

bash
uname -r

Убедитесь, что модуль BBR доступен:

bash
sudo modprobe tcp_bbr

Если модуль не найден

Если команда выдала ошибку FATAL: Module tcp_bbr not found, ваше ядро собрано без поддержки BBR. Обратитесь к хостинг-провайдеру или обновите ядро до версии 4.9+.

3. Включение BBR

Откройте файл /etc/sysctl.conf:

bash
sudo nano /etc/sysctl.conf

Добавьте в конец файла следующие строки:

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

Про алгоритм очереди

fq (Fair Queue) — рекомендуемый алгоритм управления очередями для работы с BBR. Он обеспечивает справедливое распределение пропускной способности между потоками и необходим для корректной работы BBR.

Примените изменения:

bash
sudo sysctl -p

4. Проверка

Убедитесь, что BBR успешно активирован:

bash
sysctl net.ipv4.tcp_congestion_control

Ожидаемый вывод:

net.ipv4.tcp_congestion_control = bbr

Также можно проверить, что модуль загружен:

bash
lsmod | grep bbr

Ожидаемый вывод:

tcp_bbr    20480  X

BBR2 и BBR3

Существуют более новые версии алгоритма — BBR2 и BBR3, но они не включены в стандартные ядра Linux и доступны только через кастомные ядра (например, XanMod). Для подавляющего большинства серверов BBR v1 более чем достаточен и даёт значительный прирост по сравнению с CUBIC.