HDLC - High-Level Data Link Control Procedure
По материалам книги: Блэк Ю. Сети ЭВМ: протоколы, стандарты, интерфейсы. М., Мир, 1990.
(МасичГФ, редакция 27.04.2024)
HDLC
- Введение
- Типы, логические состояния и режимы работы станций. Способы конфигурирования канала связи
- Управление потоком
- Формат кадра HDLC
- Кодонезависимость и синхронизация HDLC
- Управляющее поле HDLC
- Описание команд и ответов
- Системные параметры и рекомендации по их установке
- Задания для лабораторной работы "Протокол HDLC"
- Подмножества HDLC
- Выводы
HDLC (High-Level Data Link Control Procedure) - процедуры высокоуровнего управления каналом передачи данных, являются опубликованным ISO стандартом и базовыми для построения протоколов канального уровня (SDLC, LAP, LAPB, LAPD, LAPX и LLC). Процедуры реализуют механизм управления потоком посредством непрерывного ARQ (скользящее окно) и имеют необязательные возможности (опции), поддерживающие полудуплексную и полнодуплексную передачу, одноточечную и многоточечную конфигурации, а так же коммутируемые и некоммутируемые каналы.
Типы, логические состояния и режимы работы станций. Способы конфигурирования канала связи.
Существует:
Три типа станций HDLC:
· Первичная станция (ведущая) управляет звеном передачи данных (каналом). Несет ответственность за организацию потоков передаваемых данных и восстановление работоспособности звена передачи данных. Эта станция передает кадры команд вторичным станциям, подключенным к каналу. В свою очередь она получает кадры ответа от этих станций. Если канал является многоточечным, главная станция отвечает за поддержку отдельного сеанса связи с каждой станцией, подключенной к каналу.
· Вторичная станция (ведомая) работает как зависимая по отношению к первичной станции (ведущей). Она реагирует на команды, получаемые от первичной станции, в виде ответов. Поддерживает только один сеанс, а именно только с первичной станцией. Вторичная станция не отвечает за управление каналом.
· Комбинированная станция сочетает в себе одновременно функции первичной и вторичной станции. Передает как команды, так и ответы и получает команды и ответы от другой комбинированной станции, с которой поддерживает сеанс.
Три логических состояния, в которых могут находиться станции в процессе взаимодействия друг с другом.
· Состояние логического разъединения (LDS). В этом состоянии станция не может вести передачу или принимать информацию. Если вторичная станция находится в нормальном режиме разъединения (NDM - Normal Disconnection Mode), она может принять кадр только после получения явного разрешения на это от первичной станции. Если станция находится в асинхронном режиме разъединения (ADM - Asynchronous Disconnection Mode), вторичная станция может инициировать передачу без получения на это явного разрешения, но кадр должен быть единственным кадром, который указывает статус первичной станции. Условиями перехода в состояние LDS могут быть начальное или повторное (после кратковременного отключения) включение источника питания; ручное управление установлением в исходное состояние логических цепей различных устройств станции и определяется на основе принятых системных соглашений.
· Состояние инициализации (IS). Это состояние используется для передачи управления на удаленную вторичную/комбинированную станцию, ее коррекции в случае необходимости, а также для обмена параметрами между удаленными станциями в звене передачи данных, используемыми в состоянии передачи информации.
· Состояние передачи информации (ITS). Вторичной, первичной и комбинированным станциям разрешается вести передачу и принимать информацию пользователя. В этом состоянии станция может находится в режимах NRM, ARM и ABM, которые описаны ниже.
Три режима работы станции в состоянии передачи информации, которые могут устанавливаться и отменяться в любой момент.
· Режим нормального ответа (NRM - Normal Response Mode) требует, чтобы прежде, чем начать передачу, вторичная станция получила явное разрешение от первичной. После получения разрешения вторичная станция начинает передачу ответа, который может содержать данные. Пока канал используется вторичной станцией, может передаваться один или более кадров. После последнего кадра вторичная станция должна снова ждать явного разрешения, прежде чем снова начать передачу. Как правило, этот режим используется вторичными станциями в многоточечных конфигурациях звена передачи данных.
· Режим асинхронного ответа (ARM - Asynchronous Response Mode) позволяет вторичной станции инициировать передачу без получения явного разрешения от первичной станции (обычно, когда канал свободен, - в состоянии покоя). Этот режим придает большую гибкость работы вторичной станции. Могут передаваться один или несколько кадров данных или управляющая информация, отражающая изменение статуса вторичной станции. ARM может уменьшить накладные расходы, поскольку вторичная станция, чтобы передать данные, не нуждается в последовательности опроса. Как правило, такой режим используется для управления соединенными в кольцо станциями или же в многоточечных соединениях с опросом по цепочке. В обоих случаях вторичная станция может получить разрешение от другой вторичной станции и в ответ на него начать передачу. Таким образом разрешение на работу продвигается по кольцу или вдоль соединения.
· Асинхронный сбалансированный режим (ABM - Asynchronous Balanse Mode) используют комбинированные станции. Комбинированная станция может инициировать передачу без получения предварительного разрешения от другой комбинированной станции. Этот режим обеспечивает двусторонний обмен потоками данных между станциями и является основным (рабочим) и наиболее часто используемым на практике
Рис. 1. Типы и соcтояния станции, конфигурации и режимы работа каналов (П - первичная станция, В - вторичная станция, К - комбинированная станция)
Три способа конфигурирования канала для обеспечения совместимости взаимодействий между станциями, использующих основные элементы процедур HDLC и способных в процессе работы менять свой статус (первичная, вторичная, комбинированная):
· Несбалансированная конфигурация (UN - Unbalanced Normal) обеспечивает работу одной первичной станции и одной или большего числа вторичных станций в конфигурации одноточечной или многоточечной, полудуплексной или полнодуплексной, с коммутируемым каналом и с некоммутируемым. Конфигурация называется несбалансированной потому, что первичная станция отвечает за управление каждой вторичной станцией и за выполнение команд установления режима.
· Симметричная конфигурация (UA - Unbalanced Asynchronous) была в исходной версии стандарта HDLC и использовалась в первых сетях. Эта конфигурация обеспечивает функционирование двух независимых двухточечных несбалансированных конфигураций станций. Каждая станция обладает статусом первичной и вторичной, и, следовательно, каждая станция логически рассматривается как две станции: первичная и вторичная. Главная станция передает команды вторичной станции на другом конце канала, и наоборот. Несмотря на то, что станция может работать как в качестве первичной, так и вторичной станции, которые являются самостоятельными логическими объектами, реальные команды и ответы мультиплексируются в один физический канал. Этот подход в настоящее время используется редко.
· Сбалансированная конфигурация (BA - Balanced Asynchronous) состоит из двух комбинированных станций, метод передачи - полудуплексный или дуплексный, канал - коммутируемый или некоммутируемый. Комбинированные станции имеют равный статус в канале и могут не санкционированно посылать друг другу трафик. Каждая станция несет одинаковую ответственность за управление каналом.
На канальном уровне используется термин кадр (frame) для обозначения объекта данных (PDU), передаваемого от одной станции к другой (рис.2).
Флаг. Все кадры должны начинаться и заканчиваться полями флага "01111110". Станции, подключенные к каналу, постоянно контролируют двоичную последовательность флага. Флаги могут постоянно передаваться по каналу между кадрами HDLC. Для индексации исключительной ситуации в канале могут быть посланы семь подряд идущих единиц. Пятнадцать или большее число единиц поддерживают канал в состоянии покоя. Если принимающая станция обнаружит последовательность битов являющихся флагом, она тем самым уведомляется о начале кадра. При обнаружении следующей флаговой последовательности станция будет знать, что поступил полный кадр.
Формат кадра HDLC |
|||||
Флаг |
Адрес |
Управляющее поле |
Информационное поле |
CRC |
Флаг |
Рис.2. Формат кадра
Адрес. Адресное поле определяет первичную или вторичную станции, участвующие в передаче конкретного кадра. Каждой станции присваивается уникальный адрес.
Правила адресации (рис.3):
- В несбалансированной системе адресные поля в командах и ответах содержат адрес вторичной станции.
- В сбалансированных конфигурациях
- кадр команда содержит адрес получателя,
- кадр ответа содержит адрес отправителя (адрес передающей станции).
Правила адресации |
||||
Первичная |
------ Команда (Адрес В) -----> |
Вторичная |
Несбалансир. |
|
<----- Ответ (Адрес В) ------ |
|
|||
|
||||
Комбинир. |
----- Команда (Адрес В) -----> |
Комбинир. |
Сбалансир. |
|
<----- Ответ (Адрес В)------ |
|
|||
<----- Команда (Адрес А) ------ |
|
|||
------ Ответ (Адрес А) -----> |
|
Управляющее поле (рисунки 2 и 4) задает тип команды или ответа, а так же порядковые номера, используемые для отчетности о прохождении данных в канале между первичной и вторичной станциями. Формат и содержание управляющего поля (рис. 4) определяют кадры трех типов: информационные (I), супервизорные (S) и ненумерованные (U).
Формат управляющего поля кадра 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-формат |
- I - формат. Информационный формат используется для передачи данных конечных пользователей между двумя станциями.
- S - формат. Супервизорный формат выполняет управляющие функции: подтверждение (квитирование) кадров, запрос на повторную передачу кадров и запрос на временную задержку передачи кадров. Фактическое использование супервизорного кадра зависит от режима работы станции (режим нормального ответа, асинхронный сбалансированный режим, асинхронный режим ответа).
- U - формат. Ненумерованный формат также используется для целей управления: инициализации или разъединения, тестирования, сброса и идентификации станции и т.д. Конкретный тип команды и ответа зависит от класса процедуры HDLC.
Информационное поле (рис.2) содержит данные вышележащих протоколов модели OSI RM. Информационное поле имеется только в кадре информационного формата. Его нет в кадре супервизорного или ненумерованного формата. [Примечание: кадры "UI - ненумерованная информация" и "FRMR - Неприем кадра" ненумерованного формата имеют информационное поле].
CRC. Поле CRC (Cyclic Redundancy Code или Cyclic Redundancy Check) - контрольная сумма кадра, которая используется для обнаружения ошибок передачи между двумя станциями. Передающая станция осуществляет вычисления над потоком данных пользователя, и результат этого вычисления включается в кадр в качестве поля CRC. В свою очередь, принимающая станция производит аналогичные вычисления и сравнивает полученный результат с полем CRC. Если имеет место совпадение, велика вероятность того, что передача произошла без ошибок. В случае несовпадения, возможно, имела место ошибка передачи, и принимающая станция посылает отрицательное подтверждение, означающее, что необходимо повторить передачу кадра. Вычисление CRC называется циклическим контролем по избыточности и использует некоторый производящий полином, например, в соответствии с рекомендацией МККТТ V.41. Этот метод позволяет обнаруживать всевозможные кортежи ошибок длиной не более 16 разрядов, вызываемые одиночной ошибкой, а также 99,9984% всевозможных более длинных кортежей ошибок.
Кадровая синхронизация (флаг) и кдонезависимость (bit staffing) в HDLC
Кадровая синхронизация. Восьмибитовая комбинация флага "01111110" помещается в начале и в конце кадра, чтобы дать возможность приемнику распознать начало и конец кадра. Этот процесс называется "кадровая синхронизация".
Кодонезависимость. Понятно, что возможны случаи, когда прикладной процесс (протокол вышележащtего уровня модели OSI RM) помещает в информационное поле кадра последовательность "01111110", совпадающую с флагом. Поэтому нужен механизм обеспечения кодовой прозрачности в HDLC, который обеспечит передачу между флагами начала и конца кадра любых битовых последовательной (битовых комбинаций). Этот механизм назвается "кодонезависимость", а его суть заключается в следующем:
- Передающая станция в поток выходных данных помещает "0" после пяти подряд идущих единиц, встретившихся в любом месте между начальным и конечным флагами кадра. Т. е. флаговая последовательность бит "01111110" преобразуется в последовательность "011111010". Такая вставка производится в адресное, управляющее, информационное поля и поле CRC. Этот метод называется "бит стаффинг" (bit staffing). Такую же функцию выполняет знак DLE в протоколе BSC, ориентированный на байтовую передачу данных. После того как завершается вставка битов в кадр и по концам кадра помещаются флаги, кадр передается приемнику по каналу.
- Приемник постоянно контролирует поток битов. При получении нуля с пятью далее идущими подряд единицами "011111" анализирует следующий (седьмой) бит. Если это нуль, он удаляет этот бит. Однако если седьмой бит является единицей "0111111", приемник анализирует восьмой бит. Если это нуль "01111110", он считает, что получена флаговая комбинация. Если это единица, выполняется анализ последующих бит. Возможна ситуация приема либо сигнала покоя, либо сигнала аварийного завершения, на которые станция реагирует соответствующим образом.
Таким образом, в HDLC обеспечиваются кодовая прозрачность по данным. Использующему механизм bit staffing протоколу безразлично, какие кодовые комбинации находятся в потоке данных. Единственное, что требуется - это поддерживать уникальность флагов.
Как ранее отмалось, в HDLC используется также два других сигнала: сигнал аварийного завершения (АЗ) состоит из последовательности единиц, число которых не меньше семи и не больше четырнадцати; сигнал состояние покоя представляется последовательностью пятнадцати или большего числа единиц.
- Сигнал аварийного завершения (abort) помещается в конце кадра. Передающая станция посылает этот сигнал, когда возникает исключительная ситуация, требующая восстановления. Вслед за сообщением об аварийном завершении могут посылаться флаги для того, чтобы поддерживать канал в активном состоянии, и передача могла продолжаться.
- Сигнал покоя означает, что канал находится в состоянии покоя. Одно из применений состояния покоя находит в полудуплексном сеансе, когда при обнаружении сигнала покоя производится изменение направление передачи на противоположное.
Межкадровое временное заполнение сопровождается передачей между кадрами непрерывной последовательности флагов. Флаги могут быть восьмибитовыми комбинациями, или же может иметь место совмещение последнего 0 предыдущего флага с первым 0 следующего флага. Например, 01111110011111100111111001111110… или 011111101111111011111110…
Управляющее поле (рис.4) определяет функцию кадра и требует реализации определенного алгоритма управления потоком кадров между передающей и принимающей станциями. Напомним, что управляющее поле определяет кадры трех типов: информационные (I), супервизорные (S) и ненумерованные (U). Управляющее поле определяет команды и ответы, используемые для управления поком трафика в канале. Базовая совокупность команд и ответов, показанная на рисунке 5, содержит команды и ответы, используемые в случае сбалансированной и несбалансированной конфигураций канала. Отметим, что каждая конфигурация уставливается командами установки режима работы: 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 |
Функциональные расширения |
|||
Команда |
Ответ |
Команда |
Ответ |
1. Для коммутируемых соед. XID |
XID, RD |
8. Отбросить информационные кадры "Ответ" |
|
2. Для дуплексного канала REJ |
REJ |
9. Отбросить информационные кадры "Команда" |
|
3. Для однокадровой передачи SREJ |
SREJ |
10. Расширенная нумерация N(R), N(S) |
|
4. Для информации UI |
UI |
11. Для уст. в 0 своего V(S) и удален. V(R) RSET |
|
5. Для инициализации SIM |
RIM |
12. Проверка канала TEST |
TEST |
6. Для группового опроса UP |
|
13. Запрос на разъединение |
RD |
7. Расширенное поле адреса кадра |
14. 32-битовая CRC |
||
Рис. 5. Команды и ответы HDLC |
HDLC требует, чтобы в одном из трех режимов была установлена сбалансированная или несбалансированная конфигурация. На рисунке 5 показаны также функциональные расширения (опции) основной структуры. Здесь представлен (не) полный набор команд и ответов. Некоторые подмножества протоколов HDLC используют только часть этого набора команд / ответов.
Действительный формат управляющего поля (информационный, супервизорный или ненумерованный) определяет то, как это поле кодируется или используется. Самым простым форматом является информационный формат. Содержимое управляющего поля для этого формата показано на рис.6.
Формат управляющего поля кадра 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-формат |
Рис.6. Формат управляющего поля, где
где, N(S) - порядковый номер передаваемого кадра,
N(R) - порядковый номер ожидаемого кадра и подтвеждение предыдущих кадров,
P/F - бит опроса/окончания
Управляющее поле информационного кадра содержит два порядковых номера.
Номер N(S) означает порядковый номер передаваемого кадра.
Номер 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.
Бит P/F. Называется бит опроса/окончания, принимается во внимание только тогда, когда он установлен в 1. Он используется первичной и вторичной станциями для выполнения следующих функций:
- Первичная станция использует бит P для санкционирования передачи кадра статуса от вторичной станции. P также может означать опроc.
- Вторичная станция отвечает на бит P кадром данных или состояния, а таже битом F. Бит F может также означать окончание передачи вторичной станцией в режиме нормального ответа (NRM).
Бит P|F называется битом P, когда он используеися первичной станцией, и битом F, когда он исподьзуется вторичной станцией. Только один бит P (ожидающий ответа в виде F бита) может быть активным в канале в любой момент времени. Если некоторый бит P установлен в 1, он может быть использован в качестве контрольной точки. То есть P=1 как бы говорит: "ответьте мне, потому что я хочу знать ваш статус". Контрольные точки играют большую роль в реализации механизма управления трафиком. Это машинный способ устранить неопределенность и отменить накопленных транзакции.
Бит P/F может использоваться и интерпретироваться следующим образом:
- В режиме NRM вторичная станция не может вести передачу, пока не будет получена команда с установленным в 1 битом P. Первичная станция может запросить информационные (I) кадры путем посылки кадра с установленным в 1 битом P или путем посылки некоторых супервизорных (S) кадров (RR, REJ или SREJ) с установленным в 1 битом P.
- В режимах ARM и ABM информационные кадры могут передаваться без получения полномочий на передачу с помощью команды, имеющей бит P. Установленный в 1 бит бит P может использоваться для запроса ответа с установленным в 1 битом F так быстро, насколько это возможно.
- В режимах ARM и ABM производится передча кадра с установленным в 1 битом F вслед за приемом команды с установленным в 1 битом P.
- В случае двунаправленной одновременной (полнодуплексной) передачи, когда по получении команды с установленным в 1 битом Р передачу ведет вторичная станция, бит F устанавливается в 1 в самом первом очередном ответе.
- Передача кадра с установленным в 1 битом F не требует, чтобы вторичная станция прекратила передачу. Вслед за кадром с установленным в 1 битом F могут быть еще переданы кадры. В режимах ARM и ABM не следует интерпретировать бит F как окончание передачи вторичной станцией; его следует просто считать индикатором ответа на предыдущий кадр.
Обобщенная сводка всех команд и ответов приведена в таблице 1.
Супервизорный формат имеет четыре команды и ответа (RR, RNR, REJ, SREJ). Назначение этого формата состоит в выполнении нумерованных [т.е. использующих порядковые номера кадров N(R)] супервизорных функций, таких, как подтверждение (квитирование), опрос, временная задержка передачи данных и восстановление после ошибок. Кадры супервизорного формата не содержат информационного поля, следовательно, как показано на рис.6, в них располагается только порядковый номер приема N(R). Супервизорный формат может быть использован для подтверждения приема кадров от передающей станции.
Функции команд и ответов, используемых супервизорным форматом:
· RR (Receive ready - Готов к приему) используется первичной или вторичной станцией для индикации того, что станция готова принять информационный кадр и/или подтвердить (квитировать) ранее принятые кадры с помощью поля N(R). Если станция до этого, используя команду "Не готов к приему", посылала уведомление о том, что она занята, теперь она использует команду Готов к приему для индикации того, что она свободна и готова принять данные. Первичная станция может также использовать команду Готов к приему для опроса вторичной станции.
· RNR (Receive not ready - Не готов к приему) используется станцией для индикации состояния занятости. Эта команда уведомляет передающую станцию о том, что принимающая станция не способна принять дополнительные поступающие данные. Кадр RNR, используя поле N(R), может подтвердить прием ранее переданных кадров. Состояние занятости может быть сброшено посылкой кадра RR, а также некоторых других кадров, которые будут рассмотрены позднее.
· REJ (Reject - Неприем) используется для запроса передачи кадров, начиная с кадра, указанного в поле N(R). Подтверждаются все кадры с номерами до N(R) - 1. Кадр REJ может использоваться для реализации метода "Возвращение-на-N" (Go-Back-N).
· SREJ (Selective reject - Выборочный неприем) используется станцией для запроса повторной передачи единственного кадра, который определен в поле N(R). Как и в случае включающего подтверждения, подтверждение распространяется на все информационные кадры с номерами до N(R) - 1 включительно. Выборочный неприем позволяет реализовать режим выборочного повторения. Как только передан кадр SREJ, следующие кадры принимаются и сохраняются для повторно передаваемого кадра.
Ненумерованные команды и ответы
Команды можно разбить на группы в соответствии с выполняемыми функциями:
- команды установки режима: SNRM, SARM, SABM, (SNRME, SARME, SABME - для расширенной [2 в степени 7] нумерации I-кадров), SIM, RIM, DISC;
- команды передачи информации: UI, UP;
- команды восстановления: RSET;
- другие команды: XID, TEST, DM, UA, FRMR, RD.
Функции команд/ответов для ненумерованного формата:
UI (Unnumbered information - Ненумерованная информация). Эта команда позволяет производить передачу данных пользователя в не нумерованном кадре (т. е. без порядкового номера).
RIM (Request Initialization Mode - Режим инициализации запроса). Кадр RIM является запросом на команду SIM от вторичной к первичной станции.
SIM (Set Initialization Mode - Установить режим инициализации). Эта команда используется для инициализации сеанса между первичной и вторичной станциями. Ожидаемым ответом является UА.
DM (Disconnect Mode - Режим разъединения). Этот кадр ответа передается вторичной станцией для индикации того, что она находится в режиме логического разъединения.
DISC (Disconnect - Разъединить). Эта команда, передаваемая первичной станцией, переводит вторичную станцию в режим разъединения аналогично нажатию рычага телефонного аппарата.
UA (Unnumbered Acknowledgment - Ненумерованное подтверждение). Это - положительное подтверждение АСК для установки режима команд (SIM, DISC, RESET). UA также используется для уведомления об окончании состояния занятости станции.
FRMR (Frame Rejekt - Неприем кадра). Вторичная станция посылает этот кадр, когда она встречается с недействительным кадром. Причина указывается в информационном поле этого кадра. Кадр ответа FRMR используется при выполнении следующих условий:
- Прием недействительного управляющего поля команды или ответа.
- Прием слишком длинного информационного поля.
- Прием недействительного поля N(R).
- Прием недопустимого информационного поля или супервизорного/ненумерованного кадра неправильной длины.
В информационном поле кадра FRMR содержится информация о состоянии (status)отвергнутого кадра:
- управляющее поле отвергнутого кадра;
- текущее значение переменных состояния принимающей станции - посылки V(S) и приема V(R);
- отвергнутый кадр был командой или ответом;
- управляющее поле является недействительным;
- кадр был передан с недопустимым информационным полем;
- информационное поле является слишком длинным;
- порядковые номера являются недействительными.
RD (Request Disconnect - Запрос разъединения). Это запрос от вторичной станции на логическое разъединение и установление состояния логического разъединения.
XID (Exchage State Identification - Идентификация станции при коммутации). Эта команда запрашивает идентификацию вторичной станции. В системах с коммутацией эта команда используется для идентификации вызывающей станции.
TEST (Test-проверка). Этот кадр (команда/ответ) используется для санкционирования тестовых ответов от вторичной станции. В ответе желательно сформировать информационную область, содержащуюся в команде.
UP (Unnumbered Poll - Ненумерованный опрос). Команда опрашивает станцию безотносительно к нумерации кадров и квитированию. Если бит опроса установлен в 0, ответ является необязательной возможностью, предоставляемой только для одного ответа. В качестве ответа могут быть переданы неподтвержденные или еще непереданные I-кадры.
RSET (Reset - Сброс переменных). Передающая станция сбрасывает свой V(S), а принимающая станция свой V(R) с целью возобновления упорядоченной передачи в заданном направлении новой последовательности кадров. Эта команда используется для восстановления. Кадры, которые ранее не были квитированы, остаются таковыми.
Команды установки режимов работы станций
SNRM (Set Normal Response Mode - Установить режим нормального ответа). Эта команда переводит вторичную станцию в NRM (режим нормального ответа). NRM предотвращает посылку вторичной станцией несанкционированных (unsolicited) кадров. Это означает, что первичная станция управляет всем потоком сообщений в канале.
SNRME (Set Normal Response Extended - Установить расширенный режим нормального ответа). Устанавливает SNRM с двумя байтами в поле управления для расширенной нумерации кадров.
SARM (Set Asynchronous Response Mode -Установить режим асинхронных ответов). Устанавливает режим, позволяющий вторичной станции вести передачу без опроса со стороны первичной станции. Он переводит вторичную станцию в состояние передачи информации (IS) режима ARM. Поскольку команда SARM устанавливает две несбалансированные станции, SARM должна выдаваться по обоим направлениям передачи:
- А посылает: B, DISC
- В посылает: B, UA A, DISC
- А посылает: A, UA
- В посылает: A, SARM
- А посылает: A, UA B, SARM
- В посылает: B, UA
Команды DISC посылаются, чтобы гарантировать полную реинициализацию канала.
SARME (Set Asynchronous Response Mode Extended -Установить расширенный режим асинхронных ответов). Устанавливает SARM с двумя байтами в поле управления для расширенной нумерации кадров.
SABM (Set Asynchronous Balanced Mode - Установить асинхронный сбалансированный режим). Устанавливает режим в ARM, в котором станции являются равноправными. Для передачи не требуется опроса, поскольку каждая станция является станцией комбинированного типа.
SABME (Set Asynchronous Balance Mode Extended - Установить расширенный асинхронный сбалансированный режим). Устанавливает SABM с двумя байтами в поле управления для расширенной нумерации кадров.
Таблица 1 |
|||
|
Код управляющего поля |
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Команды |
Ответы |
I-формат |
0 |
N(S) |
* |
N(R) |
I - Информация |
I - Информация |
||||
S-формат |
1 |
0 |
0 |
0 |
* |
N(R) |
RR - Готов к приему |
RR - Готов к приему |
||
1 |
0 |
0 |
1 |
* |
N(R) |
REJ - Неприем |
REJ - Неприем |
|||
1 |
0 |
1 |
0 |
* |
N(R) |
RNR - Не гот.к приему |
RNR - Не гот.к приему |
|||
1 |
0 |
1 |
1 |
* |
N(R) |
SREJ - Выбор. неприем |
SREJ - Выбор.неприем |
|||
U-формат |
1 |
1 |
0 |
0 |
* |
0 |
0 |
0 |
UI - Ненумеров. информ. |
UI - Ненумеров. информ. |
1 |
1 |
0 |
0 |
* |
0 |
0 |
1 |
SNRM - Установить NRM |
|
|
1 |
1 |
0 |
0 |
* |
0 |
1 |
0 |
DISC - Разъединить |
RD- Запрос разъед. |
|
1 |
1 |
0 |
0 |
* |
1 |
0 |
0 |
UP- Ненумеров. опрос |
|
|
1 |
1 |
0 |
0 |
* |
1 |
1 |
0 |
|
UA - Ненумеров.подтв. |
|
1 |
1 |
0 |
0 |
* |
1 |
1 |
1 |
TEST - Проверка |
TEST - Проверка |
|
1 |
1 |
1 |
0 |
* |
0 |
0 |
0 |
SIM - Уст.реж.иниц. |
RIM - Запр.реж.иниц. |
|
1 |
1 |
1 |
0 |
* |
0 |
0 |
1 |
|
FRMR - Неприем кадра |
|
1 |
1 |
1 |
1 |
* |
0 |
0 |
0 |
SARM - Установить ARM |
DM - Режим разъед. |
|
1 |
1 |
1 |
1 |
* |
0 |
0 |
1 |
RSET - Сбросить |
|
|
1 |
1 |
1 |
1 |
* |
0 |
1 |
0 |
SARME - Уст.расш.ARM |
|
|
1 |
1 |
1 |
1 |
* |
0 |
1 |
1 |
SNRME - Уст.расш.NRM |
|
|
1 |
1 |
1 |
1 |
* |
1 |
0 |
0 |
SABM -установить ABM<TD |
||
1 |
1 |
1 |
1 |
* |
1 |
0 |
1 |
XID - Идентиф. станции |
XID - Идентиф. станции |
|
1 |
1 |
1 |
1 |
* |
1 |
1 |
0 |
SABME -Уст.расш. ABM |
|
Управление потоком, понятие ОКНО в методе ARQ
Управление потоком в HDLC осуществляется с помощью передающих и принимающих окон, поясняемых на рисунке 7. Окном передачи называется непрерывный диапазон номеров кадров, которые могут быть выданы в канал без получения подтверждения. Окном приема является диапазон номеров кадров, которые уже приняты, но на которые еще не отправлено подтверждение. С помощью механизма окон обеспечивается резервирование ограниченных ресурсов станций, т. е. гарантируется место для кадров в буферах передатчика и приемника. Окно устанавливается на каждом конце канала связи, чтобы обеспечить резервирование ресурсов обеих станций. Этими ресурсами могут быть ресурсы вычислителя или пространство буфера. В большинстве случаев окно обеспечивает и буферное пространство для размещения кадров, и правила нумерации кадров. Окно устанавливается во время инициирования сеанса связи между станциями. Если станция А и станция В должны обменяться данными, А резервирует окно для В, а В резервирует окно для А. Использование окон целесообразно для полнодуплексных протоколов, потому что они подразумевают непрерывный поток кадров в принимающий узел без периодических подтверждений с остановкой и ожиданием. С помощью ОКНА можно динамически управлять потоками данных и ограничивать потокит в случае перегрузок.
Рис. 7. Пояснение механизма окна
Переменные состояния станции V(S) и V(R).Окна в принимающем и передающем узлах управляются переменными состояния, которые представляют по сути состояние счетчика. Передающий узел поддерживает переменную состояния кадра V(S). Это порядковый номер следующего по очереди I-кадра, который должен быть передан. Принимающий узел поддерживает переменную состояния приема V(R), которая содержит номер, который, как ожидается, является порядковым номером следующего I-кадра. V(S) увеличивается на 1 при передаче каждого кадра и помещается в поле порядкового номера кадра. Получив кадр, принимающий узел производит проверку наличия ошибок передачи и сравнивает порядковый номер со своим V(R). Если кадр может быть принят, узел увеличивает V(R) на 1, помещает его в поле порядкового номера приема кадра подтверждения АСК и посылает этот кадр в узел-отправитель, завершая квитирование передачи.
Если V(R) не равен порядковому номеру посылки в кадре или обнаружена ошибка, значит, что-то произошло, и после тайм-аута в узел-отправитель посылается NAK [с порядковым номером приема, содержащим значение V(R)]. В большинстве протоколов этот NAK называется Неприем (REJ) или Выборочный неприем (SREJ). Значение V(R) уведомляет передающее устройство ООД о том, что ожидается посылка нового кадра. Т. к. передатчик восстанавливает старое значение V(S) и повторяет передачу кадра, порядковый номер которого совпадает со значением V(S).
Во многих системах для V(S) и V(R) у порядковых номеров в кадре используются числа 0-7. если переменные состояния в результате последовательного увеличения достигли 7, то, начиная с 0, эти числа снова используются. Вследствие повторного использования чисел устройствам станциям не разрешено посылать кадр с порядковым номером, который не был подтвержден. Например, протокол должен дождаться подтверждения кадра с номером 6, прежде чем он опять использует V(S)=6. Этот процесс показан на рис.2. Здесь кадры с 6 по 4 еще не подтверждены. Если бы был послан еще один кадр с порядковым номером 6, соответствующее подтверждение АСК с номером 6 не позволило бы определить, приход какого кадра с порядковым номером 6 подтверждается.
Использование номеров 0-7 позволяет семи кадрам быть в активном состоянии, прежде, чем "закроется" окно. Несмотря на то что диапазон 0-7 дает восемь порядковых номеров, V(R) содержит значение следующего ожидаемого кадра, что ограничивает число активных кадров до 7.
Системные параметры Т1, N2, N1, K и рекомендации по их установке
Таймер Т1 запускается с момента передачи каждого кадра и используется для инициирования повторной передачи, в случае его переполнения. При выборе периода таймера Т1необходимо учитывать, запускается ли таймер по началу или по концу кадра. Для правильной работы процедуры необходимо, чтобы период таймера Т1 был больше, чем максимальное время между передачей некоторого кадра (SARM, SABM, DM, DISC, FRMR, I или супервизорной команды) и приемом соответствующего кадра, возвращаемого в качестве отклика на этот кадр (UA, DM или подтверждающий кадр).
Счетчик N2 используется для определения максимального числа повторных передач, выполняемых по переполнении таймера Т1. Переменные Т1 и N2 используются также командами / ответами установления звена, такими, как SABM и UA.
Счетчик N1 - максимальное число битов в I-кадре. Определяет максимальную длину информационных полей.
Размер окна К (примечание: в лабораторных работах обозначаем окно W) - максимальное число не подтвержденных I-кадров кадров, т.е. которые можно передать не ожидая подтверждения. Это максимальное число последовательно пронумерованных I-кадров, которые в любой момент времени станции могут передать без получения подтверждения. Оно не должно быть более 7 при нумерации 23.
Параметры Т1, N2, N1 и K являются системными в стеке протокола X25/2, подлежащими согласованию с администрацией на некоторый период времени.
Примеры работы "Протокола HDLC"
Примеры процессов передачи в протоколе HDLC приведены на рис.14,15,16,17,18. На этих рисунках показаны различные виды коммуникации:
Размер окна (W=**) - задает преподаватель.
Требуется:
(1) разобрать и понять механизмы управления потоком во всех заданиях.
(2) В отчете привести: заданный вариант задания (cрисунком и описанием) и выполнение задания путем формирования нового рисунка, иллюстрирующего работу с заданным размером окна (W)
- Задание 1. Асинхронный сбалансированный режим с полудуплексным потоком данных (рис. 14);
- Задание 2. Асинхронный сбалансированный режим с полнодуплексным потоком данных (рис. 15);
- Задание 3. Восстановление после ошибок (исправление ошибок) по методу Возвращение-на-N (Go-Back-N) (контрольная точка) (рис1.6);
- Задание 4. Восстановление после ошибок по методу Возвращение-на-N (Отвергнуть) (рис. 17);
- Задание 5. Восстановление после ошибок по методу Выборочного неприема (SelectiveReject) (рис.18);
Условные обозначения, используемые на рисунках. Рисунки представляют собой как бы "логические снимки", сделанные в отдельные интервалы времени (t, t+1 и т.д.). Обозначения, находящиеся во временном "окне", отражают содержание кадра HDLC (или некоторого подмножества протокола, например, LAPB), передаваемого станциями А и В в конкретное время.
Весьма маловероятно, что две станции начнут передачу строго в один и тот же момент времени, но для упрощения объяснения мы будем придерживаться этого предположения. Например, временное окно станции А могло бы быть изображено более широким, чем окно станции В, что означало бы, что станцией А передается более длинный кадр, но неравные окна не оправдано усложнили бы и без того сложную тему. Если согласится с этой небольшой аномалией, принципы, которые поясняются на рисунках, остаются в силе. Кроме того, иллюстрации полнодуплексного метода показывают некоторые временные окна, относящиеся к каналу, который находится в состоянии покоя. Это может иметь место или нет в зависимости от того, как загружены станции.
Смысл обозначений такой:
А,В - Адрес станции в заголовке кадра.
I - Информационный кадр.
S=x - Порядковый номер передаваемого кадра х.
R=x - Порядковый номер ожидаемого кадра х и подтверждение предыдущих х-1, х-2 и т.д.
RR,SNRM,SABM,REJ,SREJ - Команды и ответы.
P/F - Бит опроса/окончания установлен в 1.
Напомним, что порядковый номер ожидаемого кадра N(R) означает включающее подтверждение всего переданного и принятого трафика. Номер в этом поле в действительности представляет собой величину, на 1 большую номера последнего подтвержденного кадра. Например, R=4 означает, что подтверждены кадры 0,1,2 и 3 и что приемник ожидает, что следующий кадр будет иметь 4 в поле порядкового номера посылки передающей станции. По ходу описания процесса будем обсуждать бит P/F там, где это необходимо.
Все рисунки сопровождаются кратким описанием событий в каждый момент времени. Можно заметить, что в иллюстрациях в качестве адреса станции используется либо А, либо В. Как отмечалось ранее, правилами протокола HDLC определено, какой адрес (передающей или принимающей станции) помещается в поле адреса: команды используют адрес принимающего одноуровневого логического объекта уровня звена данных. Таким образом в случае станции с адресом А, если принятый кадр содержит А, это команда; если принятый кадр содержит В, это ответ.
За исключением рис.10, соглашения относительно адресации, принятые в иллюстрациях, соответствуют подмножеству HDLC-LAPB (сбалансированной процедуре доступа к звену). Этот широко используемый протокол требует, чтобы все информационные (I) кадры были командными кадрами. Вследствие этого он содержит адрес приемника. Хотя все эти примеры недопустимы в LAPB, для наглядности иллюстраций используется некоторая непротиворечивая схема адресации. Более подробно LAPB рассматривается позднее.
Описание событий для процесса, представленного на рис.14:
|
t |
t+1 |
t+2 |
t+3 |
t+4 |
t+5 |
t+6 |
t+7 |
t+8 |
Ст. А |
B, |
|
B,I |
B,I,P |
|
|
|
A,RR |
|
Ст. В |
|
B,UA |
|
|
B,RR |
A,I |
A,I,P |
|
B,RR |
Рис.14 Асинхронный сбалансированный режим с полудуплексным потоком данных (с использованием P/F для реализации "контрольной точки").
- t Станция А передает команду Установить асинхронный сбалансированный режим (SABM) с установленным битом Р.
- t+1 Станция В отвечает Ненумерованным подтверждением (UA) с установленным битом F.
- t+2,3 Станция А посылает информационные кадры 0 и 1, устанавливает бит Р.
- t+4,5,6 Станция В подтверждает передачу станции А, посылая 2 в поле порядкового номера приема. Станция В, кроме того, передает информационные кадры 0 и 1.
- t+7 Станция А подтверждает кадры 0 и 1 станции В, порядковый номер 2 в поле приема.
- t+8 Станция В также подтверждает последний переданный А кадр с номером 2 и объявляет, что ему нечего передавать битом F. Отметим, что поле приема станции В сохраняло значение 2.
Ниже приведены моменты времени и события для процесса, представленного на рис.15:
|
t |
t+1 |
t+2 |
t+3 |
t+4 |
t+5 |
t+6 |
t+7 |
t+8 |
Станция А передает |
B,I |
B,I,P |
|
|
B,I |
B,RR, |
|
B,I |
B,RR |
Станция В передает |
A,I |
A,I |
B,RR |
A,I |
A,I |
A,I |
B,RR |
A,I |
A,RR |
Рис.15. Асинхронный сбалансированный режим с полнодуплексным потоком данных (Р не останавливает потока данных). Предполагается, что в предыдущих кадрах был установлен асинхронный сбалансированный режим |
- t Обе станции, А и В передают информационный кадр с порядковым номером посылки 0.
- t+1 Станции А и В посылают подтверждение приема кадров с номером 0, используя порядковые номера приема, равные 1. Они также передают информационные кадры с порядковыми номерами посылки, равными 1. Станция А посылает разрешение на ответ, устанавливая в 1 бит Р.
- t+2 Станция В немедленно отвечает командой Готов к приему с битом F на полученную команду от Станции А с установленным Р-битом. Чтобы подтвердить кадр с номером 1 от станции А, B использует порядковый номер приема 2. В режиме АВМ Станция В может продолжать передачу в следующий момент времени.
- t+3 Станция В передает информационный кадр 2 и повторно подтверждает принятый кадр 1
- t+4 Станция А посылает информационный кадр 2 и подтверждает кадры 1 и 2 станции В, используя порядковый номер приема 3. Станция В посылает информационный кадр 3.
- t+5 Станции А посылать нечего, но она подтверждает кадр с номером 3 станции В, используя порядковый номер приема 4, и требует ответа, устанавливая в 1 бит Р. Станция В передает информационный кадр 4 и подтверждает кадр с номером 2 станции А , используя порядковый номер приема 3.
- .t+6 Станция В отвечает на предыдущий бит Р установкой бита F в 1.
- t+7 Станция А посылает информационный кадр 3 и подтверждает кадр 4 станции В, используя порядковый номер приема 5. Станция В посылает информационный кадр 5.
- t+8 Ни у одной станции нет данных для передачи. Станция А посылает Готов к приему (RR), чтобы инициировать прием кадра 6. Станция В подтверждает кадр 3 станции А, используя порядковый номер приема 4.
Рис. 16,17,18 являются примерами того, как в протоколе HDLC обрабатываются ошибки передачи. На рис.16 показано использование поля порядкового номера приема N(R) для отрицательного (NAK) подтверждения кадра. На рис.17 показано использование Неприема (REJ), а рис.18 иллюстрирует использование Выборочного неприема (SREJ). Здесь рассматривается момент t продолжающегося сеанса, когда станция А передает кадр с номером 6.
Ниже приведены моменты времени и события для процесса, показанного на рис.16 (не поддерживаемого протоколом LAPB)
|
t |
t+1 |
t+2 |
t+3 |
t+4 |
t+5 |
t+6 |
t+7 |
t+8 |
Станция А передает |
B,I |
B,I |
B,I |
B,I,P |
|
B,I |
B,I |
B,I,P |
|
Станция В передает |
|
|
|
|
B,RR,F R=7 |
|
|
|
RR,F R=2 |
Рис.16. Восстановление по методу Возвращение-на-N (контрольная точка). Рисунок иллюстрирует продолжающийся сеанс; Р и F используются для реализации восстановления |
· t,t+1,2,3 Станция А посылает информационные кадры 6, 7, 0 и 1. Отметим, что, поскольку 7 является наибольшим допустимым порядковым номером, после 7 следует 0. Во время этого периода станция В обнаруживает ошибку в кадре 7. В t+3 станция А посылает бит опроса, который производит такое же действие, как контрольная точка, т.е. разрешает ответ станции В.
· t+4 Станция В возвращает Готов к приему(RR) с новым номером кадром 7 и битом окончания F. Это означает, что станция В снова ожидает приема кадра 7 (и всех кадров, переданных после 7).
· t+5,6,7 Станция А повторно передает кадры 7, 0, и 1 и устанавливает бит Р в качестве контрольной точки.
· t+8 Станция В подтверждает кадры 7, 0 и 1 командой Готов к приему (RR) с порядковым номером приема 2 и установленным битом F.
Исключительное использование поля порядкового номера приема N(R) для отрицательного подтверждения кадра не рекомендуется для полнодуплексной передачи. Так как кадры передаются по каналу в обоих направлениях, порядковые номера кадра и приема часто перекрываются. Например, предположим, что кадр 4 станции А [N(S)=4] передается примерно в то же время, что и кадр станции В, который содержит N(R)=4. Станция А может ошибочно заключить, что ее кадр 4 получен Станцией В с ошибкой, в то время как станция В просто указывает, что следующим она ожидает кадр 4. Более эффективный подход к исправлению ошибок состоит в явном указании ошибочного кадра. Рис.17 и 18 иллюстрируют два метода реализации явных отрицательных подтверждений NAK.
Ниже приведены моменты времени и события для процесса, который поясняется рис.7:
· t,t+1,2 Станция А посылает информационные кадры 6, 7 и 0. Станция В обнаруживает ошибку в кадре 7 и немедленно посылает кадр Неприем с порядковым номером приема 7 и F-битом. Таким образом Станция В не ожидает санкции на реализацию контрольной точки и посылает ответ REJ (Неприем) с установленным F-битом. Если бы станция В посылала REJ в качестве команды (то есть с адресным полем, содержащимся в А), станция А должна была бы ответить кадрами RR, RNR или REJ. Однако, поскольку REJ - это ответ, станция Анемедленно осуществит повторную передачу искаженного кадра.
· t+3,4,5 Станция А повторно передает кадры 7, 0 и 1 устанавливает бит Р в момент времени 5.
· t+6 Станция В подтверждает кадры 7, 0 и 1, используя Готов к приему и порядковый номер приема, равный 2. Отметим: для полнодуплексных систем бит P/F обычно не используется для остановки потока данных, поскольку это снижает пропускную способность.
Ниже приведены моменты времени и события для процесса исправления ошибки методом REJ
t | t+1 | t+2 | t+3 | t+4 | t+5 | t+6 | |
Станция А | B,I S=6 R=4 |
B,I (ошибка) |
B,I S=0 R=4 |
B,I S=7 R=4 |
B,I S=0 R=4 |
B,I S=1 R=4 |
|
Станция В | B,REJ F R=7 |
B,RR F R=2 |
|||||
Рис.17. Исправление ошибок по методу Неприем (REJ). Рисунок иллюстрирует продолжающийся сеанс |
- t,t+1,2 Станция А посылает информационные кадры 6, 7 и 0. Станция В обнаруживает ошибку в кадре 7 и немедленно посылает кадр Неприем с порядковым номером приема 7 и F-битом. Таким образом Станция В не ожидает санкции на реализацию контрольной точки и посылает ответ REJ (Неприем) с установленным F-битом. Если бы станция В посылала REJ в качестве команды (то есть с адресным полем, содержащимся в А), станция А должна была бы ответить кадрами RR, RNR или REJ. Однако, поскольку REJ - это ответ, станция А немедленно осуществит повторную передачу искаженного кадра.
- t+3,4,5 Станция А повторно передает кадры 7, 0 и 1 устанавливает бит Рв момент времени 5.
- t+6 СтанцияВ подтверждает кадры 7, 0 и 1, используя Готов к приему и порядковый номер приема, равный 2. Отметим: для полнодуплексных систем бит P/F обычно не используется для остановки потока данных, поскольку это снижает пропускную способность.
События для процесса, который представлен на рис.18 (не поддерживаемого протоколом LAPB):
|
t |
t+1 |
t+2 |
t+3 |
t+4 |
t+5 |
Станция А передает |
B,I |
B,I |
B,I |
B,I |
B,I |
|
Станция В передает |
|
|
B,SREJ |
|
|
B,RR |
Рис.18. Исправление ошибок по методу Выборочный неприем (SREJ). Рисунок иллюстрирует продолжающийся сеанс |
- t,t+1,2 Станция А передает информационные кадры 6,7 и 0. Станция В обнаруживает ошибку в кадре 7 и передает Выборочный неприем с порядковым номером 7. Станция В не требует RR, RNR или REJ, так как кадр в t+2 не является командой.
- t+3,4 Станция А передает повторно только кадр 7 и впервые передает кадр 1. Поскольку это Выборочный неприем, кадр 0 не передается повторно.
- t+5 Станция В подтверждает все принятые кадры ответом Готов к приему с порядковым номером приема 2.
Принятие базового множества (superset) процедур HDLC заложило прочную основу для реализации подмножества протоколов на базе процедлур HDLC. Некоторые подмножества используются в настоящее время в промышленности. Эти подмножества показаны на дереве классификаций сетей на рис. (привести рисунок) Структура базового подмножества HDLC дает возможность бит-ориентированным протоколам распознавать и использовать в разнообразных приложениях одни и те же процедуры. Приложения требуют для выполнения своих функций различных режимов работы и различных подмножеств команд и ответов. Например, требования, выдвигаемые многоточечными интерактивными приложениями, отличаются от требований двухточечных неинтерактивных систем.
Будем считать, что станция соответствует некоторому классу HDLC, если это оборудование реализует все команды и ответы, определенные для этого класса. Как указывалось ранее, тремя основными классами HDLC являются:
- класс UN (несбалансированный режим нормального ответа);
- класс UA (несбалансированный режим асинхронного ответа);
- класс BA (сбалансированный асинхронный режим).
HDLC предусматривает множество факультативных расширений основных классов. Эти расширения используются фирмами-поставщиками и пользователями HDLC для обеспечения большего разнообразия в структуре базового подмножества. Напомним, что опции и базовое множество HDLC показано на рис.5. Классы подмножеств обозначены сокращениями, такими, как UN, UA или BA плюс факультативное расширение протокола HDLC, обозначаемые конкретным номером опции. Например, протокол, обозначенный BA-4, является сбалансированным асинхронным протоколом, предназначенный для передачи ненумерованной информации (UI).
Имея в виду эту классификационную схему, рассмотрим некоторые из основных подмножеств стандарта HDLC.
LAP (Процедура доступа к звену) является одним из наиболее ранних подмножеств HDLC. LAP основывается на команде SARM - Установить режим асинхронного ответа - для сбалансированной конфигурации. Реализация звена с LAB является несколько неуклюжей, так как требуется, чтобы прежде чем установлено звено, обе станции посылали SARM и UA. Она отличается от реализации широко используемой процедуры LAPB.
LAPB (Сбалансированная процедура доступа к звену) используется во всем мире несколькими частными вычислительными сетями и сетями общего пользования. LAPB -это некоторое подмножество репертуара команда/ответов HDLC. LAPB используется для поддержки широко распространенного протокола сети с пакетной передачей Х.25. LAPB классифицируется как подмножество ВА-2.5 HDLC. Это означает, что кроме использования асинхронного сбалансированного режима этот протокол использует также два функциональных решения: опции 2 и 8. Опция 2 делает возможным одновременный неприем кадров в режиме двунаправленной передачи (рис.7). Опция 8 не допускает передачу полезной информации в кадрах ответа. Это не представляет какой-либо проблемы, так как в асинхронном сбалансированном режиме информация может представляться в командных кадрах, и поскольку обе физические станции являются логическими первичными станциями, обе могут представлять команды.
LLC (Управление логическим звеном) является стандартом, опубликованным Комитетом по стандартам IEEE 802 для локальных сетей. Стандарт допускает взаимодействие локальной сети с глобальной сетью. LLC использует подкласс базового множества HDLC; имеет классификационное обозначение ВА-2,4. Он использует сбалансированный асинхронный режим (BA) и функциональные расширения (опции 2 и 4).
Сетевой уровень |
|
Канальный уровень |
Подуровень управления логическим звеном(LLC) |
Подуровень блока доступа к среде (MAU) |
|
Физический уровень |
|
Рис.19. Управление логическим звеном (LLC) |
LLC разработан так, чтобы его можно было поместить между уровнем локальной сети и уровнем глобальной сети. Подобная реализация показана на рис.19. Блок доступа к среде (MAU) содержит протоколы локальной сети, а LLC обеспечивает интерфейс для верхних уровней. Оба подуровня описаны более подробно в разделе локальных сетей. Все локальные сети, специфицированные IEEE 802, обеспечивают сервис без установления логического соединения (тип 1). Сервис, ориентированный на установление логического соединения (тип 2), может предоставляться факультативно.
В локальных сетях типа 1 также отсутствуют механизм управления потоком и восстановление данных после ошибок. Это обусловлено необходимостью снижения накладных расходов для высокоскоростных каналов (отсутствуют фазы установления и расторжения соединений, отсутствуют подтверждения приема). Целостность данных поддерживается в ЛВС верхними уровнями модели ВОС. Например, в TCP/IP сетях транспортным уровнем.
В локальных же сетях типа 2 эти функции (установление и расторжение соединений, механизм управления потоком посредством скользящего окна) предусмотрены.
Множества допустимых команд для LLC приведены на рис.20
|
Команды |
Ответы |
Тип 1 |
UI - ненумерованная информация |
XID - идентификация станции |
XID - идентификация станции |
XID - идентификация станции |
|
TEST- проверка |
TEST- проверка |
|
Тип 2 (I-формат) |
I - Информационный кадр |
I - Информационный кадр |
RR - Готов к приему |
RR - Готов к приему |
|
RNR - Не готов к приему |
RNR - Не готов к приему |
|
REJ - Неприем |
REJ - Неприем |
|
SABM -Установить ABM |
UA - Ненумер.подтв., FRMR - Неприем |
|
DISC - разъединить |
UA-Ненумер.подт., DM- Разъединение |
|
Рис.20. Команды и ответы подуровня LLC локальной сети |
LAPD (Процедура доступа к D - каналу) является еще одним подмножеством структуры HDLC, хотя ее расширение выходят за рамки HDLC. LABD предназначен для управления звеном данных в цифровых сетях с интеграцией служб ISDN, которая получает все большее развитие.
LAPX (Расширенный LAPB) это еще одно подмножества HDLC. Этот протокол (процедура) используется в терминальных системах и в развивающимся стандарте TELETEX. Это полудуплексный вариант HDLC.
SDLC (Синхронное управление звеном данных) является версией базового множества HDLC, разработанного компанией IBM. SDLC использует несбалансированный режим нормального ответа и может быть классифицирован как UN-1,2,4,5,6,12. Обеспечивает поддержку двухточечных, многоточечных или кольцевых соединений. События для процесса, поддерживаемого протоколом SDLC, представлены на рис.21.
|
t |
t+1 |
t+2 |
t+3 |
t+4 |
t+5 |
t+6 |
t+7 |
t+8 |
t+9 |
t+10 |
t+11 |
t+12 |
t+13 |
А |
B,RR |
|
B |
|
B |
|
C,RR |
B,I |
B,I |
|
B,RR |
|
C,RR |
B,RR |
В |
|
B |
|
B |
|
B |
|
|
|
|
|
B,I |
B,I,F |
|
С |
|
|
|
|
|
|
|
C,I |
C,I |
C,I,F |
|
|
|
|
Рис.21. SDLC в полнодуплексной многоточечной системе передачи данных, где А - первичная станция, В - в режиме разъединения, С - в режиме нормального ответа |
- t,t+1,2,3,4,5 Станция А сначала опрашивает статус (состояние) станции В. Станция В отвечает запросом режима инициализации (RIM). Станция А устанавливает В в режим инициализации (SIM), а затем в режим нормального ответа. В подтверждает оба режима.
- t+6 Станция А использует команду Готов к приему (RR) для опроса станции С путем установки бита Р.
- t+7,8 Станция А посылает информационные кадры 0 и 1 станции В. Одновременно станция С, отвечая на предыдущий опрос посылает также информационные кадры 0 и 1 станции А по другому каналу полнодуплексной цепи.
- t+9 Станция С посылает информационный кадр 2 с установленным битом окончания F.
- t+10 Станция А опрашивает В для реализации контрольной точки (подтверждения).
- t+11 Станция В отвечает информационным кадром 0 и одновременно подтверждает принятые от А кадры 0 и 1, используя порядковый номер приема 2.
- t+12 Станция А подтверждает кадры 0, 1 и 2 станции С с помощью Готов к приему (RR) и порядкового номера приема 3. Станция В посылает информационный кадр 1 и устанавливает бит F в ответ на бит Р в t+1.
- t+13 Станция А подтверждает кадры 0 и 1 станции В с помощью команды Готов к приему (RR) и порядкового номера приема 2.
- t+… Последующие события потребуют, чтобы станции А и В выдали ответы с битом F.
Семейство протоколов канального уровня, использующих HDLC процедуры управления потоком, продолжает развиваться и расширяться. Однако акцент на обеспечение безошибочной передачи ослабляется по мере использования высокоскоростных каналов связи и использования методов коррекции ошибок. В полной мере возможности HDLC процедур используется при построении глобальных сетей передачи данных.
1. Блэк Ю. Сети ЭВМ: протоколы, стандарты, интерфейсы. М., Мир, 1990.
2. Методические материалы и документация по пакетам прикладных программ. Выпуск 24. Рекомендация МККТТ Х.25 и ее применение в информационно-вычислительных сетях. Часть I. Опыт применения рекомендации Х.25. М., МЦНТИ, 1983.
3. Методические материалы и документация по пакетам прикладных программ. Выпуск 24. Рекомендация МККТТ Х.25 и ее применение в информационно-вычислительных сетях. Часть II. Описание рекомендации Х.25. М., МЦНТИ, 1983.
4. Протоколы информационно-вычислительных сетей: Справочник/ С.А.Аничкин, С.А.Белов, А.В.Берштейн и др.; Под. ред. И.А Мизина, А.П.Кулешова. - М.: Радио и связь, 1990. - 504с.:ил.