Автор статьи
Кристина Горбунова
Высшее образование по специальности “Информационные системы”. В сфере более 7 лет, занимается разработкой сайтов на WordPress и Tilda.
Задать вопрос
При подключении к интернету у новичков часто возникает вопрос, что такое MTU в настройках роутера и как изменить этот параметр. Мы расскажем, как определить оптимальное значение этой характеристики и когда не стоит изменять максимальный размер полезного блока данных в пакете.
Что такое MTU?
MTU — это сокращенное английское понятие Maximum Transmission Unit, что переводится как максимальное значение размера пакета данных, которые устройство получает или принимает внутри локальной сети wifi или через интернет.
Размер MTU выставляется по умолчанию в настройках роутера. Работает это следующим образом — весь объем информации, которую, например, компьютер или ноутбук передает на смартфон или телевизор, отправляется не единоразово целиком, а делится на равнозначные пакеты, то есть фрагментируется. После чего принимающее устройство объединяет их обратно. Величина этих пакетов — как раз и есть MTU. Она измеряется в байтах.
Автоматическая настройка — PMTU discovery
Существуют режимы работы некоторых устройств, когда размер MTU уточняется во время подключения к удаленному серверу (PMTU discovery). Алгоритм такой же, как и тот, которым пользовались при настройке MTU на роутере. В начале работы устройство отправляет блоки данных разного размера, пытаясь определить максимальный размер пакета, который дойдет без фрагментации.
В этом алгоритме есть одна проблема, называемая «MTU Discovery Black Hole». Она возникает в случае, когда администраторы сетей, чтобы избежать возможных атак на их сервера, запрещая маршрутизаторам передачу ICMP, в частности которые используются при команде ping.
Так конечно не корректно действовать. Устройство, не получив ответа на запрос не может продолжить работать.
Из чего складывается размер MTU?
Весь пакет в целом также делится на составные части. Это:
- MSS (Maximum Segment Size) — величина может настраиваться
- Заголовок IP — 20 байт
- Заголовок ICMP — 8 байт
В итоге общий размер MTU в байтах равен 20 + 8 + размер основного пакета, который можно менять в настройках роутера. Для чего, спросите вы? Дело в том, что по умолчанию каждый маршрутизатор автоматически устанавливает определенную величину блока MTU. И она не всегда оптимальна. И в том случае, если значение выставлено некорректно, могут наблюдаться существенные проблемы в работе интернета. Например, будут плохо загружаться определенные сайты или просадки в скорости при воспроизведении видео. При этому, чем меньше значение MTU, тем больше будет пакетов, и тем дольше они будут обрабатываться.
Это означает, что лучше всего выставлять значение MTU максимальное, которое допустимо для вашего провайдера
Do not Fragment и Destination Unreachable, Fragmentation Needed
Пакеты могут перемещаться по сетям произвольным образом и невозможно заранее просчитать все маршруты и максимальный размер пакетов для каждого подключения. В RFC 1191 прописана методология определения размера MTU. Процесс, посредством которого хост для конкретного подключения может обнаруживать меньший размер MTU, чем поддерживает его собственный сетевой интерфейс. Ключевыми являются два компонента: бит “Не фрагментировать” (Do not Fragment (DF)) заголовка IP и субкод сообщения ICMP-протокола Destination Unreachable, Fragmentation Needed.
Установка бита DF в IP-пакете не позволяет маршрутизатору выполнять фрагментацию, когда он обнаруживает MTU меньше, чем размер пакета. Вместо этого пакет отбрасывается и по ICMP отправителю приходит сообщение о необходимости фрагментации пакетов. По сути, маршрутизатор указывает, что для отправки далее ему необходимо разбить пакет на части, но флаг Don’t Fragment (DF) не позволяет это сделать. RFC 1191 расширяет ICMP-сообщение, запрашивающее фрагментацию, с включением размера MTU для текущего подключения.
Теперь, когда был обнаружен максимальный размер пакета для подключения, хост может кэшировать это значение и формировать последующие соответствующего размера. Обратите внимание, что обнаружение максимального размера пакетов для конкретного подключения является непрерывным процессом. В случае использования динамической маршрутизации и перестроении маршрута между отправителем и получателем хост периодически продолжает попытки установить флаг DF для обнаружения дальнейшего уменьшения размера пакетов. RFC 1191 также позволяет периодически тестировать возможность увеличения максимального размера пакетов для каждого маршрута, иногда пытаясь передать пакет больше, чем кешированный. Если пакет передается успешно, то значение предельно допустимого размера пакета увеличивается.
Какое значение MTU выставить на роутере?
Вот мы и подошли вплотную к вопросу, как определить оптимальное значение MTU в вашей конкретной ситуации. Для проверки мы будет использовать командную строку Windows на компьютере или ноутбуке.
Открываем меню поиска и набираем «cmd»
Первым делом я бы рекомендовал проверить текущие настройки. Для этого вводим команду
netsh interface ipv4 show subinterfaces
Нажимаем клавишу «Enter» и видим в столбце «MTU» текущую величину пакета. У меня она стандартна для WiFi и равна «1500». Из них 20 — это заголовок IP, 8 — ICMP, и 1472 — размер блока самих данных. У вас же может быть произвольное значение от 1400 в зависимости от настроек конкретного провайдера, если вы проверяете с компьютера, подключенного к интернету по кабелю.
Для того, чтобы определить, какое MTU является максимальным в вашей сети, необходимо «пропинговать» различные значения до того момента, пока система не выдаст сообщение о необходимости дополнительной фрагментации (деления) текущего пакета.
Например, я знаю, что у меня максимальное MTU 1472 байт. Но проверим, какой ответ будет от удаленного сервера wifika.ru, если попробовать протолкнуть 1700 байт. Для этого вводим команду
ping -f -l 1700 wifika.ru
Получаем следующий ответ:
- «Требуется фрагментация пакета, но установлен запрещающий флаг»
- «100% потерь»
- «отправлено — 4, получено — 0, потеряно — 4»
Если же задать 1471 байт, то пакеты должны быть отправлены и получены. Проверяем:
ping -f -l 1471 wifika.ru
Результат:
- Время передачи пакета
- «0% потерь»
- «отправлено — 4, получено — 4, потеряно — 0»
То есть вся информация была успешно передана. То же самое будет, если указать «1472», а вот «1473» уже проходить не будет. То есть для моей сети максимальное и оно же оптимальное значение MTU — это 1472 + 20 + 8 = 1500. Его и необходимо указать в настройках роутера, если автоматически в нем выставлено что-то иное.
Также стоит обратить внимание, что размер MTU также зависит от типа подключения к интернету. По умолчанию они следующие:
- Динамический или Статический IP – максимально допустимо 1500 байт
- PPPoE – 1420 байт
- L2TP или PPTP – 1460 байт
Настройка на компьютере
Поменять MTU в Windows 7, 10 можно за несколько минут.
Пошагово процесс выглядит так:
- Определите текущую величину МТУ. Запустите командную строку. Введите команду «netsh interface ipv4 show subinterfaces». На экране появится таблица, в которой видно, что значение параметра 1500.
- Установите новое значение максимального размера передаваемых пакетов. Для этого введите команду «netsh interface ipv4 set subinterface “Ethernet” mtu=1300 store=persistent», где 1300 – новая величина передаваемого блока данных.
- Проверить ввод новых настроек. Необходимо снова ввести команду «netsh interface ipv4 show subinterfaces». Проверка считается успешной, если значение изменилось на 1300. Если значение осталось прежним, то снова введите команду из пункта 2.
После сохранения этих настроек с компьютера будут отправляться пакеты, максимальный размер которых ограничен на IP-уровне 1300 байтами. Но на MAC-уровне их величина будет равна 1314 байт. Отправка пакетов данных большего размера осуществляться не будет.
В ОС семейства Linux тоже можно изменить МТУ. Для этого запустите консоль комбинацией Ctrl+Alt+F1.
Дальнейший порядок действий:
- Определите величину МТУ с помощью команды ip link.
- Установите новое значение максимального передаваемого блока данных с помощью команды «ip link set dev eth0 mtu 1200», где 1200 – нужный размер МТУ.
С помощью команды происходит временная замена значения максимальной величины передаваемых пакетов на 1200. После перезагрузки восстановится значение по умолчанию. Для того, чтобы сделать новую величину постоянной, отредактируйте файл /etc/network/interfaces. К описанию нужного интерфейса (eth0) добавьте отдельной строкой mtu 1200.
После сохранения настроек выполните команду ifdown $eth0 && ifup $eth0, где eth0 – наименование интерфейса.
Величина MTU на роутере
После того, как вы проверили максимальную величину для своего подключения, необходимо установить его на роутере.
TP-Link
Для ручной установки MTU на моделях TP-Link необходимо зайти через браузер в панель управления и открыть меню «Дополнительные настройки — Сеть — Интернет». И раскрыть блок «Дополнительные»
Ваше мнение — WiFi вреден?
Да
22.89%
Нет
77.11%
Проголосовало: 34986
В старой версии администраторского раздела этот параметр находится в основном пункте «WAN»
Asus
Для указания MTU на Asus открываем рубрику «Интернет» в новой версии прошивки
Для старых роутеров нужно открыть настройки «WAN»
Keenetic
В маршрутизаторах Keenetic задать собственную величину MTU можно в меню «Проводной интернет»
Необходимый параметр находится в блоке «Проводные подключения»
D-Link
Для выбора параметров MTU на роутерах D-Link открываем «Сеть — WAN» и выбираем свое подключение к интернету
Tenda
У маршрутизаторов Tenda данная конфигурация расположена в «Системных настройках — WAN»
Mercusys
Чтобы найти MTU в панели Mercusys, надо открыть меню «Расширенные настройки» и пройти в пункт «WAN»
Здесь даже отдельно привлечено внимание к тому, что без надобности менять значение по умолчанию в 1500 не нужно
Netis
В Netis жмем на кнопку «Advanced»
Далее открываем меню «Сеть — WAN» и далее на кнопку «Расширенные»
Upvel
Установка значения MTU на роутерах Upvel производится в рубрике «Интерфейс WAN»
Изменение MTU в маршрутизаторе
Пользователи маршрутизаторов могут самостоятельно изменять все настройки соединения и работы wi-fi в глобальной сети. Для этого зайдите в меню конфигурации. Откройте любой установленный на ПК браузер и в его адресной строке введите локальный IP адрес 192.168.0.1, нажмите Ввод.
В открывшемся диалоговом окне появится форма для введения логина и пароля администратора ПК. В обоих полях пропишите слово admin или другие данные для входа в сеть (их можно прочитать в инструкции к роутеру или спросить у провайдера). Дождитесь авторизации.
Окно настроек каждой модели маршрутизатора может иметь внешнее отличие, однако, структура полей в основном одинаковая. Для начала следует определиться с конечной величиной mtu. Возьмите результат, полученный в процессе тестирования. В нашем случае это 1458 бит и прибавьте еще 28 байт. Дополнительные байты – это место для заголовков пакета и запроса. В результате получаем 1458+28 = 1486 байт для mtu.
Для роутеров TP-Link
Чтобы изменить mtu, кликните на пункт меню «Сеть». Затем в правой части окна найдите поле mtu и пропишите необходимое значение, как указано на рисунке:
Тюнингуем uTorrent
Использовать торрент-клиент совместно с роутером нельзя, если оставить настройки программы по умолчанию. Важным является следующее: надо ограничить число одновременных подключений. В меню программы выполняется переход «Настройка» –> «Конфигурация». Затем необходимо найти вкладку «Скорость»:
Скорость подключений uTorrent
«Максимальное число соединений» оставьте между двумя и тремя сотнями. Этого должно быть достаточно.
Число слотов раздачи и количество пиров на торрент, в принципе, можно не ограничивать явно (они и так будут меньше обведенного в квадрат значения). Но лучше использовать цифры, приведенные в примере. А возможно, что их придется уменьшить, и это зависит уже от модели применяемого оборудования. Удачного роутинга!
Никогда не стоит пренебрегать простым правилом: лучшее – враг хорошего. Используя возможности оборудования по максимуму, необходимо помнить о том, что роутер – устройство универсальное, и его ресурсы распределяются между несколькими задачами. Поэтому, нет ничего удивительного в том, что настроив один из сервисов (торрент), в последствие можно получить отсутствие чего-то другого (IPTV). Использовать 50% от максимума – вот что нужно для надежной работы. Для класса «домашнего» оборудования, где задач не так много, эту цифру можно скорректировать до 75.
Самое простое – фиксированные 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-серверов, получаемых автоматически.