📦 MTU: максимальный размер пакета
Кратко: MTU (Maximum Transmission Unit) — это максимальный размер пакета (в байтах), который может пройти через сетевое соединение без фрагментации. Если пакет больше MTU — его либо разрезают (фрагментируют), либо отбрасывают. Неправильный MTU — одна из главных причин, почему "интернет тормозит, а сайты открываются через раз".
▫️Как устроено Стандартные значения: · Ethernet — 1500 байт (классика для локальных сетей) · Wi-Fi — 1500–2304 байт (зависит от стандарта) · PPPoE (домашний интернет) — 1492 байта (минус 8 байт на служебные заголовки) · VPN (IPsec, OpenVPN) — 1400–1450 байт (добавляется шифрование) · Jumbo Frames — 9000 байт (в дата-центрах для скорости) · IPv4 — теоретический максимум 65535 байт, но на практике ограничен MTU канала · IPv6 — вообще не поддерживает фрагментацию на маршрутизаторах. Пакет либо проходит целиком, либо падает
▫️Почему MTU важен · Фрагментация — когда пакет больше MTU, роутер режет его на куски. Это замедляет передачу, загружает процессор роутера. При потере одного куска пересылается весь пакет · Path MTU Discovery (PMTUD) — механизм, который находит максимальный MTU по пути. Отправитель посылает большие пакеты с флагом "не фрагментировать". Если пакет не проходит, роутер возвращает ICMP "нужна фрагментация" и подсказывает свой MTU. Отправитель уменьшает размер и пробует снова · Чёрные дыры (Black Holes) — когда ICMP-сообщения блокируются фаерволом, PMTUD ломается. Отправитель не получает ответа и ждёт, пока не сработает таймаут. Итог: сайт не открывается, хотя пинг идёт
▫️Как проверить и подобрать MTU 1. Пинг с флагом "не фрагментировать" Windows: ping -f -l 1472 8.8.8.8 Linux/Mac: ping -M do -s 1472 8.8.8.8 Максимальный рабочий размер = MTU - 28 (20 байт IP-заголовок + 8 байт ICMP) 2. Подбор значения · Начинаем с 1472 (MTU 1500). Если пинг идёт — увеличиваем до 1473 (MTU 1501). Не идёт — уменьшаем, пока не найдём максимум · Для PPPoE часто работает 1452 (MTU 1480) или 1464 (MTU 1492) 3. Изменение MTU Linux: ip link set dev eth0 mtu 1400 Windows: netsh interface ipv4 set subinterface "Ethernet" mtu=1400 store=persistent Маршрутизаторы — в админке, обычно в разделе WAN / Advanced
▫️Где MTU ломает жизнь · PPPoE-подключения — многие забывают вычесть 8 байт на заголовок. Скорость падает, сайты зависают · VPN — добавочные заголовки (IPsec +50 байт, OpenVPN +40–60) заставляют уменьшать MTU на клиенте · IPv6 без PMTUD — если ICMPv6 заблокирован, крупные пакеты просто теряются. Сайт не грузится, но пинг идёт · Туннели (GRE, IPIP) — накидывают свои заголовки, требуя уменьшения MTU внутри туннеля
▫️Культурный феномен · "MTU 1500" — стандарт, который все знают, но почти никто не проверяет · Jumbo Frames — элитарная фишка дата-центров. 9000 байт вместо 1500, скорость выше, CPU грузится меньше · Path MTU Discovery — механизм, который почти всегда работает, пока не ломается. Тогда все винят "плохой интернет" · "Смени MTU" — совет, который дают на форумах, когда ничего не помогает. И иногда он реально помогает
▫️Современное положение (2026) · Основные сети (провайдеры, дата-центры) держат MTU 1500. Поддержка Jumbo Frames (9000) есть в оборудовании, но требует настройки на всех участках пути · Домашний интернет — PPPoE всё ещё популярен. MTU по умолчанию часто занижен до 1492 или 1480, но пользователи об этом не знают · IPv6 — без ICMPv6 и работающего PMTUD сеть работает плохо. Провайдеры и облака стали реже блокировать ICMP, чтобы не ломать клиентам жизнь · Облака (AWS, Yandex Cloud) — MTU между виртуалками часто 1500, но в туннелях (VPC, VPN) может быть меньше. Рекомендуют настраивать 1400–1450 для надёжности
#mtu #сети #ethernet #pmtud #фрагментация #ipv6 #диагностика