Требуется фрагментация пакета но установлен запрещающий флаг windows 10

Обновлено: 07.07.2024

В этой статье описывается, как изменить реестр, чтобы изменить параметры максимального размера блока передачи (MTU) для подключений к протоколу точки к точке или для подключений виртуальной частной сети (VPN).

Применяется к: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 826159

Сводка

Windows Сервер 2003, Windows 2000 и Windows XP используют фиксированный размер MTU в 1500 bytes для всех подключений PPP и используют фиксированный размер MTU 1400 bytes для всех подключений VPN. Это параметр по умолчанию для клиентов PPP, для VPN-клиентов, для серверов PPP или для VPN-серверов, на которые запущены маршрутная маршрутная сеть и удаленный доступ.

Подключения PPP — это подключения, такие как подключения модема, подключения к единой цифровой сети служб (ISDN) или прямые кабельные подключения по серийному или параллельному кабелю null. VPN-подключения — это подключения протокола туннелинга точки к точке (PPTP) или протокол туннелинга уровня 2 (L2TP).

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

Изменение параметров MTU для подключений PPP

Чтобы изменить параметры MTU для подключений PPP, добавьте значение DWORD ProtocolType, значение DWORD PPPProtocolType и значение DWORD ProtocolMTU в следующий ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndiswan\Parameters\Protocols\0

Для этого выполните следующие действия.

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

Найдите и выберите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters

Добавление подкайки Протоколов (если она еще не существует):

  1. В меню Правка наведите указатель мыши на Создать, затем щелкните Раздел реестра.
  2. Введите протоколы и нажмите кнопку ENTER.

Добавьте подкайку 0 (ноль) в подкайку Протоколы:

  1. Щелкните подмыв протоколов, созданный в шаге 3.
  2. В меню Правка наведите указатель мыши на Создать, затем щелкните Раздел реестра.
  3. Введите 0 (ноль) и нажмите кнопку ENTER.

Щелкните подкайку 0, созданную на шаге 4.

В меню Правка выберите пункт Создать, а затем Параметр DWORD.

В поле Значение данных введите ProtocolType и нажмите кнопку ОК.

В меню Правка щелкните Изменить.

В поле Значение данных, тип 800, убедитесь, что Hexadecimal выбран в базе, а затем нажмите кнопку ОК.

В меню Правка выберите пункт Создать, а затем Параметр DWORD.

Введите PPPProtocolType и нажмите кнопку ENTER.

В меню Правка щелкните Изменить.

В поле Значение данных, тип 21, убедитесь, что Hexadecimal выбран в базе, а затем нажмите кнопку ОК.

В меню Правка выберите пункт Создать, а затем Параметр DWORD.

Введите протоколMTU и нажмите кнопку ENTER.

В меню Правка щелкните Изменить.

В базовой статье щелкните Десятичной, введите нужный размер MTU в поле Данных Value, а затем нажмите кнопку ОК.

Закройте редактор реестра.

Restart your computer.

Изменение параметров MTU для VPN-подключений

Чтобы изменить параметры MTU для VPN-подключений, добавьте значение DWORD ProtocolType, значение DWORD PPPProtocolType и значение DWORD TunnelMTU в следующий ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndiswan\Parameters\Protocols\0

Для этого выполните следующие действия.

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

Найдите и выберите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters

Добавление подкайки Протоколов (если она еще не существует):

  1. В меню Правка наведите указатель мыши на Создать, затем щелкните Раздел реестра.
  2. Введите протоколы и нажмите кнопку ENTER.

Добавьте подкайку 0 (ноль) в подкайку Протоколы:

  1. Щелкните под ключ Протоколы, созданный в шаге 3.
  2. В меню Правка наведите указатель мыши на Создать, затем щелкните Раздел реестра.
  3. Введите 0 (ноль) и нажмите кнопку ENTER.

Щелкните подкайку 0, созданную на шаге 4.

В меню Правка выберите пункт Создать, а затем Параметр DWORD.

В поле Значение данных введите ProtocolType и нажмите кнопку ОК.

В меню Правка щелкните Изменить.

В поле Значение данных, тип 800, убедитесь, что Hexadecimal выбран в базе, а затем нажмите кнопку ОК.

В меню Правка выберите пункт Создать, а затем Параметр DWORD.

Введите PPPProtocolType и нажмите кнопку ENTER.

В меню Правка щелкните Изменить.

В поле Значение данных, тип 21, убедитесь, что Hexadecimal выбран в базе, а затем нажмите кнопку ОК.

В меню Правка выберите пункт Создать, а затем Параметр DWORD.

Введите tunnelMTU и нажмите кнопку ENTER.

В меню Правка щелкните Изменить.

В базовой статье щелкните Десятичной, введите нужный размер MTU в поле Данных Value, а затем нажмите кнопку ОК.

Закройте редактор реестра.

Restart your computer.

Ссылки

Дополнительные сведения о PPP см. в разделе Запрос на комментарии (RFC) 1548. Для этого см. rFC 1548.

Windows

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

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

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

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

netsh interface ipv4 show subinterfaces

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

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

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

Linux

ip address

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

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

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

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

ifconfig

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

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

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

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

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

FreeBSD

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

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

Провайдера

Чтобы определить оптимальное значение MTU для нашего сетевого адаптера, подключенного к сети Интернет, необходимо узнать значение, используемое на оборудовании поставщика.

Для этого выполняем ping с запретом фрагментации сетевых пакетов (-f) и выставлением определенного размера пакета (-l):

* 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 (от английского Maximum transmission unit) – это максимальный объем в пакете, который может передавать в той или иной сетевой среде. Как вы знаете, все данные передаются определенными пакетами – будь это интернет, Wi-Fi или локальная сеть дома. Все как на почте – почтальон не может переносить больше определенного веса.

