Как посмотреть mtu windows xp

Обновлено:
Опубликовано:

Тематические термины: MTU, Windows, Linux, FreeBSD

В данной инструкции описаны способы просмотра значения MTU для различный операционных систем. Также в конце статьи будут указания по его смене.

Windows
Linux
FreeBSD
Провайдера
Смена MTU
Дополнительные материалы

Windows

Нажмите комбинащию клавишь Win + R

В появившемся окне введите cmd и нажмите OK

Запуск командной строки

В открывшемся черном окне введите команду:

netsh interface ipv4 show subinterfaces

В первой колонке ответа мы увидим значение MTU:

Команда для определения значения MTU

* в данном примере, значение MTU равно 1500 для сетевого адаптера Ethernet.

В Powershell можно использовать команду:

Get-NetIPInterface | where {($_.ConnectionState -eq «Connected» )}

Linux

ip address

В более современных системах используется утилита для работы с сетевыми интерфейсами — ip address. Вводим команду:

ip a

В полученном результате находим нужный сетевой интерфейс и строчку на подобие:

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

* то, что мы ищем — mtu 1500.

ifconfig

В более ранних системах или с установленным ifconfig вводим:

ifconfig eth0

* где eth0 — сетевой адаптер, для которого хотим узнать MTU.

В полученном результате находим что-то на вроде:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

* где mtu 1500 — наше значение.

FreeBSD

В данной системе работаем с уже описанным выше ifconfig:

ifconfig em0

Получаем:

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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 могут работать на меньших значениях.

Как изменить MTU

Для смены значения MTU в Windows и Linux нужно использовать командную строку. Для Windows также можно отредактировать реестр.

Подробнее о этом читайте в инструкции Смена MTU.

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

Другие материалы по теме:

1. Как узнать MAC-адрес сетевой карты.

2. Как поменять MAC-адрес на компьютере с Windows.

3. Настройка сети в Linux с помощью netplan.

4. Настройка сети в CentOS и Rocky Linux.

5. Управление сетевыми маршрутами в CentOS 7.

Category:

  • Компьютеры
  • Cancel

Продолжаю тему оптимизации интернета, начатую предыдущим постом.

Чтобы в Window XP изменить параметр MTU, откройте реестр (программа regedit) и найдите ветку:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Tcpip \ Parameters \ Interfaces.
От неё ответвляется целый пучок веток сетевых интерфейсов (обычно, от 3 до 10). Чтобы найти ту, настоящую, которая вам нужна, пройдитесь по ним, поглядывая на панель справа. Настоящую ветку выдадут 2 признака. Список параметров у неё будет заметно длиннее и параметр IpAddress будет не пустым (0.0.0.0), а содержательным. Если вы получаете динамический IP-адрес от DHCP-сервера локальной сети, то ориентируйтесь на другой параметр – DhcpIpAddress. Содержательным будет он.

Когда найдёте свою ветку, установите в нём параметр MTU. Если он уже есть, поправьте значение (только не забудьте включить десятичный режим!). Если его нет, создайте как DWORD. Чтобы изменения вступили в силу, «передёрните затвор», т.е. закройте и заново откройте сетевое соединение, через которое вы входите в интернет, или просто перезапустите компьютер.

Возможно, в Windows 98 всё это делается проще (просто в ветке HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Tcpip \ Parameters), но проверить это у меня уже нет никакой возможности.

Если вы захотите через месяц заново проверить оптимальность параметра, то по-хорошему надо бы:

  • сначала выставить MTU в исходные 1500;
  • передёрнуть затвор;
  • подобрать параметр, как описано в предыдущем посте;
  • установить новое значение, как описано выше;
  • вновь передёрнуть затвор и облегчённо вздохнуть.

Если не вернуть его в исходное значение, то новое MTU всегда будет такое же, как старое, или ниже. И эксперименты будут не совсем чистыми.

Что такое Maximum Transmission Unit (MTU)? Если говорить простыми словами MTU – максимальный размер пакета IP в байтах, который может быть передан по используемой сети. Хотя в большинстве случаев нет необходимости менять MTU, иногда возникает необходимость изменить его на значение, отличное от стандартного, например изменение размера MTU нужно для исправления проблем с производительностью сети. Классическим примером может служить доступ к Exchange серверу по Интернету через VPN-соединение. Именно на этом примере демонстрируются проблемы с размерами MTU пакета и смежные вопросы.

Для изменения значения размера MTU пакета, требуется изменить параметры TCP/IP cсетевого адаптера в реестре Windows.

ВНИМАНИЕ: Некорректная модификация реестра Windows может привести к возникновению серьезных неполадок, требующих переустановки операционной системы. При изменении параметров реестра все действия вы выполняете на свой страх и риск.

1. Откройте редактор реестра «Regedit»

2. Перейдите к следующему ключу реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterID>

Создайте новый параметр DWORD с именем «MTU» со значением, например, 1350 в десятичной системе.

