<<
>>

Протоколы IV уровня стека ТСРЛР Протокол HDLC

HDLC - бит-ориентированный протокол управления каналом передачи дан­ных, опубликован стандартом ISO и базовым для построения других протоко­лов канального уровня (LAP, LAPB, LAPD, LAPX и LLC802.2).
Для управле­ния потоком и обнаружения ошибок используется алгоритм «скользящего окна», протокол поддерживает полудуплексную и полнодуплексную передачу, одно­точечную и многоточечную конфигурации, а также коммутируемые и неком­мутируемые каналы. Существует три типа станций HDLC: Первичная станция (ведущая) управляет звеном передачи данных (кана­лом). Несет ответственность за организацию потоков передаваемых данных и восстановление работоспособности звена передачи данных. Эта станция пере­дает кадры команд вторичным станциям, подключенным к каналу. В свою оче­редь она получает кадры ответа от этих станций. Если канал многоточечный. шавная станция отвечает за поддержку отдельного сеанса связи с каждой стан­цией, подключенной к каналу. Вторичная станция (ведомая) работает как зависимая по отношению к первичной станции (ведущей).
Она реагирует на команды, получаемые от пер­вичной станции, отсылая кадры ответов. Поддерживает только один сеанс связи с первичной станцией. Вторичная станция не отвечает за управление каналом. Комбинированная станция сочетает в себе одновременно функции пер­вичной и вторичной станций. Передает как команды, так и ответы и получает команды и ответы от другой комбинированной станции, с которой поддержива­ет сеанс. Станции в процессе взаимодействия друг с другом могут находиться в од­ном из трех логических состояний: логического разъединения, инициализации, передачи информации. Состояние логического разъединения (LDS). В этом состоянии станция не может вести передачу или принимать информацию. Если вторичная станция находится в нормальном режиме разъединения (NDM - Normal Disconnection Mode), она может принять кадр только после получения явного разрешения на это от первичной станции.
Если вторичная станция находится в асинхронном режиме разъединения (ADM - Asynchronous Disconnection Mode), то она мо­жет инициировать передачу без получения на это явного разрешения. Состояние инициализации (IS). Это состояние используется для переда­чи управления на удаленную вторичную/комбинированную станцию, ее коррек­ции в случае необходимости, а также для обмена параметрами между удален­ными станциями. Состояние передачи информации (ITS). Вторичной, первичной и комби­нированным станциям разрешено вести передачу и принимать информацию пользователя. В этом состоянии станция может находиться в режимах NRM, ARM и АВМ. Режим нормального ответа (NRM - Normal Response Mode) требует, чтобы прежде, чем начать передачу, вторичная станция получила явное разре­шение от первичной. После получения разрешения вторичная станция начина­ет передачу ответа, который может содержать данные. Пока канал использует вторичная станция, может передаваться один или более кадров. После после­днего кадра вторичная станция должна снова ждать явного разрешения, преж­де чем снова начать передачу. Как правило, этот режим используется вторич­ными станциями в многоточечных конфигурациях звена передачи данных. Режим асинхронного ответа (ARM - Asynchronous Response Mode) по­зволяет вторичной станции инициировать передачу без получения явного раз­решения от первичной станции (обычно, когда канал свободен, т. е. в состоянии покоя). Этот режим придает большую гибкость работы вторичной станции. Можно передавать один или несколько кадров данных или управляющую ин­формацию, отражающую изменение состояния (статуса) вторичной станции. С помощью ARM можно уменьшить накладные расходы, поскольку вторичная станция для передачи данных, не нуждается в опросе. Как правило, такой ре­жим используется для управления соединенными в кольцо станциями или же в многоточечных соединениях с опросом по цепочке. В обоих случаях вторич­ная станция может получить разрешение от другой вторичной станции и в от­вет на него начать передачу.
Таким образом разрешение на работу продвига­ется по кольцу или вдоль соединения. Асинхронный сбалансированный режим (ABM - Asynchronous Balanse Mode) используют комбинированные станции. Комбинированная станция мо­жет инициировать передачу без получения предварительного разрешения от другой комбинированной станции. Этот режим обеспечивает двусторонний об2 мен потоками данных между станциями, является основным (рабочим) и ши­роко используемым на практике. Для обеспечения совместимости взаимодействий между станциями, исполь­зующих различные процедуры и способных в процессе работы менять свой статус (первичная, вторичная, комбинированная) в протоколе HDLC предус­мотрены три способа конфигурирования канала: • несбалансированная конфигурация (UN - Unbalanced Normal) обеспе­чивает работу одной первичной и одной или большего числа вторичных стан­ций в одноточечной или многоточечной, полудуплексной или полнодуплексной конфигурациях, с коммутируемым и некоммутируемым каналом. Конфигура­цию называют несбалансированной потому, что первичная станция отвечает за управление каждой вторичной станцией и за выполнение команд установле­ния режима; • симметричная конфигурация (UA - Unbalanced Asynchronous) была в исходной версии стандарта HDLC и использовалась в первых сетях. Эта кон­фигурация обеспечивает функционирование двух независимых двухточечных несбалансированных конфигураций станций. Каждая станция обладает стату­сом первичной и вторичной и, следовательно, логически рассматривается как две станции - первичная и вторичная. Несмотря на то, что станция может работать как в качестве первичной, так и вторичной станции, реальные коман­ды и ответы мультиплексируются в один физический канал. Этот способ в настоящее время используется редко; • сбалансированная конфигурация (BA - Balanced Asynchronous) состо­ит из двух комбинированных станций, метод передачи - полудуплексный или дуплексный, канал - коммутируемый или некоммутируемый. Комбинирован­ные станции имеют равный статус в канале и могут несанкционированно посы­лать друг другу трафик.
Каждая станция несет одинаковую ответственность за управление каналом. В протоколе HDLC в качестве протокольного блока данных выступает кадр. Различают кадры трех типов: • информационного формата (1-кадр). Необходим для передачи данных ко­нечных пользователей между двумя устройствами;
Рис. 5.2. Структура кадра HDLC

