Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги / Теория электрической связи. Помехоустойчивая передача данных в информационно-управляющих и телекоммуникационных системах модели, алгоритмы, структуры.pdf
Скачиваний:
12
Добавлен:
13.11.2023
Размер:
24.95 Mб
Скачать

8.4.4. Кодонезависимость и синхронизация HDLC

HDLC является кодопрозрачным протоколом. Он не зависит от кон­ кретного первичного кода (ASCII/IA5 или EBCDIC) при выполнении функций управления каналом. Кроме того, двоичные комбинации управ­ ляющих полей обычно занимают в кадре фиксированные разряды. Восьмибитовая комбинация флага помещается в начале и конце кадра, чтобы дать возможность приемнику распознать начало и конец кадра. Кроме уникальной флаговой последовательности 01111110 протоколом HDLC используются два других сигнала. Сигнал аварийного завершения (АЗ) со­ стоит из последовательности единиц, число которых не меньше семи и не больше четырнадцати; состояние покоя представляется последовательно­ стью пятнадцати или большего числа единиц. Сигнал аварийного заверше­ ния (abort) помещается в конце кадра. Передающая станция посылает этот сигнал, когда возникает исключительная ситуация, требующая восстанов­ ления (см. сигнала аварийного останова (АВОС) в п. 8.3.1). Вслед за сооб­ щением об аварийном завершении могут посылаться флаги для того, чтобы поддерживать канал в активном состоянии и обеспечить возможность про­ должения передачи. Сигнал покоя означает, что канал находится в состоя­ нии покоя.

Одно из применений состояние покоя находит в полудуплексном се­ ансе, когда при обнаружении сигнала покоя производится изменение на­ правления передачи на противоположное. Фактическое время между пере­ дачами кадров по каналу называется межкадровым временным заполнени­ ем. Это временное заполнение сопровождается передачей между кадрами непрерывной последовательности флагов. Флаги могут быть вось­ мибитовыми комбинациями, или же может иметь место совмещение по­ следнего 0 предыдущего флага с первым 0 следующего флага.

В этом месте имеет смысл задать такой вопрос. Очевидно, возможны случаи, когда прикладной процесс помещает в поток данных пользователя последовательность 01111110, совпадающую с флагом. Что происходит при этом? Эта ситуация может произойти и действительно происходит. Для того чтобы предотвратить вставку в поток данных пользователя фла­ говой комбинации, передающая станция помещает 0 после пяти подрад идущих единиц, встретившихся в любом месте между начальным и конеч­ ным флагами кадра. Разумеется, такая вставка 0 производится в адреснре, управляющее, информационное поля и поле КПК. Этот метод называется вставкой битов (bit stuffing). После того как завершается вставка битов в кадр и по концам кадра помещаются флаги, кадр передается приемнику по каналу.

Приемник постоянно контролирует поток битов (рис. 7.23). Пос^е того как он получит нуль с пятью далее идущими подряд единицами, прц. емник анализирует следующий бит. Если это нуль, он удаляет этот би*. Однако если седьмой бит является единицей, приемник анализирует вось­

мой бит. Если это ноль, он считает, что получена флаговая последова­ тельность 01111110. Если это единица, он знает, что получен сигнал покоя или аварийного завершения, и выполняет соответствующие действия. Та­ ким образом, в протоколе HDLC обеспечиваются кодовая прозрачность и прозрачность по данным. Протоколу безразлично, какие кодовые комби­ нации находятся в потоке данных. Единственное, что требуется, это под­ держивать уникальность флагов. На рис. 7.23 представлена блок-схема описанного алгоритма анализа битов.

Рис. 7.22. Блок-схема алгоритма анализа битов в протоколе HDLC: Лп«|» - количество подряд идущих единиц

8.4.5. Управляющее поле HDLC

Вернемся к более подробному рассмотрению управляющего поля, так как это поле определяет, каким образом протокол управляет процес­ сом передачи данных. Управляющее поле определяет функцию кадра. Оно играет основную роль в реализации определенного алгоритма управления трафиком между принимающей и передающей станциями. Напомним, что это поле может быть одного из трех типов формата (ненумерованный, супервизорный и информационный). Управляющее поле определяет коман­ ды и ответы, используемые для управления потоком трафика в канале.

