Определение параметров mtu программа. Правильные всегда приносят плоды

NOTE: Важно! Данная инструкция актуальна только в том случае, если вы столкнулись с проблемами передачи данных по сети.

Например, по неизвестной причине не открываются определенные веб-страницы или присутствуют ошибки при передаче файлов.

Если же доступ в Интернет и передача данных работают корректно, не стоит экспериментировать с параметром MTU, т.к. при выполнении неверных действий вы можете только ухудшить работу домашней сети. В настоящее время, в различных сетевых устройствах (роутерах, адаптерах, модемах и пр.) обычно используются оптимальные настройки MTU предустановленные по умолчанию, а также часто значение MTU определяется автоматически c помощью функции автоподстройки размера пакетов.

Параметр MTU (Maximum Transmission Unit; максимальная единица передачи) означает максимальный размер пакета, который может быть передан по сети без фрагментации. Если пакет будет иметь больший размер, чем установленное значение MTU, он будет фрагментироваться (разбиваться) на более мелкие. При большом количестве таких пакетов это может значительно замедлить передачу данных по сети.

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

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

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

Выполнение команды ping будем производить в командной строке операционной системы Windows. Для подключения к командной строке Windows нажмите Пуск > Выполнить > в появившемся окне в поле Открыть впишите команду cmd и нажмите кнопку OK (или клавишу Enter на клавиатуре).

Синтаксис используемой команды ping будет следующий:

Ping -f -l <размер_пакета>

В качестве url используйте какой-нибудь популярный домен.

Флаг -f запрещает фрагментацию пакета.

Флаг -l <размер_пакета> устанавливает размер пакета при отправке его в сеть. Обращаем ваше внимание, что во флаге -l используется строчная буква L.

Приведем пример. Выполним пинг до сайта www.yandex.ru с размером пакета 1450 байт:

Ping www.yandex.ru -f -l 1450

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

Итак, в нашем примере был найден максимальный размер пакета 1472 байта (при этом значении пакет не нуждается во фрагментации), т.к. при значении 1473 байта появилось сообщение о том, что требуется фрагментация пакета.

Но это ещё не значение MTU. Мы получили значение MSS (Maximum Segment Size), которое определяет максимальный размер блока данных в байтах. Этот параметр не учитывает длину заголовков ICMP и IP. В нашем случае значение MTU = MSS + заголовок IP + заголовок ICMP.

Теперь к полученному в ходе тестирования числу прибавим 28 байт, которые зарезервированы под заголовок данных (20 байт для заголовка IP и 8 байт для заголовка запроса протокола ICMP). Для нашего примера MTU=1472+28=1500 байт (это оптимальное значение параметра MTU).

Для выхода из интерфейса командной строки выполните команду exit .

NOTE: Важно! Для корректного выполнения указанного теста должно обеспечиваться прохождение пакетов ICMP по сети (некоторые сетевые устройства, сервера или межсетевые экраны могут блокировать прохождение ICMP-запросов).

  • Настройка параметра MTU в интернет-центрах серии Keenetic:

Когда постоянно происходят сбои при подключении к интернету, многие идут на решительные меры. Они меняют роутер, меняют провайдера. Одна из причин возможных неполадок – не корректно выставленное значение 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, его особенностей и свойств.

В статье приведена инструкция для правильного определения и изменения настроек mtu в wi-fi роутере.

MTU (максимальный уровень передачи в сети - maximum transmission unit (MTU )) – это протокол канального уровня, который определяет наибольшее количество «полезных» блоков битов в одном сетевом пакете.

Как известно, обмен информацией между сервером и клиентом (провайдером и пользовательским ПК) возможен благодаря трансферу отдельных пакетов данных.

Эти пакеты образуют наборы полезных блоков.

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

Простыми словами, MTU необходим для обеспечения стабильной работы интернета на вашем компьютере.

Благодаря проставлению его правильного значения можно добиться отличной скорости с минимальными сбоями в работе.

Зачем нужно ограничивать MTU?

Этот протокол канального уровня подлежит обязательному ограничению. Это делается путем присвоения mtu определённого цифрового значения.

Такое действие необходимо для достижения следующих целей:

  1. Рационального распределения нагрузки между блоками передачи и приема информации в сети;
  2. Сокращения общей нагрузки. Благодаря этому уменьшится и время передачи информации;
  3. Расширения функций канала передачи. Таким образом, его смогут использовать одновременно несколько приложений, служб и процессов;
  4. Увеличения отклика сети. В результате сеть будет работать эффективнее, а вероятность появления «битых» пакетов данных (которые не оправились) сводится к минимуму.

Находим правильный размер MTU для сети

Зачастую у пользователей роутеров tp-link, d-link, asus и других, в настройках маршрутизатора указано неверное значение mtu. Из-за этого могут возникать:

  • Проблемы с воспроизведением потокового видео;
  • Ошибки во время скачивания файлов;
  • Просроченные сертификаты безопасности для некоторых сайтов;
  • Общая медленная работа Интернета.

Рис. 1 – проблемы с Интернетом

