ДОСТУП К СЕТЯМ С ПАКЕТНОЙ ПЕРЕДАЧЕЙ (С ПРОТОКОЛАМИ Х.25)

Описание HDLC-протокола. Протокол канального уровня HDLC (Higher-level Data Link Control) принят международной организацией по стандартизации ISO. Различные промышленные фирмы пользуются своими производными этого протокола, среди которых наиболее известен протокол SDLC (Synchronous Data Link Control) фирмы IBM. При создании этих протоколов преследовались следующие цели:

• поле передаваемых данных должно содержать любое количество битов и любую их комбинацию, т. е. протоколы не являются байт-ориентированными;

• необходимо предусмотреть средства защиты от ошибок при передаче;

• функционирование должно быть устойчивым к сбоям и отказам; при отказах и сбоях протокол не должен допускать потерь пакетов, доставок одних и тех же пакетов два-ж­ды или доставок искаженных пакетов;

• протокол должен работать в конфигурациях point-to-point, multipoint, кольцевых структурах;

• протокол должен допускать работу в сети полнодуплексных и полудуплексных терминалов;

• при полнодуплексном режиме полоса пропускание должна использоваться максималь­но, а в многоточечных конфигурациях должен быть предусмотрен режим одновремен­ной передачи и приема информации от разных станций;

• протокол должен эффективно работать при большом времени распространения сигнала по сети и при высоких скоростях передачи;

•при работе должны обнаруживаться состояния неработоспособности или некоррект­ной работы станций в сети.

Типы станций в сети. Для организации управления передачами в сети в несбалан­сированном режиме обмера одна станция в сеансе связи обозначается как первичная, другая как вторичная. Первичная станция - станция , которая организует обмен в сети, контролирует его и организует восстановление после сбоев. Вторичная станция - ведо­мая станция, ее действия полностью контролируются первичной станцией. От первич­ной станции ко вторичной идут кадры с командами, обратно кадры с ответами. При нор­мальной работе в качестве реакции на команду ожидается ответ. В сетях с multipoint-соединениями работа происходит в режиме опроса, и станция, которая опрашивает дру­гие, является первичной.

Некоторые станции могут сочетать функции первичных и вторичных станций. В этом случае они называются комбинированными. Если при передаче между комбинирован­ными станциями обе станции выполняют один и тот же набор управляющих функций, то такой способ работы называется сбалансированным.

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

Каждое сообщение начинается и заканчивается флагом 01111110. Для обеспечения прозрачности данных внутри пакета применяется процедура вставки бита. Нулевой бит вставляется после каждых пяти единичных битов в потоке данных так, чтобы комбина­ция, соответствующая флагу, не могла встречаться среди битов данных. Вставка и ис­ключение

нулевых битов применяются для всех полей кадра между ограничивающими флагами и носят название «bit staffing». Если при приеме между флагами окажется меньше 32 бит, то кадр считается неправильным и принимающая станция его отбрасывает.

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

Передающая станция может прервать передачу кадра передачей, по крайней мере, семи смежных единиц без вставки нулей (1111111). При этом канал, когда в нем обнару­живается 15 и более смежных единиц, переходит в пассивное состояние. В этом случае для возобновления передачи передающая станция должна повторно опросить готовность принимающей, перед тем как посылать ей данные. Передающая станция может пре­рвать передачу кадра и без перевода канала в пассивный режим, передав восемь смежных единиц, а затем флаговый байт (1111111101111110). Это приведет к отмене приема только текущего кадра, после чего можно передавать следующий кадр.

Основные типы кадров. HDLC-пакет (или кадр) состоит из 3-байтного заголовка и 3-байтного концевика, между которыми может располагаться любое число битов данных. Кадры могут быть двух типов: информационные и управляющие. В управляющих кадрах между заголовком и концевиком может не быть ни одного бита. Байты заголовка содер­жат следующую информацию:

Байт 1: байт флага, открывающий кадр данных. Формат флага 01111110.

Байт 2:8 битовый адрес станции, которой посылается кадр. Для проверки работоспо­собности станций и канала связи выделен специальный адрес 00000000 - «не станция». Для передачи сообщения всем станциям, подключенным к сети, выделен специальный глобальный адрес 11111111. При этом любой кадр-ответ на команду с глобальным адре­сом должен содержать индивидуальный адрес станции, которая его передала. Поле ад­реса можно расширить путем присоединения дополнительного байта. Обычно поле ад­реса содержит 8 бит и 256 комбинаций адресов. Но существует договоренность, что если первый передаваемый бит адреса (младший значащий бит) равен нулю, то и следующий байт тоже относится к полю адреса. Аналогично, если первый передаваемый бит адреса второго байта равен нулю, то и третий байт относится к полю адреса, и так далее. Если первый передаваемый бит адреса равен единице, то дополнительных адресных байтов нет и разрешено использовать 128 адресов.

