Что такое MTU и почему размер пакета важен
MTU — максимальный размер сетевого пакета, который интерфейс или участок сети может передать без разбиения на этом уровне. На обычном Ethernet часто встречается MTU 1500 байт, но туннели и другие среды могут иметь меньший предел. Для соединения важен самый ограничивающий участок пути.
MTU интерфейса и MTU пути
Значение в настройках сетевой карты описывает локальное соединение, а не автоматически весь маршрут до сервера. Когда пакет проходит через VPN или другую инкапсуляцию, дополнительные заголовки занимают место. Если внутри туннеля оставить прежний размер полезной нагрузки, внешний пакет может стать слишком большим для следующего участка. Path MTU — максимальный размер IP-пакета, который проходит весь конкретный путь. Он может отличаться для разных направлений и адресатов.
MTU не равен размеру передаваемого файла и не равен скорости линии. Приложение может отправить большой объём данных, а транспорт разделит его на подходящие сегменты. Для TCP часто обсуждают MSS — максимальный объём данных в одном сегменте TCP, который меньше MTU из-за заголовков IP и TCP. У IPv4 и IPv6 различаются детали обработки слишком больших пакетов.
Как сеть узнаёт предел
При обнаружении MTU пути узел отправляет пакеты подходящего размера и учитывает сигналы о том, что пакет слишком велик. В IPv4 используется сообщение ICMP о необходимости фрагментации при установленном запрете фрагментации; в IPv6 маршрутизаторы не фрагментируют проходящие пакеты и могут вернуть ICMPv6 Packet Too Big. Если такие сообщения блокируются, некоторые соединения выглядят странно: небольшие запросы работают, а большие ответы зависают. Современные реализации могут применять и другие методы оценки предела.
В RFC 1191 описано обнаружение MTU пути для IPv4, а в RFC 8201 — для IPv6. Точные размеры заголовков и поведение туннеля важны при расчёте, поэтому число 1500 нельзя считать универсальным для всех соединений.
Практическая диагностика
Если проблема появляется только через VPN или некоторые сайты открываются частично, сравните поведение с VPN и без него. Запишите интерфейс, адресат и характер ошибки. Пробы ping с разной полезной нагрузкой и запретом фрагментации могут помочь, но их синтаксис зависит от ОС, а ICMP может фильтроваться. Используйте сетевую проверку как дополнительное наблюдение, а не единственное доказательство причины.
Не уменьшайте MTU всех устройств наугад. Сначала проверьте настройки туннеля и сообщения ICMP в журналах, затем меняйте один параметр за раз и повторяйте тест. Слишком низкий MTU увеличивает долю служебных заголовков и может ухудшить эффективность. Если вы не управляете проблемным участком, передайте провайдеру воспроизводимый пример.
