ARQ на n шагов назад (Go Back N)

Широко используемый алгоритм. Используется в стандартных протоколах УЛПД - HDLC, SDLC, ADCCP, LAPB.

Пакеты нумеруются и посылаются из А в В без ожидания запроса НЗ, тем самым подтверждаются все пакеты до НЗ.

n - число шагов назад, означает, что узлу А не разрешается посылать пакет i+n , пока пакет i не получит подтверждение (т.е. НЗ = i+1).

Иначе этот протокол называют протоколом со скользящим окном.

Пусть - последний НЗ, принятый в т.А. Тогда из т.А могут посылаться пакеты с номерами в "окне" от до +n - 1.

Затем при получении нового НЗ возрастает и окно скользит вверх.

Если в т.В принят пакет с ошибкой, то пакеты с большими номерами не принимаются, пока А не повторит передачу этого пакета.

Пример: Протокол на 4 шага назад

 

 

1. из-за этой ошибки пакеты после четвертого повторяются начиная с 1-го

2. эта ошибка не вызвала сложностей, подтверждение пришло до того, как пришлось бы идти назад.

3. когда пакет 5 передается повторно приходит НЗ=7. Возможно разумно сразу за 5-м передавать 7-й, а не 6-й

При выборе n большим можно исключить некоторые повторные передачи.

Алгоритм остается корректным, если порядковый номер ПН и НЗ номер запроса передаются по модулю m (m>n), поскольку величина |Z- Yпр| самое большее равна n.

(Z - номер пакета, помещаемого в кадр;
Yпр- номер ожидаемого пакета)

Повторные передачи в этом методе появляются по следующим причинам:

1. ошибки при передаче в прямом направлении;

2. ошибки при передаче в направлении обратной связи;

3. длина кадров в направлении обратной связи больше, чем в прямом направлении. Выход - увеличение n.

(в стандартных протоколах используется m=8, m=128)

Пример: ARQ на 7 шагов назад.

Но если увеличить n, то эффективность возрастает по причинам 2 и 3, но падает по причине 1. Если приемный модуль будет посылать короткие управляющие кадры при приеме кадра с ошибкой, то возврат будет произведен быстрее (или можно рассчитать, в каком кадре должно быть подтверждение) Разновидности: ARQ с возвращением и "заиканием" на последнем сообщении.

ARQ с выборочным повтором (с адресным переспросом)

Для т.В считаются принятыми пакеты, идущие в произвольном порядке. Повторная передача запрашивается из А только для тех пакетов, которые принимаются неправильно.

n - размер окна, указывает, как далеко А может уйти вперед относительно наименьшего номера пакета, еще не принятого в В. При этом, если в т.В должно производиться упорядочение пакетов, то необходимо хранить самое большее n пакетов.