TCP не знает заранее, сколько данных можно безопасно держать в полёте: ширина канала, число конкурентов на нём и глубина буферов по дороге — величины, которые протокол не может ни у кого спросить напрямую. Их приходится угадывать по косвенным признакам, и именно этим занимается алгоритм congestion control — окно перегрузки (cwnd), которое отправитель наращивает и урезает сам, без явного согласия сети. CUBIC и BBR решают эту задачу принципиально по-разному, и разница между ними — не про то, какой алгоритм «новее» и поэтому лучше, а про то, какую…
Подробнее →