欢迎来到天天文库
浏览记录
ID:57012252
大小:733.63 KB
页数:100页
时间:2020-07-30
《ASN.1编码规则详解.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ASN.1编码规则详解1简介注释:本章的内容主要翻译自《ASN.1CommunicationbetweenHeterogeneousSystems》和《ASN.1Complete》。ASN.1–AbstractSyntaxNotationdotone,抽象记法1。数字1被ISO加在ASN的后边,是为了保持ASN的开放性,可以让以后功能更加强大的ASN被命名为ASN.2等,但至今也没有出现。不同体系的系统,不同编程语言之间,都存在通讯障碍。如Figure1-1a)所示极端情况下,为了保证网络中n个异体的节点能互通,我们需要为每个节点编写(n-1)个编解码程序,即需要总数为n
2、*(n-1)个编解码程序。在b)所示极端情况下,为了保证互通,需要为每个节点编写1个编码和1个解码程序,即总数为2n个编解码程序。Figure1-1两种类型的通讯方式对于给定的记法描述,ASN.1编译器能执行并产生如Figure1-2图中虚线部分,这样我们以有限的代价就能完成相当多数量系统之间的互连。Figure1-2语法三元组:实际语法、抽象语法和传输语法图中实际语法(ConcreteSyntax)是指诸如C、ObjectiveCaml等这样实际编程语言,抽象语法(AbstractSyntax)指ASN.1,传输语法(TransferSyntax)指表示层交换数据的表示
3、方法。从抽象语法到传输语法,由ASN.1编译器按照编解码规则实现。通俗来讲,抽象语法就是协议采用ASN.1规范描述的描述文本;传输语法就是实际通讯系统间的码流。Figure1-3抽象语法与传输语法其实在早期的一些标准如ASCII,它们既定义了抽象语法(比如字母A),又定义了传输语法(0x41)。ASN.1分离了这两种概念,以便可以选择一种适合要求的编解码方法。系统可以选择编码方法以使信息传送时效率很高,或者具有很高的可靠性,等等。另一方面,定义好的编码规则也会很大地节约应用协议开发人员的时间,特别是当牵涉到的数据结构很复杂的时候。当使用ASN.1的项目较多时,这种节约更加
4、明显,因为编解码程序可以只开发一次但很多应用程序都可以用它。我们可以看出,可以将通信编解码设计与开发工作转嫁给ASN.1编译器完成。从而不必在手工编写编解码器。一方面大量减少了缺陷引入,另一方面更是大大加快了系统开发速度(不用编写编解码器,也不同详细调试,维护代价也很小)。Figure1-4转嫁编解码器工作给ASN.1编译器讨论ASN.1就不得不先提到标准组织ISO和ITU。1.2ISO简介国际标准组织(ISO–InternationalOrganizationforStandardization)于1946年在美国成立,其负责制定众多领域的国际标准;但除电气、电子和电子
5、工艺领域外,这些主要是IEC(InternationalElectrotechnicalCommission)负责。ISO汇集了一百多个代表其自己国家的标准委员会(称之为NB–NationalBody),ANSI(AmericanNationalStandardInstitute)代表美国,AFNOR(AssociationFrancaisedeNORmalisation)代表法国,BSI(BritishStandardInstitute)代表英联邦,等等。其它一些组织可以参加讨论,提出议案,但不能参加投票。Figure1-5ISO组织结构如Figure1-5所示,ISO
6、共分为172个技术委员会TechnicalCommittee(TC)负责相应标准化领域。所有议题都在子委员会SubCommittees中共享,Subcommittee又分为工作组WorkingGroups(WG)。到1987年,著名的OSI标准就是TC97的成果,称之为“TelecommunicationsandInformationExchangeBetweenSystems”。在1987年,ISO和IEC两个标准化组织一致认为都应当关注信息技术InformationTechnology,因此成立了一个联合技术委员会称为JTC1。JTC1的秘书处由ANSI负责。Figu
7、re1-6JTC1组织结构示意图在ASN.1标准刚刚受到关注时,基于历史原因,ASN.1主要来自于CCITT的成果,有很多提案来自CCITT。在80年代,ISO在1990年左右成为主角前,两个委员会的确有过合作。1.3ITU简介国际电信联盟ITU(InternationalTelecommunicationUnion)总部位于日内瓦,于1947年成为联合国的专设机构,其前身为成立于1865年的国际电报联盟(InternationalTelegraphUnion)。ITU汇集了188个代表其国家的公共电信运营商和大约450个来自
此文档下载收益归作者所有