Кратко

  • Модель Padhye–Firoiu–Towsley–Kurose предсказывает стационарную скорость отправки для длительной передачи TCP Reno, у которой всегда есть данные.
  • В статье учитываются отправленные пакеты независимо от их дальнейшей судьбы; это не полезно доставленные данные, не ёмкость, доступная полоса, гарантия или квота.
  • Число проверяемо только вместе с окном наблюдения, правилом событий потерь, RTT, RTO, окном приёмника, ACK, вариантом TCP, областью проверки и ошибкой.

Модель начиналась не с канала

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

Статья Modeling TCP Throughput: A Simple Model and its Empirical Validation описывала TCP Reno в режиме предотвращения перегрузки. Источник насыщен и всегда готов отправлять. Окно растёт, указание на потерю уменьшает его, а быстрая повторная передача и истечение тайм-аута задают разные пути восстановления.

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

Тем более оно не выдаёт разрешение. Поведение отправителя под нагрузкой — не документ о том, кому принадлежит ресурс.

Отправка не равна полезной доставке

Авторы определяют throughput как число отправленных пакетов за время, независимо от их последующей судьбы. Это намеренно не goodput.

Если пакет потерялся и был повторён, счётчик отправки видит две операции. Получающее приложение в лучшем случае видит одну новую порцию данных. Заголовки, потери и повторения дальше разделяют эти величины.

Насыщенный источник тоже ограничивает смысл. Реальная программа может ждать диск, базу, пользователя или кодировщик. Тогда она останется ниже прогноза даже на свободном пути. Разницу нельзя автоматически назвать недостающей полосой.

Ёмкость характеризует ресурс при отдельном методе испытания. Доступная полоса зависит от совместного использования и интервала. Доставка требует свидетельства получателя. Одинаковые единицы не объединяют эти факты.

Потери сначала объединялись в события

Reno меняет окно в ответ на указание о потере. Несколько выпавших пакетов внутри одного окна могут составлять один эпизод управления, а не несколько независимых событий.

В модели предполагается независимость потерь между раундами и корреляция внутри раунда; авторы связывают такую структуру с очередями drop-tail. Поэтому правило группировки входит в определение входа.

Один наблюдатель считает каждый пробел в номерах, другой объединяет потери в пределах RTT, третий использует отчёты приёмника и иначе обрабатывает переупорядочивание. Их проценты могут различаться при одной трассе.

Для аудита нужны исходные отметки потерь или ECN, точка наблюдения, часы, период, обработка перестановок и алгоритм события. Десятичное число без этого происхождения не воспроизводится.

Тайм-ауты оказались не редким исключением

Простая история Reno могла бы учитывать только три дублированных ACK и быструю повторную передачу. Экспериментальные следы возражали: почти во всех тайм-аутов было больше, чем событий быстрой передачи.

Полная модель включила оба механизма. Известная аппроксимация сохраняет зависимость от частоты событий потерь, RTT, тайм-аута, размера сегмента, числа пакетов на ACK и максимального окна приёмника.

При этом раунд считается равным одному RTT, текущее окно должно помещаться в него, медленный старт в стационарном режиме считается несущественным, а все подробности быстрого восстановления не моделируются.

Это нормальные границы аналитического инструмента. Но они требуют хранить вариант транспорта, реализацию, ACK и RTO. Поле «TCP» без версии не доказывает применимость.

Проверка была сильной и конечной

Исследование охватило 37 соединений между 18 узлами в США и Европе. Двадцать четыре трассы длились по часу; ещё тринадцать наборов состояли из последовательных стосекундных соединений. Передачи были односторонними, длительными и с бесконечным источником.

В целом модель лучше описывала результаты, чем вариант только с дублированными ACK, а приближённая формула следовала полной. ACM SIGCOMM указывает статью среди обладателей Test of Time Award за 2008 год.

Но модемный путь подходил плохо. Выделенный буфер связывал окно и RTT способом, которого модель не отражала. Реализации Linux, Irix и SunOS также различались, а отдельной подгонки для каждой не было.

Эта граница повышает ценность проверки. Она показывает, когда надо снова изучать буфер, реализацию и режим. Авторы оставили открытыми вопросы восстановления, эволюции окна, распределений потерь, медленных линий и деталей стека.

Причины не выводились однозначно из симптомов

Физическая скорость и конкуренция влияют на очередь, RTT и потери. Те же значения могут возникать из-за расстояния, маршрута, планировщика, ошибки передачи, окна приёмника или самого измерителя.

PFTK предсказывает реакцию контроллера на входы. Он не решает обратную задачу всего интернета, чтобы выделить одну ёмкость. Переименование результата добавляет вывод, которого в расчёте не было.

Так же обстоит с «честной долей». Возникшая при конкуренции скорость — наблюдаемое поведение. Распределение — решение субъекта, контролирующего ресурс.

Отдельное измерение ёмкости не опровергает модель. Оно просто не позволяет прогнозу транспорта заменить доказательство другого рода.

TFRC встроил оценку в управление

RFC 5348 за авторством Sally Floyd, Mark Handley, J. Padhye и J. Widmer задаёт TFRC. Приёмник оценивает события потерь, отправитель измеряет RTT, а слегка упрощённое уравнение Reno вычисляет скорость.

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

TFRC меняет скорость плавнее, но медленнее реагирует на изменения доступной полосы. Это не протокол надёжности; соблюдение расчёта не доказывает доставку.

Поздний стандарт дал уравнению ограниченную функцию внутри контура. Он не сделал его голосом самого канала.

Четыре фамилии в одном сокращении

Microsoft Research публикует имя «Jitu Padhye» рядом с Firoiu, Towsley и Kurose; в статье указано Jitendra Padhye. Официальный материал 2010 года называет его третьим слева на групповой фотографии и фиксирует должность того времени, но не современную.

Padhye — биографический центр текста, однако PFTK хранит инициалы четырёх авторов. Анализ, вывод, эксперименты и опубликованные пределы являются коллективным результатом.

Точная атрибуция даёт техническую прослеживаемость. По ней можно найти версию, предпосылки и исключения. Безличная «формула TCP» отрывается от режима и начинает применяться к другой величине.

У прогноза должна быть собственная ведомость

К числу следует привязать исходные потери или ECN, правило события, период, распределение RTT, RTO, сегмент, отношение ACK, окно приёмника, реализацию, интервалы без спроса, версию формулы и ограничения.

Отдельно хранят прогноз, фактическую отправку, повторения и новую полезную нагрузку у приёмника. Устойчивая ошибка — не шум для удаления, а сигнал об изменившемся измерении, стеке или режиме.

Принцип первичности работающего кода Heng Lu даёт современную линзу: исполнение может опровергать сохранённую модель, но наблюдение остаётся ограничено своей точкой и методом. Это позднее редакционное сравнение, а не утверждение о влиянии на авторов.

Уравнение полезнее всего, когда говорит только своё: ожидаемая скорость определённого транспорта при определённых доказательствах. Ёмкость, доставка и право получают отдельные измерения и свидетельства.

Источники