Асинхронный сбалансированный режим (ABM - Asynchronous Balanse Mode) используют комбинированные станции. Комбинированная станция может инициировать передачу без получения предварительного разрешения от другой комбинированной станции. Этот режим обеспечивает двусторонний обмен потоками данных между станциями и является основным (рабочим) и наиболее часто используемым на практике
Три способа конфигурирования канала для обеспечения совместимости взаимодействий между станциями, использующих основные элементы процедур HDLC и способных в процессе работы менять свой статус (первичная, вторичная, комбинированная):
Несбалансированная конфигурация (UN - Unbalanced Normal) обеспечивает работу одной первичной станции и одной или большего числа вторичных станций в конфигурации одноточечной или многоточечной, полудуплексной или полнодуплексной, с коммутируемым каналом и с некоммутируемым. Конфигурация называется несбалансированной потому, что первичная станция отвечает за управление каждой вторичной станцией и за выполнение команд установления режима.
Симметричная конфигурация (UA - Unbalanced Asynchronous) была в исходной версии стандарта HDLC и использовалась в первых сетях. Эта конфигурация обеспечивает функционирование двух независимых двухточечных несбалансированных конфигураций станций. Каждая станция обладает статусом первичной и вторичной, и, следовательно, каждая станция логически рассматривается как две станции: первичная и вторичная. Главная станция передает команды вторичной станции на другом конце канала, и наоборот. Несмотря на то, что станция может работать как в качестве первичной, так и вторичной станции, которые являются самостоятельными логическими объектами, реальные команды и ответы мультиплексируются в один физический канал. Этот подход в настоящее время используется редко.
Сбалансированная конфигурация (BA - Balanced Asynchronous) состоит из двух комбинированных станций, метод передачи - полудуплексный или дуплексный, канал - коммутируемый или некоммутируемый. Комбинированные станции имеют равный статус в канале и могут несанкционированно посылать друг другу трафик. Каждая станция несет одинаковую ответственность за управление каналом.
На канальном уровне используется термин кадр для обозначения независимого объекта данных, передаваемого от одной станции к другой (рис.1).
Флаг . Все кадры должны начинаться и заканчиваться полями флага "01111110". Станции, подключенные к каналу, постоянно контролируют двоичную последовательность флага. Флаги могут постоянно передаваться по каналу между кадрами HDLC. Для индексации исключительной ситуации в канале могут быть посланы семь подряд идущих единиц. Пятнадцать или большее число единиц поддерживают канал в состоянии покоя. Если принимающая станция обнаружит последовательность битов не являющихся флагом, она тем самым уведомляется о начале кадра, об исключительной (с аварийным завершением) ситуации или ситуации покоя канала. При обнаружении следующей флаговой последовательности станция будет знать, что поступил полный кадр.
Формат кадра HDLC | |||||
Флаг | Адрес | Управляющее поле | Информационное поле | CRC | Флаг |
Формат управляющего поля кадра HDLC | ||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Разряды |
0 | N(S) | P/F | N(R) | I-формат | ||||
1 | 0 | S-коды | P/F | N(R) | S-формат | |||
1 | 1 | U-коды | P/F | U-коды | U-формат |
Рис.1. Формат кадра и управляющего поля HDLC, где:
N(S) - порядковый номер передаваемого кадра,
N(R) - порядковый номер принимаемого кадра,
P/F - бит опроса/окончания
Адресное поле определяет первичную или вторичную станции, участвующие в передаче конкретного кадра. Каждой станции присваивается уникальный адрес. В несбалансированной системе адресные поля в командах и ответах содержат адрес вторичной станции. В сбалансированных конфигурациях командный кадр содержит адрес получателя, а кадр ответа содержит адрес передающей станции.
Правила адресации | |||
Первичная станция А | ------ Команда (Адрес В) -----> | Вторичная станция В | Несбалансир. конфигурация |
<----- Ответ (Адрес В) ------ | |||
Комбинир. станция А | ----- Команда (Адрес В) -----> | Комбинир. станция В | Сбалансир. конфигурация |
<----- Ответ (Адрес В)------ | |||
<----- Команда (Адрес А) ------ | |||
------ Ответ (Адрес А) -----> |
Управляющее поле задает тип команды или ответа, а так же порядковые номера, используемые для отчетности о прохождении данных в канале между первичной и вторичной станциями. Формат и содержание управляющего поля (рис. 1) определяют кадры трех типов: информационные (I), супервизорные (S) и ненумерованные (U).
Информационный формат (I - формат) используется для передачи данных конечных пользователей между двумя станциями.
Супервизорный формат (S - формат) выполняет управляющие функции: подтверждение (квитирование) кадров, запрос на повторную передачу кадров и запрос на временную задержку передачи кадров. Фактическое использование супервизорного кадра зависит от режима работы станции (режим нормального ответа, асинхронный сбалансированный режим, асинхронный режим ответа).
Ненумерованный формат (U - формат) также используется для целей управления: инициализации или разъединения, тестирования, сброса и идентификации станции и т.д. Конкретный тип команды и ответа зависит от класса процедуры HDLC.
Информационное поле содержит действительные данные пользователя. Информационное поле имеется только в кадре информационного формата. Его нет в кадре супервизорного или ненумерованного формата. [Примечание: кадры "UI - ненумерованная информация" и "FRMR - Неприем кадра" ненумерованного формата имеют информационное поле].
Поле CRC (контрольная последовательность кадра) используется для обнаружения ошибок передачи между двумя станциями. Передающая станция осуществляет вычисления над потоком данных пользователя, и результат этого вычисления включается в кадр в качестве поля CRC. В свою очередь, принимающая станция производит аналогичные вычисления и сравнивает полученный результат с полем CRC. Если имеет место совпадение, велика вероятность того, что передача произошла без ошибок. В случае несовпадения, возможно, имела место ошибка передачи, и принимающая станция посылает отрицательное подтверждение, означающее, что необходимо повторить передачу кадра. Вычисление CRC называется циклическим контролем по избыточности и использует некоторый производящий полином в соответствии с рекомендацией МККТТ V.41. Этот метод позволяет обнаруживать всевозможные кортежи ошибок длиной не более 16 разрядов, вызываемые одиночной ошибкой, а также 99,9984% всевозможных более длинных кортежей ошибок.
Кодонезависимость и синхронизация HDLC
Управляющее поле (рис.1) определяет тип кадра и используется для реализации механизма управления потоком между передающей и принимающей станциями. На рис.2 представлены команды и ответы, используемые в случае сбалансированной и несбалансированной конфигураций канала. Отметим, что в каждом верхнем прямоугольнике содержатся три команды: SNRM, SARM, SABM.
Несбалансированный (UN) | Несбалансированный (UA) | Сбалансированный (UB) | |||
Первичная | Вторичная | Первичная | Вторичная | Первичная | Вторичная |
Команда | Ответ | Команда | Ответ | Команда | Ответ |
I | I | I | I | I | I |
RR | RR | RR | RR | RR | RR |
RNR | RNR | RNR | RNR | RNR | RNR |
SNRM | UA | SARM | UA | SABM | UA |
DISC | DM | DISC | DM | DISC | DM |
FRMR | FRMR | FRMR |
Эти команды являются командами установки режима. HDLC требует, чтобы в одном из трех режимов была установлена сбалансированная или несбалансированная конфигурация. Действительный формат управляющего поля (информационный, супервизорный или ненумерованный) определяет то, как это поле кодируется или используется. Самым простым форматом является информационный формат. Содержимое управляющего поля для этого формата показано на рис.1. Управляющее поле информационного кадра содержит два порядковых номера Номер N(S) (Порядковый номер посылки) связан с порядковым номером передаваемого кадра. N(R) (Порядковый номер приема) означает порядковый номер следующего кадра, который ожидается принимающей станцией. N(R) выступает в качестве подтверждения предыдущих кадров. Например, если поле N(R) установлено в 4, станция, получив N(R)=4, знает, что передача кадров 0, 1, 2 и 3 завершилась успешно и что станция, с которой производится обмен данными, ожидает, что следующий кадр будет иметь порядковый номер посылки N(S)=4. Поле N(R) обеспечивает включающее подтверждение (квитирование), то есть N(R)=4 включает подтверждение не только одного предшествующего сообщения. Переменные состояния посылки V(S) и состояния приема V(R), рассмотренные нами ранее, используются для формирования полей N(S) и N(R) протокола HDLC.