Действительный формат управляющего поля (информационный, супервизорный или ненумерованный) определяет то, как это поле кодируется или используется. Самым простым форматом является информационный формат. Содержимое управляющего поля для этого формата показано на рис. 7.21. Управляющее поле информационного кадра содержит два по­ рядковых номера. Номер N(S) (порядковый номер посылки) связан с по­ рядковым номером передаваемого кадра. Номер N(R) (порядковый номер приема) означает порядковый номер следующего кадра, который ожидает­ ся принимающей станцией. Номер N(R) выступает в качестве подтвержде­ ния предыдущих кадров. Например, если принят кадр с полем N(R) = 4, станция знает, что передача ею кадров 0 ,1 ,2 и 3 завершилась успешно. Также это означает, что станция, с которой производится обмен данными, ожидает, что следующий кадр будет иметь порядковый номер посылки N(S) = 4. Поле N(R) обеспечивает включающее подтверждение (квитирова­ ние). Это означает, что N(R) = 4 включает подтверждение не только одного предшествующего сообщения, но и всех предыдущих.

Двоичный разряд, называемый «бит P/F» или «бит опроса/окончания», принимается во внимание только тогда, когда он установ­ лен в 1. Бит P/F называется битом Р, когда он используется первичной станцией, и битом F, когда он используется вторичной станцией. Бит P/F применяется первичной и вторичной станциями для выполнения следую­ щих функций:

Первичная станция использует бит Р для санкционирования пере­ дачи кадра статуса от вторичной станции. Установленный в 1 бит Р также может означать опрос.

Вторичная станция отвечает на установленный бит Р кадром дан­ ных или состояния, а также битом F. Бит F может также означать окон­ чание передачи вторичной станцией в режиме нормального ответа (NRM).

В случае двунаправленной одновременной (полнодуплексной) пе­ редачи, когда по получении команды с битом Р =1 передачу ведет вторич­

ная станция, бит F устанавливается в 1 в самом первом очередном ответе.

• Передача кадра с битом F =\ не требует, чтобы вторичная станция прекратила передачу. Вслед за кадром с битом F = 1 могут быть еще пере­

даны кадры. В режимах ARM и АВМ не следует интерпретировать бит F как окончание передачи вторичной станцией; его следует просто считать индикатором ответа на предыдущий кадр.

Только один бит Р (ожидающий ответа в виде бита F) может быть активным в канале в любой момент времени. Если некоторый бит Р уста­ новлен в 1, он может быть использован в качестве контрольной точки. Ус­ тановленный в 1 бит Р требует обязательного ответа. Контрольные точки играют большую роль в различных автоматизированных процессах. Это машинный способ устранить неопределенность и отменить накопленные транзакции.

В разных режимах бит Р/F может использоваться и интерпретиро­ ваться следующим образом:

1.В режиме NRM вторичная станция не может вести передачу, пока не будет получена команда с битом Р = 1. Первичная станция может за­ просить информационные (/) кадры путем посылки кадра с битом Р = 1 или путем посылки некоторых супервизорных (S) кадров с битом Р - I.

2.В режимах ARM и АВМ информационные кадры могут переда­ ваться без запроса с помощью команды, имеющей единичный бит Р. Уста­ новленный в 1 бит Р может использоваться для запроса ответа с установ­ ленным в I битом У^так быстро, насколько это возможно.

3.В режимах ARM и АВМ производится передача кадра с битом F= 1 вслед за приемом команды с битом Р = 1.

8.4.6. Команды и ответы HDLC

Супервизорный формат, показанный на рис. 7.21, предусматривает четыре команды и ответа, поскольку под их коды выделено два бита в со­ ставе поля управления. Этими командами и ответами являются:

«Готов к приему» (Receive Ready - RR);

«Не готов к приему» (Receive Not Ready - RNR);

«Неприем» (Reject - REJ);

«Выборочный неприем» (Selective Reject - SREJ)

Назначение этого формата и четырех команд и ответов состоит в вы­ полнении нумерованных (т. е. использующих порядковые номера кадров) супервизорных функций, таких как подтверждение (квитирование), опрос, временная задержка передачи данных и восстановление после ошибок. Кадры супервизорного формата не содержат информационного поля. Су­ первизорный формат может быть использован для подтверждения приема кадров от передающей станции. Рассмотрим команды и ответы, исполь­ зуемые супервизорным форматом.

«Готов к приему» (RR) используется первичной или вторичной стан­ цией для индикации того, что станция готова принять информационный кадр и/или подтвердить (квитировать) ранее принятые кадры с помощью

поля N(R). Если станция до этого, используя команду «Не готов к приему», посылала уведомление о том, что она занята, теперь она использует ко­ манду «Готов к приему» для индикации того, что она свободна и готова принять данные. Первичная станция может также использовать команду «Готов к приему» для опроса вторичной станции.

