ASN.1

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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 | ISO/IEC 8824-1 | ДСТУ ISO/IEC 8824-1:2009 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 1. Специфікація базової нотації (ІSO/ІEC 8824-1:2002, ІDT)
  • ITU-T Rec. X.681 | ISO/IEC 8824-2 | ДСТУ ISO/IEC 8824-2:2009 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 2. Специфікація інформаційного об'єкта (ІSO/ІEC 8824-2:2002, ІDT)
  • ITU-T Rec. X.682 | ISO/IEC 8824-3 | ДСТУ ISO/IEC 8824-3:2008 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 3. Специфікація обмежень (ІSO/ІEC 8824-3:2002, ІDT)
  • ITU-T Rec. X.683 | ISO/IEC 8824-4 | ДСТУ ISO/IEC 8824-4:2009 Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1). Частина 4. Параметризація специфікацій ASN.1 (ІSO/ІEC 8824-4:2002, ІDT)

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

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

Примітки[ред.ред. код]

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