Обновлено 08.11.2020
Всем привет! Сегодня хочу рассказать как изменить MTU в Windows. Напомню MTU — Maximum transmission unit (MTU) — это максимальный объём данных, который может быть передан протоколом за одну итерацию. К примеру, Ethernet MTU равняется 1500, что означает, что максимальный объём данных, переносимый Ethernet фреймом не может превышать 1500 байт. Очень часто рядовым пользователям приходится его менять, когда необходимо раздать свой интернет
У каждого провайдера или сетевого устройства, данное значение может быть свое. например 1492 очень часто встречается на роутерах Dlink, и если устройству на устройство будет например приходить пакет 1500 байт, а у него мту настроено 1492, то часть пакетов будут приходить битые, глюки могут выражаться, например у вас не полностью будут отображаться интерфейс сайта, что то загрузилось, а что то нет, первый признак, проверить Maximum transmission unit.
Итак посмотрим какое значение mtu у гугла, откроем командную строку и вводим следующую команду.
где, 1472=1500(стандартное значение для Ethernet) — 28 (значение заголовка, которое не учитывается)
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-01
И смотрим ответ, если ответ получен без потери пакетов, то увеличиваем значение, если выдаст «Требуется фрагментация пакета, но установлен запрещающий флаг.», значит уменьшаем и так, пока не получим крайнее верхнее значение пакета, которое проходит до нашего сервера. У меня получилось 1500 (1472+28). Значит дальше я и буду его устанавливать в качестве значения MTU
Далее, вводим команду:
netsh interface ipv4 show subinterfaces
Она покажет MTU для всех сетевых подключений. Нам необходимо узнать как называется интерфейс основного сетевого подключения. Посмотреть названия можно командой
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-04
либо в центре управления сетями.
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-04
У меня это Ethernet, у вас же смотрите по обстановке. Но в большинстве случаев он будет называться так же.
Далее, вводим следующую команду (для ее выполнения требуется чтобы командная строка была запущена от имени администратора)
netsh interface ipv4 set subinterface «Ethernet» mtu=1492 store=persistent
Где вместо Ethernet пишем название своего интерфейса, а в значение MTU пишем полученное на первом шаге инструкции
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-06
как отключить автоматическую настройку значения MTU для сетевых подключений:
netsh int tcp set global autotuninglevel=disabled
Чтобы включить автоматическую настройку обратно, нужно заменить disabled на normal
Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-07
После этого значение mtu будет такое как вам нужно. Вот мы с вами и разобрали как изменить mtu в Windows. Так что значение mtu теперь для вас не секрет.
Как сменить MTU через реестр
Для тех, кто не любит командную строку, есть PowerShell и реестр. В реестре Windows есть ветка:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl Class{4D36E972-E325-11CE-BFC1-08002bE10318}
Класс {4D36E972-E325-11CE-BFC1-08002bE10318} содержит информацию, о всех ваших сетевых картах, а именно драйверах, их версиях и GUID самой карты. GUID потребуется для определения сетевой карты в другой ветке реестра, но не переживайте я покажу более быстрый метод определения и сопоставления GUID и сетевой карты через PowerShell. На что в данном разделе нужно обратить внимание:
- Папки 0000, 0001 и так далее — это папки перечисляющие ваши сетевые интерфейсы в Windows, тут вам нужно будет найти нужный по параметрам указанными ниже
- DriverDesc — Описание драйвера, по сути вы увидите тут производителя вашей сетевой карты, оно поможет вам определить правильный адаптер
- NetCfgInstanceId — это GUID карточки
Самое важное узнать GUID, так как он поможет в правильном месте изменить значение Maximum transmission unit.
Теперь зная GUID идем по пути:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesTcpipParametersInterfaces
Среди интерфейсов находим нужный, можно удостовериться, что у него правильный IP-адрес. Найдите ключ MTU, если его нет, то нужно создать REG_DWORD с нужным значением.
Теперь как не заморачиваться с поиском GUID сетевой карты. Откройте PowerShell ISE и запустите мой скрипт:
$aGUID_SET = @(Get-ItemProperty «HKLM:SYSTEMCurrentControlSetservicesTcpipParametersInterfaces*» | select -ExpandProperty pschildname)
Get-ItemProperty «HKLM:SYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}*» -exclude «Properties» |
Where-Object {$aGUID_SET.Contains($_.NetCfgInstanceId)} |
ForEach-Object {
«»
$_.DriverDesc
$_.NetCfgInstanceId
}
Или просто если нужно вывести все GUID из нужной ветки:
Get-ItemProperty «HKLM:SYSTEMCurrentControlSetservicesTcpipParametersInterfaces*» | select -ExpandProperty pschildname
На этом все, с вами был Иван Семин. Материал сайта pyatilistnik.org
операционных системах Windows изменить размер MTU можно через специальные программы для настройки соединения с Интернет (например, SG TCP Optimizer), с помощью утилиты netsh или через Редактор реестра, который входит в состав операционных систем. При необходимости вы можете уменьшить значение MTU (по умолчанию в Windows установлено значение MTU = 1500 байт) или увеличить его для прохождения больших Ethernet-кадров Jumbo Frame (как правило, от 1500 до 9000 байт).
Вариант 1. Скачайте специальную бесплатную утилиту SG TCP Optimizer, которая предназначена для дополнительной настройки соединения с Интернет. С помощью данной утилиты можно легко изменять настройки протокола TCP/IP (например, размер MTU) в реестре Windows.
В настройках Choose Settings выберите значение Custom и в поле MTU укажите нужное значение. Нажмите кнопку Apply changes для применения указанных настроек и перезагрузите компьютер.
Вариант 2. В операционных системах Windows изменение размера MTU можно производить с помощью специальной утилиты netsh или через Редактор реестра.
2.1 Изменение размера MTU в ОС Windows Vista/2008/7
Запустите командную строку Windows от имени администратора (Пуск > Выполнить > cmd). Выполните команды для просмотра текущих значений MTU:
netsh interface ipv4 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
——— ———————— ———— ————— ————-
4294967295 1 0 1348 Loopback Pseudo-Interface 1
1500 1 3734 2824 Local Area Connection
Далее выполните команду для установки нового значения MTU (например, 1452; по умолчанию в Windows используется значение MTU=1500):
netsh interface ipv4 set subinterface «Local Area Connection» mtu=1452 store=persistent
или для беспроводного интерфейса:
netsh interface ipv4 set subinterface «Wireless Network Connection» mtu=1452 store=persistent
Затем перезагрузите компьютер.
Для просмотра текущих значений MTU вновь выполните команду:
netsh interface ipv4 show subinterfaces
При необходимости, для сброса значений MTU на установки по умолчанию выполните команду:
netsh interface ipv4 reset
Добрый день. Сегодня не совсем обычная статья, так как она не является повседневной и не подойдет для любого пользователя. Более того, я крайне не рекомендую лезть в данные параметры людям, которые слабо в техническом плане. Речь идет о 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 в поле справа или подписавшись на группу в Вконтакте.
Спасибо за внимание!
Посещаем страницу moto.skesov.ru
Материал сайта Skesov.ru
- Распечатать
Оцените статью:
- 5
- 4
- 3
- 2
- 1
(23 голоса, среднее: 4.6 из 5)
Поделитесь с друзьями!
Обновлено: 23.06.2019
Опубликовано: 25.10.2017
Тематические термины: MTU, Windows, Linux, Роутер.
Рассмотрим процесс смены значения MTU для операционных систем семейства Windows и Linux, а также роутерах.
Для 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_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002bE10318.
Внутри будут находиться другие ветки с названиями 0000, 0001, 0002 и так далее. Необходимо пройтись по каждой и найти ключ DriverDesc со значением, похожим на название нашего сетевого адаптера и записать значение ключа NetCfgInstanceId, например:
Переходим в ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces. Находим ветку с нашим идентификатором, который мы записали и меняем ключ MTU (при его отсутствии, создаем — тип DWORD):
Чтобы настройки применились выключаем и снова включаем сетевой интерфейс или перезагружаем компьютер.
Linux
Для примера, рассмотрим наиболее популярные дистрибутивы — CentOS и Ubuntu.
Разово
Разово (до перезагрузки) для данных двух систем настройку можно выполнить одной командой:
ip link set mtu 1400 dev eth0
* где 1400 — новое значение MTU; eth0 — сетевой интерфейс, для которого поменяли максимальный размер пакетов.
или в старых системах:
ifconfig eth0 mtu 1400
Постоянно (permanently)
Для систем на базе Debian (Ubuntu) и Red Hat (CentOS) процедура немного отличается.
Ubuntu
Открываем настройку сетевых интерфейсов:
vi /etc/network/interfaces
К нужному адаптеру добавляем строчку:
iface eth0 inet static
…
mtu 9000
Перезапускаем сеть:
systemctl restart networking
CentOS
Открываем конфигурационный файл для соответствующего сетевого интерфейса:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Добавляем строку:
…
MTU=»9000″
Перезапускаем сетевую службу:
systemctl restart network
Роутер
Смена MTU на роутерах различных производителей выполняется, примерно, по одному и тому же принципу — зайти на веб-интерфейс для настройки маршрутизатора, найти раздел с настройкой сети Интернет, задать значение MTU.
Например, для большинства устройств TP-Link: Network — WAN:
Читайте также
Как посмотреть значение MTU
Была ли полезна вам эта инструкция?
Да Нет
Меняем 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:
netsh interface ipv4 show subinterfaces
У меня на интерфейсе Ethernet0 указано MTU 1500.
Установить значение MTU 1452 на интерфейсе Ethernet0:
netsh interface ipv4 set subinterface "Ethernet0" mtu=1452 store=persistent
Перезагружаем компьютер. Всё.
Сброс MTU на значение по умолчанию:
netsh interface ipv4 reset
Перезагружаем компьютер.
Определить минимальное значение MTU
Вычислить минимальное значение MTU между компьютером и узлом сети можно с помощью команды ping.
ping example.com -f -l 1500
Здесь:
- -f — запрещает фрагментировать пакеты
- -l — размер пакета
Если пинг не проходит, то уменьшаем размер пакета.
У меня 1500 не проходит, а 1400 проходит. Истина где-то посередине. Методом научного пинга находим максимальный размер пакета, который проходит без фрагментации.
У меня получилось 1372. Прибавляем 28 байт (8 байт ICMP заголовок и 20 байт IP). 1372+28=1400.
Оптимальный размер MTU 1400.
В некоторых ситуациях может понадобиться изменить размер MTU.
Под Windows можно для этого воспользоваться специальной программой или выполнить изменения вручную.
Использование TCPOptimizer для изменения размера MTU
Скачайте бесплатную утилиту TCP Optimizer, которая предназначена для дополнительной настройки соединения с Интернет. С помощью данной утилиты можно легко изменять настройки протокола TCP/IP (например, размер MTU) в реестре Windows.
В настройках Choose settings выберите Custom и в поле MTU укажите нужное значение. Нажмите кнопку Apply changes для применения указанных настроек и перезагрузите компьютер.
При этом программа не затронет других параметров — изменения будут произведены только те, которые вы явно указали.
Использование Regedit для изменения размера MTU
В Windows изменение размера 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
Найдите подраздел, соответствующий значению параметра NetCfgInstanceId, который выяснили ранее.
Выполните двойной щелчок на параметре MTU и введите значение 1400 в десятичном (Decimal) формате.
Закройте Редактор реестра и перезагрузите компьютер.
В случае если параметра MTU нет, то нужно создать его. В меню Редактора реестра выберитеПравка > Создать > Параметр DWORD.
Введите Имя параметра — MTU. Затем выполните двойной щелчок на параметре MTU, введите требуемое значение (в нашем примере десятичное значение MTU = 1400), после чего нажмите кнопку OK.
Закройте Редактор реестра и перезагрузите компьютер.
1. В режиме командной строки выполните команды:
netsh interface ipv4 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
——— ———————— ———— ————— ————-
4294967295 1 0 1348 Loopback Pseudo-Interface 1
1500 1 3734 2824 Local Area Connection
ping www.yahoo.com -f -l 1472
netsh interface ipv4 set subinterface «Local Area Connection» mtu=1452 store=persistent
netsh interface ipv4 set subinterface «Wireless Network Connection» mtu=1452 store=persistent
2. В режиме командной строки выполните команду:
netsh int tcp set global autotuninglevel=disabled
Данная команда отключает автоматическую установку значения MTU.
3. Теперь запустите regedit.exe в режиме Администратора. Будьте осторожны при редактировании реестра!
Перейдите в следующий раздел реестра:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservic esTcpipParametersInterfaces
Вы увидите один или несколько каталогов/папок с большим количеством букв и цифр в названии. Нужно найти тот, внутри которого среди параметров присутствует IP-адрес вашего компьютера. Если вы не знаете, как это сделать, то просто выполните следующие шаги для всех непустых найденных каталогов.
4. Правой кнопкой мыши щелкните по названию выбранного каталога и выберите пункт менюРедактировать (Edit) > Создать (New) > DWORD (32 bit). Введите имя MTU (заглавными буквами).
5. После создания нового параметра, двойным щелчком мыши выберите его для редактирования и в открывшемся диалоговом окне укажите значение MTU (в нашем примере это значение 1452) в режиме Decimal.
6. Сохраните и повторите для других каталогов/папок если нужно.
7. Закройте Редактор реестра и перезагрузите компьютер.
Что такое Maximum Transmission Unit (MTU)? Если говорить простыми словами MTU – максимальный размер пакета IP в байтах, который может быть передан по используемой сети. Хотя в большинстве случаев нет необходимости менять MTU, иногда возникает необходимость изменить его на значение, отличное от стандартного, например изменение размера MTU нужно для исправления проблем с производительностью сети. Классическим примером может служить доступ к Exchange серверу по Интернету через VPN-соединение. Именно на этом примере демонстрируются проблемы с размерами MTU пакета и смежные вопросы.
Для изменения значения размера MTU пакета, требуется изменить параметры TCP/IP cсетевого адаптера в реестре Windows.
ВНИМАНИЕ: Некорректная модификация реестра Windows может привести к возникновению серьезных неполадок, требующих переустановки операционной системы. При изменении параметров реестра все действия вы выполняете на свой страх и риск.
1. Откройте редактор реестра «Regedit»
2. Перейдите к следующему ключу реестра
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces<AdapterID>
Создайте новый параметр DWORD с именем «MTU» со значением, например, 1350 в десятичной системе.
Так можно задать значение Maximum Transmission Unit (MTU) для данного сетевого адаптера.
MTU — maximum transmission unit или максимальный размер блока отвечающий за передачу полезной информации в протоколе TCPIP. Рассмотрим как можно изменить значение этого сетевого параметра, если у вас возникла такая необходимость.
В Windows 7/2008 размер mtu изменить достаточно легко. Для этого в командной строке необходимо набрать следующую команду
netsh interface ipv4 set subinterface "Подключение по локальной сети" mtu=1452 store=persistent
Для того чтобы посмотреть текущие установки mtu
netsh interface ipv4 show subinterfaces
Если нужно сбросить настройки в значения по-умолчанию
netsh interface ipv4 reset
В ОС Windows XP все немного сложней и для изменения значения mtu придется помучить реестр.
Открываем regedit и находим следующую ветку
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {4D36E972-E325—11CE-BFC1—08002bE10318}
Внутри находятся подразделы 0000, 0001, 0002 и т.д. Среди подразделов нужно найти такой у которого значение параметра DriveDesc соответствует названию вашего сетевого адаптера. В этом же подразделе находим параметр NetCfgInstanceId и запоминаем его значение.
Затем переходим в раздел HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip Parameters Interfaces и находим подраздел соответствующий значению параметра NetCfgInstanceId
Создаем в этом размеле параметр MTU, если его нет, и задаем ему значение DWORD в десятичном формате, например 1400.
Закрываем реестр и перезагружаемся.