Протоколы IV уровня стека ТСРЛР Протокол HDLC
Рис. 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 % всевозможных более длинных кортежей ошибок.
Еще по теме Протоколы IV уровня стека ТСРЛР Протокол HDLC:
- Глава 4. Киотский протокол в Украине
- § 6. Протокол судебного заседания
- Судебные протоколы вообще
- Пример обработки протокола.
- Базовый протокол устранения проблемы с BSFF
- В. Г. Олифер, Н. А. Олифер. 54 Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд, 2006
- Стекаются к йогину.
- Сознание распространяет себя от высших уровней Божественности до низшего уровня первого измерения камня и минералов. Всё Бог в разном выражении.
- Истинное желание—это когда желания одного уровня гармонируют с желаниями другого уровня.
- ТЕОРИЯ УРОВНЕЙ ОБРАБОТКИ
- ДЕКАНАТЫ, СЕПТИЛИ И УРОВНИ
- Уровни зрелости
- Методология и ее уровни.
- Методология и ее уровни.
- Сотрудники низшего уровня
- Уровни зрелости
- Уровни моделирования
- ПРОЕКТНЫЙ И ИСПОЛНИТЕЛЬНЫЙ УРОВНИ ПРОГРАММ