Управление каналом передачи данных высокого уровня - High-Level Data Link Control

Высокоуровневое управление каналом передачи данных ( HDLC ) - это бит-ориентированный протокол синхронного уровня канала данных с прозрачным кодом, разработанный Международной организацией по стандартизации (ISO). Стандарт для HDLC - ISO / IEC 13239: 2002.

HDLC обеспечивает как ориентированное на соединение и установление соединения обслуживание .

HDLC можно использовать для многоточечных соединений через исходные режимы «главный-подчиненный», нормальный режим ответа (NRM) и режим асинхронного ответа (ARM), но сейчас они используются редко; теперь он используется почти исключительно для подключения одного устройства к другому с использованием асинхронного сбалансированного режима (ABM).

История

HDLC основан на IBM «s SDLC протокол, который является протоколом уровня 2 для компании IBM Systems Network Architecture (SNA). Он был расширен и стандартизирован ITU как LAP (Link Access Procedure), в то время как ANSI назвал их практически идентичную версию ADCCP .

Спецификация HDLC не определяет полную семантику полей кадра. Это позволяет выводить из него другие полностью соответствующие стандарты, и с тех пор производные инструменты появились в бесчисленных стандартах. Он был принят в стек протоколов X.25 как LAPB , в протокол V.42 как LAPM , в стек протоколов Frame Relay как LAPF и в стек протоколов ISDN как LAPD.

Исходные стандарты ISO для HDLC следующие:

  • ISO 3309-1979 - Рамная конструкция
  • ISO 4335-1979 - Элементы процедуры
  • ISO 6159-1980 - Несбалансированные классы процедур
  • ISO 6256-1981 - Сбалансированные классы процедур

ISO / IEC 13239: 2002, текущий стандарт, заменил все эти спецификации.

HDLC был вдохновением для протокола IEEE 802.2 LLC , и он является основой для механизма кадрирования, используемого с PPP на синхронных линиях, который используется многими серверами для подключения к WAN , чаще всего к Интернету .

Аналогичная версия используется в качестве канала управления для многоканальных телефонных линий E-carrier (E1) и SONET . Cisco HDLC использует низкоуровневые методы формирования кадров HDLC, но добавляет поле протокола к стандартному заголовку HDLC.

Обрамление

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

И для синхронных, и для асинхронных ссылок последовательность флагов - двоичная «01111110» или шестнадцатеричная 0x7E, но детали совершенно разные.

Синхронное кадрирование

Поскольку последовательность флагов состоит из шести последовательных 1-битов, другие данные кодируются, чтобы гарантировать, что они никогда не содержат более пяти 1-битов в строке. Это делается путем вставки битов : каждый раз, когда в передаваемых данных появляются пять последовательных 1- битных данных, данные приостанавливаются и передается 0-битный бит.

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

Эта вставка битов служит второй цели - обеспечению достаточного количества переходов сигналов. В синхронных каналах данные кодируются NRZI , так что 0-бит передается как изменение сигнала на линии, а 1-бит передается как без изменения. Таким образом, каждый бит 0 дает возможность принимающему модему синхронизировать свои часы через контур фазовой автоподстройки частоты . Если в строке будет слишком много 1-битов, получатель может потерять счет. Битовая вставка обеспечивает минимум один переход за шесть битовых раз во время передачи данных и один переход за семь битовых раз во время передачи флага.

Когда кадры не передаются по симплексному или полнодуплексному синхронному каналу, по каналу непрерывно передается ограничитель кадров. В зависимости от начального состояния генерируется одна из двух непрерывных форм сигнала:

NrziEncodedFlags.png

Спецификация HDLC позволяет использовать 0-бит в конце разделителя кадра с началом следующего разделителя кадра, то есть «011111101111110». Некоторое оборудование не поддерживает это.

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

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

Асинхронное кадрирование

При использовании асинхронной последовательной связи, такой как стандартные последовательные порты RS-232 , вставка битов в синхронном стиле неуместна по нескольким причинам:

  • Заполнение битов не требуется для обеспечения достаточного количества переходов, поскольку стартовые и стоповые биты обеспечивают это,
  • Поскольку данные кодируются для передачи NRZ , а не NRZI, закодированная форма сигнала отличается,
  • RS-232 отправляет биты группами по 8, что затрудняет добавление отдельных битов, и
  • По той же причине необходимо только специально кодировать байты флагов ; нет необходимости беспокоиться о том, что битовая комбинация состоит из нескольких байтов.

