Интернет магазин китайских планшетных компьютеров



Компьютеры - HDLC - Кадры

05 июня 2011


Оглавление:
1. HDLC
2. Логические состояния
3. Конфигурации канала
4. Кадры



Кадры HDLC можно передавать, используя синхронные и асинхронные соединения. В самих соединениях нет механизмов определения начала и конца кадра, для этих целей используется уникальная в пределах протокола флаговая последовательность '01111110', помещаемая в начало и конец каждого кадра. Уникальность флага гарантируется использованием битстаффинга в синхронных соединениях и байтстаффинга в асинхронных. Битстаффинг — вставка битов, здесь — бита 0 после 5 подряд идущих битов 1. Битстаффинг работает только во время передачи информационного поля кадра. Если передатчик обнаруживает, что передано подряд пять единиц, то он автоматически вставляет дополнительный ноль в последовательность передаваемых битов. Поэтому последовательность 01111110 никогда не появится в поле данных кадра. Аналогичная схема работает в приемнике и выполняет обратную функцию. Когда после пяти единиц обнаруживается ноль, он автоматически удаляется из поля данных кадра. В байтстаффинге используется escape-последовательность, здесь — '01111101', то есть байт FD в середине кадра заменяется последовательностью байтов, а байт — последовательностью байтов.

Во время простоя среды передачи при синхронном соединении FD постоянно передаётся по каналу для поддержания битовой синхронизации. Может иметь место совмещение последнего бита 0 одного флага и начального бита 0 следующего. Время простоя также называется межкадровым временным заполнением.

Структура кадров

Структура кадра HDLC, включая флаги FD:

Флаг Адрес Управляющее поле Информационное поле FCS Флаг
8 бит 8 бит 8 или 16 бит 0 или более бит, кратно 8 16 бит 8 бит
  • Флаги FD — открывающий и закрывающий флаги, представляющие собой коды 01111110, обрамляют HDLC-кадр, позволяя приемнику определить начало и конец кадра. Благодаря этим флагам в HDLC-кадре отсутствует поле длины кадра. Иногда флаг конца одного кадра может быть начальным флагом следующего кадра.
  • Адрес выполняет свою обычную функцию идентификации одного из нескольких возможных устройств только в конфигурациях точка-многоточка. В двухточечной конфигурации адрес HDLC используется для обозначения направления передачи — из сети к устройству пользователя или наоборот.
  • Управляющее поле занимает 1 или 2 байта. Его структура зависит от типа передаваемого кадра. Тип кадра определяется первыми битами управляющего поля: 0 — информационный, 01 — управляющий, 11 — ненумерованный тип. В структуру управляющего поля кадров всех типов входит бит P/F, он по-разному используется в кадрах-командах и кадрах-ответах. Например, станция-приемник при получении от станции-передатчика кадра-команды с установленным битом P немедленно должна ответить управляющим кадром-ответом, установив бит F.
  • Информационное поле предназначено для передачи по сети пакетов протоколов вышележащих уровней - сетевых протоколов IP, IPX, AppleTalk, DECnet, в редких случаях — прикладных протоколов, когда те выкладывают свои сообщения непосредственно в кадры канального уровня. Информационное поле может отсутствовать в управляющих кадрах и некоторых ненумерованых кадрах.
  • Поле FCS — контрольная последовательность, необходимая для обнаружения ошибок передачи. Её вычисление в основном производится методом циклического кодирования с производящим полиномом X16+X12+X5+1 в соответствии с рекомендацией CCITT V.41. Это позволяет обнаруживать всевозможные кортежи ошибок длиной до 16 бит вызываемые одиночной ошибкой, а также 99,9984 % всевозможных более длинных кортежей ошибок. FCS составляется по полям Адрес, Управляющее поле, Информационное поле. В редких случаях используются другие методы циклического кодирования. После просчёта FCS на стороне приёмника он отвечает положительной или отрицательной квитанцией. Повтор кадра передающей стороной выполняется по приходу отрицательной квитанции или по истечении тайм-аута.

Типы кадров

I-кадры

Предназначены для передачи данных пользователя. В процессе передачи информационных блоков осуществляется их нумерация в соответствии с алгоритмом скользящего окна. После установления соединения данные и положительные квитанции начинают передаваться в информационных кадрах. Логический канал HDLC является дуплексным, так что информационные кадры, а значит, и положительные квитанции могут передаваться в обоих направлениях. Если же потока информационных кадров в обратном направлении нет или же нужно передать отрицательную квитанцию, то используются управляющие кадры. При работе HDLC для обеспечения надёжности передачи используется скользящее окно размером в 7 кадров или 127. Для поддержания алгоритма окна в информационных кадрах станции-отправителя отводится 2 поля:

  • N - номер отправляемого кадра;
  • N - номер кадра, который станция ожидает получить от своего партнера по диалогу.

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

