Кратко

  • RFC 6928 задаёт десять сегментов как необязательный верхний предел, зависящий от MSS; реализация вправе начать с меньшего значения.
  • IW10 сокращает раунды короткой передачи, заранее занимая больше очереди, поэтому измерение первого выброса и возврат к RFC 3390 являются частью механизма.

Трёхэтапное рукопожатие подтверждает стороны, но не показывает свободную полосу, глубину буфера или число конкурирующих потоков. Начальное окно решает, сколько данных TCP вложит в эту неопределённость до того, как ACK начнут описывать путь.

RFC 6928 установил предел min(10*MSS, max(2*MSS, 14600)). Десять — разрешённый максимум, а не обязательный объём. Изменение относится к первому RTT данных во время или после рукопожатия; SYN/ACK и завершающий его ACK окно не увеличивают.

Это не повтор TCP Fast Open. Fast Open переносит прикладные данные до завершения рукопожатия. IW10 сохраняет обычный порядок и увеличивает первый пакет данных установленного соединения. Один механизм меняет момент запроса, другой — нагрузку, принятую до сигнала о перегрузке.

Выигрыш рассчитан для конкретных условий

В упрощённой модели RFC — бесконечная полоса, отсутствие потерь и стандартные отложенные ACK — переход от трёх к десяти сегментам экономит до четырёх RTT для передач свыше 4 КБ. Пример из 32 сегментов завершается за два раунда вместо пяти. Большое окно также чаще создаёт достаточно повторных ACK, чтобы Fast Retransmit восстановил потерю без ожидания начального RTO.

Этот расчёт объясняет механику, а не гарантирует современный результат. Окно приёма меньше десяти сегментов ограничивает пользу. Приведённые тесты в основном использовали Ethernet MTU 1 500 байт. Параллельные соединения складывают отдельные выбросы: умеренное действие на сокет может стать агрессивным на уровне приложения.

Цена сначала приходит в очередь

На медленном доступе, малом буфере или загруженном маршрутизаторе первый выброс может вызвать раннее отбрасывание, тайм-аут либо преждевременный выход из slow start. Поток IW10 способен сначала занять больше ёмкости, чем поток RFC 3390. Длинные очереди доступа переносят задержку на DNS, голос, игры и другой чувствительный трафик.

RFC считает маловероятным, что одно увеличение само создаст устойчивую перегрузку: дальнейший откат TCP сохраняется. Но «одно» означает одно на соединение. Страница или сервис со множеством одновременных соединений повторяет это действие в совокупности.

Окно потери остаётся минимальным

Документ разделяет начальное окно, окно возобновления после простоя и окно потери после RTO. Возобновление не превышает меньшего из начального значения и текущего cwnd. Окно потери остаётся равным одному MSS как минимальная реакция на тяжёлую перегрузку. Если после более чем 4 КБ в начальном или возобновлённом окне обнаружена потеря, возобновление следует вернуть к RFC 3390.

На низкоскоростном пути время сериализации выброса может доминировать над RTT и создать ложную повторную передачу. Поэтому RFC 6928 требует RFC 6298: перезапускать текущий RTO при каждом ACK новых данных.

Граница источника

Единственный источник — RFC 6928, опубликованный как Experimental в апреле 2013 года. Он подтверждает формулу, сравнения и условия. Он не доказывает, какие современные системы используют IW10, результат конкретной сети или безопасность значений выше десяти.