Что такое MTU? Как изменить MTU в настройках роутера? MTU в роутере — что это? Увеличиваем скорость Интернета

Кто-то использует VPN для получения доступа к заблокированным сайтам, кто-то просто обходит ограничения по географическому положению. Бывает, что использование VPN может быть определено с помощью анализа TCP-соединения на основе размера MTU. Можно ли избежать этой ситуации? Сразу скажем: с VPN от — можно!

Мы рекомендуем использовать , так как в нашем VPN-клиенте изменение MTU возможно с помощью одного клика. Помимо этого в нашем клиенте ВПН есть и другие плюсы, такие как одновременный доступ с нескольких устройств, надежные каналы связи и отсутствие ограничений по скорости.

Начнём с технических деталей. Как же может быть определено использование VPN?

Значение параметра MTU

Maximum Transmission Unit или сокращено MTU - это максимальный объем передаваемой информации, отправляемой одним пакетом данных. Параметр MTU присваивается сетевым интерфейсам. Стандартным значением MTU для проводного соединения является число 1500. Параметр MTU в значении 1500 обозначает, что объём данных, передаваемый через подключение, не может превышать 1500 байт.

В большинстве случаев значение параметра MTU для VPN равняется 1450. Но, например, для реализации OpenVPN в зависимости от протокола подключения, алгоритма шифрования трафика, алгоритма проверки целостности, а также использования сжатия, MTU устанавливается до нестандартного размера, на основе которого можно получить эти параметры, а также определить и сам факт использования OpenVPN.

Как избежать обнаружения VPN

Для этого необходимо вручную поменять размер MTU. Если вы не желаете, чтобы вас деанонимизировали методом обнаружения нестандартного MTU, можно вручную на сервере выставить «mssfix 0», а на клиенте - «mssfix 0», что установит параметр MTU в значение 1500. Однако, при использовании UDP мы рекомендуем установить «mssfix 1330» в конфигурации клиента.

Добрый день. Сегодня не совсем обычная статья, так как она не является повседневной и не подойдет для любого пользователя. Более того, я крайне не рекомендую лезть в данные параметры людям, которые слабо в техническом плане. Речь идет о MTU, что в википедии описано как «максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации.» То есть это размер полезной информации в пакете, который компьютер формирует для отправки в сеть.

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

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

  1. Итак, для начала открываем командную строку от имени администратора и вводим следующую команду: ping -f -l 1472 ххх.ххх.ххх.ххх, где, 1472=1500(стандартное значение для Ethernet) — 28 (значение заголовка, которое не учитывается) ххх.ххх.ххх.ххх — IP-адрес какого-либо сервера вашего провайдера. Я использовал основной шлюз в сети провайдера. И смотрим ответ, если ответ получен без потери пакетов, то увеличиваем значение, если выдаст «Требуется фрагментация пакета, но установлен запрещающий флаг.», значит уменьшаем и так, пока не получим крайнее верхнее значение пакета, которое проходит до нашего сервера. У меня получилось 1492 (1464+28). Значит дальше я и буду его устанавливать в качестве значения MTU.

  2. Далее вводим команду: netsh interface ipv4 show subinterfaces.

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

  3. Далее вводим следующую команду(для ее выполнения требуется чтобы ): netsh interface ipv4 set subinterface «Ethernet» mtu=1492 store=persistent.

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

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

В компьютерных сетях термин maximum transmission unit (MTU) означает максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации. Обычно заголовки протокола не входят в MTU, но в некоторых системах в некоторых протоколах заголовки могут учитываться. Когда говорят об MTU обычно имеют в виду протокол канального уровня сетевой модели OSI.

Однако, этот термин может применяться и для других уровней:

L1 — media mtu (полный L2 кадр);

L2 — mtu, hw mtu, system mtu;

L3 — ip mtu (ip заголовок учитывается), mtu routing;

L4 — tcp mssВнесистемные: tunnel mtu, vlan mtu, mpls mtu.

Ограничение на максимальный размер кадра накладывается по нескольким причинам:

Для уменьшения времени на повторную передачу в случае потери или неисправимого искажения пакета. Вероятность потерь растёт с увеличением длины пакета.