Вместо этого в асинхронном кадрировании используется «прозрачность контрольных октетов», также называемая « заполнением байтов » или «заполнением октетов». Октет границы кадра - 01111110, (0x7E в шестнадцатеричной системе счисления). «Контрольный управляющий октет » имеет значение 0x7D (битовая последовательность '10111110', поскольку RS-232 передает младший бит первым). Если один из этих двух октетов появляется в передаваемых данных, отправляется escape-октет, за которым следует октет исходных данных с инвертированным битом 5. Например, байт 0x7E будет передан как 0x7D 0x5E («10111110 01111010»). Другие зарезервированные значения октета (такие как XON или XOFF ) могут быть экранированы таким же образом при необходимости.

«Последовательность прерывания» 0x7D 0x7E завершает пакет с неполной последовательностью заполнения байтов, заставляя получатель обнаруживать ошибку. Это можно использовать для прерывания передачи пакета без шансов, что частичный пакет будет интерпретирован получателем как действительный.

Состав

Содержимое кадра HDLC показано в следующей таблице:

Флаг Адрес Контроль Информация FCS Флаг
8 бит 8 или более бит 8 или 16 бит Переменная длина, 8 × n бит 16 или 32 бит 8 бит

Обратите внимание, что флаг конца одного кадра может быть (но не обязательно) флагом начала (начала) следующего кадра.

Данные обычно отправляются в количестве, кратном 8 битам, но этого требуют только некоторые варианты; другие теоретически допускают выравнивание данных не на 8-битных границах.

Контрольная последовательность кадра (FCS) представляет собой 16-битный CRC-CCITT или 32-битный CRC-32, вычисляемый по полям адреса, управления и информации. Он предоставляет средства, с помощью которых приемник может обнаруживать ошибки, которые могли быть вызваны во время передачи кадра, такие как потерянные биты, перевернутые биты и посторонние биты. Однако, учитывая, что алгоритмы, используемые для вычисления FCS, таковы, что вероятность того, что определенные типы ошибок передачи останутся необнаруженными, увеличивается с увеличением длины данных, проверяемых на наличие ошибок, FCS может неявно ограничивать практический размер кадра.

Если расчет FCS получателем не совпадает с расчетом отправителя, что указывает на то, что кадр содержит ошибки, получатель может либо отправить отправителю пакет с отрицательным подтверждением , либо ничего не отправить. После получения пакета с отрицательным подтверждением или истечения времени ожидания пакета с положительным подтверждением отправитель может повторно передать неудачный кадр.

FCS была реализована, потому что многие ранние каналы связи имели относительно высокую частоту ошибок по битам , и FCS можно было легко вычислить с помощью простых и быстрых схем или программного обеспечения. Более эффективные схемы прямого исправления ошибок теперь широко используются другими протоколами.

Типы станций (компьютеров) и режимы передачи данных

Synchronous Data Link Control ( SDLC ) изначально был разработан для соединения одного компьютера с несколькими периферийными устройствами через многоточечную шину . Исходный «нормальный режим ответа» - это режим ведущий-ведомый, в котором компьютер (или первичный терминал ) дает каждому периферийному ( вторичному терминалу ) разрешение говорить по очереди. Поскольку вся связь осуществляется либо с первичным терминалом, либо с него, кадры включают только один адрес, адрес вторичного терминала; первичному терминалу не присвоен адрес. Существует различие между командами, отправляемыми первичным сервером вторичному серверу, и ответами, отправляемыми вторичным сервером первичному, но это не отражается в кодировке; команды и ответы неотличимы, за исключением разницы в направлении, в котором они передаются.

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

Режим асинхронного ответа - это дополнение HDLC для использования в полнодуплексных каналах. Сохраняя различие между основным и второстепенным, он позволяет второстепенному передавать в любое время. Таким образом, должен быть какой-то другой механизм, гарантирующий, что несколько вторичных устройств не будут пытаться передавать одновременно (или только один вторичный).

Асинхронный сбалансированный режим добавляет концепцию комбинированного терминала, который может действовать как первичный, так и вторичный. К сожалению, в этом режиме работы есть некоторые тонкости реализации. В то время как наиболее распространенные отправленные кадры не заботятся о том, находятся ли они в кадре команды или ответа, некоторые важные кадры имеют (особенно большинство ненумерованных кадров и любой кадр с установленным битом P / F), а поле адреса полученного кадра должно быть исследованным, чтобы определить, содержит ли он команду (полученный адрес - наш) или ответ (полученный адрес - адрес другого терминала).

Это означает, что поле адреса не является необязательным даже для соединений точка-точка, где нет необходимости устранять неоднозначность узла, с которым разговаривают. Некоторые варианты HDLC расширяют адресное поле, включая адреса источника и назначения или явный бит команды / ответа.

Операции HDLC и типы кадров

Можно выделить три основных типа кадров HDLC:

  • Информационные кадры, или I-кадры , переносят пользовательские данные с сетевого уровня. Они также могут включать информацию об управлении потоками и ошибками, совмещенную с данными.
  • Контрольные кадры или S-кадры используются для управления потоком и ошибками, когда совмещение невозможно или нецелесообразно, например, когда у станции нет данных для отправки. S-кадры не имеют информационных полей.
  • Ненумерованные кадры или U-кадры используются для различных целей, включая управление связью. Некоторые U-кадры содержат информационное поле в зависимости от типа.

Поле управления

Общий формат поля управления:

Поля управления HDLC
7 6 5 4 3 2 1 0
N (R) Номер
последовательности приема.
ПФ N (S)
Послать номер последовательности.
0 I-образная рама
N (R) Номер
последовательности приема.
ПФ тип 0 1 S-образная рама
тип ПФ тип 1 1 U-образная рама

Также существуют расширенные (двухбайтовые) формы I- и S-кадров. И снова младший бит (крайний правый в этой таблице) отправляется первым.

Расширенные поля управления HDLC
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
N (R) Номер
последовательности приема.
ПФ N (S)
Послать номер последовательности.
0 Расширенный I-кадр
N (R) Номер
последовательности приема.
ПФ 0 0 0 0 тип 0 1 Расширенная S-образная рама

P / F бит

Poll / Final - это одиночный бит с двумя названиями. Он называется Poll, когда является частью команды (устанавливается первичной станцией для получения ответа от вторичной станции), и Final, когда является частью ответа (устанавливается вторичной станцией для указания ответа или окончания передачи). Во всех остальных случаях бит ясен.

Бит используется как маркер, который передается между станциями. Одновременно должен существовать только один токен. Вторичный отправляет финал только после того, как получил опрос от первичного. Первичный сервер отправляет опрос только после того, как он получил окончательный ответ от вторичного сервера, или по истечении времени ожидания, указывающего, что бит был потерян.

  • В NRM владение токеном опроса также предоставляет адресованное вторичное разрешение на передачу. Вторичный устанавливает бит F в своем последнем кадре ответа, чтобы отказаться от разрешения на передачу. (Это эквивалентно слову "Over" в процедуре передачи голоса по радио .)
  • В ARM и ABM бит P вызывает ответ. В этих режимах вторичному серверу не нужно ждать опроса для передачи, поэтому последний бит может быть включен в первый ответ после опроса.
  • Если в течение разумного периода времени не получено ответа на бит P, первичная станция прерывает время ожидания и отправляет P снова.
  • Бит P / F лежит в основе базовой схемы повторной передачи контрольной точки , которая требуется для реализации HDLC; все другие варианты (например, S-образная рама REJ) не являются обязательными и служат только для повышения эффективности. Всякий раз, когда станция принимает бит P / F, она может предположить, что любые кадры, которые она отправила до последней передачи бит P / F, но еще не подтверждена, никогда не будут доставлены, и поэтому должны быть переданы повторно.

При работе в качестве комбинированной станции важно поддерживать различие между битами P и F, поскольку одновременно могут работать два цикла контрольных точек. Бит AP, поступающий в команду от удаленной станции, не является ответом на наш бит P; только бит F, поступающий в ответ.

N (R), порядковый номер приема

Оба кадра I и S содержат порядковый номер приема N (R). N (R) обеспечивает положительное подтверждение приема I-кадров с другой стороны канала. Его значением всегда является первый еще не полученный кадр; он подтверждает, что все кадры со значениями N (S) до N (R) -1 (по модулю 8 или по модулю 128) были приняты, и указывает N (S) следующего кадра, который он ожидает получить.

N (R) работает одинаково, независимо от того, является ли он частью команды или ответа. Комбинированная станция имеет только одно пространство порядковых номеров.

N (S), порядковый номер отправленного кадра

Он увеличивается для последовательных I-кадров по модулю 8 или 128. В зависимости от количества бит в порядковом номере до 7 или 127 I-кадров могут ожидать подтверждения в любое время.

I-Frames (пользовательские данные)

Информационные кадры, или I-кадры , переносят пользовательские данные с сетевого уровня. Кроме того, они также включают информацию об управлении потоками и ошибками, совмещенную с данными. Подполя в поле управления определяют эти функции.

Младший значащий бит (передаваемый первым) определяет тип кадра. 0 означает I-кадр. За исключением интерпретации поля P / F, нет никакой разницы между кадром команды I и кадром ответа I; когда P / F равно 0, эти две формы полностью эквивалентны.

