In telecommunications and computer networking abstract syntax notation one (ASN.1) is a standard, flexible method that describes data structures for representing, encoding, transmitting, and decoding data. It provides a set of formal rules for describing the structure of objects independent of machine-specific encoding techniques and is a precise, formal notation that removes ambiguities.
ASN.1 is an ISO/ITU-T standard, originally defined in 1984 as part of CCITT X.409 '84. ASN.1 moved to its own standard, X.208, in 1988 due to wide applicability. The substantially revised 1995 version is covered by the X.680 series.
ASN.1 defines the abstract syntax of information but does not restrict the way the information is encoded. Various ASN.1 encoding rules provide the transfer syntax (a concrete representation) of the data values whose abstract syntax is described in ASN.1. The standard ASN.1 encoding rules include BER (Basic Encoding Rules - X.209), CER (Canonical Encoding Rules), DER (Distinguished Encoding Rules), and PER (Packed Encoding Rules).
ASN.1 together with specific ASN.1 encoding rules facilitates the exchange of structured data especially between application programs over networks by describing data structures in a way that is independent of machine architecture and implementation language.
Application layer protocols such as X.400 MHS electronic mail, X.500 directory services and SNMP use ASN.1 to describe the PDUs they exchange.
It is considered equivalent to the more modern XML (which is also used by several Internet protocols).
The Sample Neufeld ASN.1 Compiler to C/C++ (snacc) is, as the name suggests, a compiler to turn ASN.1 notation into usable code.
Documents describing the ASN.1 notations: ITU-T Rec. X.680, ISO 8824-1; ITU-T Rec. X.681, ISO 8824-2; ITU-T Rec. X.682, ISO 8824-3; ITU-T Rec. X.683, ISO 8824-4
Documents describing the ASN.1 encoding rules: ITU-T Rec. X.690, ISO 8825-1; ITU-T Rec. X.691, ISO 8825-2.
M. Sample et al, "Implementing Efficient Encoders and Decoders for Network Data Representations", IEEE Infocom 93 Proc, v.3, pp. 1143-1153, Mar 1993. Available from Logica, UK.
Documents and References
External links
This article is based on material from FOLDOC, used with permission. Also from Federal Standard 1037C and MIL-STD-188.