ASN.1

资料百科

ASN.1抽象语法标记(Abstract Syn下永造把稳硫tax Notation One) ASN.1是一种 ISO来自/ITU-T 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行360百科及这些数据的具体指代,也不用去管到底是约沿例液医笑频什么样的应用绍责称氢程序。

  • 中文名称 ASN.1抽象语法标记
  • 外文名称 Abstract Syntax Notation One
  • 标准  ISO/ITU-T 
  • 缩写  ASN.1

简介

  在任何需水思甚洲排模要以数字方式发送信息的地方,ASN.1 都可以发送机同封许磁家各种形式的信息(声频、视频、数据等等)。ASN.1 和特定的 ASN.1 编码规则推进了结构化数据的传输,尤其是网络中应用程序之间的结构化数据传输,它以一种独立于计算来自机架构和语言的方式来描述数据结构。

  OSI 协议套中的应用层协议使用了 ASN.1 来描述它们所传输的 PDU,这些协议包括:用于传输电子邮件的 X.400、用于目录服务的 X.500、用于 VoIP 的 H.323 和 SNMP。它的应用还可以扩展到通用接茶厂倒胜高预底拿移动通信系统(UMT360百科S)中的接入和非接入层。

  ASN.1 取得成功的一个主要原因是它与几个标准化编码规则相关,如基本编码规则(BER) -X.209 、规范编码规则(CER)、识别名编码规则(DER)、压缩编码规则(袁地全目超粒育松定赶翻PER)和 XML编码规则(XER)。这些编码规则描述了如何对 ASN.1 中定义的数值进行编码,以便用于传输,而不管计算机、编程语言或它在应用程序中如何表示等因素。ASN.1 的编码方法比许多与之相竞争的标记系统更先进,它迫场易文以支持可扩展信息快速可靠的传输 - 在无线宽带中情电帝程圆析车势鲁,这是一种优势。1984年,A张酸烈语SN.1 就已经成为了一种国际标准,它的编码规则已经成熟并在可靠性和兼容性方面拥有更丰富的历程。

  简洁的二进制编码规则(BER、CER、DER以束林搞胶践、PER,但不包括 XER)可当作更略劳广段修雨时践坐现代 XML 的替代。然而,A死绿增功SN.1 支持对数据的语义进行描述,所以它是比 XML 更为高级的语言。

  正是由于这种数据类型的"抽象"特性,所以描述它的语法在OSI术语中被称为抽象语法(abstract syntax).抽象语法定义的数据类型,在传输时遵循的数据编码规则,称为传输语法(transfer syntax).一种ASN.1数据类型对应的传输语法可以有多种,但只能使用其中的一种。

  ASN.1 的描述可以容易地被映射成 C 或 C++ 或 Java 的数据结构,并可以被应用程序代码使用,并得到运行时程序库的支持,进而能够对编码和解码 XML 或 TLV 格式的,或一种非常紧凑的压缩编码格式的描述。

  同时,ASN.1也是一种用于描述结构化客体的结构和内容的语言。

定义

  抽象语法定义:

  ASN.1是描述在网络上传输信息格式的标准方法。它有两部分:一部分描述信息内数据,数据类型及序列格式;另一部分描述如何将各部分组成消息。它原来是作为X.409的一部分而开发的,后来才自己独立成为一个标准。ASN.1在OSI的ISO 8824/ITU X.208(说明语法)和ISO 8825/ITU X.209(说明基本编码规则)规范。

  例如:

  Report ::= SEQUENCE {

  author OCTET STRING,

  title OCTET STRING,

  body OCTET STRING,

  biblio 罗打今真永井确斗急全Bibliography

  }

  在这个例子中,"Report"是由名字类型的信息组成的,而SEQUENCE表示消息是许多数据单元构成的,前三个数据单元的类型是OCTET STRING,而最后一个数据类型见下面的ASN.1语法表示它的意义:

  Bibliography ::= SEQUENCE {

  author OCTET STRING

  title OCTET STRING

  publisher OCTET STRIN八出与映台高不吗者味细G

  year OCTET STRING

  }

数据类型

  AS来自N.1 提供了一些基本的预定义数据类型:

  UNIVERSAL 0 保留给编码规则使用

  UNIVERSAL 1研存二屋主呼日那挥布尔类型

  UNIVERSAL 2整型

  UNIVERSAL 3零或多个比特的序列

  UNIVERSAL4 零或多个字节的序列

  UNIVERSAL5 NULL

  UNIVERSAL 6 对象标识符类型

  UNIVERSAL 7 对象础儿研行振缺格输描述符类型

  UNIVERSAL 8 外部类型和类型实例

  UNIVERSAL 9 实数类型

  UNIVERSAL 10 枚举类型

  UNIVERSAL 11 嵌入的 pdv 类型

  UNIVERSAL 12 UTF8 字符串类

  UNIVERSAL 13 相关对象标识符类型

  UNIVERSAL 14-15 保留给本建议的以后版本和国际标准使用

  UNIVERSAL 16 序列和类型序列

  UNIVERSAL 17 集合和类型的集合

  UNIVER360百科SAL 18-22, 25-限石针做诉记云案具杨下30 字符串 类型

  UNIVERSAL 23-24 时间 类型

  UNIVERSAL 31-... 保留给本建议以外的类型和国际标准使用

数据结构

  ASN.1 还能够定义如下的数据出强结构类型:

  结构 ( SEQUENCE )

  列表 ( SEQUENCE OF )

  类型选择 ( CHOICE )

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com