Метки: Hdlc что такое, hdlc wan синхронный режим, dlc модем, hdlc контроллер, hdlc кабель, hdlc bad fcs.
High-Level Data Link Control (HDLC) — бит-ориентированный[1] протокол канального уровня сетевой модели OSI, разработанный ISO.
Текущим стандартом для HDLC является ISO 13239.
HDLC может быть использован в соединениях с множественным доступом, но в настоящее время в основном используется в соединениях точка-точка с использованием асинхронного сбалансированного режима (ABM).
HDLC был разработан на основе протокола SDLC (англ.) фирмы IBM. Его несильно изменённые дочерние протоколы — LAPB (англ.), LAPM (англ.), LAPF (англ.), LAPD (англ.) были встроены ITU соответственно в стеки протоколов X.25, V.42, Frame Relay, ISDN. Также HDLC был базой при разработке кадровых механизмов в протоколе PPP, широко используемом в Интернете.
Каждая из станций в каждый момент времени находится в одном из 3 логических состояний :
Если вторичная станция находится в режиме нормального разъединения (NDM), то она может принимать кадры только после получения явного разрешения от первичной. Если же в асинхронном режиме разъединения (ADM), то вторичная станция может самовольно инициировать передачу.
Используется для передачи управления на удалённую комбинированную станцию и для обмена параметрами между удалёнными станциями.
Всем станциям разрешено вести передачу и принимать информацию. Станции могут находиться в режимах NRM, ARM, ABM.
HDLC поддерживает три режима логического соединения, отличающиеся ролями взаимодействующих устройств:
Для обеспечения совместимости между станциями, которые могут менять свой статус(тип), в протоколе HDLC предусмотрены 3 конфигурации канала:
Кадры HDLC можно передавать, используя синхронные и асинхронные соединения. В самих соединениях нет механизмов определения начала и конца кадра, для этих целей используется уникальная в пределах протокола битовая последовательность (FD — Frame Delimiter) '01111110'(0x7E в шестнадцатеричном представлении), помещаемая в начало и конец каждого кадра. Уникальность флага гарантируется использованием битстаффинга в синхронных соединениях и байтстаффинга в асинхронных. Битстаффинг — вставка битов, здесь — бита 0 после 5 подряд идущих битов 1. Битстаффинг работает только во время передачи информационного поля (поля данных) кадра. Если передатчик обнаруживает, что передано подряд пять единиц, то он автоматически вставляет дополнительный ноль в последовательность передаваемых битов (даже если после этих пяти единиц и так идёт ноль). Поэтому последовательность 01111110 никогда не появится в поле данных кадра. Аналогичная схема работает в приемнике и выполняет обратную функцию. Когда после пяти единиц обнаруживается ноль, он автоматически удаляется из поля данных кадра. В байтстаффинге используется escape-последовательность, здесь — '01111101'(0x7D в шестнадцатеричном представлении), то есть байт FD(0x7E) в середине кадра заменяется последовательностью байтов (0x7D, 0x5E), а байт (0x7D) — последовательностью байтов (0x7D, 0x5D).
Во время простоя среды передачи при синхронном соединении последовательность 0xFE ('01111110') постоянно передаётся по каналу для поддержания битовой синхронизации. Может иметь место совмещение последнего бита 0 одного флага и начального бита 0 следующего. Время простоя также называется межкадровым временны́м заполнением.
Структура кадра HDLC, включая флаги FD:
Флаг | Адрес | Управляющее поле | Информационное поле | FCS | Флаг |
---|---|---|---|---|---|
8 бит | 8 бит | 8 или 16 бит | 0 или более бит, кратно 8 | 16 бит | 8 бит |
Предназначены для передачи данных пользователя. В процессе передачи информационных блоков осуществляется их нумерация в соответствии с алгоритмом скользящего окна. После установления соединения данные и положительные квитанции начинают передаваться в информационных кадрах. Логический канал HDLC является дуплексным, так что информационные кадры, а значит, и положительные квитанции могут передаваться в обоих направлениях. Если же потока информационных кадров в обратном направлении нет или же нужно передать отрицательную квитанцию, то используются управляющие кадры. При работе HDLC для обеспечения надёжности передачи используется скользящее окно размером в 7 кадров (при размере управляющего поля 1 байт) или 127 (при размере управляющего поля 2 байта). Для поддержания алгоритма окна в информационных кадрах станции-отправителя отводится 2 поля:
Предположим для определенности, что станция А отправила станции В информационный кадр с некоторыми значениями NA(S) и NA(R). Если в ответ на этот кадр приходит кадр от станции В, в котором номер посланного этой станцией кадра NB(S) совпадает с номером ожидаемого станцией А кадра NA(R), то передача считается корректной. Если станция А принимает кадр-ответ, в котором номер отправленного кадра NB(S) неравен номеру ожидаемого NA(R), то станция А этот кадр отбрасывает и посылает отрицательную квитанцию REJ (отказ) с номером NA(R). Приняв отрицательную квитанцию, станция В обязана повторить передачу кадра с номером NA(R), а также всех кадров с большими номерами, которые она уже успела отослать, пользуясь механизмом скользящего окна.
I-кадры также содержат бит опрос/ответ P/F (poll/final). В режиме NRM ведущий терминал использует бит P для опроса, ведомый — бит F в последнем I-кадре ответа. В режимах ARM и ABM биты P/F используются для форсирования ответа.
Команда/
Ответ |
Описание | Формат упр. поля
8…7…6…5…4…3…2…1….. |
---|---|---|
C/R | Данные пользователя | .-N(R)-… P/F…..-N(S)-..0 |
Используются для контроля потока ошибок передачи. В управляющих кадрах передаются команды и ответы в контексте установленного логического соединения, в том числе запросы на повторную передачу искаженных информационных блоков:
Готов к Приёму (RR)
Не готов к Приёму (RNR)
Неприем (REJ)
Выборочный Неприем(SREJ)
Имя | Команда/
Ответ |
Описание | Info | Формат упр. поля
8…7…6…5…4…3…2…1….. |
---|---|---|---|---|
Готов к Приёму (RR) | C/R | Положительная квитанция | Готов к приёму I-кадра | .-N(R)-… P/F…0…0…0…1 |
Не готов к Приёму (RNR) | C/R | Положительная квитанция | Не готов к Приёму | .-N(R)-… P/F…0…1…0…1 |
Неприем (REJ) | C/R | Отрицательная квитанция | Повтор N кадров | .-N(R)-… P/F…1…0…1…0 |
Выборочный Неприем (SREJ) | C/R | Отрицательная квитанция | Повтор 1 кадра | .-N(R)-… P/F…1…1…0…1 |
U-кадры определяются по двум младшим битам установленным в 1. Таким образом, вместе с P/F флагом это оставляет 5 бит для типа кадра. Так как используется менее 32 значений, некоторые типы кадров имеют разный смысл в зависимости от способа отправки: как запрос или как ответ. Так, понятна связь между командой DISC(disconnect) и ответом RD(request disconnect), но причины по которым команда SARM и ответ DM имеют одно цифровое значение непонятны.
U-кадры Предназначены для установления и разрыва логического соединения, а также информирования об ошибках.
Поле М ненумерованных кадров содержит коды, определяющие тип команд, которыми пользуются два узла на этапе установления соединения (например, SABME, UA, REST).
Имя | Команда/
Ответ |
Описание | 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(R), N(S) | ..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 | Извещение о неверном кадре |
Кадры UI, XID, TEST содержат полезные данные и могут быть использованы как команды так и как ответы.
Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) | |
---|---|
Физический | |
Канальный |
Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • Shortest Path Bridging • SMDS • STP • ERPS |
Сетевой | |
Транспортный | |
Сеансовый | |
Представления | |
Прикладной | |
Другие прикладные |
Bitcoin • OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype |
Tags: Hdlc что такое, hdlc wan синхронный режим, dlc модем, hdlc контроллер, hdlc кабель, hdlc bad fcs.