NetworkDoc.Ru В помощь системному администратору

How to:Как изменить значение MTU на машине под управлением ОС Windows7

Добавлено : Дата: в разделе: Операционные системы
  • Размер шрифта: Больше Меньше
  • Просмотров: 11804
  • Комментариев: 4
  • Пожаловаться на это сообщение

Всем привет. Не так давно мне потребовалось изменить значение MTU на моем компьютере под управлением ОС Windows 7. Нашел на эту тему хорошую статью на английском, по которой собственно и выполнил данную задачу. Так как у меня есть желание, что бы как можно больше материалов, документаций и статей было на моем родном языке решил написать эту статью. В общем если вам нужно поменять значение MTU на своей Windows машине этот материал должен вам помочь.

Изменить значение MTU (Maximum transmission unit) в ОС Windows 7 легко и для этого нам потребуется кое-что изменить в реестре.

Итак, нажимаем «Пуск», набираем в поиске команду regedit (Рис.1), и нажимаем кнопку «Enter».

b2ap3_thumbnail_MTUCHANGE1.png

Рис.1

Откроется редактор реестра и используя меню слева нам нужно пройти по следующему пути:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces

Откроется список наших сетевых интерфейсов в системе (Рис2)

b2ap3_thumbnail_MTUCHANGE2.png

Рис.2

У меня вы видите довольно большой список сетевых интерфейсов, тут и две мои сетевые карты и VPN подключения и виртуальные адаптеры. Возникает вопрос что нужно поменять и как определить ту сетевую карту, на которой хочется изменить значением MTU. Все очень просто. Если вы знаете ip адрес, который получила ваша сетевая карта, ну или ip адрес, который вы сами на ней задали (думаю вы знаете как посмотреть ip адрес, если читаете статью про то как поменять на ней MTUsmiley), то можно просто пробежаться по всем адаптерам и найти параметр DhcpIPAddress (в случае если вы получили ip адрес от DHCP сервера) или параметр IPAddress (в случае если вы задали статический ip адрес), который будет равен вашему IP адресу. Проще привести пример. Я получил ip адрес 192.168.12.97 от DHCP сервера. Следовательно я ищу параметр DhcpIPAddress равный 192.168.12.97. На рисунке 3 можно видеть, что в одном из адаптеров я его нашел.

b2ap3_thumbnail_MTUCHANGE3.png

Рис.3

Собственно осталось дело за малым. В найденном разделе я создаю параметр по имени MTU, типа DWORD со значением желаемого MTU. Давайте к примеру уменьшим значением MTU до 1400 (значение по умолчанию 1500) (Рис.4). Не забудьте поменять систему исчисления с шестнадцатеричной на десятичную, что бы потом не думать, почему MTU не уменьшилось до 1400 а увеличилось до 5120.

b2ap3_thumbnail_MTUCHANGE4.png

Рис.4

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

На этом предлагаю закончить. Спасибо за внимание и до встречи в новых постах.

Редактировалось Дата:
Привязка к тегам windows операционные системы

Люди, участвующие в этой беседе

  • А зачем понадобилось изменять MTU?

  • Опишу мою ситуацию. Начальник с домашнего компьютера не мог нормально работать по VPN соединению (L2TP/IPSec). В какие-то моменты разрывалось соединение, а иногда не получалось подключиться вообще. Дал ему LAN-3G модем и сказал попробуй через него. Через LAN-3G модем все заработало нормально. Следовательно проблему локализовали до провайдера или домашнего маршрутизатора. После диагностики удалось понять, что теряются пакеты больших размеров, но не все, а те в которых выставлен флаг запрещающий дефрагментацию пакета (DF bit = 1). Флаг дефрагментации выставляется самим приложением (или осью). Когда винда не получала ответы на такие запросы срабатывал процесс cmmon, который закрывал соединение (в принципе отрабатывал как должен отрабатывать). Выход из положения уменьшить значение mtu. Таким образом даже если ставится бит запрещающий фрагментацию пакета, пакет все равно не будет сформирован больше значения MTU. Следовательно таким образом любой пакет должен проходить, даже если выставлен бит DF=1.
    По хорошему конечно о таких вещах должен думать провайдер. К примеру в маршрутизаторах cisco можно настроить политику, которая проверяет все приходящие пакеты и снимает этот самый бит запрещающий фрагментацию, следовательно пакет просто фрагментируется и идет дальше. Второй путь это включить на маршрутизаторе опцию path mtu discovery. В такой ситуации маршрутизатор работает следующим образом: Он видит бит запрещающий фрагментацию, дропает его и шлет отправителю сообщение, в котором говорит "понижай mtu, а то тут не все твои пакеты проходят". Клиент снижает MTU и следовательно шлет пакеты уже меньшего размера (естественно временно).
    Я бы с удовольствием выбрал один из указанных вариантов с сетевым оборудованием, но к сожалению на "домашнем" маршрутизаторе начальника не нашел как включить какую-либо из указанных опций. Следовательно мне было проще понизить на его винде mtu.
    Тут еще конечно существует теоретическая возможность сменить маршрутизатор начальника или попробовать обновить прошивку и найти нужную опцию. А бывают случаи когда все еще хуже. Когда у вас провайдер "рога и капыта" и о таких вещах как MTU слышали, но понятия не имеют че это и что с этим делать, "yandex в браузере открывается, следовательно у нас все ок и про всякие MTU слышать не хотим". Тут только менять провайдера или MTU на компе, других путей нет.

  • Гость - ЁжЫГ

    Итак, нажимаем «Пуск», набираем в поле «Выполнить» команду regedit (Рис.1), и нажимаем кнопку «Enter».

    И давно строка поиска стала "полем Выполнить"?

  • Извиняюсь. Привык в XP, что нажимаешь "Start", нажимаешь "Run" и дальше regedit. Вот и строку поиска невольно "переименовал" :)
    Спасибо за замечание. Исправлюсь. В остальном надеюсь все Ок. Поменять значение MTU на винде получилось?

Оставьте свой комментарий

Post comment as a guest

0
правилами и условиями.
Войти используя сервисы:

Loading ...