Чтобы при полудуплексном режиме работы хост не занимал долгое время канал (также для этой цели используется межкадровый интервал (англ. Interframe gap)).

Чем больше отправляемый пакет, тем больше ожидание отправления других пакетов, особенно в последовательных интерфейсах. Поэтому маленький MTU был актуален во времена медленных коммутируемых соединений.

Малый размер и быстродействие сетевых буферов входящих и исходящих пакетов. Однако слишком большие буферы тоже ухудшают производительность.

Значение MTU определяется стандартом соответствующего протокола, но может быть переопределено автоматически для определённого потока (протоколом PMTUD) или вручную для нужного интерфейса. На некоторых интерфейсах MTU по умолчанию может быть установлено ниже максимально возможного. Значение MTU ограничено снизу как правило минимально допустимой длиной кадра.

Для высокопроизводительной сети причины, вызвавшие начальные ограничения MTU, устарели. В связи с этим для Ethernet был разработан стандарт Jumbo-кадров с увеличенным MTU.

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

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

Хотя фрагментация решает проблему несоответствия размеров пакетов и значения MTU, она ощутимо снижает производительность сетевых устройств. В связи с этим, в 1988 году была предложена альтернативная технология, названная Path MTU discovery (RFC 1191). Суть технологии заключается в том, что при соединении двух хостов устанавливается параметр DF (don’t fragment — не фрагментировать), который запрещает фрагментацию пакетов. Это приводит к тому, что узел, значение MTU которого меньше размера пакета, отклоняет передачу пакета и отправляет сообщение ICMP «необходима фрагментация, но установлен флаг её запрета (DF)». Хост-отправитель уменьшает размер пакета и отсылает его заново. Такая операция происходит до тех пор, пока пакет не будет достаточно мал, чтобы дойти до хоста-получателя без фрагментации.

Однако, и у этой технологии существуют потенциальные проблемы. Некоторые маршрутизаторы настраиваются администраторами на полное блокирование ICMP пакетов (это не очень грамотно, но может быть самым простым решением нескольких проблем безопасности). В результате, если размер пакета не соответствует значению MTU на определённом участке, пакет отбрасывается, а хост-отправитель не может получить информацию о значении MTU и не отправляет пакет заново. Поэтому соединение между хостами не устанавливается. Проблема получила название MTU Discovery Black Hole (RFC 2923), и протокол был модифицирован для детектирования таких маршрутизаторов.

Поскольку Windows (XP,7,8) автоматически выбирает наилучшее MTU (PMTU), в нашем случае необходимо просто удостовериться, что для этого соединения не установлено какое-то, отличное от оптимального, фиксированное значение. Кстати, это самое оптимальное значение выяснить довольно легко, проведя несложный эксперимент. Откройте консоль cmd.exe и введите в ней команду:

PING -f -l 1472 xxx.xxx.xxx.xxx

где xxx.xxx.xxx.xxx — IP-адрес шлюза вашего провайдера,

F запрещает фрагментацию пакета,

L устанавливает размер пакета.

Если вы получите в ответ что-то типа “Reply from xxx.xxx.xxx.xxx: bytes=1472 time=144ms TTL=10”, то это будет означать что MTU=1500 (28 байт заголовка не учитываются). Если же ответ будет “Packet needs to be fragmented but DF set”, то уменьшайте значение 1472 до тех пор, пока не получите прохождение пакета — это значение плюс 28 байт заголовка и будет равным искомому MTU.

Полученное значение (+28 байт заголовка) необходимо сравнить со значением MTU, используемым системой, которое можно определить с помощью команды, в той же командной строке:

netsh interface ipv4 show subinterfaces

(В результате будет выведено значение MTU для сетевых интерфейсов ipv4).

Изменить значение MTU в ос Windows (XP,7,8) можно с помощью комманды

(Действие по изменению параметров настройки желательно выполнять только опытному пользователю, так как неверное значение повлияет на работу сети в худшую сторону!!!):

netsh interface ipv4 set subinterface “ХХХХХХХХ” mtu=1500 store=persistent

Где ХХХХХХХХ - Название сетевого интерфейса (По умолчанию - "Подключение по локальной сети", для удобства можно переименовать, например в Lan1 в папке "Сетевые подключения" в "Панели управления").

