CUBIC TCP

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

CUBIC - реализация протокола TCP с оптимизированным алгоритмом предотвращения заторов для высокоскоростных сетей с большой задержкой (так называемых "протяжённых сетей с повышенной пропускной способностью" или "long fat networks").

Он менее агрессивен и имеет больше эволюционных улучшений по сравнению с BIC TCP, в котором размер "окна" определяется кубической функцией, зависящей от времени, прошедшего после последней потери пакета, и изменением размера "окна", при котором произошла потеря. Для кубической функции существуют ещё два периода роста "окна". Первый - это участок резкого роста, где "окно" резко вырастает до размера, предшествующему предыдущему периоду нагрузки. Второй - это более спокойный участок роста, где CUBIC постепенно проверяет возможность использования большей пропускной способности: сначала медленно, затем все быстрее. CUBIC теряет много времени на "плато" между резким и постепенным ростом, но это позволяет способствовать стабилизации параметров сети перед тем, как CUBIC начнёт проверку большей пропускной способности.

Другим главным отличием CUBIC от стандартного TCP является то, что CUBIC не зависит от приёма подтверждений (ACK) для увеличения размера "окна". Размер "окна" CUBIC зависит только от последнего затора. В стандартном TCP потоки с коротким RTT (двусторонней задержкой) получают подтверждения быстрее и поэтому их окно перегрузки (cwnd) растёт быстрее, чем у потоков с большим RTT. CUBIC предлагает более справедливое деление полосы пропускания между соревнующимися TCP-потоками за счёт того, что рост окна перегрузки не зависит от RTT.

CUBIC TCP реализован и используется по умолчанию в ядре Linux версий 2.6.19 и выше.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]

  • CUBIC
  • BIC и CUBIC (перевод обзорной статьи и обсуждение)