Перейти к содержимому

BBR / BBRv3

Bottleneck Bandwidth and Round-trip time - революционный алгоритм управления перегрузкой

Производительность

Максимальное использование пропускной способности

Справедливость

Справедливое распределение ресурсов

Задержка

Минимальная задержка при передаче

Анализ производительности BBR

Анализ производительности BBR

Метрики алгоритмов управления перегрузкой

Источник данных: Google Research, Academic Publications

Обновлено: ноябрь 2024

Условия тестирования: Стандартизированная сетевая симуляция

satellite

Метрики производительности алгоритмов BBR и CUBIC в различных условиях сети

Примечание:

  • Данные основаны на стандартизированном сетевом моделировании
  • BBRv3 показывает 12-31% улучшение пропускной способности
  • Справедливость (Fairness Index): 0-1, где 1 = идеальное справедливое распределение
  • Размер буфера влияет на оптимальность алгоритма в разных сетевых условиях

Что такое BBR?

BBR (Bottleneck Bandwidth and Round-trip time) — это алгоритм управления перегрузкой, разработанный Google, который использует измерения пропускной способности узкого места (bottleneck bandwidth) и времени задержки (RTT) для оптимизации передачи данных. В отличие от традиционных алгоритмов на основе потерь пакетов, BBR активно измеряет пропускную способность и задержку сети.

BBRv3 — последняя версия алгоритма с улучшенной поддержкой многопотокового режима, дополнительной защитой от переполнения буфера и улучшенной справедливостью распределения ресурсов. Алгоритм особенно эффективен в сетях с высокой пропускной способностью и низкой задержкой, обеспечивая стабильную производительность и минимальный jitter.

Публикации:

BBR описан в публикации Google "BBR: Congestion-Based Congestion Control" и реализован в ядре Linux. BBRv3 описан в документе Google "BBR v3: A Modern Congestion Control Algorithm".

Преимущества BBRv3:

Быстрая адаптация к условиям сети
Меньше потерь пакетов
Выше пропускная способность
Поддержка многопотокости

Технические характеристики

Разработчик

Google

Тип алгоритма

Model-based

Реализация

Linux Kernel, QUIC

Версия

BBRv3 (2023)

Эволюция

BBR v1

2016 - Исходная версия с использованием bandwidth-RTT модели

BBR v2

2020 - Улучшенная справедливость в сетях с потерями, лучшая координация между потоками

BBR v3

2023 - Многопотковая поддержка, оптимизация для QUIC, улучшенная работа с ECN (Explicit Congestion Notification)

Метрики производительности BBRv3

Метрики по размеру буфера

График показывает зависимость метрик производительности от размера буфера

* BBRv3 показывает оптимальную производительность при буфере размером 2*BDP, обеспечивая баланс между пропускной способностью и задержкой

Наши исследования BBR

BBRv3 Оптимизация

Исследование и оптимизация BBRv3 для достижения jitter < 1ms

Узнать больше →

Тестирование производительности

Комплексное тестирование BBRv3 на платформе quic-test

GitHub

Исследуем BBRv3

Изучаем оптимизацию алгоритма BBRv3 для достижения минимального jitter и максимальной пропускной способности