Viktor_Kisel
- Стаж: 8 лет 10 месяцев
- Сообщений: 632
- Репутация:46[+] [-]
|
В процессе создания лаунчеров по оптимизации TCP/IP, нашел новые полезные вещи: MTU Есть ли возможность в батнике как-то автоматизировать этот процесс:echo Выполнить ping с флагом -f запрещающим фрагментацию пакета с размером пакета 1372 байт echo Увеличиваем размер пакета до появления сообщения о требовании фрагментации пакета! ping -f -l 1372 google.com если нету сообщения о требовании фрагментации пакета увеличить размер на единичку: ping -f -l 1373 google.com и т.д. пока не появится сообщение: Требуется фрагментация пакета, тогда остановиться
|
Viktor_Kisel
- Стаж: 8 лет 10 месяцев
- Сообщений: 632
- Репутация:46[+] [-]
|
Ander_73 Спасибо, работает Вопросик, как отключить автозакрытие батника? pause - не помогает.
|
Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3839
- Репутация:127[+] [-]
|
Viktor_Kisel, сумбур какой-то. Вот я получил размер пакета, для которого уже требуется фрагментация. Что с этой цифрой делать? Как получить из неё параметр MTU (чтобы сразу и засунуть в netsh)?
|
Viktor_Kisel
- Стаж: 8 лет 10 месяцев
- Сообщений: 632
- Репутация:46[+] [-]
|
Ander_73 Мелкософт постарался, действительно сумбур, потому и хочется по максимуму добиться автоматизма. В батнике есть пример: оптимальное значение параметра MTU=1372+28=1400 байт То есть, предпоследняя цифра 1372 + 28 = 1400 - этот и есть наш MTU (у каждого свой конечно)! Может в батнике это можно реализовать, чтобы автоматом добавляло цифру 28 и получали готовый MTU? Или проще сделать, чтобы автоматом добавляло к последней цифре но уже на единицу меньше - 27? Но еще нужно узнать имя нашего интерфейса основного подключения с помощью другого батника, например "Ethernet" или "Подключение по локальной сети" или... имя тоже в каждой винде будет отличаться от експишки до десятки.
Последний раз редактировалось: Viktor_Kisel (2021-05-31 11:48), всего редактировалось 1 раз
|
Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3839
- Репутация:127[+] [-]
|
Viktor_Kisel,@echo off >nul chcp 437 for /l %%i in (1300,1,3000) do ( <nul set /p "=Try packet size: %%i byte... " ping -n 1 -f -l %%i google.com| >nul find "fragmented"&& (set /a sz=%%i-1& goto next) echo passed. ) :next echo done! echo/ echo Last solid packet size is %sz% byte. set /a sz+=28 echo/ echo Recommended MTU size is %sz% echo/ pause
|
Viktor_Kisel
- Стаж: 8 лет 10 месяцев
- Сообщений: 632
- Репутация:46[+] [-]
|
Ander_73 Вот, то чо нужно, красота, благодарю Уже в таком моменте важном добавили полный автоматизм! (1300,1,3000) - это лишнее, максимум вроде 1500-28=1472, а вот минимум, наверное поставить 1370, не знаю бывает ли меньше? Думаю оптимально: (1370,1,1472) или так можно (1370,1,1500) потолок не мешает больший. Мыслей в инете много, реализовать все нужно время. Как сваяю выложу в этой теме постепенно.
Последний раз редактировалось: Viktor_Kisel (2021-05-31 12:03), всего редактировалось 1 раз
|
Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3839
- Репутация:127[+] [-]
|
Viktor_Kisel, в ХР не работает Там надо пускать именно английский Ping.exe Или морочиться разбором языков (что в корне неверно, имхо) Или придумать что-то... Можно отслеживать errorlevel, но тогда можно случайно попасть на обычный пропуск пакета. Тоже не очень...
|
Viktor_Kisel
- Стаж: 8 лет 10 месяцев
- Сообщений: 632
- Репутация:46[+] [-]
|
Ander_73 Во дела, щас в семерке временно сижу, сейчас проверю в експишке.
|
Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3839
- Репутация:127[+] [-]
|
Viktor_Kisel, вот, например, крохотный английский пинг из NT 4.0 Server Скачать
|
Viktor_Kisel
- Стаж: 8 лет 10 месяцев
- Сообщений: 632
- Репутация:46[+] [-]
|
Ander_73 Спасибо, с этим ping.exe в експишке работает. etsh int ip show interface - слишком много информации показывает, но тут видимо без варинтов netsh int ipv4 set interface "Ethernet" mtu=1420 store=persistent - не работает под експишкой: https://superuser.com/questions/37686/how-to-tell-w...ed-in-windows-xp TCPOptimizer - здесь выручит.
|
Отправлено: 31-Май-2021 14:33
(спустя 1 час 29 минут)
Страница 1 из 2
Текущее время: 11-Дек 18:48
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|