Введение

Алгоритм избегания перегрузки TCP H TCP - это еще одна реализация TCP с оптимизированным алгоритмом контроля перегрузки для высокоскоростных сетей с высокой задержкой (LFN: Long Fat Networks). Он был создан исследователями из Института Гамильтона в Ирландии. H TCP является дополнительным модулем в Linux с версии ядра 2.6, и был реализован для FreeBSD 7.

Принципы работы

H TCP - это алгоритм, основанный на потерях, использующий аддитивное увеличение / умножающее уменьшение (AIMD) для управления окном перегрузки TCP. Это один из многих алгоритмов избегания перегрузки TCP, который стремится увеличить агрессивность TCP на высокоширокополосных продуктах задержки (BDP) путей, сохраняя при этом "дружественность TCP" для небольших путей BDP. H TCP увеличивает свою агрессивность (в частности, скорость аддитивного увеличения) по мере увеличения времени с момента предыдущей потери. Это позволяет избежать проблемы, с которой сталкиваются HSTCP и BIC TCP, делая потоки более агрессивными, если их окна уже большие. Таким образом, можно ожидать, что новые потоки будут конвергировать к справедливости быстрее в рамках HTCP, чем HSTCP и BIC TCP.

Сильные и слабые стороны

Побочным эффектом увеличения скорости увеличения по мере увеличения времени с момента последней потери пакетов является то, что потоки, которые случайно не теряют пакеты, когда другие потоки это делают, могут затем занять несправедливую часть полосы пропускания. Методы, позволяющие преодолеть это, в настоящее время находятся на стадии исследования. В Linux-исполнении H TCP также есть опция для избежания "нечестности RTT", которая возникает в TCP Reno, но является особой проблемой для большинства высокоскоростных вариантов TCP (хотя и не FAST TCP).

Имя

Алгоритм был первоначально представлен как H TCP, без упоминания о том, что означает "H". Однако его часто называют "Hamilton TCP", в честь Института Гамильтона, где он был создан.