Я ищу отключить механизм медленного запуска tcp для высокоскоростной сети. В настоящее время клиенты отправляют потоки со скоростью 100 МБ на случайные серверы с неблокирующей линией 1 Гбит / с. В моей математике время завершения потоков составляет менее 1 секунды.

Но проблема в том, что они не могут достичь полной пропускной способности канала. Другими словами, они заканчиваются в фазе медленного запуска до получения полной пропускной способности канала. Поэтому я хочу увеличить размер окна перегрузки TCP.

Есть кто-нибудь, кто знает, как я могу легко изменить это значение без модификации ядра?

Thx ~

1 ответ1

0

В более старых версиях ядра Linux начальное значение окна перегрузки (initcwnd) было всего 2 (2 * MSS или около 3 КБ), а с версии 3.0 по умолчанию установлено 10 (около 14 КБ).

При условии, что ваше ядро Linux не очень древнее, вы можете увеличить начальное окно перегрузки с помощью команды ip , примерно так:

Получить текущую информацию о маршруте по умолчанию:

$ ip route | grep default
default via 192.168.1.1 dev eth0  proto static

Назначьте новое значение initcwnd этому маршруту:

$ sudo ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10

Это увеличивает начальное окно перегрузки по умолчанию до более высокого значения 10 * MSS (~ 14 КБ). Возможно, вы захотите поиграть со значениями выше этого, вероятно, до 40.

Для получения дополнительной информации прочитайте оригинальное предложение Google по увеличению initcwnd, а также эту статью.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .