计算机网络管理 第2版 作者 云红艳 高磊 杜祥军 赵志刚 第二章 抽象语法表示.pptVIP

计算机网络管理 第2版 作者 云红艳 高磊 杜祥军 赵志刚 第二章 抽象语法表示.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.REAL 值字段的剩余部分将整数值N编码成无符号二进制。 当使用十进制编码(位8和位7等于00)时,按ISO 6093的规定进行编码。其中第一个值八位组的位6到位1规定使用ISO 6093的何种编码形式,如表2-6所示。 4.REAL 当对特别实数值进行编码(位8和位7等于01)时,只需要一个值八位组即可。特别实数值是指正无穷(PLUS-INFINITY)和负无穷(MINUS-INFINITY),它们的编码如表2-7所示。 5.BIT STRING 位串值的编码可以是简单类型,也可以是构造类型。 简单编码的值八位组包含一个初始八位组,取值为0到7,表征这个值最后补位的个数。由发送方决定补位采用0还是1。后面跟0个、1个或多个后继八位组。位串的第一位置于第一个后继八位组的第8位,以下顺序类推 构造编码的值八位组由0个、1个或多个数据值的完整编码组成。每个这样的编码都包括标识、长度和值字段。每个数据值的编码通常采用简单编码。 5.BIT STRING 采用构造编码则为:23 80 03 03 000A3B 03 05 045F291CD0 将位串值拆为(0A3B)和(5F291CD)两部分,如图2-10所示。 6.OCTET STRING 字节串值的编码与BIT STRING类似,但是不需要增加表征补充位个数的八位组。例如,字节串ACE可编码为04 02 AC E0,而字符串“ACE”编码为16 03 414345,如图2-11所示。 7.OBJECT IDENTIFIER 对象标识符值的编码是简单类型,值八位组是互相连接的子标识符编码的表。每个子标识符标识为一个或多个八位组。每个八位组的第8位指示它是否是该系列的最后一个,最后八位组的第8位为0,其他八位组的第8位为1,第1至7位组合起来作子标识符的编码。 第一个编码子标识符的数值从被编码的对象标识符值中的前两个子标识符值得出,使用公式:(X × 40) + Y。其中X和Y是前两个子标识符的值。因此,编码子标识符数比实际对象全部字标识符数少1。 7.OBJECT IDENTIFIER 对象标识符{ joint-iso-ccitt 100 3},即{ 2 100 3},计算得到2 × 40 + 100 = 180,因此按照{180 3}编码为:06 03 813403H。其中第一个字节表示对象标识符类型的标签(UNIVERSAL 6),第二个字节表示值部分的长度为3个字节。该对象标识符的BER编码如图2-12所示。 8.SEQUENCE 序列值的编码是构造类型。值八位组由序列类型ASN.1定义中列出的每个类型的一个数据值得完整编码组成,除非该类型带有关键字“OPTIONAL”或“DEFAULT”,否则这些值的编码可以不出现。例如,序列类型{name IA5String ok BOOLEAN},值{name “john” ,ok TRUE},可以编码为:30 0A16 05 73 6D 69 74 68 01 01 FF。 按照序列结构可以展开为 9.SET 与SEQUENCE类似,但是由于集合类型的元素是无序的,故有多种编码,成员顺序由发送者决定。 例如,SET{breadth INTEGER,bent BOOLEAN}的值{breadth 7,bent FALSE}的编码为:31 06 02 01 07 01 01 00;也可以是31 06 01 01 00 02 01 07。成员的顺序可以改变。 1.模块定义 ASN.1的基本单位是模块,类似于C语言中的结构,用于定义一个抽象数据类型ASN.1 模块实际上是由一组类型定义和值定义组成。模块定义的基本形式为: moduleIdentifier DEFINITIONS ::= BEGIN EXPORTS IMPORTS AssignmentList END 1.模块定义 其中,moduleIdentifier是模块名,模块名的第一个字母必须大写。EXPORTS结构用于定义其他模块可以移值的类型或值,而IMPORTS结构规定了模块中某些定义是从其他模块中移植过来的。 AssignmentList部分包含模块定义的所有类型、值和宏定义。 模块定义例子 2.宏表示 ASN.1宏提供了创建“模板”用来定义宏的方法,MIB对

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档