1 ASN.1 定义
不同系统之间通信需要面对的一个基本问题是数据从发送端到接收端的高效转换。在 OSI(开发式系统互联参考模型) 参考模型,为了方便数据传输,数据类型和数据结构都表现为应用层的一个函数接口。在表示层完成数据到规定地可传输的二进制序列的转换。功能的分离使得应用层仅承担
处理数据的内容和结构,而将数据表示的工作留给表示层。与这种分离机制相应地,我们提出一种数据和结构表示的抽象语法,这种标记语法就是 ASN.1(Abstract Syntax Notation One)。
2 ASN.1 的目的
ASN.1 是用户在应用层使用的一个基本工具。它提供了描述将在两个完全独立的系统之间交换的数据的能力。
ASN.1 提供给了应用层和协议开发者一个高级工具-----一种数据定义语言,该语言定义了可以再不同系统间通信的协议语法和信息。ASN.1描述的数据结构能够本地化为某一系统本地数据定义。ASN.1 的很多语法定义都跟程序语言的数据类型定义类似。
3 例释
如果需要将一个数据从系统 A 传输到系统 B,这两个系统是不同操作系统也应用程序也使用不同的编程语言。若仅仅是这两个系统之间可以各自用特定的方法来进行编码与解码数据,但是若是 N 个不同系统之间需要数据通信,则带来的编码和解码的复杂度就变成不可实现了。从而引出一个更好的解决方案,使得数据的表示、编码和解码独立于系统,使得不同系统能够使用一套统一的数据表、编码和解码的方法。
4 综述
综上所述,ASN.1 提供了一套数据类型表示和定义的方法,并且提供相应的编码和解码的规则,使得不同的系统之间可以采用统一的一套方式进行数据的通信。