MTU — максимальный размер передаваемого блока данных¶
MTU (Maximum Transmission Unit, максимальный размер блока передачи данных) — максимальный объём полезной нагрузки (payload), который может быть передан в одном пакете данных на определённом сетевом интерфейсе без фрагментации. Измеряется в байтах и включает заголовок сетевого протокола (обычно IPv4 или IPv6), но не включает заголовок канального уровня (например, Ethernet). MTU является фундаментальной характеристикой любой сетевой технологии — от Ethernet и Wi-Fi до PPPoE и туннелей.
¶История и стандарты
Понятие MTU появилось в конце 1970-х — начале 1980-х годов вместе с развитием пакетных сетей. В стандарте Ethernet (IEEE 802.3) максимальный размер кадра изначально составлял 1500 байт полезной нагрузки, и это значение стало де-факто отраслевым стандартом для проводных сетей. Стандарт IEEE 802.3 также допускает jumbo-фреймы размером до 9000 байт, однако они не поддерживаются всеми устройствами и не являются частью базового стандарта.
Для IPv6 минимально допустимый MTU интерфейса составляет 1280 байт — это зафиксировано в RFC 2460 (и позднее в RFC 8200). Узлы IPv6 обязаны уметь работать с таким значением, что упрощает взаимодействие через сети с ограниченным размером пакетов.
¶Типичные значения MTU
| Технология | Стандартный MTU | Примечание |
|---|---|---|
| Ethernet / Wi-Fi | 1500 байт | Наиболее распространённое значение |
| PPPoE | 1492 байт | Меньше на 8 байт из-за заголовка PPPoE |
| Jumbo Frames | 9000 байт | Не поддерживается всеми устройствами |
| IPv6 (минимум) | 1280 байт | Обязательный минимум по стандарту |
| Loopback | 65536 байт | Виртуальный интерфейс в ОС |
| GRE / IPsec-туннели | 1400–1480 байт | Зависит от заголовков туннеля |
¶Принцип работы
При передаче данных сетевой стек определяет MTU выходного интерфейса. Если размер пакета превышает MTU, возможны два сценария:
- Фрагментация — если у пакета установлен флаг «DF» (Don't Fragment, «не фрагментировать»), он отбрасывается, а отправителю возвращается ICMP-сообщение «Destination Unreachable: Fragmentation Needed» с указанием необходимого MTU (тип 3, код 4). Если флаг не установлен, пакет разбивается на фрагменты, каждый из которых передаётся отдельно и собирается получателем.
- Path MTU Discovery — механизм, описанный в RFC 1191 для IPv4 и RFC 8899 для IPv6, при котором отправитель автоматически определяет минимальный MTU на всём маршруте до получателя. Если какой-то промежуточный маршрутизатор не может передать пакет заданного размера, он возвращает ICMP-сообщение, и отправитель уменьшает размер пакетов.
¶Проблемы, связанные с MTU
Неправильное значение MTU приводит к характерным сетевым симптомам. Если MTU на маршруте завышен, часть пакетов будет теряться, а соединения — «зависать»: например, открытые сайты загружаются, а SSH-сессия или VPN-туннель работать отказываются, поскольку они используют пакеты близкие к предельному размеру.
Частая проблема возникает при использовании PPPoE (широкополосные провайдеры DSL), где MTU составляет 1492 байт вместо стандартных 1500. Если клиентский компьютер настроен на 1500, часть TCP-соединений может работать некорректно.
Ещё одна распространённая ситуация — VPN и туннели (IPsec, OpenVPN, WireGuard, GRE). Добавление заголовков туннеля уменьшает доступный MTU, поэтому в туннеле обычно устанавливают значение 1400–1420 байт, а на уровне IP-стека включают MSS Clamping (ограничение размера TCP-сегмента) или PMTUD.
¶Настройка MTU
В Linux значение MTU интерфейса задаётся командой ip link set dev eth0 mtu 1500 или утилитой ifconfig eth0 mtu 1500. В Windows параметр изменяется через свойства сетевого адаптера или PowerShell (Set-NetAdapterAdvancedProperty). В macOS — через networksetup или системные настройки.
Для проверки текущего MTU в Linux используется команда ip link show, в Windows — netsh interface ipv4 show subinterfaces.
¶Интересные факты
- В виртуальных интерфейсах (loopback) MTU может достигать 65536 байт, так как ограничение физической среды отсутствует.
- Технология Path MTU Discovery долгое время сталкивалась с проблемой: часть файрволов и NAT-устройств блокирует ICMP-сообщения, что ломает автоматическое определение MTU. Из-за этого во многих сетях PMTUD приходится отключать или обходить через MSS Clamping.
- В IPv6 фрагментация выполняется только отправителем (и только в исходном узле), в отличие от IPv4, где фрагментацию может выполнять любой маршрутизатор на пути.
Источники:
- RFC 791 — Internet Protocol (IPv4)
- RFC 2460 / RFC 8200 — Internet Protocol, Version 6 (IPv6) Specification
- RFC 1191 — Path MTU Discovery
- RFC 8899 — Packetization Layer Path MTU Discovery
- IEEE 802.3 — Ethernet Standard
- Документация Linux
ip-link(8)и Microsoft Learn