S-кадры (контроль)

Контролирующие кадры, или «S-кадры», используются для управления потоком и ошибками, когда совмещение невозможно или нецелесообразно, например, когда у станции нет данных для отправки. S-кадры в HDLC не имеют информационных полей, хотя некоторые протоколы, производные от HDLC, используют информационные поля для «множественного избирательного отклонения».

Поле управления S-кадром включает в себя начальную цифру «10», указывающую, что это S-кадр. За ним следует 2-битный тип, бит опроса / финала и 3-битный порядковый номер. (Или 4-битное поле заполнения, за которым следует 7-битный порядковый номер.)

Первые (наименее значимые) 2 бита означают, что это S-кадр. Все S-кадры включают в себя бит P / F и порядковый номер приема, как описано выше. За исключением интерпретации поля P / F, нет никакой разницы между командным S-кадром и ответным S-кадром; когда P / F равно 0, эти две формы полностью эквивалентны.

Готово к приему (RR)

  • Битовое значение = 00 (0x00 для соответствия порядку битов поля указанного выше типа таблицы)
  • Указывает, что отправитель готов получить больше данных (отменяет действие предыдущего RNR).
  • Отправьте этот пакет, если вам нужно отправить пакет, но у вас нет I-кадра для отправки.
  • Первичная станция может отправить это с установленным битом P для запроса данных от вторичной станции.
  • Вторичный терминал может использовать это с установленным битом F для ответа на опрос, если у него нет данных для отправки.

Прием не готов (RNR)

  • Битовое значение = 10 (0x04 для соответствия порядку битов поля указанного выше типа таблицы)
  • Подтвердите некоторые пакеты, но запрос не будет отправляться до дальнейшего уведомления.
  • Может использоваться как RR с установленным битом P для запроса статуса вторичной станции
  • Может использоваться как RR с установленным битом F для ответа на опрос, если станция занята.

Отклонить (REJ)

  • Битовое значение = 01 (0x08 для соответствия порядку битов поля указанного выше типа таблицы)
  • Запрашивает немедленную повторную передачу, начиная с N (R).
  • Отправлено в ответ на наблюдаемый разрыв в порядковом номере; например, увидев I1 / I2 / I3 / I5, отправьте REJ4.
  • Необязательно для создания; рабочая реализация может использовать только RR.

Выборочный отказ (SREJ)

  • Битовое значение = 11 (0x0c для соответствия порядку битов поля указанного выше типа таблицы)
  • Запрашивает повторную передачу только кадра N (R).
  • Поддерживается не всеми вариантами HDLC.
  • Необязательно для создания; рабочая реализация может использовать только RR или только RR и REJ.

U-образные рамы

Ненумерованные кадры или U-кадры в основном используются для управления каналом связи, хотя некоторые из них используются для передачи пользовательских данных. Они обмениваются информацией управления сеансом и управления между подключенными устройствами, а некоторые U-кадры содержат информационное поле, используемое для информации управления системой или пользовательских данных. Первые 2 бита (11) означают, что это U-кадр. Пять битов типа (2 перед битом P / F и 3 бита после бита P / F) могут создавать 32 различных типа U-кадра. В некоторых случаях одна и та же кодировка используется для разных вещей, таких как команда и ответ.

Настройка режима

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

Отклик в отключенном режиме (DM)
Когда вторичный сервер отключен (состояние по умолчанию при включении питания), он отправляет этот общий ответ на любой опрос (командный кадр с установленным флагом опроса), кроме команды настройки приемлемого режима. В качестве альтернативы он может дать ответ FRMR на недопустимую команду установки режима.
Ненумерованный ответ с подтверждением (UA)
Это ответ вторичного сервера на команду установки приемлемого режима, указывающий, что он теперь находится в запрошенном режиме.
Команда Set ... mode (SNRM, SARM, SABM)
Переведите вторичный сервер в указанный режим с 3-битными порядковыми номерами (1-байтовое поле управления). Вторичный подтверждает с UA. Если вторичный не реализует режим, он отвечает DM или FRMR.
Установить ... режим расширенного (SNRME, SARME, SABME) команда
Переведите вторичный сервер в указанный режим с 7-битными порядковыми номерами (2-байтовое поле управления).
Команда установки режима (SM)
Общий набор режимов, новый в ISO / IEC 13239, с использованием информационного поля для выбора параметров. ISO / IEC 13239 добавил много дополнительных опций в HDLC, включая 15- и 31-битные порядковые номера, которые можно выбрать только с помощью этой команды.
Команда отключения (DISC)
Эта команда заставляет вторичный сервер подтвердить с помощью UA и отключиться (перейти в режим отключения). Все неподтвержденные кадры теряются.
Ответ на запрос отключения (RD)
Этот ответ запрашивает первичный отправитель команды DISC. Основной должен сделать это быстро, но может задержать достаточно долго, чтобы гарантировать подтверждение всех ожидающих кадров.
Команда установки режима инициализации (SIM)
Эта редко реализуемая команда используется для выполнения некоторой вторичной инициализации, такой как загрузка прошивки . То, что происходит в режиме инициализации, иначе не определено в стандарте HDLC.
Ответ на запрос режима инициализации (RIM)
Это запрашивает у первичного сервера отправку SIM-карты и инициализацию вторичного. Он отправляется вместо DM, если вторичный требует инициализации.

