2(备用)- 抽象语法表示ASN.1.ppt_第1页
2(备用)- 抽象语法表示ASN.1.ppt_第2页
2(备用)- 抽象语法表示ASN.1.ppt_第3页
2(备用)- 抽象语法表示ASN.1.ppt_第4页
2(备用)- 抽象语法表示ASN.1.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020年7月22日1点24分,在1,1,2.1 ASN.1部署、部署背景分散/网络通讯应用程序中,通讯设备需要相互传输数据。 但是,设备可能由制造商制造,其硬件体系结构、程序语言语法定义、计划计程仪功能的实现一般而言是不同的。 例如,在一个解老虎钳中,整形数据类型可以用16二进制位表示,而在另一个解老虎钳中,整形数据类型可以用32位色表示。 由于这些个差异,同一数据对象在不同的解老虎钳中表现为不同的符号串。 为了解决以上问题,ISO组织发布了抽象语法符号(ASN.1 (abstractsyntaxnotationone ),X.208 )。 ASN.1定义了一些简单类型和复杂类型,使每个数据

2、老虎钳对消息交换的数据类型有一致的认识。 它位于ISO定义的演示层,并定义应用程序数据的抽象语法,就像在常规软件编程语言中定义的抽象数据类型一样。 2020年7月22日1点24分,2,将这些个对象转换为“0”和“1”二进制位流的一系列规则称为ber (基本编码规则,X.209 ),每个asn如何在ASN.1中处理可将通讯编译码器的设定、修订及开发移交给ASN.1编译程序完成。 不需要用手工作业创建编译码器。 一方面大大减少了缺陷的引入,一方面进一步加快了系统的开发速度,2020年7月22日1点24分,3,关于信息显示的电信系统模式,2020年7月22日1点24分,4,局部语法,传输语法和抽象语

3、法,“语法”其实是“语法”的本地语法,是最终系统的数据“传输语法比特图案”(Bits pattern )描述数据在传输时的表现方式,用于在线路上传输数据。 抽象语法是连接协议设定修订者使用的工具,用于记录设定修订者的思想,使交流和讨论变得容易。 通过描述通用数据结构,可以定义数据类型和值修正机通讯的最终目的是传达数据的意义。 因此,无论一个数据采用什么样的表现,其意义都不变。 2020年7月22日1点24分,5,2.2 ASN.1的基本概念,ASN.1有严格的BNF定义,项目群解析ASN.1是在网络上传输信息格式的标准方法。 的双曲馀弦值。 每个数据类型都有标记(Tag ),标记有类型和值,而

4、数据类型由标记的类型和值唯一确定。 这个反应历程在数据查询密码时很有用。 2020年7月22日1点24分,6,6, 2.2.1抽象数据类型、标签条类型可分为以下4种通用标签条:应用标签条:上下文专用标签条:专用标签条:通用标签条:牛鼻子字UNIVERSAL表示,具有此标签的数据类型定义为标准,2020年7月22日1时24分、7、1、2020年8、应用程序标签条:用牛鼻子字APPLICATION表示,客制化应用程序组织在某个特定应用程序中定义的类型的示例: name :3360=application0sequenceinitialnameia5strine 家族名称I a 5字符串; 上下文特

5、定的标签条:此标签条以专用标签条:牛鼻子字PRIVATE表示,适用于文本的某个范围(如结构)。 这是用户定义的标签条,由公司自己定义。 2020年7月22日1点24分、9分、数据类型分类、ASN.1定义的数据类型有20种以上,标签条类型都是通用的。 这些个的数据类型分为由单一成分构成的原子型和由单一成分构成的原子型这4种简单型的结构类型:由2种以上的成分构成的结构类型标签条类型:由已知的类型定义的新型和其他类型: CHOICE和ANY这2种。2020年7月22日1点24分、10分、ASN.1数据类型BOOL、INTEGER、REAL、BIT STRING、OCTET STRING、包括ENUM

6、ERATED在内的简单类型BIT STRING是以二进制位为单位的二进制字符串ENUMERATED是定义变量值的集合,变量的值在列举的范围内。对象标识符用于唯一地标识ISO/ITU-T定义的对象。 NULL是一个定位符,通常作为一个项出现在CHOICE、SEQUNECE、SET等复合类型中,但是它本身没有意义,并且不需要编码。 2020年7月22日1点24分,11,简单类型-特别是UTCTime和GeneralizedTime是关于时间的两种类型,它们的差异是表示时间的形式和范围不同,精度不同。 UTCTime格式z表示本地时间为GMT,本地时间晚于GMT。 - 000721182053,20

7、20年7月22日1点24分,12, GeneralizedTime当地时间“YYYYMMDDHHMMSS.fff”格林尼治标准时间“YYMMDDHHMMSS.fffZ”与基本时间之差2020年7月20日,在ASN.1文本约定中,符号版结构无效,并且多个空格和空行代表一个空格的值和字段的标识符、类型指针(类型名称)以及模块名称由大小写、数字和短线(Hyphen )组成标识符以小写字母开头类型指针和模块名以大写字母开头ASN.1中定义的所有内部类型都用大写字母表示,牛鼻子词都用大写字母表示,注释以一对短线(- - )开始,以一对短线或行尾结束。 2020年7月22日1点24分,15分,重要补充,类

