2013-时间管理,知识管理,从无序到有序。
学习、保存、分享、使用和创造知识。
ASN.1抽象语法标记(Abstract Syntax Notation One)学习笔记
上一篇 /
下一篇 2013-03-03 13:57:24
/ 个人分类:通信基础
ASN.1语法描述
1、 什么是ASN.1
在电信和计算机网络领域,ASN.1(Abstract Syntax Notation one)是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。
ASN.1是ISO和ITU-T的联合标准,最初是1984年的CCITT
X.409:1984的一部分。ASN.1本身只定义了表示信息的抽象句法,但是没有限定其编码的方法。
ASN.1有严格的BNF(巴科斯范式BNF:
Backus-Naur Form.的缩写)定义,具有简洁、精确和无二义性的特点。它有两种用途:一是用于如电子邮件等应用语法;二是用作定义特定协议实体PDU结构的一种手段。
2、 为什么引入ASN.1
背景:在网络通信中,大多数网络都采用了多个制造商的设备,这些设备所采用的“局部语法”都是不一样的。这些差异就决定了同一数据对象在不同的计算机上被表示为不同的符号串。
引入原因:为了使不同制造商设备之间能够实现互通,就必须引入“传送语法”,他是一种标准的、与具体的网络环境无关的语法格式。
对于传送语法的三点要求:
1) 必须能够定义各种复杂的类型;
2) 必须能够精确地说明这些类型的值;
3) 需要提供一种以上的编码规则,这种编码规则能够确定会话层用何种比特模式来表示应用层的数据的值。
ASN.1是由ITU-T制定的,符合以上三点要求。它定义的编码规则,如BER、PER就相当于从局部语法道传送语法之间的转换规则。
3、 BER编码规则
BER编码规定:每个传输的数据值,不管是简单类型还是符合类型,都有TLV三个字段组成,每个字段都是以字节为单位。
TLV编码是递归的,也就是TLV
Value内部可以继续嵌套TLV
收藏
举报
TAG:
TLV
BER