ASN.1编码规则详解(最全最经典)(1) (3)

凌霜傲雪 分享 2020-06-28 下载文档

开始于1982年夏天,许多开发应用层标准的人意识到他们面临同一个问题:数据结构变得越来越复杂,难以用预定的规程来编解码bit或者Byte(在1978年,OSI中术语Open是至关重要的)。如同编译器取代了汇编器,通常认为编码器应当从描述Specification自动产生,这样使得描述也等效为一种计算机程序。

1.4.1 诞生

James White和Douglas Steedman分别提出一个基本的记法和算法,这套记法能定义Email消息控制系统协议MHS(Message Handling System)的编码比特格式。这种记法和编码规则是与机器无关的,能表述复杂的数据结构。

James White当时是CCITT X.400 (MHS)建议系列的起草人,并且为施乐公司(Xerox Corporation)设计了Courier记法,这种记法能翻译XNS(Xerox Network Services)的RPC(Remote Procedure Call)传送的数据。Courier作为第一种外部的数据记法而闻名。同时它对后来的XDR(来自Sun Microsystems Inc.)和NDR(来自Apollo Computer Inc.)都产生了积极的影响。

1984年,CCITT将这种记法标准化,参考号为X.409(红皮书)。X.409建议成为:Message Handing Systems: Presentation Transfer Syntax And Notation。它的目标和范围为:“the

presentation transfer syntax used by application layer protocols in message handling systems and by the document interchange protocol for the telematic services. In the architecture of open systems interconnection (OSI), a presentation transfer syntax is used to represent information exchanged between application entities”

X.409记法和MHS系统是完全独立的,部分原因是Email协议处理的对象是十分复杂的,没有大小限制,多种字符串类型,链接的结构,为数众多的选项等。结果,许多OSI应用标准化工作组发现这种记法对他们也有用。

1.4.2 1989和1990版本

如前所述,1987年ISO和IEC成立了JTC 1。

1989年CCITT发布了两个文档X.208(ASN.1)和 X.209(BER)来替代X.409建议。其中很多新特性是由JTC 1引入的:subtypes, floats (REAL type), pointers (ANY DEFINED BY type)

and the default tagging modes (IMPLICIT TAGS and EXPLICIT TAGS)。他们这套X.200系列称为“General OSI Infrastructure”,表示ASN.1成为应用层一种独立的描述语言。

1990年ISO发布了新的ISO 8824和ISO8825标准,和X.208相比,有三处地方相悖。具体问题请参考1.6.1 CCITT 1989版本和ISO 1990版本的冲突。

自1998年开始,ISO和ITU-T联合发布他们的标准文本,避免再次出现标准间的冲突。

1.4.3 1994版本

新的版本(实际是1994年完成草案) ASN.1 :1994于1995年被ISO通过,成为正式标准。为了阐述数目众多的条件和介绍新概念,该标准分为四个部分:

1) ITU-T Rec. X.680 (1994) | ISO/IEC 8824-1:199518: Specification of Basic Notation,

2) ITU-T Rec. X.681 (1994) | ISO/IEC 8824-2:1995: Information Object Specification,

3) ITU-T Rec. X.682 (1994) | ISO/IEC 8824-3:1995: Constraint Specification,

4) ITU-T Rec. X.683 (1994) | ISO/IEC 8824-4:1995: Parameterization of ASN.1 Specifications,

几个月之后,发布了两个补充和一个技术勘误表:

? ITU-T Rec. X.680/Amd.1 (1995) | ISO/IEC 8824-1:1995/Amd.1: Rules of

Extensibility,

? ITU-T Rec. X.680/Corr.1 (1995) | ISO/IEC 8824-1:1995/Corr.1: Technical

Corrigendum 1,

? ITU-T Rec. X.681/Amd.1 (1995) | ISO/IEC 8824-2:1995/Amd.1: Rules of

Extensibility.

编码规则部分被分成了两个部分(和一个技术勘误表):

? ITU-T Rec. X.690 (1994) | ISO/IEC 8825-1:1995: ASN.1 Encoding Rules:

Specification of Basic Encoding Rules, Canonical Encoding Rules, and Distinguished Encoding Rules,

? ITU-T Rec. X.690/Corr.1 (1995) | ISO/IEC 8825-1:1995: Technical

Corrigendum 1,

? ITU-T Rec. X.691 (1995) | ISO/IEC 8825-2:1995: ASN.1 Encoding Rules:

Specification of Packed Encoding Rules

