Ретрансляция (компьютерные сети)

14.03.2021

Ретрансляция, практически идентичная с автоматическим запросом повторной передачи (ARQ), является повторной передачей пакетов, которые были либо повреждены или утрачены. Ретрансляция — это один из основных механизмов, используемых протоколами, при работе с коммутацией пакетов компьютерной сети для обеспечения надежной связи (как, например, обеспечение надежного потока байтов, например TCP).

Эти сети, как правило, «не надежны», это означает, что они не гарантируют отсутствие задержек, повреждений или потерь пакетов, или выводов их из строя. Протоколы, которые обеспечивают надежную связь по таким сетям используют комбинацию подтверждений (то есть явное получение от назначения данных), ретрансляцию недостающих или поврежденных пакетов (обычно, инициированные тайм-аутом), и контрольную сумму, чтобы обеспечить надежность.

Подтверждение

Есть несколько форм подтверждения, которые могут быть использованы по отдельности или вместе в сетевых протоколах:

  • Положительное подтверждение: приемник явно уведомляет отправителя, какие пакеты, сообщения, или сегменты были получены правильно. Также положительное подтверждение косвенно сообщает отправителю, какие пакеты не были получены и обеспечивает подробную информацию о пакетах, которые должны быть переданы повторно. Положительное подтверждение с ретрансляцией (PAR) — это метод, используемый TCP (RFC 793), для проверки получения передаваемых данных. PAR работает с помощью повторной передачи данных в установленное время, пока принимающий хост не подтвердит прием данных.
  • Отрицательное подтверждение (NACK): приемник явно уведомляет отправителя, какие пакеты, сообщения, или сегменты были получены неправильно и потребует их повторно (RFC 4077). — Выборочное подтверждение (SACK): приемник явно перечисляет, какие пакеты, сообщения, или сегменты в потоке подтвердил (положительную или отрицательную).
  • Положительное выборочное подтверждение — это опция в TCP (RFC 2018), оно является полезным для доступа в интернет через спутник (RFC +2488). —
  • Накопительное подтверждение: получатель подтверждает, что это правильно получил пакет, сообщение, или сегмент в потоке, который неявно информирует отправителя, что предыдущие пакеты были приняты правильно.

Ретрансляция

Ретрансляцию очень просто объяснить. Всякий раз, когда одна сторона передает что-то в другую сторону, отправитель сохраняет копию данных, которые он послал, пока получатель не подтвердил, что он получил его. В различных обстоятельствах отправитель автоматически ретранслирует данные, используя сохраненную копию. Причины повторной отправки:

  • никаких подтверждений не последовало в течение определенного времени, тайм-аут
  • отправитель узнает, часто через некоторое из группы средств, что передача была неудачной
  • если получатель знает, что ожидаемые данные не прибыли, он уведомляет об этом отправителя
  • если получатель знает, что данные прибыли, но в поврежденном состоянии, он уведомляет об этом отправителя