I-кадры также содержат бит опрос/ответ P/F. В режиме NRM ведущий терминал использует бит P для опроса, ведомый — бит F в последнем I-кадре ответа. В режимах ARM и ABM биты P/F используются для форсирования ответа.

Команда/

Ответ

Описание Формат упр. поля

8…7…6…5…4…3…2…1…..

C/R Данные пользователя .-N-… P/F…..-N-..0

S-кадры

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

Готов к Приёму

  • Используется как положительная квитанция-1).
  • Ведущая станция может сделать опрос, установив бит P.
  • Ведомая станция на опрос может ответить кадром с установленным F битом, если у неё нет данных для передачи.

Не готов к Приёму

  • Используется как положительная квитанция и запрос остановить передачу I-кадров до получения следующего кадра RR.
  • Ведущая или Комбинированная станции могут установить бит P для уточнения статуса приёма ведомой/комбинированной станции.
  • Ведомая/комбинированная станции могут ответить установкой бита P как индикации занятости станции.

Неприем

  • Часто используется как отрицательная квитанция приемника
  • Неприем кадров последнего окна)

Выборочный Неприем

  • Неприем конкретного кадра
Имя Команда/

Ответ

Описание Info Формат упр. поля

8…7…6…5…4…3…2…1…..

Готов к Приёму C/R Положительная квитанция Готов к приёму I-кадра .-N-… P/F…0…0…0…1
Не готов к Приёму C/R Положительная квитанция Не готов к Приёму .-N-… P/F…0…1…0…1
Неприем C/R Отрицательная квитанция Повтор N кадров .-N-… P/F…1…0…1…0
Выборочный Неприем C/R Отрицательная квитанция Повтор 1 кадра .-N-… P/F…1…1…0…1

U-кадры

Предназначены для установления и разрыва логического соедиения, а также информирования об ошибках.

Поле М ненумерованных кадров содержит коды, определяющие тип команд, которыми пользуются два узла на этапе установления соединения.

  • Установка режима
  • Ненумерованная информация
  • Восстановление
    • Неверное поле управления
    • Превышена длина поля данных
    • Неверная длина для данного типа кадров
    • Неверный номер кадра
  • Остальные
Имя Команда/

Ответ

Описание Info Формат упр. поля

8…7…6…5…4…3…2…1…..

Установить режим нормального ответа SNRM C Установить режим ..1…0…0…P…1…1…0…1
Установить расширенный режим нормального ответа SNRME C Установить режим ..1…1…0…P…1…1…1…1
Установить режим асинхронного ответа SARM C Установить режим ..0…0…0..P/F..1…1…0…1
Установить расширенный режим асинхронного ответа SARME C Установить режим ..0…1…0…P..1…1…1…1
Установить асинхронный сбалансированный режим SABM C Установить режим ..0…0…1..P/F..1…1…1…1
Установить расширенный асинхронный сбалансированный режим SABME C Установить режим ..0…1…1…P…1…1…1…1
Установить режим инициализации SIM C Инициировать функцию контроля за линией в адресуемой станции ..0…0…0..P/F..0…1…1…1
Разрыв соединения DISC C Разорвать логическое соединение ..0…1…0..P/F..0…0…1…1
Ненумерованное подтверждение UA R Подтверждение приёма одной из команд установки режимов ..0…1…0….F..0…0…1…1
Режим разъединения DM R Индикация режима лог. разъединения
Запрос разъединения RD R Ответ на команду DISC ..0…1…0..P/F..0…0…1…1
Запрос инициализации RIM R Необходима инициализация Запрос команды SIM
Ненумерованная информация UI C/R Используется для обмена информацией управления ..0…0…0..P/F..0…0…1…1
Ненумерованный опрос UP C Используется для запроса управляющей информации ..0…0…1..P….0…0…1…1
Перезапуск счётчиков RSET C Исп. для восстановления Обнуляет N, N ..1…0…0..P….1…1…1…1
Обмен статусом XID C/R Исп. для запроса / передачи статуса ..1…0…1..P/F..1…1…1…1
Тест TEST C/R Обмен идентичными инф. полями для теста ..1…1…1..P/F..0…0…1…1
Неприем кадра FRMR C/R Извещение о неверном кадре


Просмотров: 4601


<<< CUBIC TCP
IGMP snooping >>>