ГОСУДАРСТВЕННЫЙ СТАНДАРТ
СОЮЗА ССР

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ

ОПИСАНИЕ БАЗОВЫХ ПРАВИЛ КОДИРОВАНИЯ ДЛЯ

АБСТРАКТНО-СИНТАКСИЧЕСКОЙ НОТАЦИИ ВЕРСИИ 1
(АСН.1)

ГОСТ 34.974-91

(ИСО 8825—87)

И

27 р. 50 к. БЗ 7-91/836

здание официальное

КОМИТЕТ СТАНДАРТИЗАЦИИ И МЕТРОЛОГИИ СССР

ГОСУДАРСТВЕННЫЙ СТАНДАРТ

СОЮЗА ССР

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ

ОПИСАНИЕ БАЗОВЫХ ПРАВИЛ КОДИРОВАНИЯ
ДЛЯ АБСТРАКТНО-СИНТАКСИЧЕСКОЙ НОТАЦИИ
ВЕРСИИ I (ACH I)

ГОСТ 34.974-91

(ИСО 8825-87)

Издание официально

еУ

Группа П85

ДК 681.224:621.391:006.354

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

И

ГОСТ
34.974—91
(ИСО 8825—87)

нформационная технология
ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ
Описание базовых правил кодирования для
абстрактно-синтаксической нотации версии 1 (АСН.1)

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 содержит перечень значений «идентификатора объекта», присвоенных информационным объектам в настоящем стандарте.

Издание официальное

  1. © Издательство стандартов, 1991 Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен без разрешения Госстандарта СССРНАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ

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

Описываемые базовые правила кодирования используются во время взаимодействия компонентами, представляющими услуги уровня представления, когда это требуется контекстом представле­ния.

Требования стандарта являются обязательными.

  1. ССЫЛКИ

ГОСТ 27466 (ИСО 2022) «Обработка информации. 7-ми и 8- ми — битные кодовые наборы знаков ИСО. Методы расширения кода».

ГОСТ 28906 (ИСО 7498) «Системы обработки информации. Взаимодействие открытых систем. Эталонная (справочная) мо­дель».

МККТТ X. 409 «Системы обработки сообщений. Синтаксис и нотация представления информации при передаче».

  1. ОПРЕДЕЛЕНИЯ

    1. Динамическое соответствие — требование к реализации ко­дового представления следовать правилам внешнего функциони­рования, установленным настоящим стандартом.

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

    3. Значение данных — информация, определенная как зна­чение некоторого типа; тип и значение определены с помощью АСН.1.

    4. Кодовое представление (некоторого значения данных) — полная последовательность октетов, используемая для представ­ления значения данных.

Примечание. В некоторых рекомендациях МККТТ используется термин «элемент данных», в других — «значение данных» для этой последовательности октетов.

  1. Октеты идентификатора — часть кодового представления значения данных, используемая для идентификации типа, к кото­рому относится значение данных.

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

  3. Октеты признака конца содержимого — оконечная часть кодового представления, используемая для его конца. 1

Примечание. Не все кодовые представления требуют наличия октетов признака содержимого.

    1. Октеты содержимого — часть кодового представления зна­чения данных, которая представляет данное значение и позволяет отличить его от других значений того же типа.

    2. Простое кодовое представление — кодовое представление значения данных, в котором октеты содержимого непосредственно представляют это значение.

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

    4. Отправитель — компонент реализации, кодирующий зна­чение данных для передачи.

    5. Получатель — компонент реализации, декодирующий ок­теты, сформированные отправителем, чтобы получить значение дан­ных, которое было закодировано.

  1. СОКРАЩЕНИЯ И ОБОЗНАЧЕНИЯ

АСН.1 — абстрактно-синтаксическая нотация версии 1.

  1. Обозначения

    1. Настоящий стандарт использует обозначения, определен­ные.

    2. В настоящем стандарте при определении значения каждо­го октета используются термины «старший бит» и «младший бит».

Примечание. В стандартах по нижним уровням используется та же терминология, что и прій определении порядка передачи битов по последователь­ной линии связи 'или при распределении битов по параллельным каналам.

    1. В настоящем стандарте биты октета нумеруются с 8-го до 1-го, лричем бит 8 —старший, а бит 1 — младший.

  1. ТРЕБОВАНИЯ ДИНАМИЧЕСКОГО И СТАТИЧЕСКОГО
    СООТВЕТСТВИЙ

    1. Требования динамического соответствия определяются разд. 6—21.

    2. Требования статического соответствия определяются стан­дартами, описывающими применение базовых правил кодирования.

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

Примечание. Примеры вышеупомянутых вариантов кодовых представ­лений приводятся в п. 6:3.2 (перечисление б) и в табл. 1.

  1. ОБЩИЕ ПРАВИЛА КОДИРОВАНИЯ

    1. Структура кодового представления

      1. Кодовое представление значения данных должно состо­ять из четырех составных частей:

  1. октетов идентификатора (п. 6.2);

  2. октетов длины (п. 6.3);

  3. октетов содержимого (п. 6.4);

  4. октетов признака конца содержимого (п. 6.5).

    1. Октеты признака конца содержимого содержатся в ко­довом представлении только в том случае, если их наличие вы­текает из значения октетов длины (п. 6.3).

    2. На черт. 1 показана структура некоторого кодового пред­ставления (простого или составного). На черт. 2 показан один из вариантов составного кодового представления.

  1. Октеты идентификатора

    1. В октетах идентификатора должен быть закодирован тег того типа (класс и номер), к которому относится значение данных.

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

  1. биты 7 и 8 представляют класс тега и должны иметь ко­довое представление, приведенное в табл. 1;

