Что делает сеть ipv4.tcp_app_win?

Существует иначе. Можно настроить перенаправление портов от S:2222 до W:8888 с iptables. Единственная команда:

iptables -t nat -A PREROUTING -p tcp --dport 2222 \
         -j DNAT --to-destination 1.2.3.4:8888

где 1.2.3.4 IP-адрес M. Это называют NAT (Преобразование сетевых адресов).

5
12.10.2013, 18:56
1 ответ

Я нашел эту информацию, которая говорит о tcp_adv_win_scale. Страница названа: настройка производительности TCP - как настроить Linux.

выборка

Производительность TCP ограничена задержкой и размером окна (и наверху, который уменьшает эффективный размер окна) window_size/RTT (это - то, сколько данных, которые могут быть "в пути" по ссылке в любой данный момент).

Для получения фактических скоростей передачи, возможных, необходимо разделить получающееся окно на задержку (в секундах):

Издержки: window/2^tcp_adv_win_scale (tcp_adv_win_scale значение по умолчанию 2),

Таким образом для параметров значения по умолчанию Linux для получить окна (tcp_rmem): 87380 - (87380 / 2^2) = 65536.

Учитывая трансатлантическую ссылку (RTT на 150 мс), максимальная производительность заканчивается в: 65536/0.150 = 436 906 байтов/с или приблизительно 400 кбайт/с, который является действительно медленным сегодня.

С увеличенным размером по умолчанию: (873800 - 873800/2^2)/0.150 = 4 369 000 байтов/с, или о 4Mbytes/s, который разумен для современной сети. И обратите внимание, что это - значение по умолчанию, если отправитель будет настроен с большим размером окна, то это счастливо увеличит масштаб до 10 раз этого (8738000*0.75/0.150 = ~40Mbytes/s), довольно хороший для современной сети.

2.6.17 и позже имеют довольно хорошие значения значений по умолчанию и на самом деле настраивают размер окна до позволенного макс., если другая сторона поддерживает его. Таким образом, с тех пор большая часть этого руководства не нужна. Для хорошей пропускной способности долгого пути значение maxiumum, возможно, должно было бы быть увеличено все же.

Я смог следовать за этим, но не вполне понял отношений, если таковые имеются, между этими 2 переменными.

Я только незначительно понял то, что это пыталось объяснить. В ядре это кажется, что этот параметр для масштабирования пространства объема буферизации должен использоваться для TCP и для приложения.

При поиске немного больше я нашел эти объяснения, которые имели больше смысла. Страница была названа: учебное руководство 1.0.4 Ipsysctl - ссылка на переменную Главы 3. IPv4.

выборка

3.3.2. tcp_adv_win_scale

Эта переменная используется для сообщения ядра, сколько из пространства буфера сокета должно использоваться для размера окна TCP, и сколько сохранить для буфера приложений. Если tcp_adv_win_scale отрицателен, следующее уравнение используется для вычисления буфера наверху для масштабирования окна:

Где байты являются суммой байтов в окне. Если значение tcp_adv_win_scale положительно, следующее уравнение используется для вычисления буфера наверху:

tcp_adv_win_scale переменная принимает целочисленное значение и на набор по умолчанию к 2. Это в свою очередь означает, что буфер приложений является 1/4-м из общего пространства буфера, указанного в tcp_rmem переменной.

3.3.3. tcp_app_win

Эта переменная говорит ядро, сколько байтов для резервирования для определенного окна TCP в буфере памяти сокетов TCP, куда определенное окно TCP передано в. Это значение используется в вычислении, которое указывает, сколько из пространства буфера для резервирования, который смотрит как следующее:

ss of formula

Как можно понять от вышеупомянутого вычисления, чем больше это значение становится, тем меньший будет пространство буфера быть для определенного окна. Единственное исключение к этому вычислению 0, который говорит ядру не резервировать пространство для этого определенного соединения. Значение по умолчанию для этой переменной равняется 31 и должно в целом быть хорошим значением. Не изменяйте это значение, если Вы не знаете то, что Вы делаете.

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

Принимая во внимание, что 2-й параметр, tcp_app_win указывает число байтов для резервирования для буфера приложений, упомянутого в tcp_adv_win_scale описание.

3
27.01.2020, 20:41

Теги

Похожие вопросы