Отключить медленный запуск TCP

Отключить медленный запуск TCP

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

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

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

Спасибо~

решение1

В старых версиях ядра 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а такжеЭта статья.

Связанный контент