Байт 3: 8 битовое поле, содержащее информацию, управляющую процессом передачи. Существует два формата кадра: основной и расширенный. Разница заключается в разной разрядности поля управления кадром (8 бит и 16 бит) из-за изменения в размере полей порядковых номеров кадра и ответа Ns, Mr, которые составляют 3 и 7 бит соответственно. Байты концевика содержат следующую информацию:

Байты 1 и 2: 16-битный код контрольной суммы кадра для проверки ошибок. Байт 3: байт флага, закрывающий кадр данных.

В протоколе HDLC используются три типа кадров (рис. 5.111 ):

• l-кадр: информационный кадр для передачи данных пользователей;

• S-кадр: супервизорный кадр, в котором передаются команды управления процессом
передачи ( подтверждение приема, переспрос, остановка, запрос на передачу).

• U-кадр: ненумерованный кадр, который используется для дополнительных функций уп­
равления сеансом передачи и смены режима передачи; ненумерованный кадр не со­
держит порядкового номера.

При нормальном режиме работы сети необходимы только 1-кадры и S-кадры. Эти кадры внутри поля управления кадром содержат порядковые номера передаваемого кадра.

Управляющий байт в кадре выполняет функции управления процессом передачи ин­формации.

 


 

Первым в канал при передаче передается 0-й бит. Биты 1 и 0 определяют тип кадра. Бит P/F имеет два значения: это бит опроса (polling), если кадр передается первичной станцией, и это бит конца, если кадр передается вторичной станцией. Бит опроса уста­навливается в Р = 1 в командах, если требуется ответ. Последний кадр в кадрах ответа содержит бит конца, равный F = 1, и на него требуется подтверждение. Таким образом, функция бита P/F одна и та же в обоих случаях. Этот бит показывает, что станция ожида­ет ответ и не будет передавать новый кадр до его получения.

Первичная станция, послав кадр с установленным битом опроса, ожидает ответ в те­чение заданного времени. Не получив его, станция снова пошлет кадр, запрашивающий ответ. Повторная передача осуществляется заданное количество раз. При этом исполь­зуются два тайм-аута: 1) при отсутствии ответа от вторичной станции, 2) при получении неправильного ответа. Ни длительность тайм-аутов, ни число попыток повторных пере­дач не регламентированы в HDLC, и эти числа меняются в зависимости от конкретной реализации.

Обмен между станциями контролируется с помощью порядковых номеров. Счет в 3-битовых номерах идет по модулю 8 от 0 до 7, после чего снова идет 0. В расширенном режиме управляющее поле может быть увеличено до 16 бит, так, чтобы счетчики поряд­ковых номеров стали 7-битовыми и счет мог идти по модулю 128. Каждый информацион­ный кадр идентифицируется порядковым номером Ns в поле управления кадром. Прием информации подтверждается посылкой подтверждения, в котором содержится порядко­вый номер Mr следующего информационного кадра, который ожидает принимающая стан­ция. При этом предполагается, что все кадры до Mr были приняты правильно. Таким образом, l-кадр содержит два номера: Ns - собственный порядковый номер и Nr - но­мер, которым подтверждается принятие Nr-1-го кадра.

Подтверждение может посылаться или в виде информационных 1-кадров, или в виде S-кадра, в котором также присутствует номер последнего правильно принятого кадра Nr-1.

 

Основные режимы работы. Протокол HDLC определяет следующие основные ра­бочие режимы:

• нормального ответа NRM (normal response mode);

• асинхронного ответа ARM (asynchronous response mode);

• асинхронного сбалансированного ответа ABM (asynchronous balanse response).

Режим NRM. Соединение устанавливается по команде первичной станции. Только одна станция ведет передачу в данный момент времени, остальные только слушают. Вторичная станция может начать действия только по команде от первичной. Это проце­дура опроса (polling) первичной станции вторичной. При опросе используется бит P/F (poll/final) из поля управления кадром. Первичная станция инициализирует обмен, посы­лая или кадр-опроса (S-кадр с установленным битом опроса, опрашивающий есть ли у вторичной станции данные для передачи), или информационные 1-кадры для передачи данных от первичной ко вторичной, указав в поле адреса адрес вторичной и установив в последнем кадре бит опроса Р = 1. После этого первичная станция ждет ответа. Вто­ричная станция, получив право на ответ, передает ответ в виде или S-кадров (если нет данных для передачи), или информационных l-кадров, установив в последнем кадре бит конца передачи F = 1. В любом случае, если вторичная станция получила от первичной станции l-кадры, она должна подтвердить их прием. Первичная станция, получив ответ от вторичной в виде l-кадров, посылает подтверждение в виде S-кадра или новых 1-кад­ров. Этот процесс передачи кадров продолжается, пока у первичной или у вторичной станции есть данные для передачи. В этом режиме все управление лежит на первичной станции, она должна:

