Windows 10 настройка mtu

Windows 10 настройка 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

Читайте также:  Transfer data from windows to android

Как изменить значение 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

Рассмотрим процесс смены значения 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):

Читайте также:  Windows file exist check

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

Linux

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

Разово

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

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.

Читайте также:  Лабораторная работа по защите информации windows

Как в Windows 10 MTU поменять?

Очень редко, но такие моменты наступают, когда необходимо изменить стандартное значение размера пакета.

Если у Вас FTP -клиент не догружает файлы или сайты в интернете открываются не всегда одинаково быстро, то, возможно, настала пора обратить внимание на установленные значения MTU .

Что такое MTU и сколько ставить?

Что такое MTU ? Вот как рассказывает нам Wikipedia.

Многие задают вопрос не что это такое, а сколько устанавливать? Однозначного ответить на этот вопрос нельзя. Зависимостей очень много. Начиная от серверов, где размещены сайта, и заканчивая качеством линии связи.

У Вашего компьютера MTU должно быть равно или меньше, которое установлено на вашем роутере, маршрутизаторе провайдера или куда вы там подключаетесь. Но это не гарантирует Вам хорошую работу. На моем домашнем роутере, к примеру, а также на всех компьютерах домашней сети, установлено значение 1490. Это число я получил экспериментальным методом (если бы я тогда встретил утилиту TCP Optimizer, умеющую определять подходящий MTU , было бы в разы проще). У меня плохо отправлялись файлы на удаленный FTP -сервер, а при этом значении всё отлично работает. Хотя стоит заметить, что значение у провайдера стоит стандартное – 1500.

В Windows MTU можно поменять двумя способами: простым и сложным. Простой способ заключается в установке стороннего программного обеспечения, а сложный – в изменении MTU «родными» средствами.

Начнем с сложного, ибо он самый правильный.

Ручной метод изменения MTU в Windows

Все делается с помощью консоли. Вообще все хорошие и удобные вещи делаются только через консоль. Это стоит запомнить. 😉

  1. Чтобы было проще работать с сетевыми соединениями, их нужно переименовать во что-то короткое. Вместо «Локальное подключение к сети» в LAN , а «Беспроводное подключение к сети» в WAN .
  2. Запускаем системную консоль Windows с правами администратора:
  3. Для того, чтобы посмотреть текущие значения MTU , вводим команду:

вывод будет примерно такой:

В моем случае у меня только один интерфейс и это LAN со стандартным значением MTU 1500.
Теперь вводим команду для того, чтобы изменить MTU для интерфейса LAN :

Этой командой я указал новое значение 1490 для MTU .

  • Для того, чтобы посмотреть результат нужно ввести повторно команду, которую вводили на шаге №3.
  • Меняем MTU в Windows с помощью TCP Optimizer

    Для некоторых проще что-то делать используя графический интерфейс и в этом может помочь утилита TCP Optimizer. Вот, вроде как, ее официальный сайт. У нее достаточно много настроек и самое главное ее достоинство – она умеет определять максимальный пакет, с которым работает ваш компьютер.

    Вот пару скринов:

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