В ядре Linux 2.6.13 появился ряд новых возможностей управления потоком данных для приложений TCP.
TCP: advanced congestion control (TCP_CONG_ADVANCED)
Данная опция (Y/N) обеспечивает возможность выбора различных модулей контроля насыщения для соединений TCP. При выборе для опции значения N будет применяться принятый по умолчанию механизм контроля насыщения BIC-TCP или новый механизм Reno (при невозможности использования BIC-TCP).
Если вы не планируете самостоятельно выбирать модули контроля насыщения или не до конца понимаете механизмы их работы, выберите для опции значение N. При выборе этого варианта значения описываемых ниже опций будут выбраны автоматически, а сами опции не будут показаны в меню настройки конфигурации ядра.
TCP congestion control
Это субменю позволяет выбрать модули контроля насыщения, поддерживаемые ядром.
Binary Increase Congestion (BIC) control (TCP_CONG_BIC)
Опция управляет поддержкой в ядре механизма контроля насыщения BIC и по умолчанию включена (Y). Вы можете также отключить поддержку этого механизма или реализовать его в форме загружаемого модуля ядра (tcp_bic).
Механизм BIC-TCP используется на стороне отправителя и обеспечивает линейный учет времени RTT, дающий сочетание масштабируемости и ограниченной “дружественности” TCP. Этот механизм объединяет две схемы контроля насыщения, называемые аддитивным увеличением (additive increase) and binary search increase. При большом размере окна насыщения аддитивный рост с большим инкрементом обеспечивает линейный учет RTT наряду с хорошей масштабируемостью. При небольшом размере окна насыщения увеличение бинарного поиска обеспечивает “дружественность” TCP. Более подробную информацию можно найти на сайте http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/.
TCP Westwood+ (TCP_CONG_WESTWOOD)
Данная опция по умолчанию имеет значение M (модуль tcp_westwood) и управляет поддержкой в ядре механизма контроля насыщения TCP Westwood+.
Механизм TCP Westwood+ используется только на стороне отправителя и является модификацией стека TCP Reno для оптимизации системы контроля насыщения в TCP. Механизм основан на оценке сквозной полосы пропускания для установки размера окна насыщения и порога замедленного старта после фактов насыщения в сети. Используя оценку полосы, TCP Westwood+ адаптивно устанавливает значение порога замедленного старта и размер окна насыщения с учетом полосы, использованной в период наблюдавшегося насыщения. Механизм TCP Westwood+ существенно повышает уровень “беспристрастности” TCP Reno в проводных сетях и пропускную способность беспроводных соединений.
H-TCP (TCP_CONG_HTCP)
Опция по умолчанию имеет значение M (модуль tcp_htcp) и управляет поддержкой в ядре механизма контроля насыщения H-TCP.
H-TCP используется только на стороне отправителя и представляет собой модификацию стека TCP Reno с оптимизацией производительности системы контроля насыщения TCP для высокоскоростных сетевых соединений. Этот механизм использует переключатель режима (modeswitch0 для изменения параметров alpha и beta стека TCP Reno на основе существующих в сети условий с учетом интересов других потоков данных Reno и H-TCP.
High Speed TCP (TCP_CONG_HSTCP)
Данная опция по умолчанию имеет значение M (модуль tcp_highspeed) и управляет поддержкой в ядре механизма контроля насыщения High Speed TCP.
Алгоритм High Speed TCP описан в RFC 3649 (автор Sally Floyd) и является модификацией стандартного механизма контроля насыщения TCP для использования с большим размером окна насыщения. При поступлении нового подтверждения ACK увеличение размера окна насыщения определяется с помощью таблицы. Дополнительную информацию об этом механизме можно найти на сайте http://www.icir.org/floyd/hstcp.html.
TCP-Hybla congestion control algorithm (TCP_CONG_HYBLA)
Отключенная (N) по умолчанию опция управляет поддержкой в ядре алгоритма контроля насыщения TCP-Hybla.
Механизм TCP-Hybla используется только на стороне отправителя и позволяет контролировать насыщение для широкополосных соединений со значительными задержками (например, спутниковые каналы). При выборе для опции значения M, код алгоритма реализуется в виде загружаемого модуля tcp_hybla..
TCP Vegas (TCP_CONG_VEGAS)
Отключенная (N) по умолчанию опция управляет поддержкой в ядре механизма контроля насыщения TCP Vegas.
Алгоритм TCP Vegas используется только на стороне отправителя для предотвращения перегрузки за счет оценки полосы пропускания. TCP Vegas изменяет скорость передачи данных за счет управления размером окна насыщения TCP. При использовании алгоритма TCP Vegas следует ожидать снижения числа теряемых пакетов, но этот механизм обеспечивает менее агрессивный контроль насыщения, нежели TCP Reno. При выборе значения M код реализуется в модуле tcp_vegas.
Scalable TCP (TCP_CONG_SCALABLE)
Отключенная (N) по умолчанию опция управляет поддержкой в ядре механизма контроля насыщения Scalable TCP.
Scalable TCP используется только на стороне отправителя и работает на основе алгоритма контроля насыщения MIMD, который обеспечивает хорошее масштабирование, хотя и не отличается беспристрастностью. Дополнительную информацию вы найдете на сайте http://www-lce.eng.cam.ac.uk/~ctk21/scalable/. При выборе для опции значения M алгоритм реализуется в форме загружаемого модуля tcp_scalable.
TCP_CONG_BIC
Включенная (Y) по умолчанию опция управляет поддержкой алгоритма BIC. Данный механизм используется ядром по умолчанию даже в тех случаях, когда для опции TCP_CONG_ADVANCED выбрано значение N. Состояние данной опции устанавливается автоматически в зависимости от выбора других опций, поэтому она может просто не выводиться в меню настройки конфигурации ядра.
|