Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
10.13.11 Дублированные ACK
10.13.11 Дублированные ACK
В некоторых реализациях применяется необязательная возможность — так называемая быстрая повторная пересылка (fast retransmit) — с целью ускорить повторную отправку данных при определенных условиях. Ее основная идея связана с отправкой получателем дополнительных ACK, указывающих на пробел в принятых данных.
Принимая сегмент, поступивший не по порядку, получатель отсылает обратно ACK, указывающий на первый байт потерянных данных (см. рис. 10.21).
Рис. 10.21. Дублированные ACK
Отправитель не выполняет мгновенной повторной пересылки данных, поскольку IP может и в нормальном режиме доставлять данные получателю без последовательности отправки. Но когда получено несколько дополнительных ACK на дублирование данных (например, три), то отсутствующий сегмент будет отправлен, не дожидаясь завершения тайм-аута.
Отметим, что каждый дублирующий ACK указывает на получение сегмента данных. Несколько дублирующих ACK позволяют понять, что сеть способна доставлять достаточный объем данных, следовательно, не слишком сильно нагружена. Как часть общего алгоритма выполняется небольшое сокращение размера нагрузочного окна при реальном увеличении сетевого трафика. В данном случае процесс радикального изменения размера при восстановлении работы не применяется.
- 10.13.1 Медленный старт
- 10.13.2 Синдром "бестолкового окна"
- 10.13.3 Алгоритм Нейгла
- 10.13.4 Задержанный ACK
- 10.13.5 Тайм-аут повторной пересылки
- 10.13.6 Пример статистики
- 10.13.7 Вычисления после повторной отправки
- 10.13.8 Действия после повторной пересылки
- 10.13.9 Экспоненциальное торможение
- 10.13.10 Снижение перегрузок за счет уменьшения пересылаемых по сети данных
- 10.13.11 Дублированные ACK
- 10.13.12 Что делается после подавления источника?
- 10.13.13 Статистика TCP