Термин

Congestion control

Короткое определение

Алгоритм, по которому транспорт решает, как быстро слать, чтобы не перегрузить сеть. CUBIC – давний дефолт TCP, BBR всё чаще используется в стриминге.

Congestion control – обратная связь, которая не даёт транспорту наполнить все буферы роутеров между отправителем и получателем. Классическая модель – additive increase, multiplicative decrease (AIMD) – медленно растит скорость, пока не обнаружит потерю, потом режет вдвое. CUBIC (RFC 8312, февраль 2018) – это уточнение AIMD, восстанавливающееся после потерь агрессивнее, и больше десяти лет дефолт TCP в Linux.

Для стриминга выбор congestion control важен, потому что видео-трафик bursty и жадный до полосы. CUBIC хорошо работает на длинных толстых каналах с малыми потерями, но склонен переполнять буферы на сотовой связи, вызывая bufferbloat-задержку, маскирующуюся под потери. BBR (Bottleneck Bandwidth and Round-trip propagation time, выкачен Google в 2016, последний вариант BBRv3 в 2023) моделирует ёмкость бутылочного горлышка и целевой RTT напрямую, давая больший throughput на путях с потерями и меньшую задержку под нагрузкой. Большинство крупных CDN предлагают BBR опционально, YouTube использует его по умолчанию годами.

У WebRTC свой congestion control – Google Congestion Control (GCC) и Transport-CC – живёт над транспортным уровнем и реагирует на пакетную задержку, а не на потери. Выбор congestion control невидим зрителю, но осязаем в эксплуатации: CDN-edge, переключённый с CUBIC на BBR, может вдвое поднять throughput на одну сессию по нестабильному 5G аплинку без других изменений.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.