«Не готов к приему» (RNR) используется станцией для индикации состояния занятости. Эта команда уведомляет передающую станцию о том, что принимающая станция не способна принять дополнительные посту­ пающие данные. Кадр RNR, используя поле N(R), может подтвердить при­ ем ранее переданных кадров. Состояние занятости может быть сброшено посылкой кадра RR, а также некоторых других кадров, которые будут рас­ смотрены позднее.

«Выборочный неприем» (SREJ) используется станцией для запроса повторной передачи единственного кадра, который определен в поле N(R). Как и в случае включающего подтверждения, подтверждение распростра­ няется на все информационные кадры с номерами до N(R) - 1 включитель­ но. «Выборочный неприем» позволяет реализовать режим выборочного повторения. Как только передан кадр SREJ, следующие кадры принимают­ ся и сохраняются для повторно передаваемого кадра.

«Неприем» (REJ) используется для запроса передачи кадров, начиная с кадра, указанного в поле N(R). Подтверждаются все кадры с номерами до N(R) - 1. Кадр REJ может использоваться для реализации метода восста­ новления «Возвращение-на-М>.

Ненумерованный формат кадра в протоколе HDLC предназначен для реализации ненумерованных команд и ответов. Этот формат используется для посылки большинства индикаторов команд и ответов. Структура управляющего поля ненумерованного формата показана на рис. 7.20.

Ненумерованные команды можно разбить на группы в соответствии

свыполняемыми функциями:

команды установки режима: SNRM, SARM, SABM, SNRME, SARME, SABME, SIM, DISC (SNRME, SARME, SABME для расширенной адресации);

команды передачи информации: UI, LJP;

команды восстановления: RESET;

другие команды: XID, TEST.

Рассмотрим команды/ответы для ненумерованного формата:

UI (Unnumbered Information - Ненумерованная информация). Эта команда позволяет производить передачу данных пользователя в ненуме­ рованном кадре (т. е. без порядкового номера).

RIM (Request Initialization Mode - Режим инициализации запроса). Кадр RIM является запросом на команду SIM от вторичной к первичной станции.

SIM (Set Initialization Mode - Установить режим инициализации). Эта команда используется для инициализации сеанса между первичной и вторичной станциями. Ожидаемым ответом является UA.

SNRM (Set Normal Response Mode - Установить режим нормаль­ ного ответа). Эта команда переводит вторичную станцию в NRM (режим нормального ответа). NRM предотвращает посылку вторичной станцией несанкционированных (unsolicited) кадров. Это означает, что первичная станция управляет всем потоком сообщений в канале.

DM (Disconnect Mode - Режим разъединения). Этот кадр передает­ ся вторичной станцией для индикации того, что она находится в режиме логического разъединения.

DISC (Disconnect - Разъединить). Эта команда, передаваемая пер­ вичной станцией, переводит вторичную станцию в режим разъединения аналогично нажатию рычага телефонного аппарата.

UA (Unnumbered Acknowledgment - Ненумерованное под­ тверждение). Это подтверждение (АСК) для установки режима команд (SIM, DISC, RESET). UA также используется для уведомления об оконча­ нии состояния занятости станции.

FRMR (Frame Reject - Неприем кадра). Вторичная станция посы­ лает этот кадр, когда она встречается с недействительным кадром. Это де­ лается не в случае обнаружения ошибки, указываемой в поле контрольной последовательности, а в более необычных ситуациях. Причина указывает­ ся в информационном поле.

Кадр ответа FRMR используется при выполнении следующих усло­

вий:

1.Прием недействительного управляющего поля команды или

ответа.

2.Прием слишком длинного информационного поля.

3.Прием недействительного поля N(R).

4.Прием недопустимого информационного поля или супервизорного/ненумерованного кадра неправильной длины.

Протокол HDLC с помощью кадра FRMR обеспечивает зна­ чительный объем информации о состоянии (status). Информационное поле содержит следующее:

-управляющее поле отвергнутого кадра;

-текущее значение переменных состояния принимающей станции (номера посылки N(S) и приема N(R));

-отвергнутый кадр был командой или ответом;

-управляющее поле является недействительным;

-кадр был передан с недопустимым информационным полем;

-информационное поле является слишком длинным;

-порядковые номера являются недействительными.

RD (Request Disconnect-Запрос разъединения). Это запрос от вто­ ричной станции на логическое разъединение и установление состояния ло­ гического разъединения.

XID (Exchange State Identification - Идентификация станции при коммутации). Эта команда запрашивает идентификацию вторичной стан­ ции. В системах с коммутацией эта команда используется для идентифи­ кации вызывающей станции.

TEST (Test-Проверка). Этот кадр используется для санк­ ционирования тестовых ответов от вторичной станции.