Если вы обнаружили, что в последнее время соединение с сетью стало слишком медленным и привычные сайты больше не открываются или происходит их «вечная» загрузка, необходимо настроить mtu.

Клиентский компьютер не может открыть сайт, если значение mtu больше максимального значения пакета данных, который передается через протокол.

Детальнее о настройке разнообразных роутеров читайте в нашем материале: Как войти в настройки роутера - TP-Link, D-Link, Asus, Zyxel Keenetic, Ростелеком

Каждый маршрутизатор может изменять число mtu автоматически. Иногда такая возможность действует не в пользу скорости сети, поэтому вы можете изменить значение вручную.

Определить «идеальное» число mtu можно с помощью проведения тестирования под названием Ping Test .

Пинг (ping - задержка) – это время, которое необходимо одному пакету данных, отосланному с вашего ПК, для прохождения до другого ПК (или сервера) и его возврата обратно на компьютер, с которого он был отправлен.

Вам также может быть интересно:

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

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

Процесс тестирования:

  • Зайдите в командную строку;
  • Введите указанную на рисунке ниже команду для соединения с доменом;

Рис. 2 – подключение к домену тестирования

Заметьте! XХXX – это значение MTU. Во время тестирования изменяйте его в пределах от 1500 до 500 с шагом 10 байт. Успешный результат – это когда процент потерь не превышает 1%.

  • В результате правильно выполнения команды появятся строки со статистикой пинга (количество отправленных и полученных пакетов, приблизительное время их передачи в миллисекундах, процент потерь);

Рис. 3 – результат успешной команды

  • Теперь следует еще раз повторить эту же команду. Выполняйте ее, пропустив одну строку;
  • Повторяйте тест каждый раз с новым значением mtu, пока не получите наилучший результат передачи пакетов с минимальным процентом утрат. Запомните цифры mtu – именно это значение нам понадобится в дальнейшей настройке mtu.

Рис. 4 – найденное в результате тестирования наилучшее значение для MTU

Изменение MTU в маршрутизаторе

Пользователи маршрутизаторов могут самостоятельно изменять все настройки соединения и . Для этого зайдите в меню конфигурации.

Откройте любой установленный на ПК браузер и в его адресной строке введите локальный IP адрес 192.168.0.1, нажмите Ввод.

Если окно авторизации не появилось, в строку следует ввести адрес 192.168.1.1

В открывшемся диалоговом окне появится форма для введения логина и пароля администратора ПК.

В обоих полях пропишите слово admin или другие данные для входа в сеть (их можно прочитать в или спросить у провайдера). Дождитесь авторизации.

Окно настроек каждой модели маршрутизатора может иметь внешнее отличие, однако, структура полей в основном одинаковая. Для начала следует определиться с конечной величиной mtu.

Возьмите результат, полученный в процессе тестирования. В нашем случае это 1458 бит и прибавьте еще 28 байт. Дополнительные байты – это место для заголовков пакета и запроса.

В результате получаем 1458+28 = 1486 байт для mtu.

Для роутеров TP-Link

Чтобы изменить mtu, кликните на пункт меню «Сеть» . Затем в правой части окна найдите поле mtu и пропишите необходимое значение, как указано на рисунке:

Рис. 5 – изменение значения для TP-Link

Купив новый роутер, подключив его и настроив соединение с провайдером, в большинстве случаев пользователь обнаруживает неприятную особенность. Любой домашний или офисный роутер режет скорость, в худшем случае снижая ее в несколько раз. Для разных моделей устройств характерна разная скорость маршрутизации IP-пакетов. Вдобавок, существуют еще два параметра, имеющих конечное значение – максимальная пропускная способность, и наибольшее число поддерживаемых соединений. Значения всех этих параметров варьируются в зависимости от используемого «железа», а мы рассмотрим, как ускорить работу роутера программными методами.

Средняя скорость передачи IP-пакетов

Чтобы заставить сетевой комбайн работать быстрее, можно разогнать его процессор, увеличить объем встроенной памяти, и так далее. Большинству пользователей такие приемы не доступны. Программными методами, рассмотренными у нас, Вы сможете добиться следующих результатов:

  • Снизить время открытия сайтов (надо использовать публичные DNS)
  • Получить приемлемую скорость работы торрентов
  • Повысить скорость передачи и приема данных через соединение вида Static IP или DHCP Client.

Сразу поясним, что мы собираемся делать. Вместо серверов DNS, выданных провайдером, рекомендуется установить адреса публичных DNS. Повысить скорость связи можно, правильно подобрав параметр «MTU», ну а торрент-клиент при наличии роутера нуждается в ограничении количества соединений.

Самое простое – фиксированные DNS

Настраивая соединение вида DHCP Client (оно же Dynamic IP или IPoE), обычно параметр «DNS» оставляют в значении «auto». Провайдер автоматически выдает адреса DNS-серверов при каждом подключении, что гарантирует правильность значений этих адресов. Но можно задать DNS-серверы в явном виде, более того, на данный момент рекомендуется использовать публичные сервисы с общеизвестными адресами. Зайдя в web-интерфейс роутера, откройте вкладку настроек соединения с провайдером:

