Высокоуровневый контроль канала передачи данных
![]() | Эта статья , возможно, содержит оригинальные исследования . ( Март 2019 г. ) |
Протокол связи | |
Аббревиатура | HDLC |
---|---|
Цель | Обрамление данных |
Разработчик(и) | Международная организация по стандартизации (ISO) |
Введение | 1979 год |
На основе | СДЛК |
Уровень OSI | Уровень канала передачи данных |
High-Level Data Link Control (HDLC) — это протокол связи , используемый для передачи данных между устройствами в телекоммуникациях и сетях . Разработанный Международной организацией по стандартизации (ISO), он определен в стандарте ISO/IEC 13239:2002.
HDLC обеспечивает надежную передачу данных, позволяя одному устройству понимать данные, отправленные другим. Он может работать как с постоянным соединением между устройствами, так и без него, что делает его универсальным для различных сетевых конфигураций.
Первоначально HDLC использовался в сетях с несколькими устройствами, где одно устройство действовало как ведущее, а другие — как ведомые, в таких режимах, как режим нормального ответа (NRM) и режим асинхронного ответа (ARM). Эти режимы сейчас используются редко. В настоящее время HDLC в основном используется в соединениях «точка-точка» , например, между маршрутизаторами или сетевыми интерфейсами , с использованием режима, называемого асинхронным сбалансированным режимом (ABM).
История
[ редактировать ]HDLC основан на протоколе IBM SDLC ( SNA IBM , который является протоколом уровня 2 для системной сетевой архитектуры ). Он был расширен и стандартизирован МСЭ как LAP (Процедура доступа к каналу), а ANSI назвал свою по существу идентичную версию ADCCP .
Спецификация HDLC не определяет полную семантику полей кадра. Это позволяет создавать на его основе другие полностью соответствующие стандарты, и с тех пор производные стандарты появились в бесчисленных стандартах. Он был принят в X.25 стек протоколов как LAPB , в протокол V.42 как LAPM , в стек протоколов Frame Relay как LAPF и в стек протоколов ISDN как LAPD.
Исходные стандарты ISO для HDLC следующие:
- ISO 3309-1979 – Структура рамы
- ISO 4335-1979 – Элементы процедуры
- ISO 6159-1980 – Несбалансированные классы процедур
- ISO 6256-1981 – Сбалансированные классы процедур
Действующий стандарт ISO/IEC 13239:2002 заменил все эти спецификации.
HDLC послужил источником вдохновения для протокола IEEE 802.2 LLC и является основой механизма формирования кадров, используемого с PPP на синхронных линиях, который используется многими серверами для подключения к глобальной сети , чаще всего к Интернету .
Аналогичная версия используется в качестве канала управления для многоканальных телефонных линий E-carrier (E1) и SONET . Cisco HDLC использует низкоуровневые методы формирования кадров HDLC, но добавляет поле протокола к стандартному заголовку HDLC.
Обрамление
[ редактировать ]HDLC Кадры могут передаваться по синхронным или асинхронным последовательным каналам связи. Эти ссылки не имеют механизма для обозначения начала или конца кадра, поэтому начало и конец каждого кадра необходимо идентифицировать. Это делается с помощью уникальной последовательности битов в качестве разделителя кадра или флага и кодирования данных, чтобы гарантировать, что последовательность флагов никогда не будет видна внутри кадра. Каждый кадр начинается и заканчивается разделителем кадров. Разделитель кадров в конце кадра также может обозначать начало следующего кадра.
Как в синхронных, так и в асинхронных каналах последовательность флагов является двоичной «01111110» или шестнадцатеричной 0x7E, но детали совершенно разные.
Синхронное кадрирование
[ редактировать ]Поскольку последовательность флагов состоит из шести последовательных 1-битов, другие данные кодируются таким образом, чтобы гарантировать, что они никогда не содержат более пяти 1-битов подряд. Это делается путем вставки битов : каждый раз, когда в передаваемых данных появляются пять последовательных битов 1, данные приостанавливаются и передается бит 0.
Принимающее устройство знает, что это делается, и после просмотра пяти битов 1 подряд из полученных данных удаляется следующий бит 0. Если вместо этого шестой бит равен 1, это либо флаг (если седьмой бит равен 0), либо ошибка (если седьмой бит равен 1). В последнем случае процедура приема кадра прерывается и возобновляется при следующем появлении флага.
Эта вставка битов служит второй цели — обеспечению достаточного количества переходов сигнала. В синхронных каналах данные кодируются NRZI , так что 0-бит передается как изменение сигнала в линии, а 1-бит отправляется как отсутствие изменений. Таким образом, каждый 0-бит дает возможность принимающему модему синхронизировать свои часы через систему фазовой автоподстройки частоты . Если в ряду слишком много единиц, приемник может потерять счет. Вставка битов обеспечивает минимум один переход на шесть битов во время передачи данных и один переход на семь битов во время передачи флага.
Когда по симплексному или полнодуплексному синхронному каналу не передаются никакие кадры, по каналу постоянно передается разделитель кадров. Это генерирует одну из двух непрерывных сигналов, в зависимости от начального состояния:
Спецификация HDLC позволяет использовать 0-бит в конце разделителя кадра совместно с началом следующего разделителя кадра, т. е. «011111101111110». Некоторое оборудование не поддерживает это.
Для полудуплексной или многоабонентской связи, когда несколько передатчиков используют одну линию, приемник на линии будет видеть непрерывные холостые 1-биты в период между кадрами, когда ни один передатчик не активен.
HDLC передает байты данных, начиная с младшего бита (не путать с прямым порядком байтов , который относится к порядку байтов в многобайтовом поле).
Асинхронное кадрирование
[ редактировать ]При использовании асинхронной последовательной связи, такой как стандартные RS-232 последовательные порты , синхронная вставка битов неуместна по нескольким причинам:
- Вставка битов не требуется для обеспечения достаточного количества переходов, поскольку стартовые и стоповые биты обеспечивают это:
- Поскольку данные для передачи кодируются в формате NRZ , а не в формате NRZI, закодированная форма сигнала отличается.
- RS-232 передает биты группами по 8, что делает добавление отдельных битов очень неудобным.
- По этой же причине необходимо только специально кодировать байты флагов ; нет необходимости беспокоиться о битовом шаблоне, охватывающем несколько байтов.
Вместо этого при асинхронном кадрировании используется «прозрачность управляющих октетов», также называемая « заполнением байтов » или «заполнением октетов». Октет границы кадра — 01111110 (0x7E в шестнадцатеричном формате). « Октет управления управлением » имеет значение 0x7D (битовая последовательность «10111110», поскольку RS-232 передает сначала младший бит). Если в передаваемых данных появляется любой из этих двух октетов, отправляется escape-октет, за которым следует исходный октет данных с инвертированным битом 5. Например, байт 0x7E будет передан как 0x7D 0x5E («10111110 01111010»). Другие зарезервированные значения октетов (например, XON или XOFF ) при необходимости можно экранировать таким же образом.
«Последовательность прерывания» 0x7D 0x7E завершает пакет неполной последовательностью байтов, заставляя получателя обнаружить ошибку. Это можно использовать для прерывания передачи пакета без каких-либо шансов, что частичный пакет будет интерпретирован получателем как действительный.
Структура
[ редактировать ]Содержимое кадра HDLC показано в следующей таблице:
Флаг | Адрес | Контроль | Информация | ФТС | Флаг |
---|---|---|---|---|---|
8 бит | 8 или более бит | 8 или 16 бит | Переменная длина, 8 × n бит | 16 или 32 бита | 8 бит |
Обратите внимание, что флаг окончания одного кадра может быть (но не обязательно) флагом начала (начала) следующего кадра.
Данные обычно передаются в формате, кратном 8 битам, но этого требуют только некоторые варианты; другие теоретически допускают выравнивание данных по границам, отличным от 8-битных.
Последовательность проверки кадра (FCS) представляет собой 16-битную CRC-CCITT или 32-битную CRC-32, вычисляемую по полям адреса, управления и информации. Он предоставляет средства, с помощью которых приемник может обнаруживать ошибки, которые могли возникнуть во время передачи кадра, например потерянные биты, перевернутые биты и посторонние биты. Однако, учитывая, что алгоритмы, используемые для расчета FCS, таковы, что вероятность того, что определенные типы ошибок передачи останутся незамеченными, увеличивается с увеличением длины данных, проверяемых на наличие ошибок, FCS может неявно ограничивать практический размер кадра.
Если расчет FCS получателя не совпадает с расчетом отправителя, что указывает на то, что кадр содержит ошибки, получатель может либо отправить отрицательного подтверждения отправителю пакет , либо ничего не отправить. После получения пакета отрицательного подтверждения или истечения времени ожидания пакета положительного подтверждения отправитель может повторно передать ошибочный кадр.
FCS была реализована потому, что многие ранние каналы связи имели относительно высокую частоту ошибок по битам , и FCS можно было легко вычислить с помощью простой и быстрой схемы или программного обеспечения. Более эффективные схемы прямого исправления ошибок теперь широко используются в других протоколах.
Типы станций (компьютеров) и режимы передачи данных
[ редактировать ]Synchronous Data Link Control ( SDLC ) изначально был разработан для соединения одного компьютера с несколькими периферийными устройствами через многоточечную шину . Исходный «режим нормального ответа» — это первично-вторичный режим, в котором компьютер (или основной терминал ) дает разрешение каждому периферийному устройству ( вторичному терминалу ) говорить по очереди. Поскольку вся связь осуществляется либо с основным терминалом, либо с ним, кадры включают только один адрес — адрес вторичного терминала; первичному терминалу не присвоен адрес. Существует различие между командами, отправляемыми первичным устройством вторичному, и ответами, отправляемыми вторичным устройством первичному, но это не отражается в кодировке; команды и ответы неотличимы, за исключением разницы в направлении, в котором они передаются.
Режим нормального ответа позволяет совместно использовать вторичный-основной канал без конфликтов , поскольку в нем первичный канал дает вторичным каналам разрешение на передачу по одному. Он также позволяет работать по полудуплексным каналам связи, если первичный узел знает, что он может не передавать, когда он разрешил это сделать вторичному.
Режим асинхронного ответа является дополнением HDLC. [1] для использования по полнодуплексным каналам. Сохраняя различие между первичным и вторичным, он позволяет вторичному передавать данные в любое время. Таким образом, должен существовать какой-то другой механизм, гарантирующий, что несколько вторичных устройств не будут пытаться осуществлять передачу одновременно (или только один вторичный).
Асинхронный балансный режим добавляет концепцию комбинированного терминала , который может действовать как первичный, так и как вторичный. К сожалению, этот режим работы имеет некоторые тонкости реализации. Хотя для наиболее распространенных отправляемых кадров не имеет значения, находятся ли они в кадре команды или кадра ответа, некоторые важные кадры имеют значение (особенно большинство ненумерованных кадров и любой кадр с установленным битом P/F), и поле адреса полученного кадра должно быть быть проверен, чтобы определить, содержит ли он команду (полученный адрес принадлежит нам) или ответ (полученный адрес принадлежит другому терминалу).
Это означает, что поле адреса не является необязательным даже в каналах «точка-точка», где оно не требуется для устранения неоднозначности собеседника. Некоторые варианты HDLC расширяют поле адреса, включив в него адреса источника и назначения или явный бит команды/ответа.
Операции HDLC и типы кадров
[ редактировать ]Можно выделить три основных типа кадров HDLC:
- Информационные кадры, или I-кадры , передают пользовательские данные с сетевого уровня. Они также могут включать информацию о потоке и контроле ошибок, связанную с данными.
- Контрольные кадры, или S-кадры , используются для контроля потока и ошибок всякий раз, когда комбинированное соединение невозможно или неуместно, например, когда у станции нет данных для отправки. S-кадры не имеют информационных полей.
- Ненумерованные кадры, или U-кадры , используются для различных целей, включая управление ссылками. Некоторые U-кадры содержат информационное поле, в зависимости от типа.
Поле управления
[ редактировать ]Общий формат поля управления:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|
Н(Р) Получите номер последовательности. | ПФ | Н(С) Отправить номер последовательности. | 0 | I-кадр | ||||
Н(Р) Получите номер последовательности. | ПФ | тип | 0 | 1 | S-образная рама | |||
тип | ПФ | тип | 1 | 1 | U-образная рама |
Существуют также расширенные (двухбайтовые) формы I- и S-кадров. Опять же, первым отправляется младший бит (самый правый в этой таблице).
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Н(Р) Получите номер последовательности. | ПФ | Н(С) Отправить номер последовательности. | 0 | Расширенный I-кадр | |||||||||||||
Н(Р) Получите номер последовательности. | ПФ | 0 | 0 | 0 | 0 | тип | 0 | 1 | Расширенная S-образная рама |
Бит P/F
[ редактировать ]Poll/Final — это один бит с двумя именами. Он называется Poll, когда является частью команды (устанавливается первичной станцией для получения ответа от вторичной станции), и Final, когда является частью ответа (устанавливается вторичной станцией для обозначения ответа или окончания передачи). Во всех остальных случаях бит ясен.
Бит используется в качестве токена , который передается между станциями туда и обратно. Одновременно должен существовать только один токен. Вторичный сервер отправляет Final только после получения опроса от основного. Первичный узел отправляет опрос только тогда, когда он получил ответ Final от вторичного устройства или после тайм-аута, указывающего на потерю бита.
- В NRM владение токеном опроса также предоставляет адресуемому вторичному разрешению на передачу. Вторичный сервер устанавливает F-бит в своем последнем кадре ответа, чтобы отказаться от разрешения на передачу. (Это эквивалентно слову «Over» в голосовой процедуре радио .)
- В ARM и ABM бит P вызывает ответ. В этих режимах вторичному устройству не нужно ждать передачи опроса, поэтому последний бит может быть включен в первый ответ после опроса.
- Если ответ на бит P не получен в течение разумного периода времени, основная станция завершает тайм-аут и отправляет P снова.
- Бит P/F лежит в основе базовой схемы повторной передачи контрольной точки , которая необходима для реализации HDLC; все остальные варианты (например, S-образная рама REJ) не являются обязательными и служат только для повышения эффективности. Всякий раз, когда станция получает бит P/F, она может предположить, что любые кадры, отправленные ею до последней передачи бита P/F и еще не подтвержденные, никогда не поступят, и поэтому их следует передать повторно.
При работе в качестве комбинированной станции важно сохранять различие между битами P и F, поскольку одновременно могут работать два цикла контрольных точек. Бит AP, поступающий в команде от удаленной станции, не является ответом на наш бит P; только бит F, поступающий в ответ.
N(R), порядковый номер приема
[ редактировать ]Кадры I и S содержат порядковый номер приема N(R). N(R) обеспечивает положительное подтверждение приема I-кадров с другой стороны канала. Его значение всегда равно первому еще не полученному кадру; он подтверждает, что все кадры со значениями N(S) до N(R)-1 (по модулю 8 или по модулю 128) были получены, и указывает N(S) следующего кадра, который он ожидает получить.
N(R) действует одинаково, независимо от того, является ли он частью команды или ответа. Комбинированная станция имеет только одно пространство порядкового номера.
N(S), порядковый номер отправленного кадра
[ редактировать ]Оно увеличивается для последующих I-кадров по модулю 8 или по модулю 128. В зависимости от количества битов в порядковом номере в любой момент времени подтверждения могут ожидать до 7 или 127 I-кадров.
I-Frames (пользовательские данные)
[ редактировать ]Информационные кадры, или I-кадры , передают пользовательские данные с сетевого уровня. Кроме того, они также включают информацию о потоке и контроле ошибок, связанную с данными. Подполя поля управления определяют эти функции.
Младший бит (первый переданный) определяет тип кадра. 0 означает I-кадр.За исключением интерпретации поля P/F, нет никакой разницы между I-кадром команды и I-кадром ответа; когда P/F равен 0, эти две формы точно эквивалентны.
S-образные рамы (контроль)
[ редактировать ]Контрольные кадры, или «S-кадры», используются для контроля потока и ошибок всякий раз, когда комбинированное соединение невозможно или неуместно, например, когда у станции нет данных для отправки. S-кадры в HDLC не имеют информационных полей, хотя некоторые протоколы, производные от HDLC, используют информационные поля для «многоизбирательного отклонения».
Поле управления S-кадром включает в себя начальную цифру «10», указывающую, что это S-кадр. За ним следует 2-битный тип, бит опроса/финальный и 3-битный порядковый номер. (Или 4-битное поле заполнения, за которым следует 7-битный порядковый номер.)
Первые (наименее значимые) 2 бита означают, что это S-кадр. Все S-кадры включают в себя бит P/F и порядковый номер приема, как описано выше. За исключением интерпретации поля P/F, нет никакой разницы между командным S-кадром и ответным S-кадром; когда P/F равен 0, эти две формы точно эквивалентны.
Готовность к приему (RR)
[ редактировать ]- Значение бита = 00 (0x00 соответствует порядку битов в поле типа таблицы, указанном выше). [2] )
- Укажите, что отправитель готов получить больше данных (отменяет действие предыдущего RNR).
- Отправьте этот пакет, если вам нужно отправить пакет, но у вас нет I-кадра для отправки.
- Первичная станция может отправить это сообщение с установленным P-битом для запроса данных от вторичной станции.
- Вторичный терминал может использовать это с установленным F-битом для ответа на опрос, если у него нет данных для отправки.
Получение не готово (RNR)
[ редактировать ]- Значение бита = 01 (0x04 соответствует порядку битов в поле типа таблицы, указанном выше). [3] )
- Подтвердите некоторые пакеты, но не запрашивайте их отправку до дальнейшего уведомления.
- Может использоваться как RR с установленным битом P для запроса статуса вторичной станции.
- Может использоваться как RR с установленным битом F для ответа на опрос, если станция занята.
Отклонить(REJ)
[ редактировать ]- Значение бита = 10 (0x08 соответствует порядку битов в поле типа таблицы, указанном выше). [4] )
- Запрашивает немедленную повторную передачу, начиная с N(R).
- Отправляется в ответ на обнаруженный пробел в порядковом номере; например, увидев I1/I2/I3/I5, отправьте REJ4.
- Необязательно генерировать; рабочая реализация может использовать только RR.
Выборочный отказ (SREJ)
[ редактировать ]- Значение бита = 11 (0x0c соответствует порядку битов поля типа таблицы, указанному выше)
- Запрашивает повторную передачу только кадра N(R).
- Поддерживается не всеми вариантами HDLC.
- Необязательно генерировать; рабочая реализация может использовать только RR или только RR и REJ.
U-образные рамы
[ редактировать ]Ненумерованные кадры, или U-кадры , в основном используются для управления ссылками, хотя некоторые из них используются для передачи пользовательских данных. Они обмениваются информацией управления сеансом и контролем между подключенными устройствами, а некоторые U-кадры содержат информационное поле, используемое для информации управления системой или пользовательских данных.Первые 2 бита (11) означают, что это U-кадр. Пять битов типа (2 перед битом P/F и 3 бита после бита P/F) могут создать 32 различных типа U-кадра. В некоторых случаях одна и та же кодировка используется для разных вещей, таких как команда и ответ.
Настройка режима
[ редактировать ]Различные режимы описаны в § Конфигурации каналов . Вкратце, существует два нерабочих режима (режим инициализации и режим отключения) и три рабочих режима (нормальный ответ, асинхронный ответ и асинхронный сбалансированный режим) с 3-битными или 7-битными (расширенными) порядковыми номерами.
- Ответ в отключенном режиме (DM)
- Когда вторичное устройство отключено (состояние по умолчанию при включении питания), оно отправляет этот общий ответ на любой опрос (командный кадр с установленным флагом опроса), кроме команды установки приемлемого режима. В качестве альтернативы он может выдать ответ FRMR на команду установки неприемлемого режима.
- Ненумерованный ответ подтверждения (UA)
- Это ответ вторичного устройства на команду установки приемлемого режима, указывающий, что теперь он находится в запрошенном режиме.
- Команда Set... mode (SNRM, SARM, SABM)
- Переведите вторичное устройство в указанный режим с 3-битными порядковыми номерами (1-байтовое поле управления). Вторичный подтверждает с помощью UA. Если вторичное устройство не реализует этот режим, оно отвечает DM или FRMR.
- Команда Set ... расширенного режима (SNRME, SARME, SABME)
- Переведите вторичку в указанный режим с 7-битными порядковыми номерами (2-байтовое поле управления).
- Команда установки режима (SM)
- Общий набор режимов, новый в ISO/IEC 13239, с использованием информационного поля для выбора параметров. ISO/IEC 13239 добавил в HDLC множество дополнительных опций, включая 15- и 31-битные порядковые номера, которые можно выбрать только с помощью этой команды.
- Команда отключения (DISC)
- Эта команда вызывает подтверждение вторичного устройства с помощью UA и его отключение (переход в отключенный режим). Все неподтвержденные кадры теряются.
- Ответ на запрос отключения (RD)
- Этот ответ запрашивает у основного устройства команду DISC. Первичный сервер должен сделать это незамедлительно, но может задержаться на достаточно долгое время, чтобы обеспечить подтверждение всех ожидающих кадров.
- Команда установки режима инициализации (SIM)
- Эта редко реализуемая команда используется для выполнения некоторой вторичной инициализации, например загрузки прошивки . Что происходит в режиме инициализации, в стандарте HDLC иначе не указано.
- Ответ на запрос режима инициализации (RIM)
- Это запрашивает первичный сервер отправить SIM-карту и инициализировать вторичный. Он отправляется вместо DM, если вторичное устройство требует инициализации.
Передача информации
[ редактировать ]Эти кадры могут использоваться как часть обычной передачи информации.
- Ненумерованная информация (UI)
- Этот кадр (команда или ответ) передает пользовательские данные, но без подтверждения или повторной передачи в случае ошибки.
- Пользовательский интерфейс с проверкой заголовка (UIH)
- Этот кадр (команда или ответ) является дополнением к стандарту ISO/IEC 13239 и используется редко. Он похож на пользовательский интерфейс, но также исключает защиту CRC. Только префикс настраиваемой длины («заголовок») кадра покрывается полиномом CRC; ошибки в остальной части кадра не обнаружены.
- Команда ненумерованного опроса (UP)
- Эта команда запрашивает ответ от вторичного устройства. Если установлен бит опроса, он действует как любой другой кадр опроса, без подтверждения, которое должно быть включено в кадр I или S. Когда бит опроса сброшен, он имеет особое значение в обычном режиме ответа: вторичное устройство может ответить, даже если оно не получило бит опроса. Это редко используется в HDLC, но использовалось в исходном IBM SDLC вместо отсутствия режима асинхронного ответа; там, где канал связи может обрабатывать одновременные ответы, основной периодически отправляет UP на широковещательный адрес для сбора любых ожидающих ответов.
Восстановление ошибок
[ редактировать ]- Ответ на отказ кадра (FRMR)
- Ответ FRMR содержит описание неприемлемого кадра в стандартизированном формате. Первые 1 или 2 байта представляют собой копию отвергнутого поля управления, следующие 1 или 2 содержат текущие порядковые номера отправки и получения вторичного устройства (и флаг, указывающий, что кадр был ответом, применимый только в сбалансированном режиме), а Следующие 4 или 5 битов являются флагами ошибок, указывающими причину отклонения. Вторичный сервер повторяет один и тот же ответ FRMR при каждом опросе до тех пор, пока ошибка не будет устранена командой установки режима или RSET. Флаги ошибок:
- W: тип кадра (поле управления) не понятен или не реализован.
- X: тип кадра не понятен при непустом информационном поле, но оно присутствовало.
- Y: кадр содержит информационное поле, размер которого больше, чем может принять вторичный элемент.
- Z: кадр содержит недопустимый порядковый номер приема N(R), который не находится между ранее полученным значением и наибольшим переданным порядковым номером. (Эту ошибку нельзя сбросить, приняв RSET, но можно сбросить, отправив RSET.)
- V: кадр содержит недопустимый порядковый номер отправки N(S), больший, чем последний подтвержденный номер плюс размер окна передачи. Эта ошибка возможна только в том случае, если был согласован размер окна передачи меньше максимального.
- Флаги ошибок обычно дополняются 0 битами до 8-битной границы, но HDLC допускает кадры, длина которых не кратна байту.
- Команда сброса (RSET)
- Команда RSET заставляет вторичное устройство сбросить свой порядковый номер приема, поэтому следующий ожидаемый кадр имеет порядковый номер 0. Это возможная альтернатива отправке новой команды установки режима, которая сбрасывает оба порядковых номера. Это подтверждается с помощью UA, как команда установки режима.
Одноранговое открытие
[ редактировать ]- Идентификатор обмена (XID)
- Команда XID включает в себя информационное поле, определяющее возможности первичного устройства; вторичный сервер отвечает ответом XID, указывающим его возможности. Обычно это делается перед отправкой команды установки режима. Архитектура системной сети определила один формат для информационного поля, в котором старший бит первого байта пуст (0), но реализации HDLC обычно реализуют вариант, определенный в ISO 8885, в котором старший бит первого байта установлен. (1).
- ТЕСТ
- Команда TEST — это просто команда ping для целей отладки. Полезные данные команды TEST возвращаются в ответе TEST.
Определено в других стандартах
[ редактировать ]Существует несколько U-кадров, которые не являются частью HDLC, но определены в других родственных стандартах.
- Незарезервированные (NR0, NR1, NR2, NR3)
- Стандарт HDLC гарантирует, что «незарезервированные» команды и ответы будут доступны для других целей.
- Подтверждение без установления соединения (AC0, AC1)
- Они определены в стандарте управления логическим каналом IEEE 802.2 .
- Настройка (CFGR)
- Эта команда была определена в SDLC для отладки. Он имел 1-байтовую полезную нагрузку, которая определяла нестандартный тестовый режим для вторичного сервера. Четные числа отключили этот режим, а нечетные — включили. Полезная нагрузка 0 отключила все тестовые режимы. Вторичный сервер обычно подтверждает команду настройки, повторяя ее в ответ.
- Ответ маяка (BCN)
- Этот ответ был определен в SDLC для обозначения сбоя связи. Вторичный узел, который вообще не получал кадров в течение длительного времени, начинал отправлять поток ответов маяка, позволяя обнаружить однонаправленную неисправность. Обратите внимание, что ISO/IEC 13239 присваивает UIH ту же кодировку, что и BCN.
Конфигурации ссылок
[ редактировать ]Конфигурации каналов можно разделить на следующие категории:
- Несбалансированный , который состоит из одной первичной клеммы и одной или нескольких вторичных клемм.
- Балансный , состоящий из двух равноправных терминалов.
Три конфигурации ссылок:
- Режим нормального ответа (NRM) — это несбалансированная конфигурация, в которой только основной терминал может инициировать передачу данных. Вторичные терминалы передают данные только в ответ на команды первичного терминала. Первичный терминал опрашивает каждый вторичный терминал, чтобы дать ему возможность передать любые имеющиеся у него данные.
- Режим асинхронного ответа (ARM) — это несбалансированная конфигурация, в которой вторичные терминалы могут передавать данные без разрешения основного терминала. Однако по-прежнему существует выделенный основной терминал, который несет ответственность за инициализацию линии, устранение ошибок и логическое отключение.
- Асинхронный сбалансированный режим (ABM) — это сбалансированная конфигурация, в которой любая станция может инициализировать, контролировать, восстанавливаться после ошибок и отправлять кадры в любое время. Здесь нет отношений «главный/подчиненный». DTE ( терминальное оборудование данных ) и DCE ( терминальное оборудование канала передачи данных ) рассматриваются как равные. Инициатор асинхронного сбалансированного режима отправляет SABM.
Дополнительной конфигурацией канала является режим Disconnected . Это режим, в котором находится вторичная станция до того, как она будет инициализирована первичной или когда она явно отключена. В этом режиме вторичное устройство отвечает почти на каждый кадр, кроме команды установки режима, ответом «Отключенный режим». Цель этого режима — позволить первичному устройству надежно обнаружить отключение питания или иной сброс вторичного устройства.
Репертуар команд и ответов HDLC
[ редактировать ]Минимальный набор, необходимый для работы:
- Команды: I, RR, RNR, DISC и одна из SNRM, SARM или SABM.
- Ответы: Я, РР, РНР, UA, ДМ, ФРММР.
Основные операции
[ редактировать ]- Инициализация может быть запрошена любой стороной. Когда основной отправляет одну из шести команд установки режима, он:
- Сигнализирует другой стороне, что запрошена инициализация
- Указывает режим: NRM, ABM, ARM.
- Указывает, используются ли 3- или 7-битные порядковые номера.
Модуль HDLC на другом конце передает кадр (UA), когда запрос принят. Если запрос отклонен, он отправляет кадр режима разъединения (DM).
Функциональные расширения (опции)
[ редактировать ]- Для коммутируемых цепей
- Команды: ADD – XID
- Ответы: ADD – XID, RD
- Для двусторонних одновременных команд и ответов: ADD – REJ.
- Для команд и ответов однокадровой повторной передачи: ADD – SREJ.
- Для информационных команд и ответов: ADD – Ul
- Для инициализации
- Команды: ДОБАВИТЬ – SIM
- Ответы: ADD – RIM
- Для группового опроса
- Команды: ДОБАВИТЬ – ВВЕРХ.
- Расширенная адресация
- Удалить кадры ответа I
- Удалить кадры команды I
- Расширенная нумерация
- Для сброса режима (только ABM) используются следующие команды: ADD – RSET.
- Команды и ответы теста канала передачи данных: ADD – TEST.
- Запросить отключение. Ответы: ADD – RD.
- 32-битная FCS
Репертуар команд и ответов HDLC
[ редактировать ]Тип рамы | Имя | Команда/ Ответ | Описание | Информация | Формат C-поля | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||
Информация(я) | К/Р | Данные обмена пользователями | Н(Р) | ПФ | Н(С) | 0 | ||||||
Надзорный (S) | Готовность к приему (RR) | К/Р | Положительное признание | Готов принять I-кадр N(R) | Н(Р) | ПФ | 0 | 0 | 0 | 1 | ||
Получение не готово (RNR) | К/Р | Положительное признание | Не готов получать | Н(Р) | ПФ | 0 | 1 | 0 | 1 | |||
Отклонить(REJ) | К/Р | Отрицательное подтверждение | Повторная передача, начиная с N(R) | Н(Р) | ПФ | 1 | 0 | 0 | 1 | |||
Выборочный отказ (SREJ) | К/Р | Отрицательное подтверждение | Только ретрансляция N(R) | Н(Р) | ПФ | 1 | 1 | 0 | 1 |
Ненумерованные кадры
[ редактировать ]Ненумерованные кадры идентифицируются двумя младшими битами, равными 1. С флагом P/F в качестве типа кадра остается 5 бит. Несмотря на то, что используется менее 32 значений, некоторые типы имеют разное значение в зависимости от направления их отправки: как команда или как ответ. Взаимосвязь между командой DISC (отключение) и ответом RD (запрос на отключение) кажется достаточно ясной, но причина, по которой команда SARM численно равна ответу DM, неясна.
Имя | Команда/ Ответ | Описание | Информация | Формат C-поля | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
Установить режим нормального ответа SNRM | С | Установить режим | Используйте 3-битный порядковый номер | 1 | 0 | 0 | П | 0 | 0 | 1 | 1 |
SNRM расширенный SNRME | С | Установить режим; расширенный | Используйте 7-битный порядковый номер | 1 | 1 | 0 | П | 1 | 1 | 1 | 1 |
Установить режим асинхронного ответа SARM | С | Установить режим | Используйте 3-битный порядковый номер | 0 | 0 | 0 | П | 1 | 1 | 1 | 1 |
SARM расширенный SARME | С | Установить режим; расширенный | Используйте 7-битный порядковый номер | 0 | 1 | 0 | П | 1 | 1 | 1 | 1 |
Установить асинхронный балансный режим SABM | С | Установить режим | Используйте 3-битный порядковый номер | 0 | 0 | 1 | П | 1 | 1 | 1 | 1 |
SABM расширил SABME | С | Установить режим; расширенный | Используйте 7-битный порядковый номер | 0 | 1 | 1 | П | 1 | 1 | 1 | 1 |
Установить режим SM | С | Режим установки, общий | Новое в ISO 13239 | 1 | 1 | 0 | П | 0 | 0 | 1 | 1 |
Установить режим инициализации SIM | С | Инициализируйте функцию управления связью на адресуемой станции. | 0 | 0 | 0 | П | 0 | 1 | 1 | 1 | |
Запрос режима инициализации RIM | Р | Требуется инициализация | Запрос SIM команды | 0 | 0 | 0 | Ф | 0 | 1 | 1 | 1 |
Отключить ДИСК | С | Завершить соединение по логическому каналу | Будущие кадры I и S возвращают DM. | 0 | 1 | 0 | П | 0 | 0 | 1 | 1 |
Запрос на отключение РД | Р | Запрос DISC команды | 0 | 1 | 0 | Ф | 0 | 0 | 1 | 1 | |
Ненумерованное подтверждение UA | Р | Подтвердите принятие одной из команд установки режима. | 0 | 1 | 1 | Ф | 0 | 0 | 1 | 1 | |
Режим отключения DM | Р | Ответчик в отключенном режиме | Требуется установка режима | 0 | 0 | 0 | Ф | 1 | 1 | 1 | 1 |
Ненумерованный информационный интерфейс | К/Р | Неподтвержденные данные | Имеет полезную нагрузку | 0 | 0 | 0 | ПФ | 0 | 0 | 1 | 1 |
Пользовательский интерфейс с проверкой заголовка UIH | К/Р | Неподтвержденные данные | Новое в ISO 13239 | 1 | 1 | 1 | ПФ | 1 | 1 | 1 | 1 |
Ненумерованный опрос UP | С | Используется для запроса управляющей информации. | 0 | 0 | 1 | П | 0 | 0 | 1 | 1 | |
Сброс СБРОС | С | Используется для восстановления | Сбрасывает N(R), но не N(S) | 1 | 0 | 0 | П | 1 | 1 | 1 | 1 |
Идентификатор биржи XID | К/Р | Используется для запроса/отчета о возможностях | 1 | 0 | 1 | ПФ | 1 | 1 | 1 | 1 | |
Тест ТЕСТ | К/Р | Обменяйтесь идентичными информационными полями для тестирования | 1 | 1 | 1 | ПФ | 0 | 0 | 1 | 1 | |
Отклонение кадра FRMR | Р | Сообщить о получении неприемлемого кадра | 1 | 0 | 0 | Ф | 0 | 1 | 1 | 1 | |
Незарезервированный 0 NR0 | К/Р | Не стандартизировано | Для использования приложения | 0 | 0 | 0 | ПФ | 1 | 0 | 1 | 1 |
Незарезервированный 1 NR1 | К/Р | Не стандартизировано | Для использования приложения | 1 | 0 | 0 | ПФ | 1 | 0 | 1 | 1 |
Незарезервированный 2 NR2 | К/Р | Не стандартизировано | Для использования приложения | 0 | 1 | 0 | ПФ | 1 | 0 | 1 | 1 |
Незарезервированный 3 NR3 | К/Р | Не стандартизировано | Для использования приложения | 1 | 1 | 0 | ПФ | 1 | 0 | 1 | 1 |
Подтверждение без установления соединения, seq 0 AC0 | К/Р | Не является частью HDLC | Расширение IEEE 802.2 LLC | 0 | 1 | 1 | ПФ | 0 | 1 | 1 | 1 |
Подтверждение без установления соединения, последовательность 1 AC1 | К/Р | Не является частью HDLC | Расширение IEEE 802.2 LLC | 1 | 1 | 1 | ПФ | 0 | 1 | 1 | 1 |
Настройка для тестирования CFGR | К/Р | Не является частью HDLC | Был частью SDLC | 1 | 1 | 0 | ПФ | 0 | 1 | 1 | 1 |
Маяк BCN | Р | Не является частью HDLC | Был частью SDLC | 1 | 1 | 1 | Ф | 1 | 1 | 1 | 1 |
Формат C-поля | Команда | Ответ | Формат C-поля | Команда | Ответ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |||||
1 | 1 | 0 | 0 | ПФ | 0 | 0 | 0 | пользовательский интерфейс | 1 | 1 | 1 | 0 | ПФ | 0 | 1 | 0 | (не используется) | |||
1 | 1 | 0 | 0 | ПФ | 0 | 0 | 1 | СНРМ | 1 | 1 | 1 | 0 | ПФ | 0 | 1 | 1 | CFGR † | |||
1 | 1 | 0 | 0 | ПФ | 0 | 1 | 0 | ДИСК | РД | 1 | 1 | 1 | 0 | ПФ | 1 | 0 | х | (не используется) | ||
1 | 1 | 0 | 0 | ПФ | 0 | 1 | 1 | СМ * | 1 | 1 | 1 | 0 | ПФ | 1 | 1 | х | AC0–AC1 † | |||
1 | 1 | 0 | 0 | ПФ | 1 | 0 | 0 | ВВЕРХ | 1 | 1 | 1 | 1 | ПФ | 0 | 0 | 0 | САРМ | ДМ | ||
1 | 1 | 0 | 0 | ПФ | 1 | 0 | 1 | (не используется) | 1 | 1 | 1 | 1 | ПФ | 0 | 0 | 1 | СБРОС | |||
1 | 1 | 0 | 0 | ПФ | 1 | 1 | 0 | UA | 1 | 1 | 1 | 1 | ПФ | 0 | 1 | 0 | САРМА | |||
1 | 1 | 0 | 0 | ПФ | 1 | 1 | 1 | ТЕСТ | 1 | 1 | 1 | 1 | ПФ | 0 | 1 | 1 | SNRME | |||
1 | 1 | 0 | 1 | ПФ | 0 | х | х | NR0-NR3 | 1 | 1 | 1 | 1 | ПФ | 1 | 0 | 0 | САБМ | |||
1 | 1 | 0 | 1 | ПФ | 1 | х | х | (не используется) | 1 | 1 | 1 | 1 | ПФ | 1 | 0 | 1 | XID | |||
1 | 1 | 1 | 0 | ПФ | 0 | 0 | 0 | Сим | РИМ | 1 | 1 | 1 | 1 | ПФ | 1 | 1 | 0 | САБМЕ | ||
1 | 1 | 1 | 0 | ПФ | 0 | 0 | 1 | ФРМР | 1 | 1 | 1 | 1 | ПФ | 1 | 1 | 1 | возвращаться * | |||
БКН † |
Кадры UI, UIH, XID, TEST содержат полезную нагрузку и могут использоваться как в качестве команд, так и в качестве ответов. Команда SM и ответ FRMR также содержат полезную нагрузку.
- Кадр пользовательского интерфейса содержит информацию о пользователе, но в отличие от кадра I он не подтверждается и не передается повторно в случае потери.
- Кадр UIH (дополнение к ISO/IEC 13239) аналогичен кадру UI, но дополнительно применяет последовательность проверки кадра только к префиксу кадра указанной длины; ошибки передачи после этого префикса не обнаруживаются.
- Кадр XID используется для обмена возможностями терминала. В системной сетевой архитектуре определен один формат, но чаще используется вариант, определенный в ISO 8885. Первичный сервер объявляет о своих возможностях с помощью команды XID, а вторичный сервер возвращает свои возможности в ответе XID.
- Кадр TEST — это просто команда ping для целей отладки. Полезные данные команды TEST возвращаются в ответе TEST.
- Команда SM (дополнение к ISO/IEC 13239) представляет собой общую команду «установки режима», которая включает в себя информационное поле (в том же формате ISO 8885, что и XID), определяющее параметры. Это позволяет согласовывать значения параметров (например, 15- и 31-битные порядковые номера), а также такие параметры, как размеры окон и максимальные размеры кадров, которые не выражаются стандартными шестью командами установки режима.
- Ответ FRMR содержит описание неприемлемого кадра в стандартизированном формате. Первые 1 или 2 байта представляют собой копию отклоненного управляющего поля, следующие 1 или 2 содержат текущие порядковые номера отправки и приема вторичного устройства, а следующие 4 или 5 битов представляют собой флаги ошибки, указывающие причину отклонения.
См. также
[ редактировать ]Примечания
[ редактировать ]Ссылки
[ редактировать ]- Друг, Джордж Э.; Файк, Джон Л.; Бейкер, Х. Чарльз; Беллами, Джон К. (1988). Понимание передачи данных (2-е изд.). Индианаполис: Говард В. Сэмс и компания. ISBN 0-672-27270-9 .
- Столлингс, Уильям (2004). Данные и компьютерные коммуникации (7-е изд.). Река Аппер-Седл: Пирсон/Прентис-холл. ISBN 978-0-13-100681-2 .
- С. Таненбаум, Эндрю (2005). Компьютерные сети (4-е изд.). 482,FIE, Патпаргандж, Дели 110 092: Дорлинг Киндерсли (Индия) Pvt. Ltd., лицензии Pearson Education в Южной Азии. ISBN 81-7758-165-1 .
{{cite book}}
: CS1 maint: местоположение ( ссылка )
Внешние ссылки
[ редактировать ]- PPP в HDLC-подобном кадрировании, ориентированном в реальном времени . РФК 2687 .
- PPP в HDLC-подобном кадрировании . РФК 1662 . СТД 51.
- Лекции Манфреда Линднера по передаче данных – часть HDLC
- Формат пакета HDLC и другая информация
- [ мертвая ссылка ]
- ISO 3309:1984 Системы обработки информации. Передача данных. Процедуры управления каналом передачи данных высокого уровня. Структура кадра ( в архиве ).
- ISO 4335:1984 Передача данных. Процедуры управления каналом передачи данных высокого уровня. Консолидация элементов процедур ( в архиве ).
- ИСО/МЭК 13239:2002