• послать кадр-запрос;

• следить за тайм-аутом передачи;

• организовать повторные передачи, если нет подтверждения

Режим ARM. В этом режиме вторичная станция, не получив подтверждение от пер­вичной, по собственной инициативе начинает передачу. Это режим используется при работе в кольце,когда разрешение приходит от другой вторичной станции(или в шине с опросом поцепочке).При этом вторичная станция может передавать данные и кадры-управления и руководить обменом. Весь контроль за передачей в этом режиме лежит на вторичной станции, т.е. она отвечает за тайм-ауты и за повторные передачи, если нет подтверждений правильности приема.

Режим АВМ. В этом режиме любая станция может начать передачу. Каждая станция в этом режиме может выполнять функции первичной или вторичной станций. Любая стан­ция может посылать и принимать как кадры-команды, так и кадры-ответы. Этот режим введен для повышения пропускной способности сети и снижения задержек в сети.

Вспомогательные режимы работы. Вспомогательные режимы разработаны для со­стояний, когда вторичная станция отключена от звена связи. В этих режимах станция не может получать и передавать 1-кадры и S-кадры. Такой режим предотвращает работу стан­ции в необычных условиях, которые могут привести к соперничеству между станциями, работающими в режимах асинхронного ARM- и асинхронного сбалансированного АВМ-от-вета, несоответствию порядковых номеров передаваемых и принимаемых данных.

Вспомогательные режимы:

• нормального разъединения NDM (Normal Disconnect Mode);

• асинхронного разъединения ADM (Asynchronous Disconnected Mode);

• запуска (инициации) 1М (Initialization Mode).

Режимы разъединения применяются при необходимости предотвратить неожидан­ный выход станции в сеть, когда происходит другой обмен. Вторичная станция должна переходить в режим разъединения при следующих обстоятельствах:

• временном отключении или начальном включении питания;

• ручном управлении установкой логических целей станции в исходное состояние;

• ручном переводе станции в режим подсоединения.

Режим нормального разъединения NDM. В этом режиме вторичная станция отсоеди­нена от звена связи и не может принимать и предавать I- и S-кадры. Но ей разрешено отвечать на команду, полученную в U-кадре с битом опроса Р = 1 передачей одного кад­ра ответа, указывающего статус станции. Станция также должна выполнять команды:

• команду с требованием об идентификации; кадр ответа содержит признаки идентифи-

кации станции;

• команду установления режима работы; если станция может включить новый режим ра-

боты, то она передает ответ подтверждение в виде U-кадра и изменяет режим работы;

• команду начала теста; если станция может провести тест, то она передает ответ в виде

U-кадра, содержащего ответ-тест.

Асинхронный режим разъединения ADM. Режим ADM аналогичен режиму NDM с той разницей, что вторичная станция может послать ответ по собственной инициативе, без опроса со стороны первичной станции. В этом режиме станция посылает ответ в асин­хронном режиме при полудуплексном обмене, когда обнаружит нерабочее состояние канала связи, а при полнодуплексном обмене - в любое удобное для станции время.

Режим запуска (инициации) IM. Режим используется для передачи программы управ­ления на удаленную вторичную станцию, ее коррекции в случае необходимости, а также для обмена параметрами между удаленными станциями. Станция может находиться в этом режиме, перед тем как перейти в рабочий режим. Переключение в рабочий режим выполняется по специальным командам в виде U-кадров. Вторичная станция может сама запросить переход в этот режим, если обнаружит ошибки своего функционирования, для получения корректной программы управления от первичной станции. Если команда на переход в режим инициации поступила от первичной станции , то вторичная станция пере­ходит в этот режим только после передачи ответа-подтверждения. При нахождении стан­ций в этом режиме обмен служебной информацией ведется ненумерованными информа­ционными кадрами (U-кадры). Режим инициации заканчивается, когда вторичная станция принимает одну из команд установления другого режима работы и подтверждает переход в этот режим ответом-подтверждением.

Расширенные рабочие режимы. Расширенные режимы используют два управляю­щих байта в заголовке кадра, увеличив разрядность счетчиков принятых и переданных кадров с 3 бит до 7 бит.

• NRME (Normal Response Mode Extended) - расширенный режим нормального ответа (расширенная версия режима NRM).

• ARME (Asynchronous Response Mode Extended) - расширенный режим асинхронного ответа (расширенная версия режима ARM).

• АВМЕ (Asynchronous Balanced Mode Extended) - расширенный асинхронный сбалан­сированный режим (расширенная версия режима АВМ).

