Введение

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

Резюме

Выборочное повторение является частью автоматического запроса повторения (ARQ). При селективном повторении отправитель отправляет количество кадров, определяемое размером окна, даже без необходимости ожидать отдельные подтверждения (ACK) от приемника, как в протоколе Go-Back-N ARQ. Приемник может выборочно отклонить отдельный кадр, который затем пересылается повторно; это отличается от других форм ARQ, которым необходимо повторно отправлять все кадры, начиная с указанной точки. Приемник принимает кадры, пришедшие не по порядку, и буферизует их. Отправитель повторно передает кадры, для которых истекло время ожидания.

Концепция

Он может использоваться в качестве протокола для доставки и подтверждения единиц сообщения, либо в качестве протокола для доставки подразделенных на подединицы сообщения. При использовании в качестве протокола для доставки сообщений, процесс отправки продолжает отправлять количество кадров, определяемое размером окна, даже после потери кадра. В отличие от Go Back N ARQ, приемник продолжает принимать и подтверждать кадры, отправленные после обнаружения первой ошибки; это общий случай протокола скользящего окна с размерами передающего и принимающего окон больше 1. Процесс приемника отслеживает номер последовательности самого раннего не полученного кадра и отправляет этот номер с каждым подтверждением (ACK). Если кадр от отправителя не достигает приемника, отправитель продолжает отправлять последующие кадры, пока не опустошит свое окно. Приемник продолжает заполнять свое окно приема последующими кадрами, отвечая каждый раз ACK, содержащим номер последовательности самого раннего отсутствующего кадра. После отправки всех кадров в своем окне, отправитель повторно отправляет кадр с номером, указанным в полученных ACK, и затем продолжает с того места, где остановился. Размер окон отправки и приема должен быть одинаковым и составлять половину максимального номера последовательности (при условии, что номера последовательностей нумеруются от 0 до n-1), чтобы избежать разногласий в любых случаях потери пакетов. Чтобы понять это, рассмотрим случай, когда все ACK уничтожены. Если окно приема больше половины максимального номера последовательности, некоторые, возможно даже все, пакеты, присутствующие после истечения времени ожидания, могут оказаться дубликатами, которые не распознаются как таковые. Отправитель сдвигает свое окно для каждого подтвержденного пакета. При использовании в качестве протокола для доставки подразделенных сообщений, он работает несколько иначе. В каналах с прерывами, где сообщения могут иметь переменную длину, стандартные протоколы ARQ или Hybrid ARQ могут рассматривать сообщение как единое целое. Альтернативно, селективная повторная передача может использоваться в сочетании с основным механизмом ARQ, где сообщение сначала подразделяется на подблоки (обычно фиксированной длины) в процессе, называемом сегментацией пакетов. Таким образом, исходное сообщение переменной длины представляется как конкатенация переменного числа подблоков. В то время как в стандартном ARQ сообщение в целом либо подтверждается (ACKed), либо отклоняется (NAKed), в ARQ с селективной передачей ответ ACK дополнительно содержит битовый флаг, указывающий идентификатор каждого успешно полученного подблока. В ARQ с селективной повторной передачей подразделенных сообщений, каждая повторная передача уменьшается в размере, содержа только связанные подблоки. В большинстве моделей каналов с сообщениями переменной длины, вероятность безошибочного приема уменьшается обратно пропорционально увеличению длины сообщения. Другими словами, короткое сообщение принять легче, чем длинное. Поэтому стандартные методы ARQ, работающие с сообщениями переменной длины, испытывают большие трудности с доставкой более длинных сообщений, поскольку каждая повторная передача осуществляется целиком. Селективная повторная передача, применяемая к сообщениям переменной длины, полностью устраняет трудности с доставкой более длинных сообщений, поскольку успешно доставленные подблоки сохраняются после каждой передачи, а количество ожидающих подблоков в последующих передачах уменьшается. Селективная повторная передача реализована в UDP-передаче.

Примеры

Протокол управления передачей использует вариант Go Back N ARQ для обеспечения надежной передачи данных по протоколу Интернет, который не гарантирует доставку пакетов; с расширением Selective Acknowledgement (SACK) он также может использовать Selective Repeat ARQ. Стандарт ITU-T G.hn, обеспечивающий создание высокоскоростной (до 1 Гбит/с) локальной сети с использованием существующей домашней проводки (электропроводки, телефонных линий и коаксиальных кабелей), использует Selective Repeat ARQ для обеспечения надежной передачи по зашумленным каналам связи. G.hn применяет сегментацию пакетов для разделения сообщений на более мелкие части, чтобы повысить вероятность правильного приема каждого из них. Профиль STANAG 5066 для высокочастотной (HF) радиосвязи данных использует Selective Repeat ARQ с максимальным размером окна в 128 протокольных блоков данных (PDU).