Алгоритм повторной передачи данных в сетях работает на основе метода автоматического запроса повторной передачи (ARQ). ru.wikipedia.org Он использует сигнал подтверждения приёма (получателем данных отправляются служебные данные, указывающие на то, что им был правильно принят фрагмент или пакет данных) и тайм-аут (определённые периоды времени, по истечении которых должно быть получено подтверждение). ru.wikipedia.org
Если отправитель данных до истечения тайм-аута не получает подтверждения, то, как правило, повторно передаёт фрейм или пакет, пока отправитель не получит подтверждение или не будет превышено заданное число повторных передач. ru.wikipedia.org
Разные реализации протокола TCP могут поддерживать три стратегии повторной передачи: www.helloworld.ru
- «Только первый». www.helloworld.ru Поддерживается один таймер повторной передачи для всей очереди. www.helloworld.ru При получении подтверждения первый сегмент удаляется из очереди повторной передачи и таймер сбрасывается. www.helloworld.ru Если время таймера истекает, повторно передаётся сегмент из начала очереди и таймер обнуляется. www.helloworld.ru
- Пакетная. www.helloworld.ru Также поддерживается один таймер повторной передачи для всей очереди. www.helloworld.ru Когда приходит подтверждение, из очереди повторной передачи удаляются все сегменты и таймер сбрасывается. www.helloworld.ru Если время таймера истекает, повторно передаются все сегменты из очереди и таймер обнуляется. www.helloworld.ru
- Индивидуальная. www.helloworld.ru Для каждого сегмента в очереди существует отдельный таймер. www.helloworld.ru При получении подтверждения из очереди повторной передачи удаляется первый сегмент, а соответствующий таймер обнуляется. www.helloworld.ru По истечении времени какого-либо таймера повторно передаётся только соответствующий сегмент и его таймер сбрасывается. www.helloworld.ru