В отличии от ОС Windows большинство роутеров (Wi-Fi Домашних маршрутизаторов) используют статическую настройку MTU, указанную в настройках роутера. По умолчанию значение MTU 1500.

Провайдер "Триолан" обеспечивает передачу пакетов Ethernet максимального полезного размера, которому соответствует настройка MTU 1500.

Есть провайдеры, настройка сети которых ограничивает размер MTU до значений меньше 1500. Зачастую это связано с использованием протоколов дополнительной инкапсуляции (PPPoE,L2P и др.). В таком случае ОС Windows настраивает необходимое значение MTU по протоколу PMTU, но в случае возникновения проблем, могут потребоваться настройки, описанные выше. Чаще проблемы с MTU связанны именно с роутерами, в которых неверно настроено значение MTU.Для сетей "Триолан" это значение составляет 1500, для других сетей - может быть опредено с помощью командной строки, как описано выше.

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

MTU в роутере что это

Значение MTU (Maximum Transmission Unit) указывает, какого максимального размера пакеты отправляет устройство . Измеряется в байтах. То есть, если на роутер пришел блок данных большего размера, то он его нарежет на несколько пакетов (фрагментирует). Эти пакеты будут идти по сети, и если встретится на их пути маршрутизатор, который посчитает их слишком большими, он тоже их нарежет. Когда они достигнут последнего маршрутизатора, он, в свою очередь, перед отправкой на компьютер получателя, будет из фрагментированных пакетов собирать в исходные.

Все эти манипуляции по нарезке и сборке пакетов трудоемки. Соответственно, желательно выставлять оптимальное значение MTU на роутере.

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

Какой MTU поставить на роутере

Самый простой способ, это обратиться в службу поддержки провайдера (написать письмо, позвонить). Скорее всего, они подскажут актуальное значение. Но через некоторое время, провайдер может все переконфигурировать. Хотя это случается достаточно редко, но если вдруг начали возникать сбои, вполне вероятно, что следует уточнить правильность выставленного MTU.

Второй вариант, это найти оптимальный размер с помощью команды ping , отправляя пакеты, в которых установлено, что их нельзя фрагментировать. Пинговать следует удаленный ресурс, например, сайт или сервер провайдера.

Можно так же проверить наиболее посещаемые ресурсы в интернете: игровые сервера, сервера с которых смотрите фильмы, используемые IP телефоном.

Пример команды «ping -f -l 1472 yandex.ru», здесь:

  • 1472 – это количество отправляемых байт данных. Следует учитывать, что помимо данных, будет отправлен еще и заголовок, который составляет 28 байт (IP заголовок 20 + ICMP заголовок 8 = 28). Следовательно, в итоге размер пакета будет составлять 1472+28=1500 (байт), стандартный размер максимального стандартного Ethernet пакета. Есть правда пакеты большего размера, называемые jumbo-кадрами.
  • yandex.ru – это доменное имя сервера, на который будем отправлять команды, его можно поменять на IP адрес сервера провайдера. Можно поэкспериментировать с разными IP-адресами.

В итоге, выполнив такую команду, мы определим, требуется ли фрагментация пакета для доставки его к получателю.

Для примера, допустим, что поставщик услуг не пропускает пакеты, размер которых превышает 1024 байта. Тогда настройка выглядела бы следующим образом.

Запускаем командную строку (это классическое приложение Windows, найти его можно, например, в поиске набрав «Командная строка»). И выполняем команды.

Здесь значении данных 997 байт, размер пакета 997+28=1025 байт, пакет не может быть доставлен без фрагментации.

Здесь значении данных 996 байт, размер пакета 996+28=1024 байт, пакет доходит до получателя без фрагментации.

Таким образом, изменяя размер отправляемого блока данных, мы можем вычислить DMTU – максимальный размер блока данных, который доставляется без фрагментации . Например, если команда ping проходит без фрагментации со значением 996. При попытке отправить команду со значением 997 получаем ответ: «Требуется фрагментация пакета, но установлен запрещающий флаг». Тогда мы рассчитываем параметр DMTU следующим образом: 996 байт данных + 28 байт IP заголовка = 1024 байта. Максимальный размер блока данных, который не будет фрагментирован, составит 1024 байта. Это значение и следует задать на маршрутизаторе, как размер MTU.

