Введение

Пропускная способность на уровне приложений В компьютерных сетях, goodput (сочетание good и throughput) - это пропускная способность на уровне приложений связи, т.е. количество полезных битов информации, доставляемых сетью к определенному месту назначения за единицу времени. Количество рассматриваемых данных не включает протокольные накладные биты, а также переданные пакеты данных. Это связано с количеством времени от первого бита первого отправленного (или доставленного) пакета до последнего бита последнего пакета. Например, если файл передается, то хорошая производительность, которую испытывает пользователь, соответствует размеру файла в битах, деленному на время передачи файла. Добрая производительность всегда ниже пропускной способности (общая скорость передачи битов, которая передается физически), которая обычно ниже скорости подключения к сети (мощность канала или пропускная способность). Примеры факторов, которые вызывают более низкую производительность, чем пропускная способность: протокольные накладные расходы: как правило, транспортный слой, сетевой слой и иногда протокольный накладный расход на уровне связи данных включены в пропускную способность, но исключены из пропускной способности. Контроль потока транспортного слоя и предотвращение перегрузки: Например, медленный запуск TCP может привести к снижению производительности, чем максимальная пропускная способность. Передача потерянных или поврежденных пакетов из-за автоматического повторного запроса (ARQ) на транспортном уровне, вызванного бит-ошибками или пакетом, выпадающим в перегруженных коммутаторах и маршрутизаторах, включена в пропускную способность уровня связи данных или сетевого уровня, но не в хорошую производительность.

Пример

По Ethernet файлы разбиваются на отдельные куски для передачи. Эти куски не больше максимальной единицы передачи IP через Ethernet или 1500 байтов. Каждый пакет требует 20 байтов информации о заголовке IPv4 и 20 байтов информации о заголовке TCP, оставляя 1460 байтов на пакет для файловых данных (Linux и macOS далее ограничены 1448 байтами, поскольку они также имеют 12-байтовую временную метку). Данные передаются по Ethernet в рамках, что накладывает нагрузку в 26 байтов на пакет. Учитывая эти накладные расходы, максимальная производительность составляет 1460/1526 × 100 Мбит/с, что составляет 95,67 мегабит в секунду или 11,959 мегабайт в секунду. Обратите внимание, что в этом примере не учитываются дополнительные накладные расходы Ethernet, такие как интерфреймный разрыв (минимум 96 бит), или столкновения (которые имеют переменное влияние, в зависимости от нагрузки сети). TCP добавляет накладные расходы на подтверждения (которые вместе с временем задержки в обратном направлении и размером окна TCP в эффекте ограничивают скорость каждого отдельного подключения к TCP, см. Продукт задержки пропускной способности). В этом примере не учитываются накладные расходы самого протокола HTTP, которые становятся актуальными при передаче небольших файлов.