Открыть сервис

Максимальный размер передаваемого блока данных

Максимальный размер передаваемого блока данных (англ. Maximum Transmission Unit, MTU) — это наибольший размер одного пакета (или кадра) данных, который может быть передан через сетевой интерфейс или протокол без необходимости фрагментации. Параметр MTU является фундаментальной характеристикой сетевых технологий, определяющей эффективность и надёжность передачи информации. Значение MTU измеряется в байтах (или октетах) и включает заголовки протоколов сетевого и транспортного уровней, но не включает заголовки канального уровня (например, заголовки Ethernet или PPP).

История и происхождение

Понятие MTU возникло в контексте развития ранних компьютерных сетей. В 1970-х годах, при создании протоколов ARPANET, предшественника современного Интернета, возникла необходимость в стандартизации размера передаваемых данных. Разные сетевые технологии (например, Ethernet, Token Ring, FDDI) имели различные ограничения на размер кадров. Для обеспечения совместимости между разнородными сетями был разработан механизм фрагментации IP-пакетов, а параметр MTU стал ключевым для определения необходимости этой процедуры.

В 1981 году в RFC 791 (Internet Protocol) были заложены основы IP-фрагментации, где MTU упоминается как характеристика канального уровня. В 1988 году в RFC 1063 был предложен механизм Path MTU Discovery (PMTUD), позволяющий автоматически определять минимальный MTU на пути передачи данных между двумя узлами. Этот механизм стал стандартом де-факто для современных сетей TCP/IP.

Классификация и виды MTU

По уровню стека протоколов

MTU различается в зависимости от уровня модели OSI, на котором он рассматривается:

  • Канальный MTU (Layer 2 MTU) — максимальный размер кадра, который может быть передан через физическую среду. Например, для Ethernet стандартное значение — 1500 байт, для FDDI — 4352 байта, для ATM — 48 байт (полезная нагрузка ячейки).
  • Сетевой MTU (Layer 3 MTU) — максимальный размер IP-пакета, который может быть передан без фрагментации. Обычно совпадает с канальным MTU за вычетом размера заголовков канального уровня (например, для Ethernet — 1500 байт).
  • Транспортный MTU (Layer 4 MTU)максимальный размер сегмента TCP или UDP, который может быть передан без фрагментации. Зависит от сетевого MTU и размера заголовков TCP/IP (обычно 40 байт для IPv4, 60 байт для IPv6).

По способу определения

  • Фиксированный MTU — задаётся жёстко для конкретного интерфейса или протокола (например, 1500 для Ethernet, 576 для PPPoE).
  • Динамический MTU — определяется автоматически в процессе работы сети, например, с помощью PMTUD или протокола ICMP.
  • Jumbo MTU (Jumbo Frames) — увеличенный MTU, используемый в высокопроизводительных сетях (например, 9000 байт для Ethernet Jumbo Frames).

По типу сети

  • Проводные сети: Ethernet (1500, 9000 для Jumbo Frames), Token Ring (4096), FDDI (4352).
  • Беспроводные сети: Wi-Fi (2272 или 2304 в зависимости от стандарта, но часто ограничивается 1500 для совместимости), сотовые сети (зависит от технологии — 1500 для LTE, 1500 для 5G NR).
  • Виртуальные сети: VPN-туннели (обычно 1400–1500 байт, с учётом заголовков инкапсуляции), VLAN (1500).
  • Сети с низкой пропускной способностью: PPP (576 байт), SLIP (1006 байт).

Устройство и механизмы работы

Фрагментация IP-пакетов

Когда IP-пакет превышает MTU следующего сетевого сегмента, он подвергается фрагментации. Процесс фрагментации описан в RFC 791:

  • Пакет разбивается на несколько фрагментов, каждый из которых не превышает MTU.
  • Каждый фрагмент содержит заголовок IP с полями: идентификатор (ID), флаг «More Fragments» (MF) и смещение фрагмента (Fragment Offset).
  • Фрагменты передаются независимо и могут прибыть в разном порядке.
  • Получатель собирает фрагменты обратно в исходный пакет на основе ID и смещения.

Фрагментация увеличивает накладные расходы и может приводить к потере производительности. В современных сетях она часто нежелательна, и предпочтение отдаётся механизмам, избегающим фрагментации.

Path MTU Discovery (PMTUD)

PMTUD — это механизм, позволяющий двум хостам определить минимальный MTU на всём пути передачи данных. Процесс:

  1. Отправитель устанавливает флаг «Don’t Fragment» (DF) в IP-заголовке.
  2. Если на пути встречается сегмент с меньшим MTU, маршрутизатор отправляет ICMP-сообщение «Fragmentation Needed» (тип 3, код 4) с указанием нового MTU.
  3. Отправитель уменьшает размер пакета до указанного значения и повторяет отправку.
  4. Процесс повторяется, пока пакет не достигнет получателя без фрагментации.

