ASN.1 (англ. Abstract Syntax Notation One) — в області телекомунікацій і комп'ютерних мереж мова для опису абстрактного синтаксису даних, що використовує OSI. Стандарт запису, що описує структури даних для представлення, кодування, передачі і декодування даних. Він забезпечує набір формальних правил для опису структури об'єктів, які не залежать від конкретної машини. ASN.1 є ISO і ITU-T сумісним стандартом, спочатку був визначений в 1984 році в рамках CCITT X.409:1984. Через широке застосування ASN.1 в 1988 році перейшов в свій власний стандарт X.208. Починаючи з 1995 року, істотно переглянутий ASN.1 описується стандартом X.680.

Приклад ред.

Визначення структури даних (вигаданого) протоколу Foo з використанням нотації ASN.1:

FooProtocol DEFINITIONS ::= BEGIN

    FooQuestion ::= SEQUENCE {
        trackingNumber INTEGER,
        question       IA5String
    }

    FooAnswer ::= SEQUENCE {
        questionNumber INTEGER,
        answer         BOOLEAN
    }

END


Це могла б бути специфікація опублікована творцем протоколу Foo. ASN.1 не визначає течії розмови. Це верхівка текстового опису протоколу.

Повідомлення для даного вигаданого протоколу, що можна відіслати через певний канал зв'язку матиме такий вигляд:

myQuestion FooQuestion ::= {
    trackingNumber     5,
    question           "Є тут хтось?"
}

Щоб відіслати дане повідомлення через мережу необхідно закодувати його рядком біт. Для цього ASN.1 визначає різні алгоритми, що звуться правилами кодування (Encoding rules). Їх є декілька, один з найпростіших Distinguished Encoding Rules (DER). Також повідомлення може бути представлене у вигляд XML з використанням XER (XML Encoding Rules).

Опис протоколу Foo повинен явно вказувати на правило кодування, щоб користувач протоколу Foo знав, яке саме правило потрібно використовувати.

Стандарти ред.

ASN.1 регламентовано рядом стандартів, зокрема Міжнародної організації зі стандартизації (ISO). Стандарти ISO, що стосуються ASN.1 перекладені українською та впроваджені в Україні у вигляді відповідних стандартів ДСТУ. Час від часу ISO обновляє власні стандарти випускаючи доповнення стандартів або ж заміняючи новими версіями. Наявність доповнень та нових редакцій стандартів варто перевіряти на офіційному сайті ISO (пошук необхідно здійснювати по номеру стандарту без року видання)[1].

Стандарти, що описують нотацію ASN.1 ред.

  • ITU-T Rec. X.680 [Архівовано 7 листопада 2012 у Wayback Machine.] | ISO/IEC 8824-1 | ДСТУ ISO/IEC 8824-1:2009 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 1. Специфікація базової нотації (ISO/IEC 8824-1:2002, IDT)
  • ITU-T Rec. X.681 [Архівовано 7 листопада 2012 у Wayback Machine.] | ISO/IEC 8824-2 | ДСТУ ISO/IEC 8824-2:2009 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 2. Специфікація інформаційного об'єкта (ISO/IEC 8824-2:2002, IDT)
  • ITU-T Rec. X.682 [Архівовано 7 листопада 2012 у Wayback Machine.] | ISO/IEC 8824-3 | ДСТУ ISO/IEC 8824-3:2008 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 3. Специфікація обмежень (ISO/IEC 8824-3:2002, IDT)
  • ITU-T Rec. X.683 [Архівовано 7 листопада 2012 у Wayback Machine.] | ISO/IEC 8824-4 | ДСТУ ISO/IEC 8824-4:2009 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 4. Параметризація специфікацій ASN.1 (ISO/IEC 8824-4:2002, IDT)

Стандарти, що описують правила кодування ASN.1 ред.

  • ITU-T Rec. X.690 [Архівовано 1 червня 2012 у Wayback Machine.] | ISO/IEC 8825-1 (BER, CER and DER) | ДСТУ ISO/IEC 8825-1:2012 Інформаційні технології. Правила кодування ASN. 1. Частина 1. Специфікація правил базового кодування (BER), правил канонічного кодування (CER) і правил витонченого кодування (DER) (ISO/IEC 8825-1:2008, IDT)
  • ITU-T Rec. X.691 [Архівовано 7 листопада 2012 у Wayback Machine.] | ISO/IEC 8825-2 (PER) | ДСТУ ISO/IEC 8825-2:2012 Інформаційні технології. Правила кодування ASN. 1. Частина 2. Специфікація правил упакованого кодування (PER) (ISO/IEC 8825-2:2008, IDT)
  • ITU-T Rec. X.692 [Архівовано 30 вересня 2015 у Wayback Machine.] | ISO/IEC 8825-3 | ДСТУ ISO/IEC 8825-3:2012 Інформаційні технології. Правила кодування ASN. 1. Частина 3. Специфікація керівної нотації кодування (ECN) (ISO/IEC 8825-3:2008, IDT)
  • ITU-T Rec. X.693 [Архівовано 7 листопада 2012 у Wayback Machine.] | ISO/IEC 8825-4 (XER) | ДСТУ ISO/IEC 8825-4:2014 Інформаційні технології. Правила кодування ASN.1. Частина 4. Специфікація правил кодування XML (XER) (ISO/IEC 8825-4:2008, IDT)
  • ITU-T Rec. X.694 [Архівовано 7 листопада 2012 у Wayback Machine.] | ISO/IEC 8825-5 (XSD mapping) | ДСТУ ISO/IEC 8825-5:2013 Інформаційні технології. Правила кодування ASN.1. Частина 5. Відображення визначень W3C XML-схем в ASN.1 (ISO/IEC 8825-5:2008, IDT)
  • RFC 3641 (GSER)

Примітки ред.

  1. Офіційний сайт Міжнародної організації зі стандартизації (ISO). Архів оригіналу за 7 серпня 2008. Процитовано 18 квітня 2022. 

Посилання ред.