第二章 抽象语法表示.ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据的表示 数据具有语法和语义两个方面 语法:指数据的表示形式,或者说构成数据的规则。 语义:指数据的内容及其含义。 同样的语义有不同的语法表示 数据的表示 确定要表示信息的数据类型。 对于不同类型的数据定义不同的操作。 任何类型的数据最终都将被表示成为比特序列。 不同计算机系统的数据表示 网络中不同类型的计算机交互通信时,采用的 “语法”不同,这种差异决定了同一数据对象在不同计算机中被表示为不同的比特序列。 需要统一的网络数据表示格式 为了保证同一数据对象在不同计算机中语义的正确性,实现在不同应用系统之间的信息交换。 对于网络中n个异体的节点能互通,我们需要为每个节点编写(n-1)个编解码程序,即需要总数为n*(n-1)个编解码程序。 表示层的基本概念 实际语法(Concrete Syntax ): 本地的,并且定义本地系统的数据表示方法。 抽象语法(Abstract Syntax ) : 定义了数据的常用结构(包括不同的数据类型),独立于任何编码技术的,只与应用有关。 传输语法(Transfer Syntax): 提供从抽象语法表示的数据到比特序列,以及其相反操作的方法。 编码规则(Encoding Rule): 提供了如何将抽象语法映射为传输语法。 抽象语法标记ASN.1的作用 ASN.1用于领域 ASN.1已经应用到的通信协议与科学领域包括: 通信领域,包括3GPP、4G移动通信 智能交通系统ITS 网络语音通信技术VoIP 多媒体传输的标准 安全相关系统,包括智能卡,电子商务中的身份确认卡等 嵌入式系统的通信应用 空中交通管制 以及近年其他领域很多的应用。 ASN.1类型定义的方法 新类型的名字 ::= 类型描述? 其中: 新类型的名字是一个以大写字母开头的标识符; 类型描述是基于内建类型或在其它地方定义的类型。 ASN.1值定义的方法 新的值的名字 该值的类型 ::= 值描述? 其中: 新的值的名字是以小写字母开头的标识符; 该值的类型可以是一个类型的名字,也可以是类型描述; 值描述是基于整数、字符串、标识符的组合。 ASN.1宏定义 宏定义的用处 宏定义可以看作是类型的类型,或者说是超类型。 宏定义也可以看作是类型的模板,可以用这些模板制造出形式相似,语义相关的许多数据类型。 3.宏实例的定义 当用一个具体的值代替宏定义中的变量或参数时就产生了一个宏实例,它表示一个实际的ASN.1类型(返回类型)),并且规定了该类型可取的值的集合(返回值)。 3.宏实例的定义 例2.14 tepMaxConn OBJECT-TYPE tcpMaxConn OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION “The limit on the total number of TCP comnection the entity con support” ::={tcp 4} 3.宏实例的定义 例2.14 对Internet控制报文协议流入的信息计数 icmpInMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory ::={icmp 1} 1.模块定义 ASN.1的基本单位是模块,类似于C语言中的结构,用于定义一个抽象数据类型ASN.1 模块实际上是由一组类型定义和值定义组成。 类型定义就是说明类型的名称和类型的格式。 值定义则是规定将什么样的具体值赋给某一类型的变量。 可以用名字引用一个已定义的模块。 模块定义 modulereference DEFINITIONS ::= BEGIN EXPORTS IMPORTS AssignmentList END 其中的modulereference是模块名,第一个字母大写。 EXPORTS构造用于定义可供其他模块移植的类型或值。 IMPORTS构造规定了模块中某些定义是从其他模块中移植过来的。 AssignmentList部分包含模块定义的所有类型、值和宏定义。 RFC1155-SMI 2.宏表示 ASN.1宏提供了创建“模板”用来定义宏的方法,MIB对象就是采用宏定义模板来定义。 宏表示:ASN.1提供的一种表示机制,用于定义宏; 宏定义:用宏表示定义的一个宏。 宏实例:用具体的值代表宏定义中的变量而产生的实例,代表一种具体的类型。 2.宏表示 宏的一般表示形式如下: macronameMACRO::= BEGIN TYPE NOTATION ::=new

文档评论(0)

beautyeve + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档