HighSpeed TCP (HSTCP): алгоритм контроля перегрузки TCP для сетей с большой пропускной способностью. Улучшает использование полосы пропускания, RFC 3649.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Алгоритм предотвращения перегрузки TCP HighSpeed TCP (HSTCP) — это протокол управления перегрузкой, определённый в RFC 3649 для протокола управления транспортными соединениями (TCP). Стандартный TCP показывает низкую эффективность в сетях с большим произведением пропускной способности на задержку. Он не способен полностью использовать доступную пропускную способность. HSTCP вносит небольшие изменения в механизм предотвращения перегрузки стандартного TCP для преодоления этого ограничения.
TCP congestion avoidance algorithm
HighSpeed TCP (HSTCP) is a congestion control algorithm protocol defined in RFC 3649 for Transport Control Protocol (TCP). Standard TCP performs poorly in networks with a large bandwidth delay product. It is unable to fully utilize available bandwidth. HSTCP makes minor modifications to standard TCP's congestion control mechanism to overcome this limitation.
Алгоритм
При получении ACK (в режиме предотвращения перегрузки) окно увеличивается на , а при обнаружении потери через тройные дубликаты подтверждений, окно становится равным , где w – текущий размер окна. Когда окно перегрузки мало, HSTCP ведет себя идентично стандартному TCP, поэтому a(w) = 1 и b(w) = 0,5. Когда окно перегрузки TCP превышает определенный порог, a(w) и b(w) становятся функциями текущего размера окна. В этой области, по мере увеличения окна перегрузки, значение a(w) возрастает, а значение b(w) уменьшается. Это означает, что окно HSTCP растет быстрее, чем у стандартного TCP, и также быстрее восстанавливается после потерь. Такое поведение позволяет HSTCP быть совместимым со стандартными TCP-потоками в обычных сетях и быстро использовать доступную пропускную способность в сетях с большим произведением задержки на пропускную способность. HSTCP имеет те же механизмы медленного старта и обработки таймаутов, что и стандартный TCP. Поскольку изменяется только механизм управления перегрузкой, HSTCP может использоваться с другими опциями TCP, такими как SACK. В реальных реализациях определение параметров увеличения и уменьшения при заданном размере окна реализуется с помощью таблицы поиска.
When an ACK is received (in congestion avoidance), the window is increased by and when a loss is detected through triple duplicate acknowledgments, the window equals , where w is the current window size. When the congestion window is small, HSTCP behaves exactly like standard TCP so a(w) is 1 and b(w) is 0.5. When TCP's congestion window is beyond a certain threshold, a(w) and b(w) become functions of the current window size. In this region, as the congestion window increases, the value of a(w) increases and the value of b(w) decreases. This means that HSTCP's window will grow faster than standard TCP and also recover from losses more quickly. This behavior allows HSTCP to be friendly to standard TCP flows in normal networks and also to quickly utilize available bandwidth in networks with large bandwidth delay products. HSTCP has the same slow start/timeout behavior as standard TCP. Since only the congestion control mechanism is modified, HSTCP can be used with other TCP options like SACK. In real implementations, determining the increase and decrease parameters given a current window size is implemented as a lookup table.