Определение MTU вручную. Что такое MTU в настройках роутера

Информация в компьютерных сетях передается в виде небольших сформированных блоков данных (иначе говоря, пакетов). Каждый пакет помимо пересылаемой информации содержит еще и служебные данные, составляющие так называемый заголовок (header) пакета. Эти служебные данные нужны для определения целостности данных, используемой версии сетевых протоколов и т.д. При этом размер полезного блока данных ограничивается определенным количеством байт. Делается это для того, чтобы снизить вероятность потерь информации и уменьшить время повторной пересылки пакета в случае появления проблем с подключением.

MTU – что это?

MTU (от англ. Maximum transmission unit) – это максимальный объем данных, передаваемый по сети без дальнейшего фрагментирования (одним пакетом). Любая информация, объем которой превышает значение MTU, автоматически разбивается на небольшие блоки данных перед отправкой по сети. Возможные значения MTU зависят от используемого типа подключения к сети. Так, при использовании PPoE (в основном с ADSL и подобными технологиями) максимальное значение параметра MTU составляет 1492 байта (стандартные 1500 байт для Ethernet минус восемь байт заголовков), а при использовании Wi-Fi MTU может достигать 2304 байт.

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

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

Рассчитываем значение MTU

Найти оптимальное значение MTU можно с помощью старой-доброй команды ping. Предположим, что мы определяем значение этого параметра для проводного подключения. Открываем командную строку Windows и пишем такую команду:

ping www.google.com -f -l 1472

В Linux команда обычно имеет вид ping -M do -s 1472 www.google.com, а в macOS ping -D -s 1472 www.google.com (в некоторых версиях систем ключи могут отличаться, рекомендуем обратиться к man ping, если команда не работает). В данном случае мы отправляем по адресу www.google.com пакеты размером 1472 байта и запрещаем фрагментировать данные. Если пакеты такого размера не могут быть отправлены, команда сообщит, что необходима фрагментация пакета. Перезапустите эту команду несколько раз, постепенно уменьшая размер пакета на 8–10 байт. В итоге после нескольких попыток вы подберете значение размера, при котором отсылка данных состоится. Помните: если используется беспроводное подключение, размер пакета может быть больше 1500 байт.

Запомните полученное значение и прибавьте к нему 28 байт (длина служебных заголовков). Получившееся значение – это оптимальное (или близкое к оптимальному) значение MTU для вашей сети.

Устанавливаем значение MTU

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

В Windows открываем командную строку с правами администратора и выполняем команду:

netsh interface ipv4 show subinterfaces

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

netsh interface ipv4 set subinterface Ethernet mtu=1450 store=persistent

Здесь Ethernet – название интерфейса (может быть другим), 1450 – выбранный размер MTU. Если название состоит из нескольких слов, его надо указывать в кавычках.

Для отключения автоматической настройки MTU можно выполнить команду:

netsh int tcp set global autotuninglevel=disabled

Включить автоматическое определение MTU можно той же командой с параметром autotuninglevel=normal.

Если необходимо сбросить настройки к исходному состоянию, выполняем команду:

netsh interface ipv4 reset

В Linux настройка MTU осуществляется с помощью команды ip. Посмотрим текущее значение MTU:

$ ip link show | grep mtu

# ip link set eth0 mtu 1450

Здесь eth0 – название интерфейса, оно может быть другим на вашем компьютере. Для того чтобы выбранное значение MTU использовалось постоянно при каждом входе в систему, необходимо прописать значение в файл /etc/network/interfaces, либо создать модуль для systemd. Рекомендуем обратиться к документации используемого дистрибутива для получения более подробной информации.

В macOS посмотреть размер MTU для подключения en0, а затем установить значение параметра можно в терминале:

networksetup -getMTU en0

networksetup -setMTU en0 1450

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

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

Добрый день. Сегодня не совсем обычная статья, так как она не является повседневной и не подойдет для любого пользователя. Более того, я крайне не рекомендую лезть в данные параметры людям, которые слабо в техническом плане. Речь идет о 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.

Роутер для раздачи проводного интернета по Wi-Fi установлен практически в каждой современной квартире. Чаще всего пользователи настраивают маршрутизатор единожды, используя помощник по автоматической настройке, после чего не изменяя опции устройства. Подобная позиция не всегда правильная, и зачастую автоматическая настройка Wi-Fi роутера не позволяет добиться максимально качественного соединения с интернетом. Одной из опций в настройках маршрутизатора, которой пользователи не уделяют должного внимания, является MTU. В рамках данной статьи рассмотрим, что такое MTU в настройках роутера, и какое значение нужно выставить для оптимальной работы интернета.

Что такое MTU в настройках роутера

MTU (maximum transmission unit) – это максимальный уровень передачи данных в сети. Говоря другими словами, MTU является протоколом канального типа, который определяет максимальное число битов с полезной информацией, помещающихся в один сетевой пакет. Данные пакеты сведений передаются от провайдера к пользователю, то есть от серверов к клиенту. В пакете данные передаются без фрагментации, за счет чего удается увеличить скорость передачи данных по защищенным каналам связи.

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

Почему нужно ограничить размер MTU в настройках роутера

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

Благодаря правильно выставленным настройкам MTU удается:

  • Расширить канал передачи, за счет чего им одновременно смогут пользоваться различные службы, программы, процессы и так далее;
  • Избавить канал от лишней нагрузки, что увеличит скорость передачи данных;
  • Снизить практически до нуля шанс получения «испорченных пакетов» с данными при передаче по сети.

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

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

Какое значение MTU нужно выставить

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

Выполните тестирование сети следующим образом:


Обратите внимание: Чаще всего оптимальное значение MTU находится в пределах от 1500 до 1400 байт.

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

В среднем, на заголовок и запрос требуется 28 байт. Соответственно, идеальное значение в рассматриваемом случае будет:

1472 байта + 28 байт = 1500 байт

Значение 1500 потребуется прописывать в настройках роутера.

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

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