ФОРМАТЫ BSC И УПРАВЛЯЮЩИЕ КОДЫ


BSC является полудуплексным протоколом. Передача осу­ществляется поочередно в обоих направлениях. Этот протокол поддерживает двухточечные и многоточечные соединения, а также как коммутируемые, так и некоммутируемые каналы. BSC является кодозависимым протоколом, и каждый знак, переданным по BSC-каналу, должен быть декодирован у получа­теля, чтобы определить, является ли он управляющим знаком или относится к данным пользователя. Как указывалось ранее, кодозависимые протоколы называются бит-зависимыми или знак- (байт-) зависимыми протоколами, и они далее различа­ются по признаку фиксированности расположения управляю­щих полей в кадре.

 

Форматы кадра BSC и управляющие коды показаны на рис. 4

Рис. 4. Форматы BSC и управляющие коды.

 

Знак Функция
SYN PAD DLE ENQ SOH STX ITB ETB ETX EOT BCC Синхронизация канала в состоянии покоя (поддерживает активность канала) Наполнение кадра (временное заполнение между кадрами) Авторегистр 1 (используется для достижения кодовой прозрачности) Запрос (используется с опросом/выбором при захвате) Начало заголовка Начало текста (переводит линию в режим текста) Конец промежуточного блока Конец блока передачи Конец тектса Конец передачи (переводит линию в режим управления) Контрольный счетчик блока

 

Управляющие коды могут иметь несколько функций, которые определяются конкретным режимом работы канала в данный момент времени. (Режимы работы канала рассматриваются в следующем разделе.) На рисунке не показаны все возможные модификации формата кадра BSC, а приведены в качестве примеров некоторые основные реализации формата.

Так как BSC является знак-ориентированным протоколом, существуют проблемы отделения полей данных пользователя от управляющих полей. Существует возможность того, что данные, которые были распознаны как управляющие данные BSC, бы­ли созданы прикладным процессом пользователя. Например, можно предположить, что программа пользователя создает по­следовательность битов, которая совпадает с управляющим ко­дом ЕТХ (конец текста). Принимающая станция, встретив ЕТХ в данных пользователя, заключит, что это конец передачи, ко­торым обозначен кодом ЕТХ, созданным пользователем. Прото­кол BSC воспримет ЕТХ как протокольный управляющий знак и попытается выполнить контроль ошибок над неполным кад­ром BSC, что приведет к ошибке.

Очевидно, управляющие кодовые комбинации должны быть исключены из полей текста и заголовка. Эта проблема решает­ся в протоколе BSC с помощью управляющего кода DLE. Этот код помещается перед управляющими кодами STX, ЕТХ, ЕТВ, ITB и SOH для идентификации этих символов как действительно управляющих символов канала. Наиболее простой способ достижения кодовой прозрачности состоит в том, чтобы ис­пользовать DLE.STX или DLE.SOH для обозначения начала неуправляющих (т. е. пользовательских) данных, a DLE.ETX, DLE.ЕТВ или DLE.ITB для обозначения конца данных пользо­вателя. DLE не помещается перед данными, сформированными пользователем. Следовательно, если комбинации битов, совпа­дающие с какими-либо из этих управляющих знаков, будут соз­даны в тексте пользователя и поступят в принимающую стан­цию, эта станция будет считать их обычными данными пользо­вателя, поскольку перед ними не будет стоять DLE.

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

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

Наличие заголовков, показанных на рис. 4, не является обязательным. Если заголовок включен в сообщение, перед ним помещается код SOH.

 

РЕЖИМЫ КАНАЛА

Канал или звено BSC работают в одном из двух режимов. Режим управления используется главной станцией для управ­ления операциями, выполняемыми в канале, такими, как пере­дача кадров опроса и выбора. Режим сообщения или текстовый режим используется для передачи блока или блоков информа­ции в станцию или из станции. По получении приглашения на­чать посылку данных (опрос) зависимая станция передает дан­ные пользователя, причем перед данными или заголовком по­мещается STX или SОН. Эти управляющие символы переводят канал в режим сообщения или текстовый режим. Вслед за этим в текстовом режиме производится обмен данными, пока не встретится EOT, который возвращает канал в режим управ­ления. В то время как канал находится в режиме сообщения, он используется только для обмена данными между двумя станциями. Все другие станции должны оставаться пассивными. Текстовый режим с двумя станциями называется также режи­мом выбора-удержания.