Передача информации

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

Ненумерованная информация (UI)
Этот кадр (команда или ответ) передает данные пользователя, но без подтверждения или повторной передачи в случае ошибки.
UI с проверкой заголовка (UIH)
Этот кадр (команда или ответ) является дополнением ISO / IEC 13239 и редко используется, он похож на пользовательский интерфейс, но также исключает защиту CRC. Только префикс настраиваемой длины («заголовок») кадра покрывается полиномом CRC; ошибок в остальной части кадра не обнаружено.
Команда ненумерованного опроса (ВВЕРХ)
Эта команда запрашивает ответ от вторичного сервера. С установленным битом опроса он действует как любой другой кадр опроса без подтверждения, которое должно быть включено в I или S кадр. Когда бит опроса сброшен, он имеет особое значение в режиме нормального ответа: вторичный сервер может ответить, даже если он не получил бит опроса. Это редко используется в HDLC, но использовалось в исходном IBM SDLC вместо отсутствия режима асинхронного ответа; там, где канал связи может обрабатывать одновременные ответы, первичный будет периодически отправлять UP на широковещательный адрес для сбора любых ожидающих ответов.

Восстановление после ошибки

Отклонение кадра (FRMR) ответ
Ответ FRMR содержит описание неприемлемого кадра в стандартизованном формате. Первые 1 или 2 байта являются копией отклоненного поля управления, следующие 1 или 2 содержат текущие порядковые номера отправки и получения вторичного сервера (и флаг, указывающий, что кадр был ответом, применимым только в сбалансированном режиме), и следующие 4 или 5 битов - это флаги ошибки, указывающие причину отклонения. Вторичный сервер повторяет один и тот же ответ FRMR на каждый опрос, пока ошибка не будет устранена командой установки режима или RSET. Флаги ошибок:
  • W: тип кадра (поле управления) не понят или не реализован.
  • X: тип кадра не понимается с непустым информационным полем, но он присутствует.
  • Y: кадр включал информационное поле, которое больше, чем может принять вторичный.
  • Z: кадр включает недопустимый порядковый номер приема N (R), который не находится между ранее принятым значением и наивысшим переданным порядковым номером. (Эта ошибка не может быть устранена путем получения RSET, но может быть устранена путем отправки RSET.)
  • V: кадр содержит недопустимый порядковый номер отправки N (S), превышающий последнее подтвержденное число плюс размер окна передачи. Эта ошибка возможна только в том случае, если был согласован размер окна передачи меньше максимального.
  • Флаги ошибок обычно дополняются 0 битами до 8-битной границы, но HDLC разрешает кадры, длина которых не кратна байту.
Команда сброса (RSET)
Команда RSET заставляет вторичный сервер сбрасывать свой порядковый номер приема, поэтому следующим ожидаемым кадром будет порядковый номер 0. Это возможная альтернатива отправке новой команды установки режима, которая сбрасывает оба порядковых номера. Это подтверждается UA, как команда установки режима.

Открытие сверстников

Идентификация биржи (XID)
Команда XID включает информационное поле, определяющее возможности первичного устройства; вторичный отвечает ответом XID с указанием его возможностей. Обычно это делается перед отправкой команды установки режима. Системная сетевая архитектура определила один формат для информационного поля, в котором самый старший бит первого байта является чистым (0), но реализации HDLC обычно реализуют вариант, определенный в ISO 8885, который имеет самый старший бит первого набора байтов. (1).
КОНТРОЛЬНАЯ РАБОТА
Команда TEST - это просто команда ping для целей отладки. Полезные данные команды TEST возвращаются в ответе TEST.

Определено в других стандартах

Есть несколько U-кадров, которые не являются частью HDLC, но определены в других связанных стандартах.

