Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Максимальный размер сегмента (MSS)
1 460
байт полезных данных TCP на сегмент
MTU 1 500 bytes
Заголовок IP 20 bytes
Заголовок TCP 20 bytes
Суммарные накладные расходы 40 bytes

Что такое калькулятор MTU и MSS?

Этот инструмент пересчитывает значение максимального блока передачи (MTU) сети в максимальный размер сегмента (MSS), который использует протокол TCP. MTU — это самый крупный пакет (в байтах), который способен пропустить канал связи; MSS показывает, сколько именно полезных данных TCP помещается внутри этого пакета после вычета заголовков IP и TCP. Правильно подобранный MSS избавляет от фрагментации, повторных передач и пресловутой «чёрной дыры PMTUD», из-за которой соединения попросту зависают.

Как пользоваться калькулятором

Укажите MTU вашего канала (для Ethernet по умолчанию это 1500), выберите IPv4 (базовый заголовок 20 байт) или IPv6 (базовый заголовок 40 байт) и при необходимости добавьте байты на опции IP или опции TCP — например, на временные метки (timestamps) и SACK (обычно 12 байт). Калькулятор вычтет суммарные накладные расходы на заголовки и выдаст MSS в байтах.

Разбираем формулу

Зависимость предельно простая: $$\text{MSS} = \text{MTU} - \text{заголовок IP} - \text{заголовок TCP}$$ Стандартный заголовок TCP занимает 20 байт. Стандартный заголовок IPv4 — тоже 20 байт, поэтому классическая «формула на скорую руку» выглядит так: \(\text{MSS} = \text{MTU} - 40\). В IPv6 фиксированный заголовок весит 40 байт, что даёт \(\text{MSS} = \text{MTU} - 60\). Любые согласованные опции прибавляются к соответствующему заголовку и дополнительно уменьшают объём полезных данных.

Реклама
Схема IP-пакета с заголовком IP, заголовком TCP и полезной нагрузкой MSS внутри MTU
MTU — это весь пакет; MSS — это данные, оставшиеся после вычитания заголовков IP и TCP.

Пример расчёта

В обычной сети Ethernet MTU равен 1500 байт. Для IPv4: заголовок IP = 20, заголовок TCP = 20, итого накладных расходов = 40. Значит, $$\text{MSS} = 1500 - 40 = 1460 \text{ байт}$$ Если временные метки TCP добавляют 12 байт опций, заголовок TCP вырастает до 32 байт, и MSS снижается до $$\text{MSS} = 1500 - 20 - 32 = 1448 \text{ байт}$$

Частые вопросы

Почему у меня MSS почти всегда равен 1460? Потому что большинство каналов работают с MTU 1500 байт, а стандартные 40 байт заголовков IPv4 и TCP оставляют ровно 1460 байт под данные.

Входят ли заголовки в MSS? Нет. MSS — это строго размер полезной нагрузки TCP; заголовки IP и TCP добавляются поверх неё и формируют полный пакет.

А как быть с PPPoE или туннелями? Инкапсуляция уменьшает эффективный MTU (PPPoE добавляет 8 байт, из-за чего MTU становится 1492; VPN отнимает ещё больше). Просто введите этот уменьшенный MTU, и калькулятор посчитает правильный MSS.

Последнее обновление: