Команды и ответы

Супервизорный формат, показанный на рис. 5, предусматри­вает четыре команды и ответа, которые представлены на рис. 7. (Обобщенная сводка всех команд и ответов дана в таблице 2.) Этими командами и ответами являются: Готов к приему (Receive Ready—RR), Неприем (Reject—REJ), He готов к приему (Receive Not Ready—RNR), Выборочный не­прием (Selective Reject—SREJ). Назначение этого формата и четырех команд и ответов состоит в выполнении нумерованных (т. е. использующих порядковые номера кадров) супервизорных функций, таких, как подтверждение (квитирование), оп­рос, временная задержка передачи данных и восстановление после ошибок. Кадры супервизорного формата не содержат ин­формационного поля, следовательно, как показано на рис. 5, в них располагается порядковый номер приема. Супервизорный формат может быть использован для подтверждения приема кадров от передающей станции. Рассмотрим команды и ответы, используемые супервизорным форматом.

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

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

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

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


 

Таблица 2. Команды и ответы HDLC  
  Двоичное кодирование управляющего      
поля  
Формат Команды Ответы  
Информационный - N(Пос) - * - N(Пр) - I - Информация I - Информация  
 
Супервизорный   *       RR - Готов к приему RR - Готов к приему  
  *       REJ - Неприем REJ - Неприем  
  *       RNR - Не готов к приему RNR - He готов к приему  
  *       SREJ - Выборочный неприем SREJ - Выборочный неприем  
Ненумерованный   * UI - Ненумерованная информация UI - Ненумерованная информация  
  * SNRM - Установить режим нормального объекта    
  * DISC - Разъединить RD - Запрос разъединения  
  * UP - Ненумерованный опрос    
 
  *   UA - Ненумерованное подтверждение  
  * Test - Проверка Test - Проверка  
  * SIM - Установить режим ини­циализации RIM - Запросить режим инициализации  
  *   FRMR - Неприем кадра  
  * SARM - Установить ARM DM - Режим разъединения  
  * RSET - Сбросить    
  * SARME - Установить расширенный ARM    
  * SNRME - Установить расширенный NRM    
  * SABM - Установить АВМ    
 
  * XID - Идентификация станции XID - Идентификация станции  
  * SABME - Установить расширенный АВМ    
' Значение 1 или 0.  

Третий и последний тип формата в протоколе HDLC пред­назначен для реализации ненумерованных команд и ответов. Этот формат используется для посылки большинства индикато­ров команд и ответов, которые представлены на рис. 7 и в табл. 2. Структура управляющего поля ненумерованного фор­мата показана на рис. 5. Ненумерованные команды можно разбить на группы в соответствии с выполняемыми функциями:

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

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

команды восстановления: 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 используется при выполнении следую­щих условий (данный уровень детализации необходим для понимания отличий Х.25 от Х.75):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UP (Unnumbered Polls—Ненумерованные опросы).

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

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

ООД А посылает: В, DISC

ООД B посылает: В, UA A, DISC

ООД А посылает: A, UA

ООД B посылает: А, SARM

ООД А посылает: А, UA В, SARM

ООД B посылает: В, UA

Команды 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(Пос), а принимающая станция свой N(Пр). Эта команда используется для восстановления. Кадры, которые ранее не были квитированы, остаются таковыми.

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