Структура кодового представления

Октеты

ийрнтищиміторо

Оыпггпы (Ітпы

Октеты [одержимог.п

ЛпЛН’ипбо oumrmnh , /Мії'річінікп (т.п.b.5 Z)



Черт. 1



Один из вариантов составного кодового представления

Октеты идентификатора.

Октеты Октеты

длины кадержимого

Октегпы признака WHiifl. содертимого

I *

[оОермит при зим того,что октеты rjjtlep- .кимого окан­чиваются ок ' тетами при така конца содержимого (рмп б 5 Ч)

Свлчется призма ком того, что в акте так сорер какого не содер­жится более ника ких кодовых пред­ставлений



Черт. 2

Таблица 1

Кодовое представление класса тега

Класс


Бит 8


Бит 7




У

о о 1 1

о 1 о

1

ниверсальный (UNIVERSAL) Прикладной (APPLICATION) Контекстно-зависимый Пользовательский (PRIVATE)
  1. бит 6 должен быть нулем или единицей в соответствии с п. 6.2.5;

  2. биты с 5-го по 1-й должны быть кодовым представлением номера тега в виде двоичного целого с битом 5 в качестве старшего бита.

  1. На черт. 3 показан формат октета идентификатора для типа с номером тега от нуля до 30 включительно.

  2. Для тегов с номерами, большими или равными 31, иденти­фикатор должен состоять из головного октету, за которым следуют один или более октетов продолжения.

    1. Кодовое представление головного октета должно быть следующим:

  1. биты 8 и 7 задают класс тега и должны иметь кодовое пред­ставление, задаваемое табл. 1;

  2. бит 6 должен быть нулем или единицей в соответствии с пра­вилами п. 6.2.5;

  3. биты с 5-го по 1-й должны иметь кодовое представление 11111.

2 Зак. 172

1



Октет идентификатора (для небольших номеров меток)

Октет идентификатора

Ьитьі д 1 b 5 ‘с 5 I t

Н

Класс

апер петки

О = простое

I -составное


Черт. 3

Октеты идентификаторов (для больших номеров меток).


  1. Октеты продолжения являются кодовым представлени­ем номера тега и должны иметь следующий вид:

  1. бит 8 каждого октета, зь исключением последнего октета идентификатора, должен быть установлен в единицу;

  2. биты с 7-го по 1-й первого октета продолжения, за которым следуют биты >с 7-го—1-й второго октета продолжения, за кото­рым следуют в свою очередь биты с 7-го— 1-й каждого из октетов продолжения, до последнего включительно, должны быть кодовым представлением номера тега в виде двоичного целого числа без знака, с битом 7-го первого октета продолжения в качестве стар­шего бита;

    1. биты с 7-го по 1-й первого последующего октета не должны быть все равны нулю.На черт. 4 показан формат октетов идентификатора для типа, имеющего тег с домером больше 30.

  1. Бит 6 должен иметь значение «нуль», если кодовое пред­ставление простое, и «единица», если оно составное.

Примечание. В последующих разделах для каждого типа указываете^, каким является его кодовое представление: простым или составным.

    1. Тег типа, определенного с помощью ключевого слова «CHOICE» (выборочный тип), принимает значение тега того типа, из которого было выбрано значение.

    2. Тег типа, определенного с помощью ключевого слова «ANY» (произвольный тип), не определен. Произвольный тип дол­жен быть впоследствии определен как некоторый тип АСН.1, и тог­да полное кодовое представление будет кодовым представлением значения этого нового типа (включая октеты идентификатора).

  1. Октеты длины

    1. Определено два формата октетов длины:

  1. явный формат (п. 6.3.3);

  2. неявный формат (п. 6.3.4).

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

  1. использовать по выбору либо явный, либо неявный формат, (п. 6.3.4), если кодовое представление составное и сразу доступно» полностью;

  2. использовать неявный формат (п. 6.3.4), если кодовое пред­ставление составное и сразу полностью недоступно.

  1. В случае явного формата группа «октеты длины» состоит из одного или нескольких октетов (определяющих количество окте­тов содержимого) в одном из двух форматов: коротком (п. 6.3.3.1)^ или длинном (п. 6.3.3.2) по выбору отправителя.

Примечание. Короткий формат может быть использован только в том? случае, когда количество октетов содержимого меньше или равно 127,

  1. В коротком формате октеты длины включают единст­венный октет, в котором бит 8 установлен в нуль, а биты с 7-го по 1-й являются кодовым представлением количества октетов содер­жимого (возможно равного нулю) в виде двоичного целого числа без знака с битом 7 в качестве старшего бита.

Пример Л = 38 должно быть закодировано как 00100110.