• супервизорного формата (S-кадр). Выполняет управляющие функции, та­кие, как подтверждение (квитирование) кадров, запрос на повторную передачу кадров и запрос на временную задержку передачи кадров. Фактическое ис­пользование супервизорного кадра зависит от режима работы звена (режим нормального ответа, асинхронный сбалансированный режим, асинхронный ре­жим ответа); • ненумерованного формата (U-кадр). Выполняет управляющие функции. Такой кадр содержит пять двоичных разрядов, что позволяет определить до 32 команд и 32 ответов. Конкретный тип команды и ответа зависит от класса процедуры HDLC. Структура кадра HDLC. Кадр (рис. 5.2) состоит из пяти или шести полей. Все кадры должны начинаться и заканчиваться полями флага. Поле флага не­обходимо, чтобы станции, подключенные к звену данных, постоянно контроли­ровали двоичную последовательность флага. Последовательность флага все­гда состоит из 01111110. HDLC является кодопрозрачным протоколом. Он не зависит от конкретного кода (ASCII/IA5 или EBCDIC) при выполнении функции управления каналом. Кроме того, двоичные комбинации управляющих полей обычно занимают в кадре фиксированные разряды. 8-битовая комбинация флага помещается в на­чале и в конце кадра, чтобы дать возможность приемнику распознать начало и конец кадра. Кроме уникальной флаговой последовательности 01111110 прото­кол HDLC использует еще два сигнала: сигнал аварийного завершения {abort) состоит из последовательности единиц (от 7 до 14); состояние покоя обозначено последовательностью пятнад­цати или большего числа единиц.