SARM (Set Asynchronous Response Mode - Установить режим асинхронных ответов). Устанавливает режим, позволяющий вторичной станции вести передачу без опроса со стороны первичной станции. Он пе­ реводит вторичную станцию в состояние передачи информации (IS) режи­ ма ARM. Поскольку команда SARM устанавливает две несбалансирован­ ные станции, SARM должна выдаваться по обоим направлениям передачи.

Команды DISC посылаются, чтобы гарантировать полную реинициа­ лизацию канала.

SABM (Set Asynchronous Balanced Mode - Установить асинхрон­ ный сбалансированный режим). Устанавливает режим в ARM, в котором станции являются равноправными. Для передачи не требуется опроса, по­

скольку каждая станция является станцией комбинированного типа.

SNRME (Set Normal Response Mode Extended - Установить расши­ ренный режим нормального ответа). Устанавливает SNRM с двумя допол­ нительными байтами в управляющем поле.

SABME (Set Asynchronous Balanced Mode Extended - Установить расширенный асинхронный сбалансированный режим). Устанавливает SABM с двумя дополнительными байтами в управляющем поле.

UP (Unnumbered Poll - Ненумерованный опрос). Команда опраши­ вает станцию безотносительно к нумерации кадров и квитированию. Если бит опроса установлен в 0 , ответ является необязательной возможностью, предоставляемой только для одного ответа.

RSET (Reset - Сброс переменных). Передающая станция сбрасы­ вает свой N(S), а принимающая станция свой ЩЯ). Эта команда использу­ ется для восстановления. Кадры, которые ранее не были квитированы, ос­ таются таковыми.

HDLC, кроме того, использует тайм-аут, который начинается с мо­ мента передачи каждого кадра. Тайм-аут используется для инициирования повторной передачи, когда таймер переполняется. Кроме того, использует­ ся счетчик для определения максимального числа повторных передач, ко­ торые будут выполнены до того, как превысится тайм-аут. Указанные пе­ ременные используются также командами/ответами установления звена, такими как SABM и UA.

8.4.7. Процесс передачи в протоколе HDLC

Мы рассмотрели в данном разделе много терминов и понятий. По­ пробуем теперь свести воедино этот материал на реальных примерах про­ цесса обмена данными между устройствами системы передачи данных

[17].На рис. 8.24-8.28 показаны различные виды коммуникации:

-асинхронный сбалансированный режим с полудуплексным пото­ ком данных (см. рис. 8.24);

-асинхронный сбалансированный режим с полнодуплексным пото­ ком данных (см. рис. 8.25);

-восстановление после ошибок (исправление ошибок) по методу

«Возвращение-на-N» (контрольная точка) (см. рис. 8.26);

-восстановление после ошибок по методу «Возвращение-на-N» (от­ вергнуть) (см. рис. 8.27);

-восстановление после ошибок по методу «Выборочного неприема» (Selective Reject) (см. рис. 8.28);

Прежде всего, взяв за основу рис. 8.24, рассмотрим условные обо­ значения, используемые на рисунках. Рисунки представляют собой как бы «логические» снимки, сделанные в отдельные интервалы времени (и, л+1

ит.д.). Обозначения, находящиеся во временном «окне», отражают содер­ жание кадра HDLC (или некоторого подмножества протокола, например SDLC), передаваемого станциями А и В в конкретное время.

Весьма маловероятно, что две станции начнут передачу строго в один и тот же момент времени, но для упрощения объяснения мы будем придерживаться этого предположения. Например, временное окно станции А могло бы быть изображено более широким, чем окно станции Я, что оз­ начало бы, что станцией А передается более длинный кадр, но неравные окна неоправданно усложнили бы и без того сложную тему. Кроме того, иллюстрации полнодуплексного метода показывают некоторые временные окна, относящиеся к каналу, который находится в состоянии покоя. Это может иметь место или нет в зависимости от того, как загружены станции.

Рассмотрим используемые на рисунках обозначения:

А, В - адреса станций в адресном поле заголовка кадра;

/ - информационный кадр;

S - x - номер посылаемого кадраN(S)y

г =х - номер посылаемого кадра, ожидаемого к приему, N(R)\

RR, SNRM, SABM, REJ, SREJ - команды и ответы;

P /F - биты Р или F, установленные в 1.

Рассмотрим процесс взаимодействия станций в асинхронном сбалан­ сированном режиме с полудуплексным потоком данных, в котором бит P/F реализует «контрольные точки» (см рис. 8.24, табл. 8.1). Напомним, что

полудуплексный режим взаимодействия характерен для систем с решаю­ щей обратной связью и ожиданием (РОС-ОЖ).

Время

п

/2+1

