Формат кадра HDLC

ПРОТОКОЛ HDLC.

Проблемы, связанные с BSC

В нашем рассмотрении BSC было отмечено несколько недостатков этого протокола. Коротко говоря, полудуплексные, ко­дозависимые, многоформатные и многоканальные режимы BSC представляют серьезные проблемы. Поэтому этот протокол вы­тесняется другими протоколами.

HDLC (высокоуровневое управление каналом передачи данных) является стандартом, опубликованным МОС, который получил во всем мире широкое распространение. Стандарт обеспечивает многие функции и охватывает большой диапазон применений. Он рассматривается в качестве базового множе­ства для нескольких других протоколов, как было показано на рис. 1. Он удовлетворяет определению протокола непрерыв­ного ARQ (скользящее окно). HDLC имеет несколько необя­зательных возможностей (опций), которые придают некоторым частям протокола характер гибрида равнорангового метода и метода первичный/вторичный в их чистом виде, потому что эти возможности уменьшают необходимость использования команд опроса и делают ненужными команды выбора. Эти возможности будут рассмотрены ниже.

Настоящий раздел посвящен обсуждению многих функций базового множества (superset) HDLC. В нем рассматриваются также наиболее важные подмножества этого протокола, такие, как SDLC, LAP, LAPB, LAPD.

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

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

Наконец, возможны три типа конфигураций канала HDLC: несбалансированная конфигурация, симметричная конфигура­ция и сбалансированная конфигурация. В англоязычной литературе эти конфигурации часто обозначают соответственно UN, UA и BA.

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

Кадры могут быть трех типов:

— Кадр информационного формата используется для пере­дачи данных конечных пользователей между двумя устройст­вами.

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

— Кадр ненумерованного формата также используется для целей управления. Кадр используется для инициализации или разъединения звена, а также других функций управления зве­ном. Кадр содержит пять двоичных разрядов, что позволяет определить до 32 команд и 32 ответов. Конкретный тип команды и ответа зависит от класса процедуры HDLC. (Коман­ды и ответы будут вкратце рассмотрены ниже.)

Рис. 5. Формат кадра HDLC (а) и правила адресации (б).

Кадр состоит из пяти или шести полей. Все кадры должны начинаться и заканчиваться полями флага. Необходимо, чтобы станции, подключенные к звену данных, постоянно контролировали двоичную последовательность флага. Последователь­ность флага состоит из 01111110. Флаги могут постоянно пере­даваться по каналу между кадрами HDLC. Для индикации исключительной ситуации в канале могут быть посланы семь подряд идущих единиц. Пятнадцать или большее число единиц поддерживают канал в состоянии покоя. Если принимающая станция обнаружит последовательность битов, не являющихся флагом, она тем самым уведомляется о начале кадра, об иск­лючительной (с аварийным завершением) ситуации или ситуа­ции покоя канала. При обнаружении следующей флаговой по­следовательности станция будет знать, что поступил полный кадр. Флаг выполняет функции, аналогичные знаку SYN в про­токоле BSC.

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

Управляющее поле содержит команду и ответы, а также порядковые номера, используемые для отчетности о прохожде­нии данных в канале между первичной и вторичной станциями. Формат и содержание управляющего поля могут варьироваться в зависимости от использования кадра HDLC. Рас­смотрим (коротко) реальное содержание управляющего поля.

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

Поле контрольной последовательности кадра (КПК) ис­пользуется для обнаружения ошибок передачи между двумя станциями звена данных. Оно аналогично по функции знаку ВСС в BSC. Передающая станция осуществляет вычисления над потоком данных пользователя, и результат этого вычисле­ния включается в кадр в качестве поля КПК. В свою очередь, принимающая станция производит аналогичные вычисления и сравнивает полученный результат с полем КПК. Если имеет место совпадение, велика вероятность того, что передача произошла без ошибок. В случае несовпадения, возможно, имела место ошибка передачи, и принимающая станция посылает NAK, означающий, что необходимо повторить передачу кадра. Вычис­ление КПК называется циклическим контролем по избыточно­сти и использует производящий полином Х16+ Х125+1 в соот­ветствии с рекомендацией МККТТ V.41.

Вычисление и использование кода CRC производятся в со­ответствии со следующими правилами:

• К содержимому кадра добавляется набор нулей, количе­ство которых равно длине поля КПК.

• Образованное таким образом число делится на произво­дящий полином, который содержит на один разряд больше, чем КПК, и который в качестве старшего и младшего разрядов имеет единицы. (Фактически эти данные обрабатываются на сдви­говом регистре со схемой «исключающее ИЛИ».)

• Остаток от деления помещается в поле КПК и передается в приемник.

• Приемник выполняет деление содержимого кадра и по­ля КПК на полином.

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

Метод CRC позволяет обнаруживать всевозможные кортежи ошибок длиной не более 16 разрядов, вызываемые одиночной ошибкой, а также 99,9984% всевозможных более длинных кор­тежей ошибок.