Windows 10 mtu settings

Windows 10 mtu settings

Всем привет! Сегодня хочу рассказать как изменить 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

Читайте также:  Кто обозреватель компьютеров windows

После этого значение 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

Добрый день. Сегодня не совсем обычная статья, так как она не является повседневной и не подойдет для любого пользователя. Более того, я крайне не рекомендую лезть в данные параметры людям, которые слабо в техническом плане. Речь идет о MTU, что в википедии описано как «максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации.» То есть это размер полезной информации в пакете, который компьютер формирует для отправки в сеть.

Последовательность действий

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

    Итак, для начала открываем командную строку от имени администратора и вводим следующую команду: ping -f -l 1472 ххх.ххх.ххх.ххх, где, 1472=1500(стандартное значение для Ethernet) — 28 (значение заголовка, которое не учитывается) ххх.ххх.ххх.ххх — IP-адрес какого-либо сервера вашего провайдера. Я использовал основной шлюз в сети провайдера. И смотрим ответ, если ответ получен без потери пакетов, то увеличиваем значение, если выдаст «Требуется фрагментация пакета, но установлен запрещающий флаг.», значит уменьшаем и так, пока не получим крайнее верхнее значение пакета, которое проходит до нашего сервера. У меня получилось 1492 (1464+28). Значит дальше я и буду его устанавливать в качестве значения MTU.

Читайте также:  Полезные скрипты для линукса

Далее вводим команду: netsh interface ipv4 show subinterfaces.

Она покажет значение MTU для всех сетевых подключений. Нам необходимо узнать как называется интерфейс основного сетевого подключения. У меня это Ethernet, у вас же смотрите по обстановке. Но в большинстве случаев он будет называться так же.

Далее вводим следующую команду(для ее выполнения требуется чтобы командная строка была запущена от имени администратора): netsh interface ipv4 set subinterface «Ethernet» mtu=1492 store=persistent.

Где вместо Ethernet пишем название своего интерфейса, а в значение MTU пишем полученное на первом шаге инструкции.

  • Ну и напоследок отключим автоматическую настройку значения MTU для сетевых подключений: netsh int tcp set global autotuninglevel=disabled.
  • Чтобы включить автоматическую настройку обратно, нужно заменить disabled на normal.

    На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.

    Смена MTU

    Рассмотрим процесс смены значения MTU для операционных систем семейства Windows и Linux, а также роутерах.

    Windows

    Командная строка

    Открываем командную строку от имени администратора.

    Вводим команду для просмотра текущего значения MTU и названия сетевого интерфейса:

    netsh interface ipv4 show subinterfaces

    Получаем, примерно, следующее:

    MTU Состояние определения носителя Вх. байт Исх. байт Интерфейс
    —— ————— ——— ——— ————-
    1500 1 81324794839 5376993884 Ethernet

    * где 1500 — значение MTU (по умолчанию для сетей Etnernet); Ethernet — название интерфейса.

    Меняем MTU следующей командой:

    netsh interface ipv4 set subinterface «Ethernet» mtu=1492 store=persistent

    * где Ethernet — название сетевого интерфейса, которое мы получили предыдущей командой; 1492 — новое значение MTU

    Реестр

    Открываем реестр (команда regedit) и переходим по ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<4D36E972-E325-11CE-BFC1-08002bE10318.

    Внутри будут находиться другие ветки с названиями 0000, 0001, 0002 и так далее. Необходимо пройтись по каждой и найти ключ DriverDesc со значением, похожим на название нашего сетевого адаптера и записать значение ключа NetCfgInstanceId, например:

    Переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces. Находим ветку с нашим идентификатором, который мы записали и меняем ключ MTU (при его отсутствии, создаем — тип DWORD):

    Чтобы настройки применились выключаем и снова включаем сетевой интерфейс или перезагружаем компьютер.

    Linux

    Для примера, рассмотрим наиболее популярные дистрибутивы — CentOS и Ubuntu.

    Читайте также:  Альтернативные клиенты телеграмм для windows

    Разово

    Разово (до перезагрузки) для данных двух систем настройку можно выполнить одной командой:

    ip link set mtu 1400 dev eth0

    * где 1400 — новое значение MTU; eth0 — сетевой интерфейс, для которого поменяли максимальный размер пакетов.

    или в старых системах:

    ifconfig eth0 mtu 1400

    Постоянно (permanently)

    Для систем на базе Debian (Ubuntu) и Red Hat (CentOS) процедура немного отличается.

    Ubuntu

    Открываем настройку сетевых интерфейсов:

    К нужному адаптеру добавляем строчку:

    iface eth0 inet static
    .
    mtu 9000

    systemctl restart networking

    CentOS

    Открываем конфигурационный файл для соответствующего сетевого интерфейса:

    Перезапускаем сетевую службу:

    systemctl restart network

    Роутер

    Смена MTU на роутерах различных производителей выполняется, примерно, по одному и тому же принципу — зайти на веб-интерфейс для настройки маршрутизатора, найти раздел с настройкой сети Интернет, задать значение MTU.

    Например, для большинства устройств TP-Link: NetworkWAN:

    Читайте также

    Инструкция по смене значения MTU на Windows и Linux

    Смена 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.

  • Оцените статью