/ 2+2

/2+3

/2 + 4

/2+5

/2 + 6

/2 + 7

/2+8

в ,

 

BJ

BJ,P

 

 

 

Л, RR, F

 

А SABM,

 

5 = 0 ,

5 = 1,

 

 

 

R -2

 

Р

В,

R= 0

Л = 0

В, RR, F

AJ

AJ,P

 

5, RR, F

В

 

 

 

UA,

 

 

R -2

5 = 0 ,

5 = 1,

 

R -2

 

F

 

 

 

Л = 2

Д = 2

 

 

Рис. 8.24. Асинхронный сбалансированный режим с полудуплексным потоком данных (бит P/Fреализует «контрольные точки»)

 

Таблица 8.1

События

Станция /4

посылает станции В команду установить асинхронный

лсбалансированный режим (SABM) и требует подтверждение (отве­ та) путем установки бита Р

Л+1

п+ 2

л+3

и+4

л+5

л+ 6

л+7

Станция В посылает станции А ответ в виде ненумерованного под­ тверждения (UA) с установленным битом F. Это означает оконча­ ние передачи, т. е. станция В не имеет данных для передачи.

Станция А посылает информационный (7) кадр с номерами N(S) = 0

иN(R) = 0. Бит Р не установлен. Это означает, что передача еще не окончена (будут еще переданы кадры), и от станции В не требуется ответа.

Станция А посылает информационный (7) кадр с номерами N(S) = 1

иN(R) = 0. Бит Р установлен. Это означает, что передача окончена,

иот станции В требуется ответ.

Станция В посылает станции А ответ в виде супервизорного кадра с сообщением о готовности к приему кадра с номером N(R) = 2. Это означает, что кадры с номерами 0 и 1 были приняты правильно. В ответе установлен бит F. Это означает окончание передачи, т. е. станция В не имеет данных для передачи.

Станция В посылает информационный (7) кадр с номерами N(S) = 0

иN(R) - 2. Бит Р не установлен. Это означает, что передача еще не окончена (будут еще переданы кадры), и от станции А не требуется ответа.

Станция В посылает информационный (7) кадр с номерами N(S) = 1

иN(R) = 2. Бит Р установлен. Это означает, что передача окончена,

иот станции А требуется ответ.

Станция А посылает станции В ответ в виде супервизорного кадра

с сообщением о готовности к приему кадра с номером N(R) = 2. Это означает, что кадры с номерами 0 и 1 были приняты правильно. В ответе установлен бит F. Это означает окончание передачи, т. е. станция А не имеет данных для передачи.

Станция В посылает станции А ответ в виде супервизорного кадра с сообщением о готовности к приему кадра с номером N(R) = 2. Номер N(R) сохраняется, поскольку он изменяется только по прие­ л+ 8 му информационных кадров. В ответе установлен бит F. Это озна­ чает окончание передачи, т. е. станция В не имеет данных для пере­

дачи.

Рассмотрим процесс взаимодействия станций в асинхронном сбалан­ сированном режиме с полнодуплексным потоком данных, в котором при­ знак Р не останавливает поток данных (см рис. 8.25, табл. 8.2). Напомним, что полнодуплексный режим взаимодействия характерен для систем с ре­ шающей обратной связью и непрерывной передачей (РОС-НП).

 

 

 

 

Время

 

 

 

 

п

л+1

л+2

л+3

л+4

л+5

л+6

л+7

л+8

В,1

В,1,Р

 

 

BJ

5, RR, Р

 

в,1

if, RR,

А 5 = 0 ,

5 = 1 ,

 

 

5 = 2 ,

R -4

 

5 = 3 ,

Л = 6

Л = 0 Л = 1

5, RR, F

А,1

Я = 3

A J

5, RR,F

R= 5

АУRR, F

AJ

AJ

А,1

А,1

В 5 = 0 , 5 - 1 ,

R= 2 5 = 2, 5 = 3 ,

5 = 4,

R= 3 5 = 5 ,

R = 4

Л = 0 Л = 1

 

Л = 2 Я = 2

/? = 3

 

Л = 3

 

Рис. 8.25. Асинхронный сбалансированный режим с полнодуплексным потоком данных (признак Р не останавливает поток)

 

Таблица 8.2

События

п

Обе станции (/4 и Б) передают информационный кадр с порядковым

номером посылки N(S) = 0 и номером приема N(R) = 0.

 

 

Станции А и В посылают подтверждения приема кадров с номером

 

N(S) = 0, используя порядковые номера приема N(R) = 1. Они также

л+ 1

передают информационные кадры с порядковыми номерами по­

 