Конечно, тут идут и некоторые ограничения. Например, в PPPoE обычно используется 1492 байта. При Ethernet подключении 1500 байта, а в беспроводной сети MTU равен 2304. Если же сетевому устройству нужно передать куда больше информации, то все делится как раз на эти MTU блоки.

Размер MTU зачастую определяется самим отправляющим устройством. MTU в настройках роутера также задается по умолчанию значением заданным разработчиками. Если говорить проще, то происходит следующее:

  • Отправляющее устройство режет всю информацию на отдельные MTU куски и отправляет их по каналу связи.
  • Принимающее устройство собираем все эти куски в целый кусок, отправленной информации.

Также нужно знать, что в размер MTU входит:

  • MSS (Maximum Segment Size) – это основной блок данных.
  • Заголовок IP.
  • Заголовок ICMP

К чему может привести неправильное значение MTU? Если на роутере, который чаще всего является шлюзом между интернетом и локальной сетью, выставлено неправильное значение, то могут наблюдаться проблемы со связью и интернетом. Например, нельзя зайти на какой-то сайт, некоторые службы в локальной сети перестают работать. Но само значение можно выставить вручную в настройках маршрутизатора.

Также вы можете встретить параметр MRU (maximum receive unit) – это максимальный размер пакета, который может принять устройство. Все по аналогии с MTU. Далее я расскажу, как узнать оптимальный размер MTU в вашей сети и как установить это значение в роутере.

ВНИМАНИЕ! Это нужно делать только в том случае, если у вас наблюдаются проблемы с интернетом, сетью или какими-то сетевыми службами. Если у вас все в порядке, то лучше ничего не делать, так как дальнейшие действия могут привести к ухудшению связи.

Определение идеального MTU

Что такое MTU и как установить оптимальный размер пакета в роутере?

В окошке введите команду «cmd» и нажмите «ОК». Командную строку также можно запустить через «Пуск», введя в поисковую строку эти три буквы.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Для начала давайте узнаем, какой MTU у нас стоит по умолчанию. Для этого вводим команду:

netsh interface ipv4 show subinterfaces

Что такое MTU и как установить оптимальный размер пакета в роутере?

Я подключен по Wi-Fi, поэтому у меня стоит стандартное значение 1500. Если же вы подключены к кабелю провайдера напрямую, то эта команда может вам помочь.

Далее мы будем использовать стандартную команду ping с определенными параметрами. Наша задача взять за основу какое-то определенное значение MTU и увеличивать его до тех пор, пока система не сообщит нам, что нам нужно установить параметр фрагментации или разбиения пакета.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Теперь увеличиваем его на один. Чтобы не прописывать команду постоянно, нажмите на клавиатуре на стрелку вверх, сотрите последнюю цифру и увеличьте её на один:

Что такое MTU и как установить оптимальный размер пакета в роутере?

«Требуется фрагментация пакета, но установлен запрещающий флаг»

В моем случае это 1472, но у вас может быть совершенно другой параметр, так что нужно проводить свои тесты.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Но это не окончательное значение MTU – это мы нашли только MSS. Поэтому к нему нам нужно прибавить IP и ICMP заголовки. Для этого просто прибавляем ещё 28 байта:

Теперь данное значение можно установить в вашем домашнем роутере.

Установка MTU в роутере

Для начала нам нужно зайти в настройки роутера – для этого нужно ввести IP или DNS адрес в адресную строку любого браузера. Можете попробовать популярные адреса:

Адрес можно подсмотреть на этикетке под корпусом. Или ввести в консоль команду:

IP маршрутизатора будет в строке 192.168.1.1.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Далее инструкции могут отличаться в зависимости от модели роутера.

Zyxel Keenetic

Что такое MTU и как установить оптимальный размер пакета в роутере?

Ищем строку «Размер MTU».

Что такое MTU и как установить оптимальный размер пакета в роутере?

TP-Link

Что такое MTU и как установить оптимальный размер пакета в роутере?

Что такое MTU и как установить оптимальный размер пакета в роутере?

D-Link

Что такое MTU и как установить оптимальный размер пакета в роутере?

Что такое MTU и как установить оптимальный размер пакета в роутере?

Из списка выбираем активное подключение (через которое идет интернет).

Что такое MTU и как установить оптимальный размер пакета в роутере?

Далее находим параметр MTU.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Переходим в раздел «Интернет».

Что такое MTU и как установить оптимальный размер пакета в роутере?

LinkSys

Netis

Логотип Windows

Последовательность действий

Так вот, если вы попали на данную статью, я думаю вы уже решили что нужно попробовать его подкрутить. Теоретически, оптимизация данного параметра может помочь с решением проблем некорректной работы некоторых сайтов и сервисов, но опять же теоретически. Я же попробую объяснить, как это сделать средствами операционной системы.

Открываем командную строку от имени администратора и вводим команду ping -f -l 1472 ххх.ххх.ххх.ххх

Она покажет значение MTU для всех сетевых подключений. Нам необходимо узнать как называется интерфейс основного сетевого подключения. У меня это Ethernet, у вас же смотрите по обстановке. Но в большинстве случаев он будет называться так же.

Вводим команду: netsh interface ipv4 show subinterfaces

Где вместо Ethernet пишем название своего интерфейса, а в значение MTU пишем полученное на первом шаге инструкции.

Вводим команду netsh interface ipv4 set subinterface "Ethernet" mtu=1492 store=persistent

Отключим автоматическую настройку значения MTU для сетевых подключений: netsh int tcp set global autotuninglevel=disabled Чтобы включить автоматическую настройку обратно, нужно заменить disabled на enabled

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.

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