BBR TCP в Linux: как включить и ускорить сеть до 2x

Содержание8 разделов
BBR (Bottleneck Bandwidth and RTT) — алгоритм управления перегрузкой TCP, оптимизированный для high-load и нестабильных сетей. Применяется для увеличения throughput и снижения latency без изменения архитектуры инфраструктуры.
Алгоритм использует модель канала на основе пропускной способности и RTT вместо реакции на packet loss, что обеспечивает стабильную передачу данных и минимальный jitter.
Как работает BBR
Ограничения классических алгоритмов
Традиционные алгоритмы (CUBIC, Reno) используют реактивную модель:
- увеличение congestion window до появления потерь
- снижение скорости при packet loss
Это приводит к перегрузкам, нестабильному throughput и повышенному latency.
Модель BBR
BBR использует проактивный подход:
- оценка bandwidth (BtlBw)
- оценка RTT (RTprop)
- расчёт pacing_rate
Сеть удерживается в состоянии максимальной эффективности без искусственных перегрузок.
Сравнение BBR и классических TCP алгоритмов
Параметр | BBR | CUBIC | Reno |
|---|---|---|---|
Модель | bandwidth + RTT | packet loss | packet loss |
Throughput | Высокий | Средний | Низкий |
Latency | Низкий | Средний | Высокий |
Jitter | Минимальный | Средний | Высокий |
High RTT | Эффективен | Ограничен | Неэффективен |
VPN / туннели | Оптимально | Средне | Плохо |
Где BBR даёт максимальный эффект
- VPN и TCP-туннели
- reverse proxy и CDN
- мобильные сети (4G/5G)
- межрегиональные соединения
- cloud-инфраструктура
Прирост throughput может достигать 30–200% в условиях высокого RTT.
Как включить BBR в Linux
Проверка ядра
uname -rТребуется kernel ≥ 4.9. Рекомендуется 5.x или 6.x для production.
Проверка доступности
sysctl net.ipv4.tcp_available_congestion_controlЕсли отсутствует:
modprobe tcp_bbrКоманда modprobe tcp_bbr загружает модуль ядра Linux, реализующий алгоритм управления перегрузкой TCP BBR
Активация
cat >> /etc/sysctl.conf <<EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOFsysctl -pПроверка
sysctl net.ipv4.tcp_congestion_controlss -ti | grep bbrProduction-настройка BBR
Sysctl конфигурация
cat >> /etc/sysctl.d/99-network-tuning.conf <<EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.core.rmem_max=67108864
net.core.wmem_max=67108864
net.ipv4.tcp_rmem=4096 87380 67108864
net.ipv4.tcp_wmem=4096 65536 67108864
EOF
sysctl --systemРоль fq
fq (Fair Queueing) необходим для корректного pacing. Без него возможны burst-пакеты и деградация производительности.
Ограничения
- работает только с TCP
- ограниченный эффект в low-latency сетях
- возможна агрессивность в shared-средах
Тестирование производительности
HTTP тест
curl -o /dev/null https://speed.cloudflare.com/__down?bytes=100000000Сетевой тест
iperf3 -c <server>Сравнение метрик до и после активации позволяет оценить реальный прирост.
Заключение
BBR является эффективным инструментом TCP-оптимизации, позволяющим увеличить throughput и снизить latency в современных сетевых сценариях без изменения архитектуры.