抽象语法标记ASN.1
表示、编码、传输和解码数据结构的关键,是要有一种足够灵活的、适应各种类型应用的标准数据结构描写方法.为此,OSI中提出了一种标记法,叫做抽象语法标记1,简称为ASN.1.发送时将ASN.1数据结构编码成位流,这种位流的格式叫做抽象语法.
在ASN.1中为每个应用所需的所有数据结构类型下了定义,并将它们组成库.当一个应用想发送一个数据结构时,可以将数据结构与其对应的ASN.1标识一起传给表示层.以ASN.1定义作为索引,表示层便知道数据结构的域的类型及大小,从而对它们编码、传输;在另一端,接收表示层查看此数据结构的ASN.1标识,从而了解数据结构的域的类型及大小.这样,表示层便就可以实现从通信线路上所用的外部数据格式到接收计算机所用的内部数据格式的转换.
数据类型的ASN.1描述称为抽象语法,同等表示实体之间通信时对用户信息的描述称为传输语法.为抽象语法指定一种编码规则,便构成一种传输语法.在表示层中,可用这种方法定义多种传输语法.传输语法与抽象语法之间是多一多对应关系,即一种传输语法可用于多种抽象语法的数据传输,而一种抽象语法的数据值也可用多种传输语法来传输.每个应用层协议中的抽象语法与一个能对其进行编码的传输语法的组合,就构成一个表示上下文(PRESentation Context).表示上下文可以在表示连接建立时协商确定,也可以在通信过程中重新定义.表示层提供定义表示上下文的设施.