Как поменять MTU на роутере

Подключаемся к маршрутизатору через интернет браузер. Выставляем новый размер MTU. Затем сохраняем настройки.

Например, при использовании TP-Link, заходим в пункт «Сеть», там подпункт «WAN». Не забываем нажать после этого кнопку «Сохранить».

После изменения значений, можно проверить, насколько изменилась скорость скачивания файлов большого размера из интернета.

Настройка MTU на компьютере

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


После данной установки на компьютере, с него будут отправляться пакеты, у которых максимальный размер на уровне IP будет 1024 байта, но на MAC уровне максимальный отправляемый блок данных будет размером 1038 байт (14 из них для заголовка MAC).

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

Автоматическая настройка – PMTU discovery

Существуют режимы работы некоторых устройств, когда размер MTU уточняется во время подключения к удаленному серверу (PMTU discovery). Алгоритм такой же, как и тот, которым пользовались при настройке MTU на роутере. В начале работы устройство отправляет блоки данных разного размера, пытаясь определить максимальный размер пакета, который дойдет без фрагментации.

В этом алгоритме есть одна проблема, называемая «MTU Discovery Black Hole ». Она возникает в случае, когда администраторы сетей, чтобы избежать возможных атак на их сервера, запрещая маршрутизаторам передачу ICMP , в частности которые используются при команде ping.

Так конечно не корректно действовать. Устройство, не получив ответа на запрос не может продолжить работать.

У вас недогружаются странички в браузере? Некоторые из них открываются только со второго или третьего раза? Потоковое видео с просторов интернета идет с прерываниями? Скорее всего, проблема заключается в неправильно выставленном параметре MTU вашего роутера.

Теория (кому просто нужно подобрать MTU, можете не читать, а сразу начинайте пользоваться программой)

Весь трафик в сети передается так называемыми пакетами данных. При коммутируемом доступе (это когда провод от провайдера вставлен в ваш компьютер) используется минимально возможная величина пакета в 576 байт, и это как раз и есть параметр MTU. Если у вас стоит роутер, то в нем выставлено значение по умолчанию, обычно 1492. Однако провайдер более жестко регламентирует MTU и чаще всего оно меньше. В итоге получается несоответствие величин, и роутеру для передачи приходится разбивать пакет на части, что называется фрагментацией. Мало того, что вместо одного такта на передачу одного пакета уходит два, но еще и имеет место потеря пакетов. Как следствие — тормозящий интернет, подолгу зависающие странички, медленно загружающееся видео и прочие-прочие «прелести».

Решается проблема достаточно просто: нужно просто позвонить в офис провайдера и задать вопрос о величине параметра, или же самостоятельно подобрать оптимальный параметр MTU, при котором пакеты не будут фрагментироваться. Первый вариант может оказаться и самым простым, и самым же сложным. Дело в том, что девушки, сидящие на телефонах, чаще всего не имеют даже понятия о том, какие параметры установлены в их сети. «Что, МТУ? Может, МТС? Нет, мы не офис МТС, мы у них не выставляем никакие параметры» — вот что, вероятнее всего, вы рискуете услышать в ответ на вопрос. Поэтому не тратим времени на переговоры, а сразу идем подбирать параметр MTU. Производится подбор путем передачи пакетов разной величины с запретом фрагментации. При тестах используется коммутируемый доступ, то есть без роутера .

Для подбора MTU используется пинг-тест командой вида ping ya.ru — f — l xxxx , где xxxx — значение MTU, ya.ru — пингуемый сервер (может быть любым из существующих) + параметры запрета фрагментации. Взяли максимальное значение, пинганули. Если потери составляют больше нулевого значения, значит, MTU неверный. Снижаем с шагом 8. И так далее, пока потери не составят 0%. Первое же значение MTU, при котором потери исчезнут, и будет оптимальным.

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

Когда значение MTU найдено, к нему надо прибавить 28 (на заголовки IP и ICMP) и ввести в соответствующее поле настроек роутера . У разных роутеров они разные, поэтому не спрашивайте меня, где ввести параметр у роутера какой-либо определенной модели. Всем добра!