Протокол HDLC

Протокол HDLC (High Level Data Link Control) — высокоуровневая процедура управления каналом данных — является одним из основных протоколов второго уровня. Этот протокол поддерживается МОС и МККТТ и является составной частью рекомендации МККТТ Х.25. Его основой послужил протокол SDLC фирмы IBM. Можно указать на следующие характерные особенности данного протокола:

· является бит-ориентированным (обеспечивает кодовую прозрачность);

· содержит средства для защиты от ошибок и отказов;

· может работать в двухточечных, многоточечных и кольцевых линиях;

· обеспечивает обмен в полудуплексном и дуплексном режимах;

· позволяет работать в спутниковых каналах (при большом времени распространения сигнала в линиях).

Обеспечение прозрачности.

 
 

В протоколе применяется только одна служебная 8-битовая комбинация F (flag) = 01111110, которая называется флаговой. Последовательность, ограниченная с двух сторон такими флагами, распознается как кадр (см. рис.4.24.).

Рис.4.24.

Кодовая прозрачность кадра обеспечивается методом bit stuffing (вставки битов). Процесс пользователя может поместить в поток бит во внутренней части кадра последовательность...01111110..., совпадающую с флаговой (см. рис.4.25.).

 
 

Рис.4.25.

Передатчиком после каждых пяти подряд идущих единиц вставляется лишний "0", а приемник этот лишний "0" вычеркивает (стирает).

На битовом уровне используются еще 2 метода:

1. обрыв кадра — передача в канал последовательности от 7 до 14 подряд идущих единиц. После этого может начинаться передача следующего кадра, а кадр с обрывом игнорируется принимающей станцией (Это позволяет экономить время при обнаружении ошибок).

2. перевод канала в пассивное состояние — передача в канал 15 и более последовательных единиц. После этого для возобновления обмена необходима процедура восстановления канала.

Синхронизация.

 
 

Все промежутки между кадрами заполняются флаговыми комбинациями, что способствуют сохранению синхронизации между приемником и передатчиком (рис.4.26.).

Рис.4.26

 
 

Формат кадра протокола HDLC показан на рисунке 4.27.

Рис.4.27.

Здесь:

· А – восьмибитовое поле адреса (до 255 адресов);

· С – поле управления;

· FCS – проверочная последовательность кадра;

· I – информационное поле (может содержать любое число битов).

·

Обнаружение ошибок.

Используется циклический код с образующим полиномом g(x) = x16+x12+x5+1 в режиме обнаружения ошибок. При выдаче в КС содержимое кадра делится на g(x) и 16-разрядный остаток от деления помещается в поле FCS. На приеме производится такая же процедура и сравнение остатка. Метод позволяет обнаруживать все одиночные ошибки и 99,9984% всех ошибок большей кратности. Протокол допускает использование FCS длиной 4 байта (образующий полином 32-й степени) в тех случаях, когда необходима более мощная защита от ошибок.

Типы кадров.

1) I - кадр (информационный). На рисунке 4.28 показан формат поля С такого кадра. Здесь: “0” — признак I-кадра; N(S) — порядковый номер передачи; N(R) — порядковый номер приема (это номер следующего кадра, который ожидается приемной станцией; P/F — бит опроса/окончания. Номера N(S) и N(R) используются по модулю 8. Может быть и расширенный формат – нумерация по модулю 126 – тогда поле С занимает 2 байта.

 
 

Рис.4.28

2)

 
 

S - кадр (супервизорный). Формат поля С приведен на рисунке 4.29. Здесь: “10” — признак S-кадра. Поле "Тип" — указывает на один из 4-х видов команды/ответа:

Рис.4.29.

· "00" — RR (Receive Ready) — "Готов к приему";

· "01" — REJ (Reject) — "Переспрос";

· "10" — RNR (Receive not Ready) — "Не готов к приему";

· "11" — SREJ (Selective Reject) — "Селективный переспрос".

Кадр RR посылается для подтверждения приема кадров до номера {N(R)-1}, т.е. станция сообщает, что она ожидает следующий I-кадр с номером равным N(R).

Кадр REJ требует повторной передачи всех I-кадров номера которых больше или равны N(R). При этом подтверждаются кадры I с номерами до {N(R)-1} включительно.

Кадр RNR интерпретируется как сообщение о временной неготовности станции к приему I-кадров. Одновременно подтверждается получение всех кадров с номерами до {N(R)-1} включительно.

Кадр SREJ – это запрос на повторную передачу I-кадра с номером N(R). Подтверждает все кадры с номерами до N(R)-1. Режим с использованием этого кадра применяется достаточно редко (сложен в реализации), В основном это реализуется в спутниковых каналах. Время распространения сигнала в спутниковом канале составляет порядка 270 мс в одну сторону. Таким образом для получения подтверждения требуется ~ 540 мс. В связи с этим для повышения эффективности применяют нумерацию кадров по модулю 128 и избирательный отказ (SREJ).

3)

 
 

U - кадр (ненумерованный). Формат поля С:кадров этого типа включает (см. рис.4.30.) поле "11" — признак U-кадра. Эти кадры не содержат порядковых номеров. Число их типов составляет 32. В каждом режиме работы протокола используется свой собственный набор таких кадров.

Рис.4.30.

Например:

· DISC (Discinnect) – "Разъединить";

· SARM (Set Asynchronous Response Mode).–."Установить режим асинхронного ответа";

· UA (Unnumbered Acknowledge) – "Ненумерованное подтверждение";

· CMDR (Command Reject) – "Отказ от команды" и т.д.

В некоторых из U-кадров может быть информационное поле ограниченной длины. Например, в CMDR такое поле содержит причину отказа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: