- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch4 抽象标记语言ASN.1
Ch4 抽象标记语言ASN.1 教 师: 王勇 电 话:83 电子邮件: wangy@bjut.edu.cn 办公地点: 信息楼西304北 主要内容 ASN.1的基本概念 ASN.1的数据类型 ASN.1的语法 基本编码规则BER SNMP4J对ASN.1的支持 4.1 ASN.1的基本概念 Person::= SEQUENCE { name IA5String (SIZE(1..64)), age INTEGER (0..150) DEFAULT 18, sex IA5String OPTIONAL } 4.2 ASN.1的数据类型-简单类型 结构化类型 SEQUENCE User ::= SEQAUENCE{ name string, age integer, address string } SEQUENCE OF Users ::= SEQUENCE OF User 结构化类型 SET 一个或多个类型的无序集合,类型于SEQUENCE类型,但是其中的组件没有顺序要求 SET OF 0个或某给定类型多次出现的无序集合,类似于SEQUENCE OF,但是其中的组件没有顺序要求 标签类型 标签用于区分不同的类型 根据实际使用中可能遇到的情况,ASN.1共提供了4种标签: 通用类(UNIVERSAL) 应用类(APPLICATION) 私有类(PRIVATE) 上下文相关类(CONTEXT-SPECIFIC) UNIVERSAL标签 ASN.1定义的类型均有Universal值,Universal类型在所有的程序里都一致 APPLICATION标签 应用程序自定义的类型 Name ::= [APPLICATION 0] VisibleString Name ::= [APPLICATION 1] SEQUENCE{ givenName VisibleString, initial VisibleString, familyName VisibleString } PRIVATE标签 该类型的含义根据给定的企业而不同 Private标识不会被用在国际规范里,一个企业的技术规范想要扩展一个国际规范时,使用private标识在企业规范成为国际规范的过程中可以比较好地保护该企业规范 私有类仅对某个企业是有效的,在该企业内必须是唯一的 PrivateNumber ::= [PRIVATE 0] INTEGER CONTEXT-SPECIFIC标签 专用于结构型类型中,表示给定的类型的含义根据给定的结构类型而不同 Person::= SET { name [0] VisibleString, e-mail [1] VisibleString, age [2] INTEGER, } 隐式标签和显式标签 当标签类型的数据在传输的时候,其附加的标签信息必须进行编码 Age::=[PRIVATE 1] INTEGER 在传输的时候,除了需要传输INTEGER本身的标签([UNIVERSAL 2])外,还需要传输标签[PRIVATE 1] 隐式标签 隐式标签类型是在其它类型基础上通过改变其下层类型的标签而生成的 隐式标签使用ASN.1关键词[class number] IMPLICIT表示 在某些情况下,为减少传输量和编码量,可以声明标签为隐式标签,其含义是指示用新标签覆盖原来的标签 Age::=[PRIVATE 1] IMPLICIT INTEGER 在编码Age数据的时候,只需传递[PRIVATE 1]标签 显式标签 显式标签是在其他类型基础上通过在其下层类型的标签之外添加一个外层标签而生成的 显式标签由ASN.1关键词[class number] EXPLICIT表示 显式标签类型把基类型作为唯一元素的结构类型,在编码时,新老标签都要进行编码 显式标签在基类型未定的时候有用,如基类型为CHOICE类型或者ANY类型时,只能使用显示标签 其它类型 CHOICE和ANY是两个没有标签的类型,因为它们的类型和值是未定的 只有当这两种类型的变量被赋值以后,其类型和标签才确定 4.3ASN.1的语法 类型定义与类型实例 Counter ::= INTEGER Weeks ::= ENUMERATED{ Monday(1), Tuesday(2), Wednesday(3), Tuersday(4), Friday(5), Saturday(6), Sunday(7) } myCounter Counter ::= 1234 currentWeek Weeks:
您可能关注的文档
最近下载
- 人民版中华民族大家庭全册教学设计教案.doc
- 2020年江苏公务员考试《申论》真题(A类)及参考答案.pdf VIP
- 雷克萨斯-Lexus IS-产品使用说明书-IS300-ASE30L-AEZLZC-LEXUS雷克萨斯IS300OM53D87C_01-1705-00.pdf VIP
- 静配中心-高警示药品管理考核试题(附答案).docx VIP
- 静配中心-高警示药品管理考核试题.docx VIP
- 静配中心药品日常管理考核试题(+答案解析).docx VIP
- 静配中心药品日常管理考核试题及答案.docx VIP
- 静配中心业务知识考核试题题库及答案.docx VIP
- 人物细节描写课件.pptx VIP
- 精准医疗与传统治疗比较.docx VIP
文档评论(0)