Так можно задать значение Maximum Transmission Unit (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

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.

Опытным путем


В командной строке выполнить скрипт:
FOR /L %a IN (1300,10,1500) DO ping -f -l %a ya.ru >> ping.txt
Им выполняется отправка пакетов разной длины (от 1300 до 1500 с шагом 10) и проверяется время отклика.



Оптимизация интернета. Как настроить MTU?


Если у Вас бывает так, что мелкие посты и комменты легко уходят, а крупные не всегда доходят до назначения (на форумы или в другую блог-систему), то причина может крыться в неоптимально установленном (завышенном) параметре MTU. Побывав в сообществе, где это обсуждается, я понял, что большинство людей не знает, ни что это такое, ни как оценить, нужно ли параметр менять, ни как это сделать. Поэтому я и решил написать этот пост. Всё написанное исследовалось мной только на Windows XP. И исследования показали, что для большинства провайдеров в России параметр, установленный в ХР по умолчанию (1500), явно завышен и нуждается в коррекции.


Что такое MTU? Теория.
Когда по сети передаётся большой пакет данных, он разбивается на куски (фрагментируется), а затем сшивается в точке назначения. Параметр MTU (Maximum Transmission Unit) является одним из основных, управляющих этой разбивкой в TCP/IP. Некоторые думают, что чем он выше, тем быстрее работает связь. Однако, это так только до определённого предела. Завышение MTU может привезти к резкому падению производительности и, главное, к снижению надёжности доставки пакетов. Вся беда в том, что процесс фрагментации плохо стандартизирован и что по пути пакет может пройти через массу разношёрстных и даже устаревших шлюзов. Эти шлюзы могут начать дофрагментировать ваши фрагменты (производительность резко падает). А некоторые могут даже не сообщить об этом шлюзу-отправителю (надёжность резко падает).

В Window XP по умолчанию установлены параметры, позволяющие и подбирать на ходу оптимальную фрагментацию (но не превышая MTU!), и вносить «плохие» шлюзы в чёрный список. Однако, шлюзы, не возвращающие назад о себе информацию, губят этот прекрасный замысел. Спасение только одно – подобрать и установить оптимальный MTU, т.е. уменьшить максимальный размер фрагментов принудительно.

Как подобрать оптимальное значение MTU?
Первым делом запустите команду cmd, чтобы открыть окно сеанса DOS, в котором будут запускаться все остальные команды из командной строки. Связь будем проверять с ЖЖ и с провайдером.

Сначала просто проверьте связь с сайтом:
ping bulygin.su
Если в ответ вы получите ответы со значенями времени, то всё нормально. Команда ping послала 4 эхо-сигнала и получила на них 4 эхо-ответа. Если пришёл ответ о превышении тайм-аута, то никакие дальнейшие эксперименты у вас не получатся. Либо нет связи с сайтом, либо она есть, но вы работаете через прокси, на котором запрещёны посылка и приём эхо-сигналов по ICMP-протоколу.

Если связь есть, то повторите команду в изменённом виде (чтобы не набивать заново, нажимайте F3 и правьте):
ping bulygin.su – f –l 1500
Что это означает? «-f» запрещает фрагментировать пакет, а «-l» (это английская «л» от слова «length», а не цифра «1») жёстко устанавливает его размер в байтах. Если пакет пройдёт, значит, связь с ЖЖ можно не оптимизировать. Если вы получите сообщение «Требуется фрагментация пакета, но установлен запрещающий флаг», то повторите эту команду, но уже в виде:
ping bulygin.su – f –l 1300
Скорее всего, пакет на этот раз пройдёт успешно. После этого я ищу удачное значение бинарным делением интервала, т.е. запускаю:
ping bulygin.su – f –l 1400
Успешно? Тогда
ping bulygin.su – f –l 1450
В конце концов, я получил предельное значение размера – 1426. Уже при размере 1427 пинг не проходил. Вот теперь прибавьте к найденному числу 28 (в моём случае – 1454) и получите оптимальный размер MTU для связи с bulygin.su. Почему именно 28? Просто при посылке эхо-сигнала к пакету автоматически пришиваются 2 заголовка (как бы надеваются 2 обёртки) – IP (20 байт) и ICMP (8 байт). Поэтому реальный размер пакета всегда получается на 28 байт больше, чем вы пингу указываете.

Но это ещё не всё. Связь с bulygin.su – не самое важное. Самое главное – правильная связь с провайдером. Узнайте IP-адрес основного шлюза вашего провайдера (он всегда сообщает его) и повторите всё с начала, подставив этот адрес в пинг-команды вместо адреса 

bulygin.su. Никогда не ставьте MTU у себя выше, чем MTU провайдера! Если MTU для bulygin.su и для провайдера получились разные, выбирайте наименьшее из них.

Ещё пара замечаний.
1. MTU провайдера – показатель стабильный, т.к. вы попадаете к нему через один шлюз. Он обычно меняется, когда что-то у себя меняет провайдер. MTU, оптимальный для 

bulygin.su, может меняться от испытания к испытанию, т.к. каждый раз вы будете проходить по разным шлюзам. Так что при появлении проблем повторите эксперимент. Корректировать придётся не так уж часто, ведь список применяемых на практике MTU ограничен.
2. Новое значение MTU вступает в силу при перезагрузке компьютера.



http://fstrange.ru/coder/about_all/kak-nastroit-mtu.html
http://ru.wikipedia.org/wiki/MTU
http://chertov.livejournal.com/43348.html

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как удалить jdk windows
  • Кодовая страница windows 2012
  • Обновление windows 11 21h2 до 22h2
  • Kmsauto для windows server 2019
  • Windows 10 где находится главное меню