сылки N(S) = 1. Станция А посылает разрешение, устанавливая в 1

 

бит Р.

 

Станция В выдает команду о готовности к приему (RR), чтобы под­

 

твердить кадр с номером 1 станции А, используя порядковый номер

л+ 2

N(R) = 2. Она также устанавливает свой бит F в ответ на предыду­

 

щий бит Р, но в режиме АВМ может продолжать передачу без яв­

 

ного разрешения.

л+3

Станция В передает информационный кадр с порядковым номером

посылки N(S) = 2 и номером приема N(R) = 2.

л+4

л+5

и+ 6

п+ 1

и+ 8

Окончание табл. 8.2

События

Станция А посылает информационный кадр с N(S) = 2 и под­ тверждает кадры 1 и 2 станции В, используя порядковый номер приема N(R) = 3. Станция В посылает информационный кадр с

N(S) = 3 и N(R) = 2.

Станции А посылать нечего, но она подтверждает кадр с номером N(S) = 3 станции В, используя порядковый номер приема N(R) = 4. Станция В подтверждает кадр с номером N(S) = 2 станции А, ис­ пользуя порядковый номер приема N(R) = 3, и передает кадр с N(S) = 4. Станция А разрешает посылку ответа, устанавливая в 1 бит Р.

Станция В подтверждает кадр с номером N(S) = 3 станции А, ис­ пользуя порядковый номер приема N(R) = 3. Станция В отвечает на предыдущий бит Р установкой бита F в 1.

Станция А передает кадр с N(S) = 3 и подтверждает кадр с N(S) = 4 станции В, используя порядковый номер приема N(R) = 5. Станция В передает информационный кадр с N(S) = 5.

Ни у одной станции нет данных для передачи. Станция А посылает сообщение о готовности к приему (RR), чтобы индицировать прием кадра с N(R) = 6 . Станция В подтверждает кадр с N(S) = 3 станции А, используя порядковый номер приема с N(R) = 4. Для явного раз­ решения последующей передачи обе станции устанавливают в со­ ответствующих кадрах бит Р.

На рис. 8.26, 8.27 и 8.28 рассмотрены примеры того, как в протоколе HDLC обрабатываются ошибки передачи.

На рис. 8.26 показано использование поля порядкового номера приема для отрицательного подтверждения кадра (что, как мы увидим, может представить определенные проблемы). Символом «*» помечен ин­ формационный кадр, содержащий ошибку, которая обнаруживается на приеме. События, происходящие в описываемом процессе взаимодействия, проиллюстрированы в табл. 8.3.

Исключительное использование поля порядкового номера приема N(R) для отрицательного подтверждения кадра не рекомендуется для пол­ нодуплексной передачи. Так как кадры передаются по каналу в обоих на­ правлениях, порядковые номера посылки и приема часто перекрываются. Например, предположим, что кадр с N(S) = 4 станции А передается при­ мерно в то же время, что и кадр станции В, который содержит N(R) = 4. Станция А может ошибочно заключить, что ее кадр с N(S) = 4 является не­ действительным, в то время как станция В просто указывает, что следую­ щим она ожидает кадр с N(S) = 4.

 

 

 

 

Время

 

 

 

 

п_____ п+\

п+2

п+3

/|+4

л+5

л+6

л+7

л+8

BJ

* ,/(* )

ВЛ

В , 1 , Р

 

BJ

BJ

BJ,P

 

А 5 = 6,

5 = 7 ,

5 = 0 , S = 1,

 

5 - 7 , 5 = 0 , 5 - 1 ,

 

5 = 4

5 = 4

5 = 4 5 = 4

В ,RR, F

5 = 4 5 = 4 5 = 4

В, RR, F

В

 

 

 

 

 

 

 

 

 

R -7

 

 

 

5 = 2

 

 

 

 

 

 

 

Рис. 8.26. Восстановление по методу «Возвращение на (с использованием «контрольных точек»)

Таблица 8.3

События

Станция А посылает информационные кадры с N(S) = 6,7,0 и

1.Отметим, что при циклической нумерации по модулю 8 по­

n,

сле номера 7 следует номер 0. Во время этого периода стан­

n+1,

n+ 2

ция В обнаруживает ошибку в кадре с N(S) = 7. На (л+3)-м

n+3 такте станция А посылает бит опроса Р, который производит такое же действие, как и контрольная точка, т. е. разрешает ответ от станции В.

Станция В возвращается в состояние готовности к приему

4

(RR) с номером посылки с N(S) = 7 и битом окончания F. Это означает, что станция В снова ожидает приема кадра с N(S) = 7, а также всех кадров, переданных после кадра с N(S) = 7.

