Исследование канальных протоколов с обратной связью

В обоих подходах (с обратными связями и без них) протокол канального уровня, стремясь обнаружить и (или) исправить ошибки, требует внесения, кроме сигнальной (битовой) избыточности (при помехоустойчивом кодировании), еще и протокольной избыточности[6].

В данной лабораторной работе исследуются варианты протоколов с обратной связью. Они должны быть рассмотрены здесь более подробно.

3.1 Ка

нальные протоколы ARQ (РОС)

При рассмотрении протоколов ARQ будем полагать, что пакеты данных передаются от станции-отправителя A к станции-получателю B. Между этими пунктами существуют два канала – прямой A®B и обратный A¬B. Кадры данных (A®B) и технологические (A¬B) защищаются избыточным циклическим кодированием (CRC). На обеих сторонах производится обнаружение ошибок в пакетах.

3.1.1 ARQ с остановкой и ожиданием (SAWStayAndWait)

Самая простая версия протокола с повторной передачей называется протоколом с остановкой и ожиданием. Основная идея протокола состоит в том, что передающий модуль, отправив кадр, останавливается и ожидает реакции приемной стороны. Передатчик не отправит следующий пакет данных (кадр) до тех пар, пока в той или иной форме не состоится подтверждение верности. Используется термин «извещение», или «квитанция» ACK (acknowledge), если ошибки не зафиксированы или NAK (negative acknowledge), если кадр принят с ошибками.

Этот протокол требует минимального объема буферной памяти: для одного пакета на стороне передатчика A и для пакета на стороне приемника B.

Существенную роль играет тайм-аут Тож, точнее сказать, те протокольные действия, которые предпринимаются в случае отсутствия реакции приемной стороны в течение расчетного времени. Типичное решение заключается в том, что по истечении тайм-аута ситуация приравнивается к поступлению NAK. Такое решение приемлемо, если время доставки пакетов в канале (в сети) – величина постоянная.

Протокол может повести себя некорректно, если пакеты данных или сообщения ACK/NAK задерживаются в каналах на случайное время. Как сам кадр, так и ACK или NAK могут быть потеряны. Такая потеря может произойти в результате сбоя, нештатной ситуации или просто длительного ожидания в очереди на обслуживание в памяти какого-либо коммутационного узла в разветвленной сети с маршрутизаторами. Если по истечении тайм-аута ситуация приравнивается к поступлению NAK, то повторная передача пакета данных может привести к дублированию пакета данных на приемной стороне. В поток пакетов происходит «вставка пакета», т.е. своеобразное искажение передаваемых данных.

Эти явления – следствие обезличенности сообщений ACK и NAK.

3.1.2 ARQ с возвратом на n шагов назад (GBnGoBackn)

Для предупреждения подобных ситуаций должна использоваться нумерация пакетов. Вместе с каждым кадром передается уникальный порядковый номер (ПН) содержащегося в нем пакета.[7] Станция-получатель B хранит номер последнего пакета, поступившего без ошибок и аннулирует все вновь поступающие кадры, если ранее она их уже получила без ошибок, т.е. игнорирует дубликаты.

Протокол отправляет очередные кадры данных сразу вслед за первым, не дожидаясь, пока придет подтверждение в надежде, что «все обойдется», ведь вероятность получить кадр с ошибками, обычно, меньше, чем без ошибок. Станция-отправитель производит посылку серии из n кадров, считая от последнего пакета, получившего подтверждение верности. Все посланные, но не подтвержденные кадры должны оставаться в буфере передатчика с тем, чтобы быть извлеченными для цели повторной передачи, если придет отрицательное подтверждение (или быть удаленными, если подтверждение будет положительным).

Естественно, как и прежде, сторона‑получатель должна тем или иным способом подтвердить верность всех пакетов потока. По-прежнему, если подтверждение на какой-либо кадр отрицательно, кадр должен быть повторно передан.

Существует две стратегии повтора:

а) повторить группу кадров, начиная с того, на который не поступило сообщение ACK;

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

Протокол ARQ с возвратом на n шагов назад является примером протокола, в котором используется метод непрерывной передачи с обработкой ошибочной передачи кадра по варианту (а), «с возвратом».

Использование обратного канала исключительно для посылки подтверждений – это частный случай. Более общий случай заключается в том, что данные между пунктами А и В передаются (или могут передаваться) в обоих направлениях. Тогда по обратному каналу[8] также идет и поток пакетов данных от станции B к A. В этом случае нумерованное подтверждение посылается в специально выделенном битовом поле заголовка пакетов данных обратного направления (а не в форме специализированного кадра).

Сообщение о верности пакета приобретает новый смысл: любой из корреспондирующих пунктов (А и В), отправляя пакет данных, в заголовке кадра указывает номер пакета (НП) и номер ожидаемого пакета данных от противоположной стороны (не очень удачно называемый в стандартах «номером запроса» – НЗ). Нумерация пакетов в сеансе должна начинаться с нуля. Номер запроса – это свидетельство для удаленной стороны, что все пакеты с меньшими номерами успешно достигли пункта назначения (ошибки в них не зафиксированы). Если передающая сторона к моменту получения НЗ не исчерпала регламент на передачу подряд n пакетов, то она должна перенести начало отсчета регламента на точку (НЗ‑1) в потоке отправляемых пакетов и тем самым снова приобрести возможность передавать без подтверждения ещеn пакетов подряд. Если к моменту получения НЗ передающая сторона исчерпала регламент, то протокол должен будет для повторной передачи пакетов совершить «откат назад», но на величину не более n пакетов. Так возникает понятие «скользящего окна из n пакетов», а протоколы ARQ в такой реализации называют протоколами ARQ со скользящим окном пакетов.

Если интенсивность искажения пакетов мала, то число безостановочно передаваемых пакетов может быть весьма большим. Эффективность использования пропускной способности каналов с таким протоколом может быть весьма высокой.

Отправленные, но еще неподтвержденные пакеты, остаются в буферной памяти станции-отправителя. Протокол ARQ с возвратом на n шагов назад требует буферной памяти не менее, чем на n пакетов на стороне отправителя A и на один пакет на стороне получателя B.[9]

Теперь отметим, что требуемый номер (как пакета, так и подтверждения) при работе с окном из n пакетов может принадлежать ограниченному множеству чисел {0, 1, 2… (n‑1)}. На языке математики это может быть охарактеризовано как нумерация по mod m, причем m>n. Минимальный допустимый модуль равен n+1.

3.1.3 ARQ с выборочным повтором (SRSelectiveRepeat)

Страница:  1  2  3  4  5  6  7  8 


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы