备用)- 抽象语法表示ASN.1.pptVIP

  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文档。上传文档
查看更多
2(备用)-抽象语法表示ASN.1

* * 为什么要用宏定义 假设我们经常需要使用整数对,于是我们定义一个ASN.1类型: Pair-integers::= SEQUENCE(INTEGER,INTEGER) 如果我们还需要使用字节串对,也可以定义相应的类型: Pair-octet-string::=SEQUENCE(OCTET STRING, OCTET STRING) * * 小结 ASN.1的基本概念 ASN是一种用途广泛的抽象语法描述语言,SNMP广泛使用其描述,深入学习对SNMP大有益处 标签 基本编码规则 宏定义 * * 宏定义示例 * * 拟留作业和思考题: 通过互联网检索ASN.1 使用,并找出一个例子来理解ASN.1的应用 作业: 网络管理的基本功能 2.1 表示层的功能是什么?抽象语法和输出语法有什么不同 * * 标签类型 ASN.1的所有类型都带有标签,但这里所谓的标签类型,是指应用或用户加在某个类型上的标签。起码有两种情况需要给一个现有的类型加上标签 一个类型可以有多个类型名,如为了使语义更丰富,可能用Employee-name和Customer-name表示同一类型,这样可以给两者指定同一应用标签[APPLICATION 0]。 另外,在一个结构类型(序列或集合)中,可以用上下文专用标签区分类型相同的元素。例如集合中有3个同样类型的元素,一个指本人的名字,一个指父亲的名字,另一个指母亲的名字, * * 标签类型-实例 Parentage::=SET{ SubjectName[1] IMPLICIT IA5String, MotherName [2] IMPLICIT IA5String OPTIONAL, FatherName [3] IMPLICIT IA5String OPTIONAL} * * 标签类型可以是隐含的或明示的,分别用关键字IMPLICIT和EXPLICIT(可省略)表示。 隐含标签的语义是用新标签替换老标签,因此编码时只编码新标签。上例中,3个集合元素的上下文标签都是隐含的,因此编码时只编码上下文专用标签。 明示标签的语义是在一个基类型上加上新标签,从而导出一个新类型。明示标签类型是把基类型作为惟一元素的构造类型,在编码时,新老标签都要编码 * * 其他类型 CHOICE和ANY是两个没有标签的类型,因为它们的值是未定的,而且类型也是未定的。当这种类型的变量被赋值时,它们的类型和标签才确定,可以说标签是运行时间确定的。 CHOICE是可选类型的一个表,仅其中一个类型可以被采用,产生一个值。CHOICE类型定义为 ChoiceType::= CHOICE{AlternativeTypeList} AlternativeTypeList::= NamedType | AlternativeTypeList, NamedType * * 定义CHOICE类型的例子: EthernetAdapterNumber::=CHOICE{NULL, OCTET STRING} ANY类型表示任意类型的任意值,与CHOICE类型不同之处在于实际出现的类型也是未知的。 如定义 SoftwareVersion::=ANY 或SoftwareVersion::=ANY DEFINED BY INTEGER * * 子类型 子类型是由限制父类型的值集合而导出的类型,因此子类型的值集合是父类型的子集。子类型还可以再产生子类型。产生子类型的方法有6种 * * 产生子类型的方法 * * 2.3 基本编码规则 基本编码规则(Basic Encoding Rule) ASN.1的基本编码规则定义了一种或多种把任意ASN.1值表示成字节字符串的方法,缩写为BER。 Distinguished Encoding Rules(DER,可辨别编码规则) ,它定义了使用一个octet string来表示任何ASN.1值的编码方法。DER用于需要使用唯一的octet string编码的应用程序 * * BER BER传输语法的格式递归地表示为TLV三元组Type, Length, Value也可以认为是Tag, Length, Value。 * * 用 TLV 方法进行编码法-T 编码的第一个字节表示ASN.1类型或者用户定义的类型 比特 8 7 6 5 4 3 2 1 通用类 0 0 0 简 单 类 型 应用类 0 1 1 构 造 类 型 上下文类 1 0 专用类

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档