Операции опроса и выбора инициируются кадром, содержа­щим Адрес. ENQ (где Адрес—это адрес станции). Управляю­щая (главная) станция отвечает за посылку примитивов.

Выбор выполняет одну из двух функций: (1) он переводит выбранную станцию в режим подчинения и (2) переводит все другие станции (в многоточечном канале) в пассивный режим. STX и SOH инициируют состояние пассивности. Выбранная станция поддерживает состояние режима подчинения, пока она не получит EOT, ETB или ЕТХ. Пассивные станции поддерживают состояние режима пассивности, пока они не получат EOT.

BSC, кроме того, позволяет выполнять операцию захвата в двухточечной сети. В этой ситуации одна из станций может стать главной путем «требования», обращенного к другой станций. Станция, принявшая требование, становится зависимой. Двухточечный канал переходит в режим соперничества по окончании передачи или после приема EOT.

Код ENQ играет важную роль в режимах управления про­токола BSC. Эти функции можно свести к следующим:

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

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

Захват. Станции в двухточечной системе производят передачу для соперничества за статус управляющей станции.

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

 

УПРАВЛЕНИЕ КАНАЛОМ

Передающая станция знает точный порядок передаваемых ею кадров, и она ожидает получить на все передачи кадры под­тверждения АСК. Принимающая станция передает кадры АСК с порядковыми номерами. Для нумерации используются толь­ко два числа, 0 и 1. Этот метод упорядочения является доста­точно эффективным, так как канал является полудуплексным и одновременно может передаваться только один кадр. АСК0 означает правильный прием кадров с четными номерами, и АСК1 подтверждает прием кадров с нечетными номерами.

Кроме управляющих кодов на рис. 4, в BSC используется несколько других кодов управления каналом:

АСК0 Положительное подтверждение блоков данных с чет­ными номерами или ответ на выбор или захват

АСК1 Положительное подтверждение приема блоков с не­четными номерами или данных

WACK (Ждать перед передачей—положительное подтверждение).

Принимающая станция временно не может продолжать обработку или принимать данные. Означает изменение направ­ления передачи в канале. Кроме этого используется в качестве положительного подтверждения передачи. Станция будет продолжать посылать WACK, пока не сможет снова принимать данные

RVI (Прерывание передачи). Означает, что у станции есть данные, которые она должна послать как можно раньше. Это вызывает прерывание процесса передачи

DISC Для коммутируемых каналов, приводит к разъедине­нию

TTD (Временная задержка текста). Означает, что передаю­щее ООД не может немедленно послать данные, но желает сохранить контроль над линией (например: буфер ООД полон или в подающем кармане нет перфокарт)

Использование кодозависимого протокола может привести к двусмысленности при интерпретации управления каналом. В табл. 1 иллюстрируется, каким образом эти двусмыслен­ности могут возникнуть в BSC. Смысл конкретной управляющей последовательности зависит от того, кто посылает последо­вательность — главная или зависимая станция, и от того, в каком режиме работает канал—управления или сообщения.

Эти байт-ориентированные протоколы вытесняются бит-ори­ентированными протоколами, что происходит по следующим че­тырем причинам:

1) двойственная интерпретация кодов;

2) необходимость использовать DLE для обеспечения кодовой прозрачности;

5) гибкость и эффективность битовых протоколов;

4) накладные расходы в байтовом протоколе. (Бит-ориентированные протоколы рассматриваются в данном разделе несколько позднее.)

 

Возможные интерпретации режимов BSC
  Переданное сообщение   Режим линии
Отправитель Управление Сообщение или текст
SYN     SYN     ENQ     Главная станция Вы готовы принять? Повторите ваш последний ответ
SYN     SYN     АСК0     Ведомая станция Я готов принять. Принять четный блок
SYN     SYN     ACKI     » Не используется   Принять нечетный блок
SYN     SYN     NAK     » Я не готов принять Повторите послед­нюю передачу
SYN     SYN     EOT     Главная станция Перевести линию в режим управ­ления Закончить режим сообщения    
SYN SYN EOT Ведомая станция Отрицательный ответ на опрос Послать отрица­тельное подтвер­ждение и пере­вести в режим управления

Таблица 1. Возможные интерпретации режимов BSC



Дата добавления: 2020-08-31; просмотров: 399;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.011 сек.