- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2(备用)-抽象语法表示ASN.1.ppt
2.1 ASN.1引入 引入背景 在分布式/网络通信应用中,通信设备需要相互传输数据。但是设备可能是由不同厂家生产的,其硬件体系结构、程序语言的语法定义和程序功能实现一般是不相同的。例如,在一台设备中,整形数据类型是16位表示,而在另一台则可能用32位表示。这些差异导致了同一数据对象在不同的设备上被表示为不同的符号串。 为了解决以上问题,ISO组织推出了抽象语法表符号(ASN.1(Abstract Syntax Notation One),X.208)。ASN.1通过定义若干简单类型和复合类型,使得各个设备对其间交换消息的数据类型有了一致的认识。 位于ISO规定的表示层,定义了应用数据的抽象语法,类似于通常程序设计语言定义的抽象数据类型。 把这些对象转换成“0”和“1”的比特流的一套规则称为BER(Basic Encoding Rules ,X.209),说明了如何把每种ASN.1类型的值编码为8bit的octet流。 这样,经过ASN.1处理的消息独立于应用环境,就不会因为系统终端的区别而产生歧义。 可以将通信编解码设计与开发工作转嫁给ASN.1编译器完成。从而不必在手工编写编解码器。一方面大量减少了缺陷引入,另一方面更是大大加快了系统开发速度 局部语法、传送语法与抽象语法 “语法”实际上就是“符号串解释方法”。 局部语法用于数据在端系统中的存储。 传送语法 位模式(Bits pattern) 描述数据是在传输时是如何表示的 用于数据在线路上的传输。 抽象语法 是协议设计者所使用的工具,用于将设计者的思想记录下来,便于交流和讨论。 描述通用数据结构 允许定义数据类型和值 计算机通信的最终目的是传递数据的语义。因此一个数据无论采用何种表示方式,其语义不应改变。 2.2 ASN.1的基本概念 ASN.1有严格的BNF定义,便于程序解析 ASN.1是描述在网络上传输信息格式的标准方法。。 每一个数据类型都有一个标签(Tag),标签有类型和值,数据类型是由标签的类型和值惟一决定的,这种机制在数据编码时有用。 2.2.1 抽象数据类型 标签的类型分为以下4种 通用标签:应用标签:上下文专用标签:私有标签: 通用标签:用关键字UNIVERSAL表示,带有这种标签的数据类型是由标准定义的,适用于任何应用; 一 应用标签:用关键字APPLICATION表示,是应用程序组织自定义由某个具体应用定义的类型其; 如: Name ::= [APPLICATION 0] SEQUENCE { initialname IA5String; familyName IA5String; } 上下文专用标签:这种标签在文本的一定范围(例如一个结构)中适用; 私有标签:用关键字PRIVATE表示,这是用户定义的标签,企业自己定义的。 数据类型分类 ASN.1定义的数据类型有20多种,标签类型都是UNIVERSAL。这些数据类型可分为4大类 简单类型:由单一成分构成的原子类型; 构造类型:由两种以上成分构成的构造类型; 标签类型:由已知类型定义的新类型; 其他类型:包括CHOICE和ANY两种类型。 ASN.1数据类型-简单类型 基本类型包括BOOL、INTEGER、REAL、BIT STRING、OCTET STRING、ENUMERATED、OBJECT IDENTIFIER、NULL等。 BIT STRING 是以比特为单位的二进制字符串; OCTET STRING是以字节为单位的字符串。 ENUMERATED是一个定义变量值的集合,变量的值只在列举出来的范围内。 OBJECT IDENTIFIER则用来唯一标识ISO/ITU-T定义的对象; NULL是位置符,一般出现CHOICE、SEQUNECE和SET等复合类型中作为一项,其本身没有意义,不需要编码。 简单类型-特别提示 UTCTime和GeneralizedTime是两种有关时间的类型,其区别是表示时间的形式不同和范围不同,精度不同。 UTCTime格式 Z 表示本地时间是 GMT, + 表示本地时间落后于GMT, - 表示本地时间提前于GMT 时间范围1950~2049,如000721182053 GeneralizedTime 本地时间 “YYYYMMDDHHMMSS.fff” 格林威治标准时间 “YYMMDDHHMMSS.fffZ” 和标准时间的差值. “YYYYMMDDHHMMSS.fff+-HHMM” 20001231235959.999 20001231205959.999Z 20001231235959.999+0300 ASN.1文本的书写规则 书写的布局是无效的,多个空格和空行等效于一个空格; 用于表示值和字段
您可能关注的文档
最近下载
- 期末默写、文言基础复习 统编版高中语文必修上册.docx VIP
- 对水果产业发展的调研报告.pdf
- 海水提取氯化钾项目节能评估报告.docx VIP
- 【一诊】绵阳市高三2022级(2025届)第一次诊断性考试数学试卷(含答案逐题解析).docx
- 2023-2024学年天津市河北区八年级第一学期期中数学试卷及参考答案完整版.pdf VIP
- 海水提取氯化钾项目节能分析报告.docx VIP
- 地基承载力标准值、特征值、允许值辨析.pdf
- 山东省烟台市2023至2024学年高二上学期期中考试化学试题附参考答案(解析).docx
- 利用PDCA降低乳腺癌改良根治术后患肢功能障碍发生率【24页】.pptx
- 高中英语课件:The Face-down Generation.pptx
文档评论(0)