Почему наблюдаемая скорость всегда ниже, чем ожидаемая

В IP сетях для передачи полезных данных нужны еще и служебные, которыми пользуется весь комплекс устройств и программного обеспечения, которое ими управляет (и роутерами, и фаерволлами, и телефонами с компьютерами, и любой софт в виде vpn-клиента, мессенжера или видеосервиса).

Из чего состоит overhead

Основные компоненты накладных расходов для классического Ethernet:

При использовании HTTPS/TLS часть полосы дополнительно расходуется на заголовки записей TLS, поля MAC/AEAD и служебную информацию шифрования. При типичных настройках это добавляет десятки байт к каждому фрагменту прикладных данных, из‑за чего реальный полезный объём для пользователя становится ещё меньше.

Примеры расчётов накладных расходов

1. Максимальный размер пакета (близко к MTU)

Предположим MTU 1500 байт, IP‑заголовок 20 байт и TCP‑заголовок 20 байт. Тогда полезная нагрузка TCP (payload) составляет 1460 байт. Добавляем Ethernet‑заголовок и FCS (18 байт), преамбулу и SFD (8 байт), IFG (12 байт).

Полный размер «на проводе» ≈ 1460 (payload) + 20 (IP) + 20 (TCP) + 18 (Eth+FCS) + 8 (Preamble+SFD) + 12 (IFG) = 1538 байт.

Доля полезной нагрузки: 1460 / 1538 ≈ 95 %. То есть около 5 % полосы уходит на служебные данные и интервалы.

2. Средний размер пакета (условный пример, около 500 байт payload)

Пусть TCP payload ≈ 500 байт. Тогда общий размер на уровне IP ≈ 500 + 20 (IP) + 20 (TCP) = 540 байт. Добавляем Ethernet‑часть и интервалы: 18 + 8 + 12 = 38 байт.

Полный размер «на проводе» ≈ 540 + 38 = 578 байт.

Доля полезной нагрузки: 500 / 578 ≈ 86 %. Около 14 % полосы занимает overhead.

3. Протоколы с маленькими пакетами (VoIP, ACK, небольшие запросы)

Рассмотрим маленький payload, например 50 байт. Тогда на уровне IP имеем 50 + 20 (IP) + 20 (TCP) = 90 байт. С учётом Ethernet‑заголовка, FCS, преамбулы и IFG добавляем ещё 38 байт.

Полный размер «на проводе» ≈ 90 + 38 = 128 байт.

Доля полезной нагрузки: 50 / 128 ≈ 39 %. То есть более 60 % полосы уходит на служебные заголовки и интервалы, что сильно снижает эффективную скорость для приложений, работающих с мелкими пакетами.

При подготовке материала использовались данные и пояснения из статьи Richard Hay — IP Packet Overhead .