ФОРМАТЫ 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;