Rambler's Top100
Компьютеры ASN.1
Abstract Syntax Notation One

Формальный язык абстрактного описания синтаксиса 1 - это язык, определяющий способ передачи данных по различающимся коммуникационным системам. ASN.1 гарантирует, что полученные данные есть именно те данные, которые были посланы. Используется общий синтаксис для спецификации протоколов прикладного уровня (связь программа-программа).

Каждая из систем связи содержит одинаковую схему кодирования-декодирования (согласно ASN.1), написанную на языке, используемом на этой системе. Когда система собирается передать данные другой системе, первая система кодирует данные согласно ASN.1, передает их, а вторая система получает, затем декодирует данные, используя декодер, написанный на языке, используемом в данной системе.

ASN.1 является стандартом, принятым ISO/ITU, основанным на модели OSI. Впервые определен в 1984 как часть X.409 комитета CCITT; пересмотрен в 1995; стал отдельным стандартом, X.208, в 1998.

ASN.1 делится на две части:
(1) правила синтаксиса для описания содержания сообщения в терминах типов данных и последовательности или структуры содержания сообщения и
(2), как Вы фактически кодируете каждый элемент данных в сообщении.
ASN.1 определен в двух стандартах ISO для приложений, предназначенных для Соединения Открытых Систем (OSI):

Пример определения сообщения в нотации ASN.1:
 Report ::= SEQUENCE {
   author    OCTET STRING,
   title       OCTET STRING,
   body      OCTET STRING,
   biblio    Bibliography
 }
В этом примере "Report" - имя типа сообщения. SEQUENCE означает, что сообщение является последовательностью элементов данных. Первые четыре элемента имеют тип данных OCTET STRING, т.е. каждый является строкой из восьмибитных байтов (применён термин OCTET (октет), а не BYTE (байт), т.к. на некоторых компьютерах байт состоит не из восьми бит). Элемент "biblio" есть другое определение с именем "Bibliography". Оно может выглядеть так:
   Bibliography ::= SEQUENCE {
     author    OCTET STRING
     title       OCTET STRING
     publisher    OCTET STRING
     year          OCTET STRING
   }
Другие используемые типы данных: INTEGER (целое), BOOLEAN (логическое), REAL (действительное) и BIT STRING (строка бит).

Главная
страница


ASN.1, REBOL and Z39.50
На русском сайте, созданном при поддержке Российского фонда фундаментальных исследований, можно найти введение в ASN.1

ASN.1 Overview
Обзор ASN.1 и обсуждения его использования.

Hosted by uCoz