8、型定义:=其中:是以大写字母开头的标识符,基于内置类型或其他位置定义的类型。 例如: married :3360=boolean age :3360=integer picture :3360=bitstring,2020年7月22日1点24分,16,等,可以是类型名称也可以是类型说明的值的基于整数、字符串和标识符的组合的化学基。 示例: myage age :3360=45 sextuplelottery-draw :3360=7、12、23、31、33、41 pair coordinates :00 ASN.1数据类型-结构类型,复合类型为SEQENCE 其中SEQUENCE类型和SET类

9、型表示对应于习语言结构的不同数据类型的定径套集合,CHOICE类型表示选择对应于习语言统一联盟的一系列数据类型两者的差异是SEQUENCE OF内的各要素有序,SET OF结构内的各要素的顺序是任意的。2020年7月22日1时24分、18、序列、序列和设置类型相当于习语言的结构,序列声明(例如:描述:3360 ) 可表示可嵌套的不同数据类型的定径套的第一个名称I a5 string,age INTEGER赋值: Johnny描述33603360=surname Smith,第一个名称John,age40,和声明:成员计数33603360=序列打印表格代入: eastasiamembercoun

10、tries 33603360=中国、加拿大20、设置和设置, 定义SET和SET OF的语法类似: settype 33603360=setelementtypelist|setsetoftype 33603360=seto ftype |、2020年7月22日1点24分、21分、标签条类型、ASN. 至少在两种情况下,必须对现有类型进行标记。 一种类型可以有多个类型名称。 例如,为了使意义更加丰富,可以在Employee-name和Customer-name中表示相同的类型,并将相同的应用程序标记APPLICATION 0分配给两者,也可以在一个结构类型(序列或集合)中例如,集合有三个相同类

11、型的元素,一个是本主儿的名称,一个是父亲的名称,一个是母亲的名称,2020年7月22日1点24分,22,标签类型-实例,parentage 33603360=set subject mother name 2 father name3implicit I a5 string optional,2020年7月22日1点24分,23分,标签条类型可以是隐式或显式的隐式标签条意味着用新标签条替换旧标签条,因此在查询密码时仅对新标签条进行查询密码在上面的示例中,三个集合元素的上下文标记都是隐式的,因此在查询密码时仅上下文专用标记被查询密码。 显式标签条的意思是,在一个基本类型上附加新的标签条,导出新的

12、类型。 显式标签类型是唯一以基本类型为元素的结构类型,在编码时,新的旧标签全部被编码,2020年7月22日1点24分、24分,其他类型,CHOICE和ANY是没有两个标签的类型,它们的值是未定的当这种类型的变量被分配了值时,这些类型和标签条被确定,标签条可以说执行时间被确定。 CHOICE是一个可选类型的表,只能使用一种类型来生成值。 CHOICE类型被定义为choice type :3360=choicealternativetypelistalternativetypelist :3360=名称类型|替代类型列表定义CHOICE类型的示例: ethernetadapternumber 33

13、603360=CHOICE null,OCTET STRING ANY类型表示任意类型的任意值,并且对于实际出现的类型而言,与choice类型的不同之处是未知的。 SoftwareVersion:=ANY或software version 33603360=anydefinedbyinteger定义的话,2020年7月22日1点24分、26分、子类型、子类型为生成子类型的方法有6种: 2020年7月22日1时24分、27分、生成子类型的方法、2020年7月22日1时24分、28、2.3基本编码规则、基本编码规则Distinguished Encoding Rules(DER )是ASN.1 .

14、它使用一个octet字符串来定义表示任意ASN.1值的编码方法。 DER被用于要求唯一的octet string编码的应用,并且2020年7月22日1:24,29,BER,BER传输语法的格式可能被递归地表示为TLV三联体。 2020年7月22日1点24分,30,依据TLV法的编码法-T,编码的第一个字节是ASN.1类型或用户定义的类型、二进制位8 7 6 5 4 3 2 1的专用类1、类P/C标签号、1、如果标签条的编号大于30,则低位5位全部为1 2,通常,各类型的值是多个编码方法, 适用于2020年7月22日1时24分、31、BER三种编码方法,简单长的方法简单型和简单型使用隐式标签条生

15、成的型,长度可预测,2020年7月22日1时24分、32、例2.1布尔类型有两个值FALSE和TRUE 由于布尔类型是一个简单类型,标签条为UNIVERSAL 1,因此FALSE查询密码为01 01 00,TRUE查询密码为01 01 FF,第二个字节表示值部分的长度为1字节。 在2020年7月22日1时24分、33、例子2.2十进制数256的编码中,02 02 01 00的最后两个字节表示十进制值256。 2020年7月22日1时24分、34、例2.3二进制位串10101的值在传输时占用1字节,5个二进制位存储在左侧,右3二进制位不使用,因此在二进制位串编码时使用1字节说明未使用的二进制位数。然后,在10101中编码的03-02-03 a-8的第一个字节03表示类型简单类型的二进制位串,02表示值部分的2字节长度,第三个字节03指示值部分的最后三个二进制位未使用,以及最后的a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论