Незарезервированный (NR0, NR1, NR2, NR3)
Стандарт HDLC гарантирует, что "незарезервированные" команды и ответы будут доступны для других целей.
Подтверждение без установления соединения (AC0, AC1)
Они определены в стандарте управления логическим каналом IEEE 802.2 .
Настроить (CFGR)
Эта команда была определена в SDLC для отладки. Он имел 1-байтовую полезную нагрузку, которая определяла нестандартный тестовый режим для вторичного. Четные числа отключили режим, а нечетные - включили. Значение 0 отключило все тестовые режимы. Вторичный сервер обычно подтверждает команду настройки, повторяя ее в ответ.
Ответ маяка (BCN)
Этот ответ был определен в SDLC для обозначения сбоя связи. Вторичный сервер, который долгое время не получал никаких кадров, начал бы посылать поток ответов маяка, позволяя обнаружить однонаправленную неисправность. Обратите внимание, что ISO / IEC 13239 назначает UIH ту же кодировку, что и BCN.

Конфигурации связи

Конфигурации ссылок можно разделить на следующие категории:

  • Несимметричный , который состоит из одной первичной клеммы и одной или нескольких вторичных клемм.
  • Сбалансированный , состоящий из двух одноранговых терминалов.

Три конфигурации связи:

  • Режим нормального ответа (NRM) - это несбалансированная конфигурация, в которой только первичный терминал может инициировать передачу данных. Вторичные терминалы передают данные только в ответ на команды от первичного терминала. Первичный терминал опрашивает каждый вторичный терминал, чтобы дать ему возможность передать любые имеющиеся у него данные.
  • Асинхронный режим ответа (ARM) - это несбалансированная конфигурация, в которой вторичные терминалы могут передавать без разрешения первичного терминала. Однако по-прежнему существует выделенный первичный терминал, который сохраняет ответственность за инициализацию линии, исправление ошибок и логическое отключение.
  • Асинхронный сбалансированный режим (ABM) - это сбалансированная конфигурация, в которой любая станция может инициализировать, контролировать, восстанавливаться после ошибок и отправлять кадры в любое время. Нет отношений "ведущий / ведомый". DTE ( оконечное оборудование данных ) и DCE ( оконечное оборудование канала передачи данных ) рассматриваются как равные. Инициатор асинхронного сбалансированного режима отправляет SABM.

Дополнительная конфигурация канала - режим «Отключено» . Это режим, в котором находится вторичная станция до того, как она будет инициализирована первичной, или когда она явно отключена. В этом режиме вторичный сервер отвечает почти на каждый кадр, кроме команды установки режима, ответом «Режим отключения». Цель этого режима - позволить первичному устройству надежно обнаружить, что вторичный выключен или иным образом сброшен.

Репертуар команд и ответов HDLC

Минимальный набор, необходимый для работы:

  • Команды: I, RR, RNR, DISC и одна из SNRM, SARM или SABM
  • Ответы: I, RR, RNR, UA, DM, FRMR

Основные операции

  • Инициализация может быть запрошена любой стороной. Когда первичный отправляет одну из шести команд установки режима, он:
    • Сигнализирует другой стороне, что запрашивается инициализация
    • Определяет режим, NRM, ABM, ARM
    • Определяет, используются ли 3- или 7-битные порядковые номера.

Модуль HDLC на другом конце передает кадр (UA), когда запрос принят. Если запрос отклонен, он отправляет (DM) кадр режима отключения.

Функциональные расширения (опции)

  • Для коммутируемых цепей
    • Команды: ДОБАВИТЬ - XID
    • Ответы: ADD - XID, RD
  • Для двухсторонних одновременных команд и ответов ADD - REJ
  • Для команд и ответов однокадровой повторной передачи: ADD - SREJ
  • Информационные команды и ответы: ADD - Ul
  • Для инициализации
    • Команды: ДОБАВИТЬ - SIM
    • Ответы: ДОБАВИТЬ - RIM
  • Для группового опроса
    • Команды: ДОБАВИТЬ - ВВЕРХ
  • Расширенная адресация
  • Удалить кадры ответа I
  • Удалить кадры Command I
  • Расширенная нумерация
  • Для сброса режима (только ABM) есть следующие команды: ADD - RSET
  • Команды и ответы тестирования канала передачи данных: ДОБАВИТЬ - ТЕСТ
  • Запросить отключение. Ответы ADD - RD
  • 32-битная FCS

Репертуар команд и ответов HDLC