л+5, /1+6 ,

Станция А повторно передает кадры с N(S) = 7, 0 и 1 и уста­

n+ 1

навливает бит Р в качестве контрольной точки.

Станция В подтверждает кадры с N(S) = 7, 0 и 1 командой и+ 8 «Готов к приему» (RR) и порядковым номером приема с N(R)

= 2, а также устанавливает бит F.

Более эффективный подход к исправлению ошибок состоит в том, чтобы указать ошибочный кадр явно. На рис. 8.27 и 8.28 иллюстрируются два метода реализации явных отрицательных подтверждений (REJ и SREJ).

На рис. 8.27 показано использование команды «Неприем» (REJ) для запроса повтора кадров, начиная с ошибочно принятого. Символом «*» помечен информационный кадр, содержащий ошибку, которая обнаружи­ вается на приеме. События, происходящие в описываемом процессе взаи­ модействия, проиллюстрированы в табл. 8.4.

Команда REJ указывает номер кадра, с которого необходимо повто­ рить передачу. В результате получается вставка нескольких ранее пра­ вильно принятых кадров. Для исключения этого применяется команда SREJ (выборочный запрос).

п,

/2+1

л+ 2

л+3,

л+4,

л+5

/2+ 6

 

 

Время

 

 

 

п

п+1______л+2

л+3

п+4

л+5

л+6

BJ

* ,/(* )

В, I

5,7

5 ,'/

5 ,7 ,5

 

А 5 = 6 , 5 = 7 ,

5 = 0 ,

5 = 7 , 5 = 0 , 5 = 1 ,

 

5 = 4 5 = 4

5 = 4

5 = 4

5 = 4 5 = 4

 

В

 

5, REJ, F

 

 

 

5, RR, F

 

 

5 = 7

 

 

 

5 = 2

Рис. 8.27. Исправление ошибок с использованием команды REJ

Таблица 8.4

События

Станция Л посылает информационные кадры с N(S) = 6 и 7. Во время этого периода станция В обнаруживает ошибку в кадре с N(S) = 7.

Станция А посылает информационный кадр с N(S) = 0. Стан­ ция В посылает команду «Неприем» (REJ) с номером оши­ бочно принятого кадра N(R) = 7 и установленным битом F.

Станция А повторно передает кадры с N(S) = 7, 0 и 1. На (/2+5)-м такте станция А устанавливает бит Р в качестве кон­ трольной точки, разрешая станции В ответить.

Станция В подтверждает кадры с N(S) = 7, 0 и 1 командой «Готов к приему» (RR) и порядковым номером приема с N(R) = 2, а также устанавливает бит F.

На рис. 8.28 показано использование команды «Выборочный неприем» (SREJ) для запроса повтора ошибочно переданного кадра. Символом «*» помечен информационный кадр, содержащий ошибку, которая обна­ руживается на приеме. События, происходящие в описываемом процессе взаимодействия, проиллюстрированы в табл. 8.5.

п

BJ

А5 = 6 ,

5 = 4

В

л+1 ^

II И*

Время

 

 

 

/1+2

л+3

л+4

л+5

5,7

5, /

5, /, Я

 

5 = 0,

5 = 7 ,

5 = 1,

 

5 = 4

5 = 4

5 = 4

5, RR, F

5, SREJ, F

 

 

5 = 7

 

 

5 = 2

Рис. 8.28. Исправление ошибок с использованием команды SREJ

Таблица 8,5

События

Я,

Станция А посылает информационные кадры с N(S) = 6 и 7.

Во время этого периода станция В обнаруживает ошибку в

л+ 1

кадре с N(S) = 7 .

 

 

Станция А посылает информационный кадр с N(S) = 0. Стан­

л+ 2

ция В посылает команду «Выборочный неприем» (SREJ) с

номером ошибочно принятого кадра N(R) = 7 и установлен­

 

 

ным битом F.

 

Станция А повторно передает кадр с N{S) = 7 и продолжает

п+Ъ,

передачу с кадра с номером и N(S) = 1. Обратим внимание на

то, что кадр с номером N(S) = 0 не повторяется, так как он

и+4

был передан и принят без ошибки (иначе была бы команда

 

REJ). На (л+4)-м такте станция А устанавливает бит Р в каче­

 

стве контрольной точки, разрешая станции В ответить.

л+5

Станция В подтверждает кадры с N(S) = 7, 0 и 1 командой

«Готов к приему» (RR) и порядковым номером приема с N(R)

=2, а также устанавливает бит F.