PMTUD поддерживается в протоколах TCP (через MSS) и UDP (через ICMP). Однако он может быть неэффективен в сетях с блокировкой ICMP (например, в корпоративных файрволах), что приводит к проблемам с доставкой пакетов.

MSS (Maximum Segment Size)

MSS — это параметр протокола TCP, который определяет максимальный размер полезных данных (без заголовков TCP и IP) в одном сегменте. Обычно MSS = MTU — 40 (для IPv4) или MSS = MTU — 60 (для IPv6). Например, для стандартного Ethernet MTU 1500 байт MSS = 1460 байт. MSS согласовывается между хостами в начале TCP-соединения и может быть изменён в процессе через PMTUD.

Применение и значение

Оптимизация производительности сети

Правильный выбор MTU критически важен для производительности сети:

  • Слишком большой MTU (например, 9000 байт для Jumbo Frames) уменьшает накладные расходы на заголовки и повышает пропускную способность, но может вызывать задержки при передаче небольших пакетов и проблемы с совместимостью.
  • Слишком маленький MTU (например, 576 байт) увеличивает количество пакетов и нагрузку на процессоры маршрутизаторов, снижая общую производительность.

Совместимость и надёжность

MTU обеспечивает совместимость между различными сетевыми технологиями. Например, при передаче данных через VPN-туннель (например, OpenVPN, WireGuard) MTU уменьшается на размер заголовков инкапсуляции (обычно 40–60 байт), чтобы избежать фрагментации внутри туннеля. Если MTU не настроен правильно, могут возникать проблемы с доставкой пакетов, особенно при использовании протоколов, чувствительных к задержкам (например, VoIP, видеоконференции).

Безопасность

MTU может использоваться в атаках типа «фрагментация IP» (например, Tiny Fragment Attack или Overlapping Fragment Attack), когда злоумышленник манипулирует фрагментами для обхода файрволов или систем обнаружения вторжений. Для защиты от таких атак применяются фильтрация фрагментов, настройка MTU на уровне файрволов и использование протоколов без фрагментации (например, TCP с MSS).

Примеры и практические аспекты

В России

В российских сетях, в том числе в сетях операторов связи (например, «Ростелеком», «МТС», «Билайн»), стандартное значение MTU для Ethernet составляет 1500 байт. Для подключений по технологии PPPoE (например, в домашних сетях) MTU часто уменьшается до 1492 байт (1500 — 8 байт заголовка PPPoE). Для VPN-подключений (например, к корпоративным сетям) MTU может быть настроен на 1400–1450 байт.

В операционных системах

В ОС семейства Windows MTU можно настроить через реестр (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces) или командой netsh interface ipv4 set subinterface "Имя интерфейса" mtu=XXXX store=persistent. В Linux — через команду ip link set dev eth0 mtu XXXX или в файле конфигурации сетевого интерфейса (/etc/network/interfaces). В macOS — через sudo ifconfig en0 mtu XXXX.

Проблемы и их решение

  • Проблема «чёрной дыры» (Black Hole Router): когда маршрутизатор не отправляет ICMP-сообщения о необходимости фрагментации, и пакеты теряются. Решение — настройка PMTUD с принудительным уменьшением MTU или использование протокола TCP с MSS clamping.
  • Несовместимость Jumbo Frames: не все коммутаторы и маршрутизаторы поддерживают Jumbo Frames (9000 байт). При передаче через такие устройства пакеты могут фрагментироваться или отбрасываться. Решение — настройка MTU на всех устройствах в сегменте сети.

Интересные факты

  • Максимальный размер IP-пакета (без фрагментации) ограничен 65 535 байтами (2^16 — 1), но на практике MTU редко превышает 9000 байт.
  • В протоколе IPv6 фрагментация выполняется только на хосте-отправителе, а не на маршрутизаторах, что упрощает обработку пакетов.
  • Для протокола Ethernet стандарт IEEE 802.3 определяет максимальный размер кадра в 1518 байт (включая заголовки MAC и FCS), что соответствует MTU 1500 байт для IP.
  • В сетях с низкой пропускной способностью (например, спутниковых) MTU может быть уменьшен до 256–512 байт для снижения задержек и потерь.

Источники

  • RFC 791 — Internet Protocol (1981)
  • RFC 1063 — Path MTU Discovery (1988)
  • RFC 1191 — Path MTU Discovery for IP (1990)
  • RFC 2460 — Internet Protocol, Version 6 (IPv6) Specification (1998)
  • IEEE 802.3 — Ethernet Standard (2022)
  • Таненбаум Э., Уэзеролл Д. — «Компьютерные сети» (5-е издание, 2012)
  • Стивенс У. Р. — «TCP/IP. Иллюстрированное руководство. Том 1» (2003)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →