ГОСУДАРСТВЕННЫЙ СТАНДАРТ
СОЮЗА ССР
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ
ОПИСАНИЕ БАЗОВЫХ ПРАВИЛ КОДИРОВАНИЯ ДЛЯ
АБСТРАКТНО-СИНТАКСИЧЕСКОЙ НОТАЦИИ ВЕРСИИ 1
(АСН.1)
(ИСО 8825—87)
И
27 р. 50 к. БЗ 7-91/836
здание официальноеКОМИТЕТ СТАНДАРТИЗАЦИИ И МЕТРОЛОГИИ СССР
ГОСУДАРСТВЕННЫЙ СТАНДАРТ
СОЮЗА ССР
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ
ОПИСАНИЕ БАЗОВЫХ ПРАВИЛ КОДИРОВАНИЯ
ДЛЯ АБСТРАКТНО-СИНТАКСИЧЕСКОЙ НОТАЦИИ
ВЕРСИИ I (ACH I)
(ИСО 8825-87)
Издание официально
еУ
Группа П85
ДК 681.224:621.391:006.354ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
И
ГОСТ
34.974—91
(ИСО 8825—87)
Information technology.
Open systems interconnection.
Specification of basic encoding rules
for abstract syntax notation one (AS'N.l)
ОКСТУ 0034
Дата введения 01.07.92
Настоящий стандарт распространяется на синтаксис передачи данных в прикладном уровне базовой эталонной модели взаимосвязи открытых систем и устанавливает спецификацию базовых правил кодирования значений типов данных пользователя для абстрактно- синтаксической нотации версии 1 (АСН.1).
Настоящий стандарт эквивалентен стандарту Международной организации по стандартизации ИСО 8825, за исключением упорядочения использования аббревиатур.
0. ВВЕДЕНИЕ
Настоящий стандарт определяет набор правил кодирования, которые могут быть применены к значениям типов, определенных с помощью нотации. Применение этих правил кодирования реализует синтаксис передачи для таких значений. При описании правил кодирования подразумевается, что они используются и при декодировании.
К значениям типов, определенных с помощью нотации, могут быть применены несколько различных наборов правил кодирования. Настоящий стандарт определяет один из наборов правил кодирования, называемый базовыми правилами кодирования.
В приложении 1 приведен пример кодового представления.
Приложение 2 содержит перечень значений «идентификатора объекта», присвоенных информационным объектам в настоящем стандарте.
Издание официальное
© Издательство стандартов, 1991 Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен без разрешения Госстандарта СССРНАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ
Настоящий стандарт определяет набор базовых правил кодирования, который может служить основой для определения синтаксиса передачи для значений, определенных с помощью нотации. Базовые правила кодирования применяются также при декодировании полученного с их помощью синтаксиса передачи для определения того, какие значения данных были переданы.
Описываемые базовые правила кодирования используются во время взаимодействия компонентами, представляющими услуги уровня представления, когда это требуется контекстом представления.
Требования стандарта являются обязательными.
ССЫЛКИ
ГОСТ 27466 (ИСО 2022) «Обработка информации. 7-ми и 8- ми — битные кодовые наборы знаков ИСО. Методы расширения кода».
ГОСТ 28906 (ИСО 7498) «Системы обработки информации. Взаимодействие открытых систем. Эталонная (справочная) модель».
МККТТ X. 409 «Системы обработки сообщений. Синтаксис и нотация представления информации при передаче».
ОПРЕДЕЛЕНИЯ
Динамическое соответствие — требование к реализации кодового представления следовать правилам внешнего функционирования, установленным настоящим стандартом.
Статическое соответствие — требование к реализации кодового представления обеспечивать допустимый поднабор функциональных возможностей из множества функциональных возможностей, установленных в настоящем стандарте.
Значение данных — информация, определенная как значение некоторого типа; тип и значение определены с помощью АСН.1.
Кодовое представление (некоторого значения данных) — полная последовательность октетов, используемая для представления значения данных.
Примечание. В некоторых рекомендациях МККТТ используется термин «элемент данных», в других — «значение данных» для этой последовательности октетов.
Октеты идентификатора — часть кодового представления значения данных, используемая для идентификации типа, к которому относится значение данных.
Октеты длины — часть кодового представления значения данных, используемая для нахождения его конца и следующая за октетами идентификатора.
Октеты признака конца содержимого — оконечная часть кодового представления, используемая для его конца. 1
Примечание. Не все кодовые представления требуют наличия октетов признака содержимого.
Октеты содержимого — часть кодового представления значения данных, которая представляет данное значение и позволяет отличить его от других значений того же типа.
Простое кодовое представление — кодовое представление значения данных, в котором октеты содержимого непосредственно представляют это значение.
Составное кодовое представление — кодовое представление значения данных, в котором октеты содержимого являются полным кодовым представлением, одного или нескольких других значений данных.
Отправитель — компонент реализации, кодирующий значение данных для передачи.
Получатель — компонент реализации, декодирующий октеты, сформированные отправителем, чтобы получить значение данных, которое было закодировано.
СОКРАЩЕНИЯ И ОБОЗНАЧЕНИЯ
АСН.1 — абстрактно-синтаксическая нотация версии 1.
Обозначения
Настоящий стандарт использует обозначения, определенные.
В настоящем стандарте при определении значения каждого октета используются термины «старший бит» и «младший бит».
Примечание. В стандартах по нижним уровням используется та же терминология, что и прій определении порядка передачи битов по последовательной линии связи 'или при распределении битов по параллельным каналам.
В настоящем стандарте биты октета нумеруются с 8-го до 1-го, лричем бит 8 —старший, а бит 1 — младший.
ТРЕБОВАНИЯ ДИНАМИЧЕСКОГО И СТАТИЧЕСКОГО
СООТВЕТСТВИЙ
Требования динамического соответствия определяются разд. 6—21.
Требования статического соответствия определяются стандартами, описывающими применение базовых правил кодирования.
Настоящим стандартом допускаются различные варианты кодового представления одного и того же значения по выбору отправителя. Получатели должны обеспечивать поддержку всех вариантов.
Примечание. Примеры вышеупомянутых вариантов кодовых представлений приводятся в п. 6:3.2 (перечисление б) и в табл. 1.
ОБЩИЕ ПРАВИЛА КОДИРОВАНИЯ
Структура кодового представления
Кодовое представление значения данных должно состоять из четырех составных частей:
октетов идентификатора (п. 6.2);
октетов длины (п. 6.3);
октетов содержимого (п. 6.4);
октетов признака конца содержимого (п. 6.5).
Октеты признака конца содержимого содержатся в кодовом представлении только в том случае, если их наличие вытекает из значения октетов длины (п. 6.3).
На черт. 1 показана структура некоторого кодового представления (простого или составного). На черт. 2 показан один из вариантов составного кодового представления.
Октеты идентификатора
В октетах идентификатора должен быть закодирован тег того типа (класс и номер), к которому относится значение данных.
Для тегов, имеющих номер от нуля до 30 (включительно), октеты идентификатора представлены одним октетом, закодированным следующим образом:
биты 7 и 8 представляют класс тега и должны иметь кодовое представление, приведенное в табл. 1;
Структура кодового представления
Октеты ийрнтищиміторо |
Оыпггпы (Ітпы |
Октеты [одержимог.п |
ЛпЛН’ипбо oumrmnh , /Мії'річінікп (т.п.b.5 Z)
Черт. 1
Один из вариантов составного кодового представления
Октеты идентификатора. |
Октеты Октеты длины кадержимого |
Октегпы признака WHiifl. содертимого |
I *
[оОермит при зим того,что октеты rjjtlep- .кимого оканчиваются ок ' тетами при така конца содержимого (рмп б 5 Ч)
Свлчется призма ком того, что в акте так сорер какого не содержится более ника ких кодовых представлений
Черт. 2
Таблица 1
Кодовое представление класса тега
Класс
Бит 8
Бит 7
У
о о 1 1
о 1 о
1
ниверсальный (UNIVERSAL) Прикладной (APPLICATION) Контекстно-зависимый Пользовательский (PRIVATE)бит 6 должен быть нулем или единицей в соответствии с п. 6.2.5;
биты с 5-го по 1-й должны быть кодовым представлением номера тега в виде двоичного целого с битом 5 в качестве старшего бита.
На черт. 3 показан формат октета идентификатора для типа с номером тега от нуля до 30 включительно.
Для тегов с номерами, большими или равными 31, идентификатор должен состоять из головного октету, за которым следуют один или более октетов продолжения.
Кодовое представление головного октета должно быть следующим:
биты 8 и 7 задают класс тега и должны иметь кодовое представление, задаваемое табл. 1;
бит 6 должен быть нулем или единицей в соответствии с правилами п. 6.2.5;
биты с 5-го по 1-й должны иметь кодовое представление 11111.
2 Зак. 172
1
Октет идентификатора (для небольших номеров меток)
Октет идентификатора
Ьитьі д 1 b 5 ‘с 5 I t
Н
Класс
апер петкиО = простое
I -составное
Черт. 3
Октеты идентификаторов (для больших номеров меток).
Октеты продолжения являются кодовым представлением номера тега и должны иметь следующий вид:
бит 8 каждого октета, зь исключением последнего октета идентификатора, должен быть установлен в единицу;
биты с 7-го по 1-й первого октета продолжения, за которым следуют биты >с 7-го—1-й второго октета продолжения, за которым следуют в свою очередь биты с 7-го— 1-й каждого из октетов продолжения, до последнего включительно, должны быть кодовым представлением номера тега в виде двоичного целого числа без знака, с битом 7-го первого октета продолжения в качестве старшего бита;
биты с 7-го по 1-й первого последующего октета не должны быть все равны нулю.На черт. 4 показан формат октетов идентификатора для типа, имеющего тег с домером больше 30.
Бит 6 должен иметь значение «нуль», если кодовое представление простое, и «единица», если оно составное.
Примечание. В последующих разделах для каждого типа указываете^, каким является его кодовое представление: простым или составным.
Тег типа, определенного с помощью ключевого слова «CHOICE» (выборочный тип), принимает значение тега того типа, из которого было выбрано значение.
Тег типа, определенного с помощью ключевого слова «ANY» (произвольный тип), не определен. Произвольный тип должен быть впоследствии определен как некоторый тип АСН.1, и тогда полное кодовое представление будет кодовым представлением значения этого нового типа (включая октеты идентификатора).
Октеты длины
Определено два формата октетов длины:
явный формат (п. 6.3.3);
неявный формат (п. 6.3.4).
Отправитель должен придерживаться следующих правил: а) использовать явный формат, (п. 6.3.3), если кодовое представление простое;
использовать по выбору либо явный, либо неявный формат, (п. 6.3.4), если кодовое представление составное и сразу доступно» полностью;
использовать неявный формат (п. 6.3.4), если кодовое представление составное и сразу полностью недоступно.
В случае явного формата группа «октеты длины» состоит из одного или нескольких октетов (определяющих количество октетов содержимого) в одном из двух форматов: коротком (п. 6.3.3.1)^ или длинном (п. 6.3.3.2) по выбору отправителя.
Примечание. Короткий формат может быть использован только в том? случае, когда количество октетов содержимого меньше или равно 127,
В коротком формате октеты длины включают единственный октет, в котором бит 8 установлен в нуль, а биты с 7-го по 1-й являются кодовым представлением количества октетов содержимого (возможно равного нулю) в виде двоичного целого числа без знака с битом 7 в качестве старшего бита.
Пример Л = 38 должно быть закодировано как 00100110.