Внастоящем разделе были рассмотрены примеры практического ис­ пользования принципов организации систем с обратной связью (РОС-ОЖ

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

Контрольные вопросы к главе 8

1.Привести классификацию, дать краткую характеристику и срав­ нительный анализ методов повышения достоверности передачи цифровой информации.

2.Привести классификацию, дать краткую характеристику и срав­ нительный анализ систем с обратной связью.

3.Проанализировать способы многократного повторения, привести форматы сигналов и оценить избыточность.

4.Привести и проанализировать структурные схемы приемника системы с повторением кодовых комбинаций и повторением символов ко­ довых комбинаций.

5.Оценить корректирующую способность при многократном по­ вторении в каналах с независимыми и пакетирующимися ошибками.

6 . Рассмотреть вероятностные характеристики систем с многократ­ ным повторением.

7. Проанализировать структурную схему и привести временные диаграммы, иллюстрирующие процессы взаимодействия в системе с РОСОЖ в следующих ситуациях: а) безошибочная передача; б) ошибка в пря­ мом канале.

8 . Проанализировать причины появления событий вставки и выпа­ дения, привести соответствующие временные диаграммы.

9. Продемонстрировать основные методы борьбы с событиями вставки и выпадения, проиллюстрировать при помощи временных диа­ грамм.

10.Проанализировать структурную схему и привести временные диаграммы, иллюстрирующие процессы взаимодействия в системе с РОСНИ в следующих ситуациях: а) безошибочная передача; б) ошибка в пря­ мом канале.

11.Провести сравнительный анализ вероятностных, временных

иинформационных характеристик систем с РОС-ОЖ и РОС-НП.

12.Проанализировать структурную схему и привести временные диаграммы, иллюстрирующие процессы взаимодействия в системе с НОС

вследующих ситуациях: а) безошибочная передача; б) ошибка в прямом канале.

13.Рассмотреть основные характеристики протокола HDLC.

14.Проанализировать процесс передачи в рамках протокола HDLC как пример реализации системы с РОС, привести временные диаграммы, подобные рассмотренным в п.8.4.7.

9. АРИФМЕТИЧЕСКИЕ КОДЫ. АЛГОРИТМЫ ОБНАРУЖЕНИЯ И ИСПРАВЛЕНИЯ

АРИФМЕТИЧЕСКИХ ОШИБОК

9.1. Некоторые сведения изтеории чисел

Основным математическим аппаратом арифметических кодов явля­ ется теория чисел. Краткие сведения о теории чисел можно найти в ука­ занной выше литературе, а также в работе [14]. Приведем здесь некоторые элементарные понятия, используемые в последующих параграфах.

Натуральное число р Ф 1 называется простым, если все его делители исчерпываются числами 1 и р. Любое натуральное число, большее едини­ цы, является простым или произведением простых. Если два целых числа а и Ь при делении на натуральное число р дают одинаковые остатки, то они называются сравнимыми по модулю р: а = 6 (mod р), а само выражение на­ зывается сравнением.

Перечислим некоторые наиболее важные свойства сравнений:

1. Соотношение сравнимости рефлексивно (а = tf(mod р )\ симмет­ рично (из а = Z>(mod р) следует, что Ь н a(mod р)) и транзитивно (из

а= b(mod р), Ъ= c(mod р) следует, что а = c(mod р)).

2.Сравнения по одному и тому же модулю можно почленно склады­

вать и вычитать, т.е. из а = b(mod р) и с = d(mod р) следует, что а ± с = b ±

± J(mod р).

Слагаемое, стоящее в какой-либо части сравнения, можно перено­ сить в другую часть, если изменить его знак, т. е. если а + Ь = c(mod /?), то а = с - Ъ{mod р). К любой части сравнения можно алгебраически приба­ вить число, кратное модулю, т. е. если а = Z>(mod р ), то а ± / р s 6 (mod р), где / = 0 , 1 , 2 , ...

3. Сравнения по одному и тому же модулю можно почленно пере­ множать, т.е. из а = 6 (mod р) и с = */(mod р) следует, что а с = Ь • </(mod р).

Обе части сравнения можно возвести в одну и ту же степень, т. е. из а = b (mod р) следует а = Ъп (mod р). Обе части сравнения можно умно­ жить на одно и то же целое число, т.е. из а = b (mod р) следует, что а • / =

=Ъ • /(mod р).

4.Обе части сравнения можно разделить на их общий делитель, если

последний взаимно прост с модулем, т. е. если а

с = Ь • c(mod р) и (с, р) =

= 1 , то а = Z?(modр).

 

5. Обе части сравнения и модуль можно умножить на одно и то же

целое число, т. е. из а = 6 (mod р) следует а • r = b

г (mod р • г).

Соседние файлы в папке книги