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
[editovat | editovat zdroj]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
[editovat | editovat zdroj]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
[editovat | editovat zdroj]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
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Abstract Syntax Notation One na polské Wikipedii.