Abstract Syntax Notation One
Abstract Syntax Notation One – ASN.1 (abstraktní popis syntaxe číslo jedna) – je prostředek pro popis datových struktur používaných pro reprezentaci, kódování, přenos, ukládání a dekódování dat v telekomunikacích, počítačových sítích a Informatice.
Poskytuje soubor formálních pravidel umožňujících popsat strukturu objektů způsobem nezávislým na konkrétním hardwarovém řešení.
ASN.1 je použito pro definici dat v desítkách dokumentů ITU-T, mimo jiné v sérii X.400 (elektronická pošta), X.500 (adresářové služby).
Historie
ASN.1 je standard ITU-T/ISO poprvé publikovaný roce 1984 jako část dokumentu CCITT X.409'84. V roce 1988 byl vydán jako samostatný dokument ITU-T X.208. V roce 1994 byla publikována jeho nová verze v dokumentech ITU-T série X.680 (X.680-X.683). V roce 2002 byla platnost dokumentu X.208 ukončena ve prospěch série X.680.
Přenosová kódování ASN.1
ASN.1 popisuje strukturu dat na abstraktní úrovni, bez uvedení jak má vypadat konkrétní kódování dat přepravovaných sítí nebo ukládaných do souboru. Metody kódování dat definovaných pomocí ASN.1 syntaxe jsou popsány v dalších dokumentech ITU-T/ISO.
Základní metody kódovaní:
- Basic Encoding Rules (BER) – dokument X.690
- Canonical Encoding Rules (CER) – modifikace BER
- Distinguished Encoding Rules (DER) – modifikace BER
- Packed Encoding Rules (PER) – dokument X.691
- XML Encoding Rules (XER) – dokument X.693, X.694
Příklad
Tvůrci smyšleného protokolu ZjistovaciOtazky mohou definovat jeho datové struktury pomocí ASN.1 notace takto:
ZjistovaciOtazky DEFINITIONS ::= BEGIN ZjistovaciOtazka ::= SEQUENCE { poradoveCislo INTEGER, otazka UTF8String } OdpovedAnoNe ::= SEQUENCE { cisloOtazky INTEGER, odpoved BOOLEAN } END
ASN.1 neposkytuje prostředky pro popis průběh dialogů – ten musí být popsán textově.
Konkrétní zpráva (Protocol data unit (PDU)), která vyhovuje protokolu ZjistovaciOtazky, může být definovaná takto:
prikladOtazky ZjistovaciOtazka ::= { poradoveCislo 5, otazka "Je ti teplo, děvečko?" }
Aby tato zpráva mohla být poslána přes síť, je nutné ji zakódovat – přeměnit na posloupnost bitů. K tomuto účelu ASN.1 definuje několik algoritmů – tak zvaných kódovacích pravidel (Encoding rules). Mezi nejjednodušší patří Distinguished Encoding Rules (DER).
V definici protokolu ZjistovaciOtazky by mělo být uvedeno, jaká sada kódovacích pravidel se má používat pro přenos zpráv v tomto protokolu.
Související články
Reference
V tomto článku byl použit překlad textu z článku Abstract Syntax Notation One na polské Wikipedii.