Сигнал аварийного завершения помещается в конце кадра. Передающая станция посылает этот сигнал, когда возникает исключительная ситуация, требующая восстановления. Вслед за сообщением об аварийном завершении, чтобы поддерживать канал в активном состоянии, и передача могла продолжаться, могут посылаться флаги; сигнал покоя означает, что канал находится в состоянии покоя. Сигнал по­коя используется в полудуплексном сеансе, когда при обнаружении сигнала по­коя изменяется направление передачи на противоположное. Фактическое вре­мя между передачами кадров по каналу называется межкадровым временным заполнением. Это временное заполнение сопровождается передачей между кадрами непрерывной последовательности флагов. Флаги могут быть 8-бито­выми комбинациями, или может иметь место совмещение последнего «0» пре­дыдущего флага с первым «0» следующего флага. Для того, чтобы предотвратить вставку в поток данных пользователя ком­бинации совпадающей с флагом, передающая станция помещает ноль после пяти подряд идущих единиц, встретившихся в любом месте между начальным и конечным флагами кадра. Этот метод называется вставкой битов (bitstaffing). Приемник постоянно контролирует поток битов. При получении нуля с пя­тью далее идущими подряд единицами, он анализирует следующий бит. Если это нуль, он удаляет этот бит. Однако если седьмой бит является единицей, приемник аннулирует восьмой бит. Если восьмой бит нуль, то это означает что получена флаговая комбинация 01111110; если же это единица, то получен сиг­нал покоя или аварийного завершения и выполняются соответствующие дей­ствия. Таким образом, в протоколе HDLC обеспечена кодовая прозрачность и про­зрачность по данным. Протоколу безразлично, какие кодовые комбинации на­ходятся в потоке данных. Единственное, что требуется, - это поддерживать уникальность флагов. Адресное поле определяет первичную или вторичную станции, участвую­щие в передаче конкретного кадра. Каждой станции присвоен уникальный ад­рес. В несбалансированной системе адресные поля в командах и ответах со­держат адрес вторичной станции.
В сбалансированных системах командный кадр содержит адрес получателя, а кадр ответа содержит адрес передающей станции. Адресное поле всегда содержит адрес вторичного узла, задейство­ванного в текущей связи. Поскольку первичный узел является либо источни­ком связи, либо пунктом назначения, то его адрес можно не указывать, так как он заранее известен всем вторичным узлам (рис. 5.3). Управляющее поле содержит команду и ответы, а также порядковые но­мера, используемые для отчетности о прохождении данных в канале между первичной и вторичной станциями. Формат и содержание управляющего поля варьируются в зависимости от использования кадра HDLC. Формат управляющего поля (информационный, супервизорный или ненуме­рованный) определяет, как это поле кодируется или используется (рис. 5.4).

Рис. 5.3. Заполнение поля адреса в различных режимах

Рис. 5.4. Формат управляющего поля для различных типов кадра

