Сравнение TCP-контроля заторов

Сравните пропускную способность CUBIC, BBR и Reno с различными показателями потерь и RTT. Включает матрицу рекомендаций по рабочей нагрузке.

Рекомендуемая рабочая нагрузка Матрица
Рабочая нагрузкарекомендованныйизбегатьПричина
Bulk WAN (высокий BDP)BBR РиноBBR заполняет BDP без завышения очередей; Reno останавливается на продуктах с высоким RTT × BW
Интерактивный SSH/telnetКубик -Низкий BDP; все алгоритмы похожи; CUBIC по умолчанию в Linux в порядке
потоковое видео (устойчивое)BBR RenoBBR поддерживает стабильную скорость отправки без потерь
Дата-центр Восток-Запад (низкий RTT)CUBIC BBRОчень низкий RTT; CUBIC быстро сходится; исследование BBR добавляет ненужный трепет
Мобильная связь с высокой потерейBBR РиноBBR использует оценку BW не на основе потерь; не неправильно истолковывает беспроводные падения как перегрузку.
Справедливость с унаследованными конечными точкамиCUBIC BBRBBR может несправедливо доминировать в потоках CUBIC/Reno в общих узких местах (выпуск BBRv1)
Обзор алгоритма
АлгоритмПодходСигнал перегрузкиЛучшее для
КубикКубический полиномиальный рост кроны после потериПотеря пакетаОбщее назначение; по умолчанию Linux с 2.6.19
BBRМодель на основе, оценки узкое место BW + RTTНасыщение BW + увеличение RTTHigh-BDP WAN, потеря ссылок, потоковое видео
RenoAIMD — увеличение добавок, мультипликативное снижениеPacket lossНаследственная совместимость; избегайте ссылок с высоким BDP