ARQ с выборочным повторением

Механизм ARQ с возвратом на N может повторно передавать кадры, которые приемник правильно принял, и подтверждения их приема благополучно доставлялись отправителю. Например, пусть кадр 1 оказался ошибочным и был уничтожен, а последующие кадры 2,3,…,WS-1 доставлялись без ошибок. Тем не менее, приемник должен был уничтожать их, а передающий узел после истечения тайм-аута кадра 1 наряду с ним должен был отправлять кадры 2,3,…,WS-1.Очевидно, что такие повторные передачи снижают эффективную производительность канала.

Механизм ARQ с выборочным повторением (Selective Repeat, SR-ARQ) исключает такие повторные передачи. Для этого потребовалось:

· использовать приемное окно размером более одного кадра, что позволяет принимать кадры, пришедшие без ошибок, но с нарушением непрерывности их нумерации;

· сделать возможной повторную передачу отдельного кадра, т.е. проинформировать передатчик, какой именно кадр был испорчен.

На рис.3.9 представлена функциональная схема рассматриваемого алгоритма. Размер окна приемника ARQ с выборочным повторением - student2.ru позволяет принимать кадры с номерами от ARQ с выборочным повторением - student2.ru до ARQ с выборочным повторением - student2.ru . Принятые без ошибок кадры из этого диапазона помещаются в буфер; объем такого буфера должен быть не меньше окна приема. Кадры из буфера передаются вышестоящему протоколу строго в их исходной последовательности в соответствии с определенной дисциплиной.

ARQ с выборочным повторением - student2.ru

При получении кадра, нарушающего непрерывность их нумерации (пусть кадр с номером ARQ с выборочным повторением - student2.ru ), но принадлежащего диапазону [ ARQ с выборочным повторением - student2.ru , ARQ с выборочным повторением - student2.ru ] приемник сохраняет его в буфере и отсылает специальное сообщение NAK (Negative Acknowledgement), которым подтверждает успешный прием кадра ARQ с выборочным повторением - student2.ru и, как и ранее, передает значение ARQ с выборочным повторением - student2.ru . Последнее говорит передатчику о недоставке кадра с номером ARQ с выборочным повторением - student2.ru и не позволяет ему изменить значение ARQ с выборочным повторением - student2.ru . Наличие в буфере передатчика всех отправленных, но еще неподтвержденных, кадров, позволяет повторить передачу любого из них. Следуя сообщению NAK, передатчик выполняет повторную отправку кадра ARQ с выборочным повторением - student2.ru и, если он благополучно принимается, то группа кадров, ARQ с выборочным повторением - student2.ru , ARQ с выборочным повторением - student2.ru , ARQ с выборочным повторением - student2.ru ,…, ARQ с выборочным повторением - student2.ru , находящихся в буфере приемника, передается модулю вышестоящего протокола и буфер очищается.

 
  ARQ с выборочным повторением - student2.ru

В примере на рис. 3.10 предполагается, что окно передачи WS=6 и кадры K0, K1,…K5 могут передаваться. Получив кадр К3, вместо ожидавшегося К2, приемник буферизирует его и отправляет сообщение NAK с ARQ с выборочным повторением - student2.ru ; на все последующие принимаемые кадры K4, K5 отсылает АСК с ARQ с выборочным повторением - student2.ru . Получив отрицательное подтверждение (NAK с ARQ с выборочным повторением - student2.ru ), передатчик повторно отправляет кадр К2. В момент, когда кадр 2 оказывается принятым, в буфере приемника уже находятся кадры 3, 4, 5. Поэтому старое значение ARQ с выборочным повторением - student2.ru изменяется на ARQ с выборочным повторением - student2.ru .

Способность буферизировать кадры в пределах окна приема усложняет задачу различения кадров с одинаковыми номерами, принадлежащих разным циклам нумерующей последовательности. Её решение потребовало более строгого, в сравнении с GBN-ARQ, ограничения величины окна передачи. Рассмотрим пример, в котором величина окна передачи устанавливается по правилу алгоритма GBN, т.е. ARQ с выборочным повторением - student2.ru (рис. 3.11).

 
  ARQ с выборочным повторением - student2.ru

Передатчик отправил полное окно кадров, они были благополучно приняты, но все подтверждающие их прием ACK-кадры были утеряны. Кадры К0, К1 и К2 будут переданы приложению (ведь они пришли без ошибок, в должном порядке и полностью заполнили буфер окна приема). После истечения тайм-аута передатчик повторно отправит неподтвержденные кадры. На рис. 3.11 в фигурных скобках приведены состояния списка разрешенных к приему номеров кадров в моменты перед приемом очередного кадра. Из них видно, что приемник будет воспринимать повторно отправленный кадр К0, как кадр с номером 0 следующей серии, по каким-то причинам опередивший кадр 3 предыдущей серии, и не уничтожит его.

ARQ с выборочным повторением - student2.ru Для верного распознания дублей ранее отправленных кадров необходимо, чтобы длина нумерующей последовательности m удовлетворяла условию ARQ с выборочным повторением - student2.ru . Иными словами, ширина окна передачи не должна превосходить половину длины нумерующей последовательности, т.е. максимальные значения окон приема и передачи должны составлять ARQ с выборочным повторением - student2.ru .

Рис. 3.12 иллюстрирует нормальную работу схемы SR-ARQ при m=2 и с окнами ARQ с выборочным повторением - student2.ru , т.е. равными половине диапазона нумерующей последовательности.

В сравнении с GO-Back-N рассматриваемый метод повторной передачи более эффективно использует пропускную способность канала; однако он сложнее в реализации и требует больших ресурсов конечных узлов (буферная память, в частности). Этот алгоритм успешно используется современными версиями Интернет-протокола ТСР.

Наши рекомендации