Перейти к основному содержанию
 

Смена MTU на Windows через командную строку

Windows Server

Меняем 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

mtu

У меня на интерфейсе Ethernet0 указано MTU 1500.

Установить значение MTU 1452 на интерфейсе Ethernet0:

netsh interface ipv4 set subinterface "Ethernet0" mtu=1452 store=persistent

mtu

Перезагружаем компьютер. Всё.

Сброс MTU на значение по умолчанию:

netsh interface ipv4 reset

Перезагружаем компьютер.

Определить минимальное значение MTU

Вычислить минимальное значение MTU между компьютером и узлом сети можно с помощью команды ping.

ping example.com -f -l 1500

Здесь:

  • -f — запрещает фрагментировать пакеты
  • -l — размер пакета

Если пинг не проходит, то уменьшаем размер пакета.

mtu

У меня 1500 не проходит, а 1400 проходит. Истина где-то посередине. Методом научного пинга находим максимальный размер пакета, который проходит без фрагментации.

mtu

У меня получилось 1372. Прибавляем 28 байт (8 байт ICMP заголовок и 20 байт IP). 1372+28=1400.

Оптимальный размер MTU 1400.

Теги