这些标准给出了官方正式编码规则,这对诸如传输加密数据情况来说是必需的。 1994版本和以前版本相比的差异和新特性,请参考1.6.2 错误!未找到引用源。。

1.4.4 1997版本

语义模型分为三个补充文件:

? ITU-T Rec. X.680 (1997)/Amd.2 (1999) | ISO/IEC 8824-1:1998/Amd.2 ? ITU-T Rec. X.681 (1997)/Amd.1 (1999) | ISO/IEC 8824-2:1998/Amd.1 ? ITU-T Rec. X.683 (1997)/Amd.1 (1999) | ISO/IEC 8824-4:1998/Amd.1

相关对象标识符新的RELATIVE-OID类型说明在三个补充文件:

? ITU-T Rec. X.680 (1997)/Amd.1 (1999) | ISO/IEC 8824-1:1998/Amd.1 ? ITU-T Rec. X.690 (1997)/Amd.1 (1999) | ISO/IEC 8825-

1:1998/Amd.1

? ITU-T Rec. X.691 (1997)/Amd.1 (1999) | ISO/IEC 8825-2:1998/Amd.1

新增四个技术勘误表:

? ITU-T Rec. X.680 (1997)/Corr.1 (1999) | ISO/IEC 8824-1:1998/Corr.1 ? ITU-T Rec. X.681 (1997)/Corr.1 (1999) | ISO/IEC 8824-2:1998/Corr.1 ? { ITU-T Rec. X.690 (1997)/Corr.1 (1999) | ISO/IEC 8825-1:1998/Corr.1 ? { ITU-T Rec. X.691 (1997)/Corr.1 (1999) | ISO/IEC 8825-2:1998/Corr.1

1994版本和以前版本相比的差异和新特性,请参考1.6.3 1997版本新特性和1.6.4 错误!未找到引用源。。

1.4.5 最新版本

目前最新版本的协议为:

? ITU-T X.680 (ISO/IEC 8824-1) - Abstract Syntax Notation One (ASN.1):

Specification of Basic Notation

? ITU-T X.681 (ISO/IEC 8824-2) - Abstract Syntax Notation One (ASN.1):

Information Object Specification

? ITU-T X.682 (ISO/IEC 8824-3) - Abstract Syntax Notation One (ASN.1):

Constraint Specification

? ITU-T X.683 (ISO/IEC 8824-4) - Abstract Syntax Notation One (ASN.1):

Parameterization of ASN.1 Specifications

? ITU-T X.690 (ISO/IEC 8825-1) - ASN.1 Encoding Rules: Specification of

Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)

? ITU-T X.691 (ISO/IEC 8825-2) - ASN.1 Encoding Rules: Specification of

Packed Encoding Rules (PER)

? ITU-T X.692 (ISO/IEC 8825-3) - ASN.1 Encoding Rules: Specification of

Encoding Control Notation (ECN)

? ITU-T X.693 (ISO/IEC 8825-4) - ASN.1 Encoding Rules: Specification of

XML Encoding Rules (XER).

? ITU-T X.694 (ISO/IEC 8825-5) - ASN.1 Encoding Rules: Mapping W3C

XML schema definitions into ASN.1.

1.5 ASN.1应用情况

? Accredited Standards Committee X9 - Financial Services ? Manufacturing Message Specification (MMS) ? Molecular Biology Standards ? Request For Comments (RFC)

? RSA Public-Key Cryptography Standards

? Standard Security Label for Information Transfer ? Secure Electronic Transaction (SET) ASN.1 ? T.120 Series Standards

? Telecommunications Management Network (TMN) ? Unicode Worldwide Character Standard

? X.400 Standards - Message Handling Systems ? X.500 Standards - The Directory ? H.323 ? H.248 ? 3G on UMTS

等等。

现在一些协议,标准组织在给出协议文本时往往也同时给出了ASN.1的描述。

2 基础知识

? 注释:

本章的内容主要翻译自《ASN.1 Communication between Heterogeneous Systems》。

2.1 相关背景知识

2.1.1 OSI参考模型

7th layerApplication7th layer protocolApplicationAPDVPPDVSPDVTPDVPacketsFrameBitInterface between the 6th and 7th layers6th layer5th layer4th layer3rd layer2nd layer1st layerPresentation6th layer protocolPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysicalPhysicalFigure 2-1 OSI 七层参考模型


ASN.1编码规则详解(最全最经典)(1) (3).doc 将本文的Word文档下载到电脑

下一篇:创建星级供电所PPT汇报框架课件 doc - 图文

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx