Битлента
Интернет и провайдеры3 мин чтения·

MTU и MSS: подбор значения и симптомы при неверной настройке

Что такое MTU и MSS, как проверить максимальный размер пакета командой ping без фрагментации, какие симптомы даёт неверное значение и как настроить роутер.

Два параметра, одна задача

MTU — максимальный размер пакета в байтах, который можно передать по каналу без разбиения. MSS — максимальный размер полезных данных в сегменте TCP, который стороны согласуют при установлении соединения. MSS привязан к MTU: для IPv4 из MTU вычитают 40 байт на заголовки IP и TCP. Для MTU 1500 получается 1460, для 1492 — 1452.

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

Как выглядят симптомы

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

Подозрения усиливаются, если у вас PPPoE или дополнительная инкапсуляция трафика: они уменьшают допустимый размер пакета. Но не спешите винить MTU: те же симптомы дают и другие причины, например DNS, ограничения на стороне сайта, перегрузка. Поэтому подтвердите гипотезу проверкой.

🛡️ Интернет по-прежнему нестабилен?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Проверка максимального размера пакета

Используйте ping с запретом фрагментации и меняйте размер данных. В Windows это команда ping с ключами -f и -l, где значение l задаёт размер данных: например, ping -f -l 1472 адрес. В Linux — ping -M do -s 1472 адрес. В macOS ключи другие: ping -D -s 1472 адрес. К размеру данных добавляется 28 байт заголовков ICMP и IP, поэтому 1472 плюс 28 даёт 1500.

Начните с 1472. Если пришёл ответ, MTU 1500 работает. Если ответ «необходима фрагментация» или потеря, уменьшайте размер на 10–20 байт, пока ответ не появится. Найдя максимальный проходящий размер, прибавьте 28: получите MTU пути. Проверяйте до нескольких разных узлов, чтобы не зависеть от одного маршрута.

Где настраивать и что выбирать

Значение MTU задаётся на роутере, в разделе параметров подключения к интернету. Для PPPoE обычно нужно 1492, для обычного подключения 1500, а при дополнительной инкапсуляции — меньше. Многие роутеры умеют самостоятельно подстраивать MSS у проходящих соединений: функция называется вроде «MSS clamping». Она удобна, так как решает проблему без изменения настроек на каждом устройстве.

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

Типичные значения и когда они разные

Для обычного подключения по Ethernet значение 1500 — норма. Для PPPoE 1492. Для подключений с дополнительной инкапсуляцией значение ещё ниже: каждый слой добавляет свой заголовок. Например, дополнительный слой инкапсуляции поверх PPPoE потребует уменьшить MTU на размер его заголовков. Точные числа зависят от протокола, и универсального значения нет, поэтому проверка ping надёжнее любых таблиц.

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

После нахождения значения запишите его и объясните себе, откуда оно взялось. Через год при смене роутера это сэкономит время.

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

🛡️ Интернет по-прежнему нестабилен?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
MTUMSSpingнастройка

Часто задаваемые вопросы

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