- Как узнать значение MTU
- Windows
- Linux
- ip address
- ifconfig
- FreeBSD
- Провайдера
- Windows как посмотреть mtu
- Как сменить MTU через реестр
- Как определить, какой MTU используется в Windows XP
- Смена MTU на Windows через командную строку
- Зачем уменьшать MTU
- Уменьшаем MTU с помощью командной строки
- Определить минимальное значение MTU
- Как найти правильный размер MTU для моей сети.
Как узнать значение MTU
Windows
Нажмите комбинащию клавишь Win + R
В появившемся окне введите cmd и нажмите OK
В открывшемся черном окне введите команду:
netsh interface ipv4 show subinterfaces
В первой колонке ответа мы увидим значение MTU:
* в данном примере, значение MTU равно 1500 для сетевого адаптера Ethernet.
Linux
ip address
В более современных системах используется утилита для работы с сетевыми интерфейсами — ip address. Вводим команду:
В полученном результате находим нужный сетевой интерфейс и строчку на подобие:
eth0:
mtu 1500 qdisc pfifo_fast state UP qlen 1000
* то, что мы ищем — mtu 1500.
ifconfig
В более ранних системах или с установленным ifconfig вводим:
* где eth0 — сетевой адаптер, для которого хотим узнать MTU.
В полученном результате находим что-то на вроде:
eth0: flags=4163 mtu 1500
* где mtu 1500 — наше значение.
FreeBSD
В данной системе работаем с уже описанным выше ifconfig:
em0: flags=8843 metric 0 mtu 1500
Провайдера
Чтобы определить оптимальное значение MTU для нашего сетевого адаптера, подключенного к сети Интернет, необходимо узнать значение, используемое на оборудовании поставщика.
Для этого выполняем ping с запретом фрагментации сетевых пакетов (-f) и выставлением определенного размера пакета (-l):
ping dmosk.ru -f -l 1472
* 1472 будет соответствовать MTU — 1500, так как к пакету мы должны еще прибавить 28 (заголовок).
Наша задача — подобрать значение пакета, при котором будет идти пинг:
Ответ от 90.156.242.197: число байт=1472 время=13мс TTL=56
Ответ от 90.156.242.197: число байт=1472 время=12мс TTL=56
Требуется фрагментация пакета, но установлен запрещающий флаг.
Требуется фрагментация пакета, но установлен запрещающий флаг.
Значит значение -l нужно уменьшить, пока сигнал не начнет проходить.
Находим значение, которое стоит на границе с ошибкой и прибавляем к нему заголовок пакета — 28. Так мы получаем наше оптимальное MTU.
На данный момент большинство Интернет провайдеров предоставляет услуги связи с фрагментом в 1500. Старые подключения от Ростелеком или подключения на основе PPPoE могут работать на меньших значениях.
Windows как посмотреть mtu
Всем привет! Сегодня хочу рассказать как изменить MTU в Windows. Напомню MTU — Maximum transmission unit (MTU) — это максимальный объём данных, который может быть передан протоколом за одну итерацию. К примеру, Ethernet MTU равняется 1500, что означает, что максимальный объём данных, переносимый Ethernet фреймом не может превышать 1500 байт. Очень часто рядовым пользователям приходится его менять, когда необходимо раздать свой интернет
У каждого провайдера или сетевого устройства, данное значение может быть свое. например 1492 очень часто встречается на роутерах Dlink, и если устройству на устройство будет например приходить пакет 1500 байт, а у него мту настроено 1492, то часть пакетов будут приходить битые, глюки могут выражаться, например у вас не полностью будут отображаться интерфейс сайта, что то загрузилось, а что то нет, первый признак, проверить Maximum transmission unit.
Итак посмотрим какое значение mtu у гугла, откроем командную строку и вводим следующую команду.
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-01
И смотрим ответ, если ответ получен без потери пакетов, то увеличиваем значение, если выдаст «Требуется фрагментация пакета, но установлен запрещающий флаг.», значит уменьшаем и так, пока не получим крайнее верхнее значение пакета, которое проходит до нашего сервера. У меня получилось 1500 (1472+28). Значит дальше я и буду его устанавливать в качестве значения MTU
Далее, вводим команду:
Она покажет MTU для всех сетевых подключений. Нам необходимо узнать как называется интерфейс основного сетевого подключения. Посмотреть названия можно командой
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-04
либо в центре управления сетями.
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-04
У меня это Ethernet, у вас же смотрите по обстановке. Но в большинстве случаев он будет называться так же.
Далее, вводим следующую команду (для ее выполнения требуется чтобы командная строка была запущена от имени администратора)
Где вместо Ethernet пишем название своего интерфейса, а в значение MTU пишем полученное на первом шаге инструкции
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-06
как отключить автоматическую настройку значения MTU для сетевых подключений:
Чтобы включить автоматическую настройку обратно, нужно заменить disabled на normal
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-07
После этого значение mtu будет такое как вам нужно. Вот мы с вами и разобрали как изменить mtu в Windows. Так что значение mtu теперь для вас не секрет.
Как сменить MTU через реестр
Для тех, кто не любит командную строку, есть PowerShell и реестр. В реестре Windows есть ветка:
Класс содержит информацию, о всех ваших сетевых картах, а именно драйверах, их версиях и GUID самой карты. GUID потребуется для определения сетевой карты в другой ветке реестра, но не переживайте я покажу более быстрый метод определения и сопоставления GUID и сетевой карты через PowerShell. На что в данном разделе нужно обратить внимание:
- Папки 0000, 0001 и так далее — это папки перечисляющие ваши сетевые интерфейсы в Windows, тут вам нужно будет найти нужный по параметрам указанными ниже
- DriverDesc — Описание драйвера, по сути вы увидите тут производителя вашей сетевой карты, оно поможет вам определить правильный адаптер
- NetCfgInstanceId — это GUID карточки
Теперь зная GUID идем по пути:
Среди интерфейсов находим нужный, можно удостовериться, что у него правильный IP-адрес. Найдите ключ MTU, если его нет, то нужно создать REG_DWORD с нужным значением.
Теперь как не заморачиваться с поиском GUID сетевой карты. Откройте PowerShell ISE и запустите мой скрипт:
$aGUID_SET = @(Get-ItemProperty «HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\*» | select -ExpandProperty pschildname)
Get-ItemProperty «HKLM:\SYSTEM\CurrentControlSet\Control\Class\<4d36e972-e325-11ce-bfc1-08002be10318>\*» -exclude «Properties» |
Where-Object <$aGUID_SET.Contains($_.NetCfgInstanceId)>|
ForEach-Object <
«»
$_.DriverDesc
$_.NetCfgInstanceId
>
Или просто если нужно вывести все GUID из нужной ветки:
Как определить, какой MTU используется в Windows XP
Я страдаю от действительно странной проблемы, когда я случайно получаю ошибки «Соединение с сервером с ошибкой» при попытке доступа к веб-страницам (HTTP-ошибка 12031 в соответствии с инструментом диагностики сети Windows) — это происходит независимо от того, веб-страница, к которой я пытаюсь получить доступ, находится во внешнем Интернете или даже если это локальный экземпляр Apache, запущенный на localhost. Он затрагивает все компьютеры нашей локальной сети (Ethernet, а не беспроводные), все из которых работают под управлением Windows XP.
Мне было предложено, что это может быть связано с MTU, используемым для сетевого трафика. Если я сделаю Тест Ping , чтобы узнать самый большой пакет, который может пройти через нефрагментированный, я могу выполнить ping localhost с помощью пакет из 1492 байтов (+28 байт для заголовка?), и я могу ping наш маршрутизатор с пакетом из 1462 байт (что составляет 1490 байт при включении 28-байтового заголовка). Если я попытаюсь пинговать что-то снаружи, как Google, я не могу получить ничего больше, чем 1430 (что составляет 1458 с заголовком).
Я попытался выполнить различные команды инструкций по обновлению реестра Windows XP с помощью этого параметра MTU, обновив HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Первоначально, когда я пытался оценивать значение 1430, после нескольких минут работы, результаты теста Ping уменьшались на 28 байт — внезапно я обнаружил, что могу получить только пакет из 1402 байтов гуглить. Если я обновил параметр реестра MTU до 1402, когда я перезагрузился и подождал несколько минут, тогда это было бы 1374, затем 1346 и т. Д. И т. Д. Другие компьютеры в сети оставались неизменными (все еще на 1430) и удалением настройки MTU из реестра вернет вещи в нормальное состояние (и все еще сломано).
То, что я считаю самым сложным в диагностике всего этого, заключается в том, что очень сложно сказать, что я даже играю с правильным параметром реестра. Таким образом, в самом простом случае, мой вопрос: Как я могу узнать, какие настройки MTU Windows пытаются использовать?
Кроме того, если у кого-нибудь есть идеи, как сказать, почему MTU продолжает снижаться на 28, это тоже было бы полезно (например, есть ли файл журнала Windows где-нибудь, где он будет регистрировать что-то в точке, где изменяется значение?)
Наконец, если кто-нибудь может сказать мне окончательно, как сказать, какую настройку MTU я должен использовать, это было бы здорово!
Смена MTU на Windows через командную строку
Меняем MTU на сервере Windows с помощью командной строки. На тестовом сервере операционная система Windows Server 2016.
MTU (Maximum Transmission Unit) — максимальный размер полезного блока данных одного пакета. Если размер блока превышает MTU, то он может быть передан протоколом с использованием фрагментации.
Основные значения MTU в байтах:
- Ethernet — 1500
- 16 Mbps Token Ring — 17914
- 4 Mbps Token Ring — 4464
- FDDI — 4352
- IEEE 802.3/802.2 — 1492
- PPPoE (WAN Miniport) — 1480
- X.25 — 576
Зачем уменьшать MTU
Иногда бывает полезно уменьшить MTU на компьютере, чтобы ускорить скорость работы по сети. Классический случай, когда дома стоит роутер и на нём указан MTU 1480. Если на домашнем компьютере указано значение MTU 1500, то большие пакеты при передачи данных могут фрагментироваться. Тормозит потоковое видео или аудио, к примеру.
Уменьшаем MTU с помощью командной строки
Командная строка запущена под администратором.
Посмотреть текущее значение MTU:
У меня на интерфейсе Ethernet0 указано MTU 1500.
Установить значение MTU 1452 на интерфейсе Ethernet0:
Перезагружаем компьютер. Всё.
Сброс MTU на значение по умолчанию:
Определить минимальное значение MTU
Вычислить минимальное значение MTU между компьютером и узлом сети можно с помощью команды ping.
- -f — запрещает фрагментировать пакеты
- -l — размер пакета
Если пинг не проходит, то уменьшаем размер пакета.
У меня 1500 не проходит, а 1400 проходит. Истина где-то посередине. Методом научного пинга находим максимальный размер пакета, который проходит без фрагментации.
У меня получилось 1372. Прибавляем 28 байт (8 байт ICMP заголовок и 20 байт IP). 1372+28=1400.
Как найти правильный размер MTU для моей сети.
В помощь: Есть один способ, чтобы проверить, действительно ли проблема связана с MTU . Для этого попробовать войти в приложение или на сайт с помощью коммутируемого доступа. Поскольку коммутируемый доступ использует MTU размером 576 байт, то у вас не возникнет такой проблемы как при широкополосном доступе. Если у вас возникают проблемы как при коммутируемом, так и при широкополосном подключении, то суть проблемы, скорее всего, в чем-то другом.
Краткая информация
Один из простых и наиболее точных способов определения оптимального размера MTU – MTU пинг тест. Вы просто отправляете запросы и постепенно снижаете размер пакета до тех пор, пока пакет больше не фрагментируется. Кроме того, этот простой тест подходит для точного тестирования конечных точек, пользователи могут найти более маленький размер MTU более удобным для себя. Внимание: При соединении PPPoE размер MTU должен быть 1492 (или ниже). Более подробная информация о влиянии MTU можно найти здесь.
Внимание:
- В связи с дополнительными сложностями, в VPN (виртуальные частные сети) необходим иной способ тестирования MTU . Смотрите информацию в конце данной статьи.
- Если у вас сеть с несколькими компьютерами, то каждый компьютер должен быть настроен с одинаковым размером MTU . Кроме того, некоторые компьютеры могут использовать несколько сетевых адаптеров или адаптер клиента VPN на одном компьютере. Удостоверьтесь, что вы изменяете сетевой адаптер, имеющий отношение к службе широкополосного вещания или VPN клиенту.
- Встроенный PPPoE клиент Windows XP использует MTU в размере 1480. Для более подробной информации смотрите раздел статьи о XP . Но это может быть принято во внимание только, если вы используете Встроенный PPPoE клиент Windows XP !
Определение правильного MTU
Для определения правильного размера MTU для вашей конфигурации, вам необходимо использовать простой MTU пинг тест. Вы отправляете запросы и постепенно снижаете размер пакета до тех пор, пока пакет больше не фрагментируется. Выполните следующие действия :
Команда для данного пинг-теста – www . tp — link . com — f — l xxxx
- При тестировании вы можете использовать широко известный домен ping www . google . com — f — l xxxx вместо www . tp — link . com
- Между каждой командой пробел
- «- l » – строчная буква L , а не цифра один.
- последние четыре цифры – размер тестового пакета
Шаг 1
Откройте диалоговое окно DOS , нажав Пуск>Программы> MSDOS — PROMPT . Также вы можете использовать команду Выполнить нажав Пуск>Выполнить, затем наберите » cmd «, если вы используете Windows 2000/ XP / Vista , или » command » в Windows 95/98/ ME .
Шаг 2
В диалоговом окне DOS наберите ping www . tp — link . com — f — l 1472 и нажмите Enter . Имейте в виду, что пакет должен быть фрагментирован (Рисунок 1)
Шаг 3
Уменьшите размер тестового пакета (10 или 12 байт), отправьте запрос опять. Имейте в виду, что пакет должен быть снова фрагментирован (Рисунок 2)
Шаг 4
Снова уменьшите размер тестового пакета, отправьте запрос, итак до тех пор, пока размер отправляемого пакета не нужно будет фрагментировать (Рисунок 3)
Шаг 5
Как только вы отправите пакет, который не будет фрагментирован, увеличьте немного размер пакета и отправьте запрос заново, вы таким образом сможете найти максимальный размер пакеты, который не будет фрагментирован.
Шаг 6
Возьмите максимальный размер пакета, который вы вычислили в ходе тестирования, прибавьте 28. Вы прибавляете 28 байт потому, что 20 байт зарезервировано для заголовка IP -адреса и 8 байт выделяется для заголовка запроса протокола ICMP ( ICMP Echo Request ). Помните: Вы должны прибавить 28 к вашему результату, полученному в результате пинг-теста!
1440 – максимальный размер пакета в пинг-тесте
+ 28 – заголовки IP и ICMP
1468 – оптимальный размер вашего MTU
Проблемы с соединением к VPN или мои приложения зависают, а время истекает.
Обычно возникает две проблемы, связанные с соединение с VPN .
Вы вообще не можете подключиться к серверу VPN .
— Если вы совсем не можете соединиться с сервером вашей VPN , при этом у вас маршрутизатор приложение VPN может требовать открыть некоторые порты, назначьте IP -адрес конкретному компьютеру или используйте отдельный клиент PPPoE непосредственно на компьютере.
Вы можете подсоединиться к VPN серверу и зарегистрироваться, но ничего не происходит и приложения зависают, время выходит, или проблема с загрузкой.
— Вы можете подсоединиться и зарегистрироваться, но приложения зависают, время выходит, или проблема с загрузкой. Ваш MTU (максимального размера блока (в байтах), который может быть передан) указан неправильно.