Информационный кадр (1-кадр) в управляющем поле содержит два по­рядковых номера: N(S) - порядковый номер передачи (связан с порядковым номером передаваемого кадра); N(R) - порядковый номер приема (означает порядковый номер следующего кадра, который ожидается принимающей стан­цией). N(R) выступает в качестве подтверждения предыдущих кадров. Эти два поля используются для управления потоком данных и реализуют механизм «скользящего окна». Пятый двоичный разряд, бит P/F или бит опроса/окончания принимают во внимание, только когда он установлен в «1». Его используют первичная и вто­ричная станции для выполнения следующих функций: первичная станция использует бит Р для санкционирования передачи кадра статуса от вторичной станции. Бит Р также может означать опрос; вторичная станция отвечает на бит Р кадром данных или состояния, а так­же битом F. Бит F может также означать окончание передачи вторичной стан­цией в режиме нормального ответа (NRM). Бит Р/F называется битом Р, когда его использует первичная станция, и битом F, когда его использует вторичная станция. Только один бит Р (ожидаю­щий ответа в виде F бита) может быть активным в канале в любой момент времени. Если некоторый бит Р установлен в «1», его можно использовать в качестве контрольной точки, т. е. Р = 1 как бы говорит: ответьте мне, потому что я хочу знать ваш статус. Контрольные точки играют большую роль в раз­личных автоматизированных процессах. Они позволяют устранить неопреде­ленность и отменить накопленные транзакции. Бит Р/F может использоваться и интерпретироваться следующим образом: • в режиме NRM вторичная станция не может вести передачу, пока не будет получена команда с установленным в «1» битом Р. Первичная станция может запросить информационные (I) кадры путем посылки кадра с установленным в «1» битом Р или посылки некоторых супервизорных (S) кадров (RR, REJ или SREJ) с установленным в «1» битом Р; • в режимах ARM и АВМ информационные кадры могут передаваться без запроса с помощью команды, имеющей единичный бит Р. Установленный в «1» бит Р можно использовать для запроса ответа с установленным в «1» битом F так быстро, насколько это возможно; • в режимах ARM и АВМ производится передача кадра с установленным в «1» битом F вслед за приемом команды с установленным в «1» битом Р.В случае д вунаправленной одновременной (полнодуплексной) передачи, коща по получении команды с установленным в «1» битом Р передачу ведет вторич­ная станция, бит F устанавливается в «1» в первом кадре очередного ответа. Передача кадра с установленным в «1» битом F не требует, чтобы вторич­ная станция прекратила передачу. Вслед за кадром с установленным в «1» битом F могут быть еще переданы кадры. В режимах ARM и АВМ бит F Следует просто считать индикатором ответа на предыдущий кадр. Супервизорный формат (S-кадр) предусматривает четыре команды и ответа: Готов к приему (RR - receive ready), Неприем (REJ - reject), Не готов к приему (RNR - receive not ready), Выборочный неприем (SREJ - selective reject). Назначение этого формата и четырех команд и ответов состоит в вы­полнении нумерованных (т. е. использующих порядковые номера кадров) су- первизорных функций, таких, как подтверждение (квитирование), опрос, вре­менная задержка передачи данных и восстановление после ошибок. Кадры супервизорного формата не содержат информационного поля, но, благодаря наличию порядкового номера приема, их можно использовать для подтвержде­ния приема кадров от передающей станции. Рассмотрим команды и ответы, используемые супервизорным форматом. Готов к приему (RR) - означает, что первичная или вторичная станция гото­ва принять информационный кадр и/или подтвердить (квитировать) ранее при­нятые кадры с помощью поля N(R). Если станция до этого, используя команду Не готов к приему (RNR), посылала уведомление о том, что она занята, теперь она использует команду RR для индикации того, что она свободна и готова принять данные. Первичная станция может также использовать команду RR для опроса вторичной станции. Не готов к приему (RNR) - используется станцией для индикации состоя­ния занятости. Эта команда уведомляет передающую станцию о том, что при­нимающая станция не способна принять дополнительные поступающие дан­ные. Кадр RNR, используя поле N(R), может подтвердить прием ранее переданных кадров. Состояние занятости может был. сброшено посылкой кадра RR и некоторыми другими кадрами, рассмотренными ниже. Выборочный неприем (SREJ) используется станцией для запроса повторной передачи единственного кадра, который определен в поле N(R). Как и в случае включающего подтверждения, подтверждение распространяется на все инфор­мационные кадры с номерами до N(R) - 1 включительно. Неприем (REJ) используется для запроса передачи кадров, начиная с кадра, указанного в поле N(R). Подтверждаются все кадры с номерами до N(R) - 1. Кадр REJ используется для реализации метода Возвращение-на-N (Go-Back-N). Ненумерованный формат в протоколе HDLC предназначен для реализа­ции ненумерованных команд и ответов. Этот формат используется для посыл­ки большинства индикаторов команд и ответов. Структура управляющего поля ненумерованного формата показана (см. рис. 5.4). Ненумерованные команды, в соответствии с выполняемыми функциями, можно разбить на группы: • команды установки режима: SNRM, SARM, SABM, SIM, DISC, (SNRME, SARME, SABME для расширенной адресации); • команды передачи информации: UI, UP; • команды восстановления RESET; • другие команды: XID, TEST. Рассмотрим команды и ответы для ненумерованного формата: UI (Unnumbered Information - ненумерованная информация) - позволяет осуществлять передачу данных пользователя в ненумерованном кадре (т. е. без порядкового номера). Л/Л/(Request Initialisation Mode - режим инициализации запроса) - кадр RIM является ответом на команду SIM от вторичной к первичной станции. SIM (Set Initialisation Mode - установить режим инициализации) - инициали­зирует сеанс между первичной и вторичной станциями. Ожидаемым ответом является UА. SNRM (Set Normal Response Mode - установить режим нормального отве­та) - переводит вторичную станцию в NRM (режим нормального ответа), ко­торый предотвращает посылку вторичной станцией несанкционированных кад­ров. Это означает, что первичная станция управляет всем потоком сообщений в канале. DA/(Disconnect Mode - режим разъединения) - передается вторичной стан­цией для индикации того, что она находится в режиме логического разъедине­ния. DISC (Disconnect - разъединить) - команда, передаваемая первичной стан­цией, переводит вторичную станцию в режим разъединения аналогично нажа­тию рычага телефонного аппарата. UA (Unnumbered Ack - ненумерованное подтверждение) - подтверждение АС К для установки режима команд (SIM, DISC, RESET). Команда UA также уведомляет об окончании состояния занятости станции. FRMR (Frame Reject - неприем кадра) - вторичная станция посылает этот кадр, когда она не распознает кадр. Это делается не в случае обнаружения ошибки, указываемой в поле контрольной последовательности, а в более нео­бычных ситуациях. Причина указывается в информационном поле. Кадр ответа FRMR используют при выполнении следующих условий: • прием недействительного управляющего поля команды или ответа; • прием слишком длинного информационного поля; • прием недействительного поля N(R); • прием недопустимого информационного поля или супервизорного/ненуме- рованного кадра неправильной длины. С помощью кадра FRMR передается значительный объем информации о состоянии (status), при этом информационное поле может содержать следую­щие данные: • управляющее поле отвергнутого кадра; • текущее значение переменных состояния N(S) и N(R) принимающей стан­ции; • отвергнутый кадр был командой или ответом; • управляющее поле является недействительным; • кадр был передан с недопустимым информационным полем; • информационное поле является слишком длинным; • порядковые номера являются недействительными. RD (Request Disconnect - запрос разъединения) - запрос от вторичной стан­ции на логическое разъединение и установление состояния логического разье­динения. XID (Exchage State Identification - идентификация станции при коммутации) - команда запрашивает идентификацию вторичной станции. В системах с ком­мутацией ее используют для идентификации вызывающей станции. UP (Unnumbered Polls - ненумированные опросы). TEST (Test - проверка). Этот кадр используется для санкционирования тес­товых ответов от вторичной станции. SARM (Set Asynchronous Response Mode - установить режим асинхронных ответов) - устанавливает режим, позволяющий вторичной станции вести пере­дачу без опроса со стороны первичной станции. Он переводит вторичную стан­цию в состояние передачи информации (IS) режима ARM. Поскольку команда SARM устанавливает несбалансированную конфигурацию соединения, SARM должна выдаваться по обоим направлениям передачи: ООД А посылает: В, DISC; ООД В посылает: В, UA A, DISC; ООД А посылает: A, UA; ООД В посылает: A, SARM; ООД А посылает: A, UA В, SARM; ООД В посылает: В, UA Команды DISC посылаются, чтобы гарантировать полную реинициализа­цию канала. SABM(Set Asynchronous Balanced Mode - установить асинхронный сбалан­сированный режим) - устанавливает режим АВМ, в котором станции равно­правны. Для передачи не нужен опрос, поскольку каждая станция является стан­цией комбинированного типа. SNRME (Set Normal Response Mode Extended - установить расширенный режим нормального ответа) - устанавливает SNRM с двумя дополнительны­ми байтами в управляющем поле. SABME (Set Asynchronous Balance Mode Extended - установить расширен­ный асинхронный сбалансированный режим) - устанавливает SABM с двумя дополнительными байтами в управляющем поле. UP (Unnumbered Poll - ненумерованный опрос) - опрашивает станцию бе­зотносительно к нумерации кадров и квитированию. Если бит опроса установ­лен в «О», то ответ является необязательным, но такая возможность предос­тавляется только для одного ответа. RSET (Reset - сброс переменных) - передающая станция сбрасывает свой порядковый номер передачи N(S), а принимающая станция свой порядковый номер приема N(R). Эта команда используется для восстановления исходных параметров приемного/передающего окна. Протокол HDLC, кроме того использует набор системных параметров (Т1, N1,N2, К). Тайм-аут (таймер Т1) - с него начинается передача каждого кадра. Т1 используют для инициирования повторной передачи, когда таймер переполнен. При выборе периода таймера Т1 необходимо учитывать, запускается ли тай­мер в DCE по началу или по концу кадра. Период таймера Т1, по истечении которого можно начинать повторную передачу кадра, в соответствии с проце­дурами установления и разъединения звена, является системным параметром, подлежащим согласованию с администрацией на некоторый период времени. Для правильной работы процедуры необходимо, чтобы период таймера Т1 был больше, чем максимальное время между передачей некоторого кадра (SARM, SABM, DM, DISC, FRMR, I или супервизорной команды) и приемом соответ­ствующего кадра, возвращаемого в качестве отклика на этот кадр (UA, DM или подтверждающий кадр). Счетчик (N2) - нужен для определения максимального числа повторных передач, которые будут выполнены до того, как переполнится таймер Т1. Зна­чение максимального числа передач N2 и повторных передач кадра, вызывае­мых завершением работы таймера Т1 - системный параметр, его необходимо согласовывать с администрацией на некоторый период времени. Счетчик N1 - максимальное число битов в 1-кадре - системный параметр, зависящий от максимальной длины информационных полей, передаваемых че­рез сопряжение DTE/DCE. Одним из основных параметров протокола HDLC является максимальное число (К) переданных, но не подтвержденных 1-кадров - число последова­тельно занумерованных 1-кадров, которые в любой момент времени DTE или DCE могут передать без получения подтверждения. Оно должно быть согла­совано с администрацией на некоторый период времени и не должно превы­шать максимального размера окна. Информационное поле кадра содержит действительные данные пользо­вателя. Информационное поле имеется только в кадре информационного фор­мата. Его нет в кадре супервизорного или ненумерованного формата. Поле контрольной последовательности кадра (CRC) необходимо для об­наружения ошибок передачи между двумя станциями звена данных. Вычисле­ние CRC осуществляется методом циклического кодирования с производящим полиномом X16п5 +1 в соответствии с рекомендацией МККТТ V.41. Это позволяет обнаруживать всевозможные картежи ошибок длиной не более 16 разрядов, вызываемые одиночной ошибкой, а также 99,9984 % всевозмож­ных более длинных кортежей ошибок.