Тип рамы Имя Команда /
ответ
Описание Информация Формат C-поля
7 6 5 4 3 2 1 0
Информация (I) C / R Данные об обмене пользователями N (R) ПФ N (S) 0
Наблюдательный (S) Готово к приему (RR) C / R Положительное подтверждение Готов к приему I-кадра N (R) N (R) ПФ 0 0 0 1
Прием не готов (RNR) C / R Положительное подтверждение Не готов к приему N (R) ПФ 0 1 0 1
Отклонить (REJ) C / R Отрицательное подтверждение Повторить передачу, начиная с N (R) N (R) ПФ 1 0 0 1
Выборочный отказ (SREJ) C / R Отрицательное подтверждение Только ретрансляция N (R) N (R) ПФ 1 1 0 1

Ненумерованные кадры

Ненумерованные кадры идентифицируются двумя младшими битами, равными 1. С флагом P / F это оставляет 5 бит в качестве типа кадра. Несмотря на то, что используется менее 32 значений, некоторые типы имеют разные значения в зависимости от направления, в котором они отправляются: как команда или как ответ. Взаимосвязь между командой DISC (отключение) и ответом RD (запрос отключения) кажется достаточно ясной, но причина, по которой команда SARM численно равна ответу DM, неясна.

Имя Команда /
ответ
Описание Информация Формат C-поля
7 6 5 4 3 2 1 0
Установить нормальный режим отклика SNRM C Установить режим Использовать 3-битный порядковый номер 1 0 0 п 0 0 1 1
SNRM расширенный SNRME C Установить режим; расширенный Использовать 7-битный порядковый номер 1 1 0 п 1 1 1 1
Установить режим асинхронного ответа SARM C Установить режим Использовать 3-битный порядковый номер 0 0 0 п 1 1 1 1
SARM расширенный SARME C Установить режим; расширенный Использовать 7-битный порядковый номер 0 1 0 п 1 1 1 1
Установить асинхронный сбалансированный режим SABM C Установить режим Использовать 3-битный порядковый номер 0 0 1 п 1 1 1 1
SABM расширенный SABME C Установить режим; расширенный Использовать 7-битный порядковый номер 0 1 1 п 1 1 1 1
Установить режим SM C Установить режим, общий Новое в ISO 13239 1 1 0 п 0 0 1 1
Установить режим инициализации SIM C Инициализировать функцию управления каналом связи на адресуемой станции 0 0 0 п 0 1 1 1
Запросить режим инициализации RIM р Требуется инициализация Запрос команды SIM 0 0 0 F 0 1 1 1
Отключить ДИСК C Завершить соединение по логическому каналу Будущие кадры I и S возвращают DM 0 1 0 п 0 0 1 1
Запросить отключение RD р Подстрекательство для DISC Command 0 1 0 F 0 0 1 1
Ненумерованное подтверждение UA р Подтвердите принятие одной из команд режима установки. 0 1 1 F 0 0 1 1
Отключить режим DM р Ответчик в отключенном режиме Требуется установка режима 0 0 0 F 1 1 1 1
Ненумерованный информационный интерфейс C / R Неподтвержденные данные Имеет полезную нагрузку 0 0 0 ПФ 0 0 1 1
UI с проверкой заголовка UIH C / R Неподтвержденные данные Новое в ISO 13239 1 1 1 ПФ 1 1 1 1
Ненумерованный опрос ВВЕРХ C Используется для запроса контрольной информации 0 0 1 п 0 0 1 1
Сбросить RSET C Используется для восстановления Сбрасывает N (R), но не N (S) 1 0 0 п 1 1 1 1
Идентификация биржи XID C / R Используется для запроса / отчета о возможностях 1 0 1 ПФ 1 1 1 1
Тест ТЕСТ C / R Обмен идентичными информационными полями для тестирования 1 1 1 ПФ 0 0 1 1
Отклонение кадра FRMR р Сообщить о получении недопустимого кадра 1 0 0 F 0 1 1 1
Незащищенный 0 NR0 C / R Не стандартизован Для использования в приложении 0 0 0 ПФ 1 0 1 1
Незарезервированный 1 NR1 C / R Не стандартизован Для использования в приложении 1 0 0 ПФ 1 0 1 1
Незарезервированный 2 NR2 C / R Не стандартизован Для использования в приложении 0 1 0 ПФ 1 0 1 1
Незарезервированный 3 NR3 C / R Не стандартизован Для использования в приложении 1 1 0 ПФ 1 0 1 1
Подтверждение без установления соединения, seq 0 AC0 C / R Не является частью HDLC Расширение IEEE 802.2 LLC 0 1 1 ПФ 0 1 1 1
Подтверждение без установления соединения, seq 1 AC1 C / R Не является частью HDLC Расширение IEEE 802.2 LLC 1 1 1 ПФ 0 1 1 1
Настроить для теста CFGR C / R Не является частью HDLC Был частью SDLC 1 1 0 ПФ 0 1 1 1
Маяк BCN р Не является частью HDLC Был частью SDLC 1 1 1 F 1 1 1 1
Кадры HDLC U, двоичное кодирование
Формат C-поля Командование Ответ Формат C-поля Командование Ответ
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
1 1 0 0 ПФ 0 0 0 UI 1 1 1 0 ПФ 0 1 0 (не используется)
1 1 0 0 ПФ 0 0 1 SNRM 1 1 1 0 ПФ 0 1 1 CFGR
1 1 0 0 ПФ 0 1 0 ДИСК RD 1 1 1 0 ПФ 1 0 Икс (не используется)
1 1 0 0 ПФ 0 1 1 SM 1 1 1 0 ПФ 1 1 Икс AC0 – AC1
1 1 0 0 ПФ 1 0 0 ВВЕРХ 1 1 1 1 ПФ 0 0 0 SARM DM
1 1 0 0 ПФ 1 0 1 (не используется) 1 1 1 1 ПФ 0 0 1 RSET
1 1 0 0 ПФ 1 1 0 UA 1 1 1 1 ПФ 0 1 0 SARME
1 1 0 0 ПФ 1 1 1 КОНТРОЛЬНАЯ РАБОТА 1 1 1 1 ПФ 0 1 1 SNRME
1 1 0 1 ПФ 0 Икс Икс NR0 – NR3 1 1 1 1 ПФ 1 0 0 САБМ
1 1 0 1 ПФ 1 Икс Икс (не используется) 1 1 1 1 ПФ 1 0 1 XID
1 1 1 0 ПФ 0 0 0 SIM RIM 1 1 1 1 ПФ 1 1 0 САБМЕ
1 1 1 0 ПФ 0 0 1 FRMR 1 1 1 1 ПФ 1 1 1 UIH
BCN
* ^ ^ Дополнение ISO / IEC 13239
^ ^ ^ Не входит в состав HDLC