Вкладка параметров соединения

Вы увидите, как минимум, два поля, которые предназначены для установки DNS-адресов. В некоторых прошивках эти же поля содержатся на отдельной вкладке:

Ввод адресов DNS вручную

Установите требуемые значения, сохраните настройки.

Остается вопрос, чему должны быть равны эти значения в реальности. Приводим некоторые из вариантов:

  • 8.8.8.8
  • 8.8.4.4
  • 208.67.222.222
  • 208.67.220.220.

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

Увеличение MTU

На скорость работы соединений влияет значение параметра «MTU». Без необходимости менять его не нужно. Но, как показывает практика, изменение значения в большую сторону иногда приводит к положительным результатам. Заметим, что владельцам телевизоров SmartTV, если в данный момент все работает, менять MTU в роутере противопоказано (значение параметра должно остаться меньше 1480).

Dynamic либо Static IP

Для соединений вида «Динамический IP-адрес» либо «Статический IP» значение MTU равно 1500. Начните увеличивать его с шагом 100, затем – с шагом 10. В результате можно подобрать такой вариант настройки, при котором скорость Интернет-соединения будет наибольшей. А тестировать соединение, чтобы узнать скорость передачи и приема данных, можно с использованием бесплатных сервисов (http://2ip.ru/speed/ и других). Отметим, что рассматриваемая задача – не для начинающих, так как в некоторых случаях эффект проявится только с большими значениями MTU, такими как 5000, 10000 и т.д.

Поменять параметр MTU будет просто. Зайдите на вкладку интерфейса, содержащую настройки подключения. Найдите поле с надписью «MTU»:

Исправляем параметр MTU

PPtP и L2TP

Для протоколов, в которых предусмотрена идентификация (PPtP и L2TP), обычно реализуется два интерфейса связи. Вернее, всегда используются интерфейсы двух уровней, из которых низший уровень – это Ethernet. Заметим, что для каждого интерфейса в наличии имеется свой параметр MTU, а менять можно оба параметра. Только надо учитывать, что MTU уровня «Ethernet» не может быть меньше, чем MTU высокого уровня. Равны они тоже быть не могут.

На вкладке, где находятся параметры подключения, можно видеть два настроенных соединения с провайдером.

Вкладка «Соединения»

В данном случае соединение «WAN» будет отвечать за уровень Ethernet. Доступ к его параметрам Вы получите, выполнив двойной щелчок на строке «WAN». То же самое можно сказать и о строке с надписью «Internet». Открывайте параметры требуемого соединения, ищите поле с надписью «MTU» (на каждой вкладке оно будет одно).

Иногда в роутере настраивают протокол вида «L2TP+Динамический IP», что относится и к PPtP. В таком случае вкладка с параметрами выглядит вот как:

Вкладка параметров PPtP

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

MTU уровня Ethernet по умолчанию находится в значении «1500», о чем было сказано в предыдущей главе.

MTU для L2TP и PPtP обычно устанавливают в «1460». Но для некоторых провайдеров надо использовать другие цифры, «1472» или «1474». Тогда скорость связи повышается. Пробуйте поменять число, используя шаг 4 или 2. Но знайте, что перейдя некий «верхний предел», можно сразу получить неработающее соединение.

Тюнингуем uTorrent

Использовать торрент-клиент совместно с роутером нельзя, если оставить настройки программы по умолчанию. Важным является следующее: надо ограничить число одновременных подключений. В меню программы выполняется переход «Настройка» –> «Конфигурация». Затем необходимо найти вкладку «Скорость»:

Скорость подключений uTorrent

«Максимальное число соединений» оставьте между двумя и тремя сотнями. Этого должно быть достаточно.

Число слотов раздачи и количество пиров на торрент, в принципе, можно не ограничивать явно (они и так будут меньше обведенного в квадрат значения). Но лучше использовать цифры, приведенные в примере. А возможно, что их придется уменьшить, и это зависит уже от модели применяемого оборудования. Удачного роутинга!

Никогда не стоит пренебрегать простым правилом: лучшее – враг хорошего. Используя возможности оборудования по максимуму, необходимо помнить о том, что роутер – устройство универсальное, и его ресурсы распределяются между несколькими задачами. Поэтому, нет ничего удивительного в том, что настроив один из сервисов (торрент), в последствие можно получить отсутствие чего-то другого (IPTV). Использовать 50% от максимума – вот что нужно для надежной работы. Для класса «домашнего» оборудования, где задач не так много, эту цифру можно скорректировать до 75.

Меняем MTU для PPPoE

У вас недогружаются странички в браузере? Некоторые из них открываются только со второго или третьего раза? Потоковое видео с просторов интернета идет с прерываниями? Скорее всего, проблема заключается в неправильно выставленном параметре 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) и ввести в соответствующее поле настроек роутера . У разных роутеров они разные, поэтому не спрашивайте меня, где ввести параметр у роутера какой-либо определенной модели. Всем добра!