Ретрансляция (сети передачи данных)
Повторная передача , по существу идентичная автоматическому запросу повторения (ARQ), представляет собой повторную отправку пакетов , которые были повреждены или потеряны. Повторная передача — это один из основных механизмов, используемых протоколами, работающими в с коммутацией пакетов компьютерной сети , для обеспечения надежной связи (например, обеспечиваемой надежным потоком байтов , например TCP ).
Такие сети обычно «ненадежны», то есть они не дают никаких гарантий того, что они не будут задерживать, повреждать или терять пакеты или доставлять их не по порядку. Протоколы, обеспечивающие надежную связь в таких сетях, используют комбинацию подтверждений (т. е. явного получения от места назначения данных ), повторной передачи отсутствующих или поврежденных пакетов (обычно инициируемой тайм-аутом ) и контрольных сумм для обеспечения этой надежности.
Благодарность
[ редактировать ]Существует несколько форм подтверждения , которые можно использовать по отдельности или вместе в сетевых протоколах:
- Положительное подтверждение: получатель явно уведомляет отправителя, какие пакеты, сообщения или сегменты были получены правильно. Таким образом, положительное подтверждение также неявно сообщает отправителю, какие пакеты не были получены, и предоставляет подробную информацию о пакетах, которые необходимо передать повторно.
- Отрицательное подтверждение (NACK): получатель явно уведомляет отправителя, какие пакеты, сообщения или сегменты были получены неправильно и, следовательно, их необходимо передать повторно (RFC 4077).
- Выборочное подтверждение (SACK): получатель явно перечисляет, какие пакеты, сообщения или сегменты в потоке подтверждены (отрицательно или положительно). Положительное выборочное подтверждение — это опция TCP (RFC 2018), которая полезна при доступе к спутниковому Интернету (RFC 2488).
- Совокупное подтверждение: получатель подтверждает, что он правильно получил пакет, сообщение или сегмент в потоке, что неявно информирует отправителя о том, что предыдущие пакеты были получены правильно. TCP использует кумулятивное подтверждение со своим скользящим окном TCP .
Ретрансляция
[ редактировать ]Ретрансляция — очень простая концепция. Всякий раз, когда одна сторона отправляет что-то другой стороне, она сохраняет копию отправленных данных до тех пор, пока получатель не подтвердит, что он их получил. В различных обстоятельствах отправитель автоматически повторно передает данные, используя сохраненную копию. Причинами повторной отправки могут быть:
- если такого подтверждения не последовало в течение разумного периода времени, тайм-аут
- отправитель обнаруживает, часто с помощью внешних средств, что передача не удалась
- если получатель знает, что ожидаемые данные не получены, и уведомляет отправителя
- если получатель знает, что данные пришли, но в поврежденном состоянии, и сообщает об этом отправителю