Открыть сервис

HDLC

HDLC (High-Level Data Link Control, высокоуровневое управление каналом передачи данных) — это протокол канального уровня (уровень 2 модели OSI), предназначенный для синхронной, бит-ориентированной передачи данных между узлами сети. Он обеспечивает надежную доставку кадров, обнаружение и исправление ошибок, а также управление потоком данных. HDLC является основой для многих современных протоколов, включая PPP (Point-to-Point Protocol) и Frame Relay.

История

Протокол HDLC был разработан Международной организацией по стандартизации (ISO) в 1970-х годах на основе более раннего протокола SDLC (Synchronous Data Link Control), созданного компанией IBM. SDLC был частью сетевой архитектуры IBM SNA (Systems Network Architecture) и предназначался для связи мэйнфреймов с удаленными терминалами. ISO, стремясь создать универсальный стандарт, обобщила и расширила функциональность SDLC, выпустив в 1979 году стандарт ISO 3309. Позднее он был дополнен стандартами ISO 4335 (определение элементов процедуры) и ISO 7809 (классы процедур).

В 1980-х годах HDLC получил широкое распространение в телекоммуникационных сетях, в частности, в сетях X.25 и ISDN. Однако с развитием более эффективных протоколов, таких как Ethernet и TCP/IP, прямое использование HDLC в локальных сетях сократилось. Тем не менее, его модификации и подмножества продолжают применяться в глобальных сетях (WAN), спутниковой связи и встроенных системах.

Классификация и типы станций

HDLC определяет три типа станций (узлов) в сети:

Режимы передачи данных

HDLC поддерживает три основных режима передачи данных, которые определяют, как станции взаимодействуют друг с другом:

Структура кадра HDLC

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

Формат кадра

ПолеРазмер (бит)Описание
Флаг (Flag)8Открывающий и закрывающий флаг. Всегда имеет значение 01111110 (0x7E). Служит для синхронизации начала и конца кадра.
Адрес (Address)8 или 16Содержит адрес вторичной станции (в NRM/ARM) или адрес получателя (в ABM). В некоторых расширениях может быть увеличен до 16 бит.
Управление (Control)8 или 16Определяет тип кадра (информационный, управляющий, ненумерованный) и содержит номера последовательностей, команды и ответы.
Данные (Data/Information)ПеременнаяПолезная нагрузка кадра. Может отсутствовать в управляющих кадрах. Максимальный размер не ограничен стандартом, но обычно определяется реализацией.
FCS (Frame Check Sequence)16 или 32Контрольная сумма для обнаружения ошибок. Обычно используется CRC-16 или CRC-32. Вычисляется по полям адреса, управления и данных.
Флаг (Flag)8Закрывающий флаг. Идентичен открывающему (01111110).

Бит-стаффинг

Чтобы последовательность 01111110 (флаг) не встретилась внутри поля данных, используется механизм бит-стаффинга. Передатчик вставляет ноль после каждой последовательности из пяти единиц (11111). Приемник, обнаружив пять единиц, анализирует следующий бит: если это ноль — он удаляется (восстановление данных), если это единица — проверяется следующий бит. Если после шести единиц следует ноль (1111110), это означает конец кадра (флаг). Если после шести единиц следует единица (1111111), это сигнал об отказе (прерывание).

Типы кадров

HDLC определяет три типа кадров, которые различаются по содержимому поля управления:

1. Информационные кадры (I-кадры, Information)

2. Управляющие кадры (S-кадры, Supervisory)

3. Ненумерованные кадры (U-кадры, Unnumbered)

Применение

Несмотря на свой возраст, HDLC и его производные находят применение в различных областях:

Преимущества и недостатки

Преимущества

Недостатки

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →