Abstract Syntax Notation One
このバージョンに準拠するシステムは、処理の対象はこのバージョンのフィールドのみであっても、将来バージョンのトランザクションを受信および転送できる必要がある。
優れた ASN.1 コンパイラは、トランザクションがこれらの制約に従っていることを自動的にチェックするソースコードを (C, C++, Java 等) で生成する。制約に違反するトランザクションは、アプリケーションから受理されず、送信もされない。このレイヤにおける制約管理は、アプリケーションを制約違反から守り、プロトコル仕様を非常にシンプルにする。それにより、リスクとコストが削減される。
このメッセージをネットワーク経由で送るには、これをビット列に符号化しなければならない。ASN.1 にはそのためのアルゴリズムが各種用意されていて、「符号化規則(encoding rule)」と呼ばれている。最も単純な規則は Distinguished Encoding Rules (DER) である。
Foo プロトコル仕様では、どの符号化規則を採用するかを明確に決めておかなければならない。それによって、Foo プロトコルのユーザー間で(例えば)DER を使うという共通認識ができる。
同じ ASN.1 データ構造を XER (XML Encoding Rules) で符号化し、人間にも読める形式にすることもできる。例の場合、以下の108オクテットになる。