Калькулятор задержки и пропускной способности сети

Введите скорость канала, время кругового обхода и размер передачи, чтобы увидеть реальный предел одного TCP-потока — с указанием узкого места, времени передачи и всех подстановок.

Путь

Самый медленный участок на пути — часто номинальная скорость вашего тарифа.
Время пинга до дальнего конца — используйте наибольшее значение, которое вы ожидаете под нагрузкой.

Передача

Полезная нагрузка для перемещения — файл, резервная копия, набор данных.

Параметры TCP

Байты, которые получатель может буферизовать. 65,535 — это максимум без масштабирования; пусто = без ограничений по окну.
Байты полезной нагрузки на пакет — 1,460 заполняют стандартный кадр Ethernet. Пусто = игнорировать накладные расходы и потери.
Средняя вероятность потери пакетов. Пусто или 0 = без ограничений по потерям.

Пропускная способность и время передачи

Ожидаемая пропускная способность TCP

Введите скорость канала, время кругового обхода и размер данных.

Формулы и подстановка значений

пропускная способность = min(rate × eff, window ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = rate × RTT

    Каждое вводимое вами значение рассчитывается в этом браузере — никуда ничего не отправляется.

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

    Почему моя скорость передачи ниже, чем скорость канала, за которую я плачу?

    Один поток TCP сталкивается с тремя независимыми пределами, и побеждает наименьший из них. Накладные расходы протокола урезают сам канал примерно на 5% — стандартный кадр Ethernet переносит 1,460 байт полезной нагрузки из 1,538 байт в физическом канале. Окно приема ограничивает пропускную способность как окно ÷ RTT, поэтому классическое окно в 65,535 байт ограничивает путь с задержкой 50 мс примерно до 10.5 Mbit/s независимо от скорости канала. А потери ограничивают ее как (MSS ÷ RTT) ÷ √потерь. Результат выше показывает, какой именно предел является определяющим для ваших чисел.

    Что такое произведение пропускной способности на задержку и почему оно определяет размер окна?

    BDP (произведение пропускной способности на задержку) — скорость канала × время кругового обхода — это объем данных, находящихся в пути в любой момент времени. TCP может иметь не более одного неподтвержденного окна в полете, поэтому окно меньше BDP оставляет канал частично пустым: при 100 Mbit/s и RTT 50 мс в канале помещается 625 кБ, а окно в 65,535 байт заполняет едва ли десятую его часть. Вот почему для быстрых и протяженных путей требуется масштабирование окон TCP (RFC 7323), которое увеличивает согласуемый максимум с 65,535 байт примерно до 1 ГБ.

    Как потеря пакетов ограничивает пропускную способность TCP?

    TCP трактует потерю как перегрузку и сокращает скорость отправки вдвое при каждом событии потери, поэтому даже крошечные доли потерь имеют значение на быстрых путях. Модель Mathis оценивает предел как (MSS ÷ RTT) ÷ √p — при потере 0.01% на пути с задержкой 50 мс и MSS 1,460 байт это составляет около 23 Mbit/s, независимо от скорости канала. Модель предполагает равномерно распределенные, независимые события потерь; при потерях ниже примерно 1% она хорошо отражает реальность, а для пакетных потерь дает оптимистичный прогноз.

    Совпадают ли мегабайты здесь с мегабайтами в моем файловом менеджере?

    Не совсем. На этой странице используются десятичные единицы, принятые в сетевых технологиях: 1 kbit = 1,000 бит и 1 МБ = 1,000,000 байт. Большинство файловых менеджеров считают в единицах на основе 1024, часто ошибочно обозначая их как МБ — файл размером «100 МБ» там обычно равен 100 MiB ≈ 104.86 десятичных МБ, поэтому его передача занимает примерно на 5% больше времени, чем предполагает десятичное значение. Введите здесь 104.86 МБ, чтобы получить точное совпадение.

    Ограничения пропускной способности TCP и их расчет

    Реальная скорость передачи данных в сети редко достигает номинальной пропускной способности физического канала. При использовании протокола TCP производительность одного потока ограничивается тремя независимыми факторами: физической скоростью соединения с учетом накладных расходов протоколов, размером окна приема на принимающей стороне и потерей пакетов на сетевом пути.

    Инструмент «Калькулятор задержки и пропускной способности сети» позволяет рассчитать теоретический и практический предел скорости для одного TCP-соединения на основе заданных параметров сетевого пути. Вводя такие параметры, как скорость канала, время кругового обхода (RTT) и размер передаваемых данных, можно мгновенно определить наиболее узкое место, ограничивающее передачу, узнать ожидаемую скорость и общее время выполнения операции.

    Входные параметры сетевого пути и TCP

    Для точного моделирования производительности соединения в калькуляторе используются следующие параметры:

    • Пропускная способность канала: скорость самого медленного участка на пути, которая часто соответствует номинальной скорости вашего тарифного плана. В качестве единицы измерения используется «Единица скорости». Значение должно быть строго больше нуля. Дополнительную информацию по этому полю можно найти в подсказке: «Самый медленный участок на пути — часто номинальная скорость вашего тарифа.».
    • Время кругового обхода (RTT): время пинга до дальнего конца сетевого пути. Рекомендуется указывать наибольшее значение, которое ожидается под нагрузкой. В качестве единицы измерения выступает «Единица времени». Значение должно быть больше нуля. Подсказка к полю: «Время пинга до дальнего конца — используйте наибольшее значение, которое вы ожидаете под нагрузкой.».
    • Размер данных: объем полезной нагрузки, которую необходимо передать (например, файл, резервная копия или набор данных). Измеряется в поле «Единица размера» и должно превышать ноль. Подсказка к полю: «Полезная нагрузка для перемещения — файл, резервная копия, набор данных.».
    • Окно приема: объем данных в байтах, который получатель может буферизовать без отправки подтверждения. Значение должно быть больше нуля и не может превышать 1 073 725 440 байт. Если оставить это поле пустым, расчет будет производиться без ограничений по размеру окна. Подсказка к полю: «Байты, которые получатель может буферизовать. 65,535 — это максимум без масштабирования; пусто = без ограничений по окну.».
    • MSS (байт): максимальный размер сегмента (Maximum Segment Size), определяющий количество байт полезной нагрузки в одном пакете. Значение должно быть целым числом в диапазоне от 1 до 65 495. Если оставить поле пустым, калькулятор проигнорирует накладные расходы протоколов и потери пакетов. Подсказка к полю: «Байты полезной нагрузки на пакет — 1,460 заполняют стандартный кадр Ethernet. Пусто = игнорировать накладные расходы и потери.».
    • Потеря пакетов (%): средняя вероятность потери пакетов на сетевом пути в процентах. Допустимый диапазон значений — от 0 до 100. Пустое поле или ввод 0 означает отсутствие потерь. Подсказка к полю: «Средняя вероятность потери пакетов. Пусто или 0 = без ограничений по потерям.».
    • Десятичные знаки: параметр, управляющий точностью округления выводимых результатов.

    Для быстрого ознакомления с работой калькулятора предусмотрена кнопка «Загрузить пример», которая заполняет поля демонстрационными данными, а также кнопка «Очистить» для сброса всех введенных параметров.

    Выходные показатели и результаты вычислений

    После ввода данных калькулятор формирует подробный отчет, разделенный на несколько информационных блоков.

    Пропускная способность и время передачи

    В главном блоке результатов отображаются ключевые метрики эффективности передачи:

    • Ожидаемая пропускная способность TCP — сопровождается динамической подписью «ограничено через ‹constraint›», где в качестве ограничивающего фактора выступает «пропускную способность канала», «окно приема» или «потерю пакетов».
    • Время передачи
    • Время до первого байта (1 RTT)
    • Время передачи данных
    • Произведение пропускной способности на задержку
    • Окно для заполнения пути
    • Пропускная способность, ограниченная окном
    • Пропускная способность, ограниченная потерями (Mathis)
    • Предел канала после накладных расходов
    • Эффективность протокола

    Для сохранения полученных результатов в буфер обмена предусмотрена кнопка «Копировать результат».

    Динамические системные уведомления

    В зависимости от введенных параметров калькулятор выводит важные предупреждения о поведении протокола TCP на исследуемом пути:

    • Если для заполнения емкости канала требуется окно, превышающее стандартный лимит без масштабирования, выводится сообщение: «Для заполнения этого пути требуется окно ‹window› — это выше немасштабируемого максимума в 65,535 байт, поэтому обе стороны должны согласовать масштабирование окон TCP (RFC 7323).».
    • Если требуемый размер окна превышает абсолютный предел протокола TCP, отображается предупреждение: «Для заполнения этого пути требуется ‹window› — больше максимального окна, которое TCP может согласовать (1,073,725,440 байт). Один поток на этом пути никогда не сможет превысить ‹value›.».
    • Если текущее окно приема искусственно занижает скорость, калькулятор подскажет: «Увеличение окна приема до ‹window› позволило бы этой передаче достичь ‹value›.».
    • При высоком уровне потерь пакетов выводится уведомление: «Потери выше 1% выходят за рамки надежного диапазона модели Mathis — считайте предел потерь оптимистичным.».

    Методология расчетов и формулы

    В блоке «Формулы и подстановка значений» приводится детальный математический разбор вычислений:

    • Основная формула: пропускная способность = min(rate × eff, window ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = rate × RTT
    • Эффективность протокола: Эффективность протокола = MSS ÷ (MSS + 78 B) = ‹mss› ÷ ‹frame› = ‹eff› (заголовки пакетов 40 B + 38 B в физическом канале)
    • Предел канала: Предел канала = скорость × эффективность = ‹rate› × ‹eff› = ‹value›
    • BDP: BDP = скорость × RTT = ‹rate› × ‹rtt› = ‹bdp› = ‹bytes›
    • Окно для заполнения пути: Окно для заполнения пути = BDP ÷ 8 = ‹bdp› → ‹window›
    • Предел окна: Предел окна = окно ÷ RTT = ‹window› ÷ ‹rtt› = ‹value›
    • Предел из-за потерь (Mathis): Предел из-за потерь (Mathis) = MSS ÷ RTT ÷ √p = ‹mss› ÷ ‹rtt› ÷ √‹p› = ‹value›
    • Ожидаемая пропускная способность: Ожидаемая пропускная способность = наименьший из этих пределов = ‹value› → ограничено через ‹constraint›
    • Время передачи: Время передачи = RTT + 8 × размер ÷ пропускная способность = ‹rtt› + 8 × ‹size› ÷ ‹throughput› = ‹time›

    Правила обработки данных и допущения модели

    При анализе результатов необходимо учитывать заложенные в модель правила и ограничения:

    1. Десятичные единицы: Все расчеты используют стандартные десятичные сетевые единицы (1 kbit = 1 000 бит, 1 МБ = 1 000 000 байт). Файловые менеджеры операционных систем обычно используют двоичные единицы на основе 1024 (где 100 МБ в файловой системе фактически равны 100 MiB или примерно 104.86 десятичным МБ).
    2. Накладные расходы: Модель учитывает стандартные накладные расходы Ethernet, добавляя 78 байт к каждому пакету (40 байт на заголовки TCP/IP и 38 байт на физический уровень/кадр). Другие типы каналов связи могут иметь иные показатели накладных расходов.
    3. Границы модели Mathis: Формула Mathis предполагает равномерно распределенные, независимые потери пакетов. Она применима только при уровне потерь менее 1%. При превышении этого порога реальная скорость может оказаться значительно ниже расчетной, а вычисленный предел следует считать избыточно оптимистичным.
    4. Ограничения масштабирования окон: Стандартный протокол TCP без использования расширения RFC 7323 ограничен размером окна в 65 535 байт. Максимальный размер окна, который может быть согласован с помощью масштабирования окон согласно спецификации RFC 7323, составляет 1 073 725 440 байт.
    5. Идеализированное состояние: Расчеты выполняются для установившегося режима работы одного TCP-потока. Модель не учитывает фазу медленного старта (TCP slow start), алгоритмы динамического управления перегрузками, задержки на стороне медленного получателя и время, затрачиваемое на рукопожатия TLS. В реальных условиях передача всегда начинается медленнее и может не достигать расчетных пиковых значений.

    Конфиденциальность

    Каждое вводимое вами значение рассчитывается в этом браузере — никуда ничего не отправляется. Все вычисления производятся локально на вашем устройстве с помощью JavaScript.

    Часто задаваемые вопросы

    Что такое произведение пропускной способности на задержку и почему оно определяет размер окна?
    BDP (произведение пропускной способности на задержку) — скорость канала × время кругового обхода — это объем данных, находящихся в пути в любой момент времени. TCP может иметь не более одного неподтвержденного окна в полете, поэтому окно меньше BDP оставляет канал частично пустым: при 100 Mbit/s и RTT 50 мс в канале помещается 625 кБ, а окно в 65,535 байт заполняет едва ли десятую его часть. Вот почему для быстрых и протяженных путей требуется масштабирование окон TCP (RFC 7323), которое увеличивает согласуемый максимум с 65,535 байт примерно до 1 ГБ.

    Почему моя скорость передачи ниже, чем скорость канала, за которую я плачу?
    Один поток TCP сталкивается с тремя независимыми пределами, и побеждает наименьший из них. Накладные расходы протокола урезают сам канал примерно на 5% — стандартный кадр Ethernet переносит 1,460 байт полезной нагрузки из 1,538 байт в физическом канале. Окно приема ограничивает пропускную способность как окно ÷ RTT, поэтому классическое окно в 65,535 байт ограничивает путь с задержкой 50 мс примерно до 10.5 Mbit/s независимо от скорости канала. А потери ограничивают ее как (MSS ÷ RTT) ÷ √потерь. Результат выше показывает, какой именно предел является определяющим для ваших чисел.

    Как потеря пакетов ограничивает пропускную способность TCP?
    TCP трактует потерю как перегрузку и сокращает скорость отправки вдвое при каждом событии потери, поэтому даже крошечные доли потерь имеют значение на быстрых путях. Модель Mathis оценивает предел как (MSS ÷ RTT) ÷ √p — при потере 0.01% на пути с задержкой 50 мс и MSS 1,460 байт это составляет около 23 Mbit/s, независимо от скорости канала. Модель предполагает равномерно распределенные, независимые события потерь; при потерях ниже примерно 1% она хорошо отражает реальность, а для пакетных потерь дает оптимистичный прогноз.

    Совпадают ли мегабайты здесь с мегабайтами в моем файловом менеджере?
    Не совсем. На этой странице используются десятичные единицы, принятые в сетевых технологиях: 1 kbit = 1,000 бит и 1 МБ = 1,000,000 байт. Большинство файловых менеджеров считают в единицах на основе 1024, часто ошибочно обозначая их как МБ — файл размером «100 МБ» там обычно равен 100 MiB ≈ 104.86 десятичных МБ, поэтому его передача занимает примерно на 5% больше времени, чем предполагает десятичное значение. Введите здесь 104.86 МБ, чтобы получить точное совпадение.