Кадры UI, UIH, XID, TEST содержат полезную нагрузку и могут использоваться как в качестве команд, так и в качестве ответов. Команда SM и ответ FRMR также содержат полезную нагрузку.

  • Кадр пользовательского интерфейса содержит информацию о пользователе, но в отличие от кадра I он не подтверждается и не передается повторно в случае потери.
  • Кадр UIH (дополнение ISO / IEC 13239) подобен кадру UI, но дополнительно применяет последовательность проверки кадра только к префиксу указанной длины кадра; ошибок передачи после этого префикса не обнаруживается.
  • Кадр XID используется для обмена возможностями терминала. Системная сетевая архитектура определяет один формат, но чаще используется вариант, определенный в ISO 8885. Первичный сервер объявляет о своих возможностях с помощью команды XID, а вторичный возвращает свои возможности в ответе XID.
  • Фрейм TEST - это просто команда ping для целей отладки. Полезные данные команды TEST возвращаются в ответе TEST.
  • Команда SM (дополнение ISO / IEC 13239) является общей командой «установить режим», которая включает в себя информационное поле (в том же формате ISO 8885, что и XID), определяющее параметры. Это позволяет согласовывать значения параметров (например, 15- и 31-битные порядковые номера) и параметры, такие как размеры окна и максимальные размеры кадра, которые не могут быть выражены стандартными шестью командами установки режима.
  • Ответ FRMR содержит описание неприемлемого кадра в стандартизованном формате. Первые 1 или 2 байта являются копией отклоненного поля управления, следующие 1 или 2 содержат текущие порядковые номера отправки и приема вторичного сервера, а следующие 4 или 5 битов являются флагами ошибок, указывающими причину отклонения.

Смотрите также

Заметки

Рекомендации

  • Друг, Джордж Э .; Fike, John L .; Бейкер, Х. Чарльз; Беллами, Джон С. (1988). Понимание передачи данных (2-е изд.). Индианаполис: Ховард В. Самс и компания. ISBN 0-672-27270-9.
  • Столлингс, Уильям (2004). Данные и компьютерные коммуникации (7-е изд.). Река Аппер Сэдл: Пирсон / Прентис Холл. ISBN 978-0-13-100681-2.
  • С. Таненбаум, Эндрю (2005). Компьютерные сети (4-е изд.). 482, FIE, Патпаргандж, Дели 110 092: Дорлинг Киндерсли (Индия) Pvt. Ltd., лицензии Pearson Education в Южной Азии. ISBN 81-7758-165-1.CS1 maint: location ( ссылка )

Внешние ссылки