Серверы и ИИ: практическое применение

SACK TCP: полученный поздний диапазон ещё не заменяет накопительное подтверждение

Запросить

Пропуск внутри потока. Накопительный ACK: Граница окончательного подтверждения. Пропущенный диапазон: Нужно закрыть gap. Поздние диапазоны SACK: Не заменяют cumulative ACK.
Пропуск внутри потока. Схема поясняет описанный механизм; условия и границы проверки приведены в тексте.

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

RFC 2018 описывает отдельные SACK blocks и их использование для выбора retransmission. Границы относятся к sequence space, а не к номерам прикладных сообщений. После повторной packetization они также не обязаны совпадать с первоначальными границами сегментов в локальной очереди.

Получатель при определённых условиях может отказаться от ранее SACKed, но ещё не cumulatively acknowledged данных. Поэтому отправитель не должен освобождать их только по SACK: окончательная соответствующая граница задаётся Acknowledgment Number заголовка. Это важное отличие для интерпретации буферов и повторов.

В приёмке проверяют пропуск внутри окна, приём следующих диапазонов и последующее закрытие gap. Сопоставляют SACK с продвижением cumulative ACK. Наличие SACK не доказывает завершение передачи всего файла или обработку приложением. Оно уточняет transport-состояние, позволяя диагностировать восстановление без ложного вывода, что все пришедшие позже байты уже окончательно подтверждены.

Основание — Numbered IETF TCP references with RFC7413 explicitly Experimental; selected mechanisms and algorithms only, разделы RFC2018 SACK blocks; sender behavior; receiver reneging. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — указанные номерные RFC TCP. Дополнения и алгоритмы не считаются включёнными автоматически; RFC 7413 о Fast Open имеет статус Experimental. Реальный TCP stack, socket options, трасса и настройки системы не проверялись; соединения и сетевые испытания не выполнялись.

Запросить

К разборам: Серверы и ИИ