Супервизорные кадры. S-кадры осуществляют управление процессом передачи данных в информационных кадрах. Обычно они не имеют поля данных и их размер 6 байт. Два бита в супервизорном кадре определяют его тип. Таким образом, S-кадры могут быть четырех типов (табл. 5.75).

Таблица 5.75

Типы S-кадров

 

Значение битов 3, 4 в поле типа кадра Мнемоника команды Описание команды
RR (Receive Ready) К приему готов. Станция готова к приему Nr-кадра, кадры до Nr приняты правильно.
REJ (Reject) Переспрос. Запрос передачи или повторной передачи l-кадра номер Мг и следующих за ним. Кадры до Mr приняты правильно.
RNR (Receive Not Ready) К приему не готов. Станция занята и не может прини­мать l-кадры. По окончании занятости она ждет кадр Nr, кадры до Nr приняты правильно.
SREJ (Selective reject) Селективный переспрос. Требуется повторная переда­ча одного Nr-кадра. Кадры до Nr приняты правильно.

 

Ненумерованные кадры. С помощью ненумерованных кадров осуществляются сле­дующие функции:

• реализуется механизм передачи информации, не используя контроль по порядковым
номерам;

• передаются команды, которые осуществляют запуск станции, изменение режима пере-

дачи, отключение станции;

• производится отказ от выполнения неправильных команд или обработка особых ситу­-
аций, например, если размер кадра больше чем размер буфера на станции.


В ненумерованных кадрах нет полей с номерами кадров, поэтому для идентифика­ции типа U-кадра используются 5 бит. Таким образом может быть 32 типа ненумерован­ных кадров, однако не все типы задействованы (табл. 5.76).

 

Кадры команды

DISC (Disconnect) - используется для завершения ранее установленного режима ра­боты или режима инициации и перехода в режим разъединение.

SIM (Set Initialization Mode) - используется для перевода удаленной станции в режим инициации с целью изменения на ней текущих параметров или для введения новых па­раметров или программ.

RSET (Reset) - применяется только в тех случаях, если станция работает в режиме АВМ, для сброса в исходное состояние счетчика номера принятого пакета с целью во­зобновления сеанса упорядоченной передачи пакетов нового сообщения.

UP (Unnumbered Poll). Получив такую команду, удаленная станция должна выставить ответ, содержащий информацию о ее состоянии. В качестве ответа могут быть переданы и еще не переданные информационные кадры.

Кадры ответа

DM (Disconnect Mode) — ответ удаленной станции, что она находится в режиме разъе­динения.

RIM-(Request Initialization Mode) - ответ, который используется для оповещения уда­ленной станции о необходимости перехода в режим инициации для изменения текущих параметров или введения новых параметров для вторичной или комбинированной стан­ции, которая послала этот запрос.

UA (Unnumbered Acknowledgement) — ответ используется вторичной или комбиниро­ванной станцией для подтверждения выполнения команд, переданных в U-кадре.

RD (Request Disconnection) - ответ используется для сообщения станции, что на вто­ричной или комбинированной станции желателен переход в режим разъединения.

В составе U-кадра, в котором передаются ответы RIM, UA, RD, не допускается ис­пользование информационной области данных.

FRMR (Frame Reject) - ответ используется вторичной или комбинированной станцией для передачи на удаленную станцию сообщения о том, что принят некорректный кадр данных, который не может быть исправлен повторной передачей. В информационной области кадра дается обоснование переданного ответа. События, связанные с некоррек­тной ситуацией:

1) принят кадр с командой, которая не используется в данном протоко­ле; 2) принят кадр, длина которого превышает максимально допустимую длину, опреде­ленную в данной реализации сети для обработки на вторичной станции; 3) принят кадр, который содержит информационную область, которая недопустима для данного типа кадра; 4) принят кадр с нарушенным порядком нумерации кадров Ns или Nr; 5) причина, по которой кадр отнесен к некорректным, не оговаривается.

Команда и ответ

Команды и ответы XID, TEST, U1 используются для передачи по сети информации о состоянии станции.

XID (Exchange Identification) - используется для опознания станции, обмена пара­метрами и другой служебной информацией. Кадр может содержать информационную область, при этом первый байт этой области определяет формат всей ее остальной части. TEST используется для тестирования канала связи. Вторичная станция, получив эту команду, должна передать ответ, скопировав в него информационную часть кадра. Если станция не может провести копирование данных, то она посылает ответ без ин­формационного поля. Команда «тест» не должна менять содержимого переменных на станциях в сети.

U1 (Unnumbered Information) - служит для передачи информации от источника по каналу связи до удаленного пользователя без гарантии упорядоченной доставки ее по­лучателю.