您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > B05、IEC62056技术文档--ASN.1语法
IEC62056技术文档ASN.1语法简介深圳市航天泰瑞捷电子有限公司修订记录版本日期作者备注1。02012-5-23梁高强初版范围:本文就IEC62056系列标准中涉及的ASN.1语法进行简要概述,便于协助开发工程师阅读、理解DLMS/COSEM通信协议。目录1.ASN.1是什么...................................................................................52.ASN.1历史.......................................................................................53.应用领域...........................................................................................54.ASN.1语法.......................................................................................75.ASN.1显式值(ExplictValue)..........................................................76.ASN.1容器.......................................................................................77.ASN.1修改器...................................................................................87.1.可选(OPTIONAL).........................................................................87.2.默认(DEFAULT)............................................................................87.3.选择(CHOICE)..............................................................................88.ASN.1头字节(tag)......................................................................88.1.类别位.............................................................................................98.2.结构化位.........................................................................................98.3.原始类型.........................................................................................99.ASN.1长度编码.............................................................................109.1.定长方式.......................................................................................109.1.1.短编码。.................................................................................109.1.2.长编码。.................................................................................119.2.不定长方式...................................................................................1110.ASN.1的数据类型.........................................................................1110.1.ASN.1布尔类型...........................................................................1210.2.ASN.1整数类型...........................................................................1210.3.ASN.1位串类型.......................................................................1310.4.ASN.1八位位组串类型...........................................................1310.5.空类型.........................................................................................1410.6.对象标识标符类型.....................................................................1410.7.ASN.1序列和集合类型...........................................................1410.8.ASN.1可打印字符串和IA5String类型................................1510.9.ASN.1世界协调时类型...........................................................15ASN.1语法简介1.ASN.1是什么ASN.1全称为abstractsyntaxnotationdotone,抽象语法1(数字1被ISO加在ASN的后边,是为了保持ASN的开放性,可以让以后功能更加强大的ASN被命名为ASN.2等,但至今也没有出现),是一种独立于机器的描述语言,用于描述在网络上传递的消息。通俗的来讲,抽象语法就是协议采用ASN.1规范描述的描述文本,这里涉及到另一个语法:传输语法,就是实际通讯系统间的码流。例如字母A为抽象语法,0X41为传输语法。2.ASN.1历史开始于1982年,许多开发应用层标准的人意识到他们面临同一个问题:数据结构变得越来越复杂,难以用预定的规程来编码比特或字节,ASN.1由此而生,它特别适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构,它不是用一些表格,及一些固定的帧格式来描述的,而是用一种抽象语法语言来描述。这样做的好处是,极大的提高了协议的抽象性和通用性,可扩展性。3.应用领域在GSM系统中,空中接口上传递的补充业务内容采用了ASN.1的BER编码格式,其RRM模块以及其他层3消息均采用ASN.1编码。3G移动系统——使用ASN.1标准数据交换的第三代移动通信网络。这一系统基于UMTS(通用移动通信系统)标准,其使用了ASN.1和分组编码标准(PER)。在3GPP的层3消息体系中,使用ASN.1描述层3消息(包括Uu,Iub,Iur,Iu等接口的层3消息)使用ITU-T建议X.691的各种算法进行编解码,如RRC消息采用UPER编码格式。IP语音——在通信领域中的另一个重要应用是通过包转换网络(如因特网)传递语音数据。多媒体数据信号编解码器(CODEC)标准(H.323等等)基于ASN.1并且使用于分组编码标准来获取理想的数据传输速率。安全应用——因特网安全授权同样也使用了ASN。1。高级编码标准在数据表示方面形成了一个方便的、平台无关的标准,比加密要优越。PKIX、PKCS和X。509也是我们所熟悉的标准,它们也是基于ASN.1的。传统通信网络——ASN.1和基本编码规则(BER)已经在主要通信领域流行了很长一段时间,所有的ss7到ISDN的一切都使用了ASN.1BER信息在各种类型的设备和计算机之间传递信号。军事和空间应用——美国国家宇航局(NASA)在其航空通信网规范中,也正在使用ASN.1和分组编码规则作为空对地或地对空协议。在DLMS中的应用如下图所示:仪表模型通信协议服务原语ASN.1BER/A-XDR协议帧标准协议:IEC62056-61-62等等各协议层的服务原语,描述其协议功能,如:GET/SET/ACTION.request/.response用ASN.1记述务服务原语的组成要素依据编码规则将ASN.1语法编码为BIT串对上述的BIT串进行格式化,封装成为在信道中传输的协议帧(HDLC帧)例COSEM-OPEN.request服务原语,用ASN。1描述出来如下所示AARQ-apdu::=[APPLICATION0]IMPLICITSEQUENCE{protocol-version[0]IMPLICITBITSTRING{version1(0)}DEFAULT{version1},application-context-name[1]Application-context-name,called-AP-title[2]AP-titleOPTIONAL,called-AE-qualifier[3]AE-qualifierOPTIONAL,called-AP-invocation-id[4]AP-invocation-identifierOPTIONAL,called-AE-invocation-id[5]AE-invocation-identifierOPTIONAL,calling-AP-title[6]AP-titleOPTIONAL,calling-AE-qualifier[7]AE-qualifierOPTIONAL,calling-AP-invocation-id[8]AP-invocation-identifierOPTIONAL,calling-AE-invocation-id[9]AE-invocation-identifierOPTIONAL,Thefollowingfieldshallnotbepresentifonlythekernelisused。sender-acse-requirements[10]IMPLICITACSE-requirementsOPTIONAL,--Thefollowingfieldshallonlybepresentiftheauthenticationfunctionalunitisselected。mechanism-name[11]IMPLICITmechanism-nameOPTIONAL,--Thefollowingfieldshallonlybepresentiftheauthenticationfunctionalunitisselected。calling-authentication-value[12]EXPLICITauthentication-valueOPTIONAL,implementation-information[29]IMPLICITimpleme
本文标题:B05、IEC62056技术文档--ASN.1语法
链接地址:https://www.777doc.com/doc-4346937 .html