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