<< | >>
Источник: В .А. Галкин, Ю .А. Григорьев. Телекоммуникации и сети. 2003

Еще по теме Протоколы IV уровня стека ТСРЛР Протокол HDLC:

  1. Глава 4. Киотский протокол в Украине
  2. § 6. Протокол судебного заседания
  3. Судебные протоколы вообще
  4. Пример обработки протокола.
  5. Базовый протокол устранения проблемы с BSFF
  6. В. Г. Олифер, Н. А. Олифер. 54 Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд, 2006
  7. Стекаются к йогину.
  8. Сознание распространяет себя от высших уровней Божественности до низшего уровня первого измерения камня и минералов. Всё Бог в разном выражении.
  9. Истинное желание—это когда желания одного уровня гармонируют с желаниями другого уровня.
  10. ТЕОРИЯ УРОВНЕЙ ОБРАБОТКИ
  11. ДЕКАНАТЫ, СЕПТИЛИ И УРОВНИ
  12. Уровни зрелости
  13. Методология и ее уровни.
  14. Методология и ее уровни.
  15. Сотрудники низшего уровня
  16. Уровни зрелости
  17. Уровни моделирования
  18. ПРОЕКТНЫЙ И ИСПОЛНИТЕЛЬНЫЙ УРОВНИ ПРОГРАММ