Термин

ARQ (Automatic Repeat reQuest)

Короткое определение

Стратегия восстановления потерь, где приёмник обнаруживает пропавшие пакеты и явно просит отправителя их переслать. Механизм TCP, SRT и RIST.

ARQ – самый простой механизм надёжности: пронумеровать каждый пакет, получатель подтверждает приём или сообщает о пропусках, отправитель пересылает то, что приёмник назвал потерянным. Стоимость каждого восстановления – один RTT: приёмник должен заметить пропуск, послать NACK, отправитель – прочитать NACK и переотправить. Для стриминга это значит, что у ARQ-протоколов есть пол задержки, привязанный к RTT: путь с RTT 200 мс требует минимум 200 мс буферизации, чтобы восстановить любой одиночный потерянный пакет.

Противоположность ARQ – FEC, который заранее шлёт избыточные данные, чтобы приёмник восстановил потери без round-trip. ARQ экономичен по полосе (пересылается только потерянное), но чувствителен к задержке (каждое восстановление стоит RTT). FEC дорог по полосе (избыточность шлётся всегда, нужна она или нет), но стабилен по задержке (нет лишнего round-trip). Большинство современных протоколов комбинирует оба: базовый слой FEC поглощает короткие burst-ы, ARQ дочищает то, что FEC не вытянул.

SRT и RIST выставляют ARQ-тюнинг явно через окно задержки – 200-мс окно значит «ARQ восстановит всё, что можно ретранслировать за 200 мс; более длинные провалы дропаются». Оператор подбирает окно по RTT пути и допустимой потере. ARQ TCP спрятан в ядре и не имеет верхней границы задержки – поэтому TCP-based стриминговые протоколы вроде RTMP ведут себя непредсказуемо на нестабильных путях.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.