最新安工大网管技术第二章PPT课件PPT课件.ppt
《最新安工大网管技术第二章PPT课件PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新安工大网管技术第二章PPT课件PPT课件.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、安工大网管技术第二章安工大网管技术第二章PPTPPT课课件件第章 抽象语法表示ASN.11.网络系统的发展,怎么进行 异种(异构)?信息间的通信?2.为什么用ASN.1?现有的数据结构表达方式不可以吗?3.传输语法与BER.第章 抽象语法表示ASN.1第章 抽象语法表示ASN.1第章 抽象语法表示ASN.1第章 抽象语法表示ASN.1第章 抽象语法表示ASN.1第章 抽象语法表示ASN.1第章 抽象语法表示ASN.1name valueGet-request 报文?协议?ASN.1 编码?V01 03 06 01 02 01 01 01 00 L09 TOBJECT IDENTIFIER TN
2、ULL L00 L01 TSEQUENCE?L0C L0E L04 TINTEGER L01request-iderror-statuserror-indexvariable-bindings TINTEGER V05 AE 56 02 V00 TSEQUENCE OF?TINTEGER V00VarBind TA0 L1DGetRequest-PDUrequest-ID1.3.6.1.2.1.7.1.0GetRequest-PDU和七层协议的关系?和七层协议的关系?第章 抽象语法表示ASN.1ASN.1表示数据例子例如:数据类型特点?Report:=SEQUENCE author OCTET
3、 STRING,title OCTET STRING,body OCTET STRING,biblio Bibliography第章 抽象语法表示ASN.1在这个例子中,Report是由名字类型的信息组成的,而SEQUENCE表示消息是许多数据单元构成的,前三个数据单元的类型是OCTET STRING,而最后一个数据类型则下面的ASN.1语法表示它的意义:Bibliography:=SEQUENCE author OCTET STRING title OCTET STRINGpublisher OCTET STRINGyear OCTET STRING 第章 抽象语法表示ASN.12.2 AS
4、N.1的基本概念的基本概念 ASN.1文本的书写规则,这些规则叫做文本约定:(1)书写的布局是无效的,多个空格和空行等效于一个空格;(2)用于表示值和字段的标识符、类型指针(类型名)和模块名由大小写字母、数字和短线组成;第章 抽象语法表示ASN.1(3)标识符以小写字母开头;(4)类型指针和模块名以大写字母开头;(5)ASN.1定义的内部类型全部用大写字母表示;(6)关键字全部用大写字母表示;(7)注释以一对短线(-)开始,以一对短线或行尾结束。ASN.1的特点?第章 抽象语法表示ASN.12.2.1 2.2.1 抽象数据类型抽象数据类型在ASN.1中,每一个数据类型都有一个标签(Tag)?,
5、标签有类型和值(见表2.1),数据类型是由标签的类型和值惟一决定的,这种机制在数据编码时有用。标签的类型分为以下4种:通用标签 应用标签 上下文专用标签 私有标签第章 抽象语法表示ASN.1ASN.1定义的数据类型有20多种,标签类型都是UNIVERSAL,如表2.1所示。这些数据类型可分为4大类。简单类型(?)构造类型 标签类型 其他类型(CHOICE、ANY)第章 抽象语法表示ASN.1表表2.1 ASN.1定义的通用类型定义的通用类型?第章 抽象语法表示ASN.1表表2.1 ASN.1定义的通用类型定义的通用类型?第章 抽象语法表示ASN.1第一组BOOLEAN、INTEGER、BIT
6、STRING、OCTET STRING、REAL、ENUMERATED.枚举类型的值只是用整数表示的一个符号,而不具有整数的性质。下面是定义枚举类型的例子:EthernetAdapterStatus:=ENUMERATEDnormal(0),degraded(1),offline(2),failed(3)1.简单类型简单类型 第章 抽象语法表示ASN.1第二组包括各种字符串类型,标签为UNIVERSAL 1822和UNIVERSAL 2527(表示字符类型 为何如此多的类型?)第三组包括OBJECT IDENTIFIER和Object Descriptor两种类型。第四组包含4种类型。NULL
7、是空类型,EXTERNAL是外部类型,UTCTime和GeneralizedTime是两种有关时间的类型,其区别是表示时间的形式不同。例如 20000721182053.7是GeneralizedTime类型的一个值,表示2000年7月21日,当地时间18点20分53.7秒。20000721182053.7Z表示同样的时间,但是加了符号Z,则表示UTC时间。第章 抽象语法表示ASN.12.2.构造类型构造类型构造类型有序列和集合两种,分别用SEQUENCE和SEQUENCE OF表示不同类型和相同类型元素的序序列列,分别用SET和SET OF表示不同类型和相同类型元素的集合集合。他们的区别是什
8、么?第章 抽象语法表示ASN.1下面是定义序列类型的例子:EthernetCollisionsCounter:=SEQUENCE highValue INTEGER,lowValue INTEGER TokenRingTokensLost:=SEQUENCE highValueINTRGER,lowValue INTEGER LanSimpleCounterLimits:=SEQUENCE ethernetCounter1 COMPONENTS OF EthernetCollisionsCounter,tokenRingCounter1COMPONENTS OF TokenRingTokens
9、Lost 第章 抽象语法表示ASN.1下面是定义集合类型的例子:LanWorkstationSerialNumbers:=OCTET STRING(SIZE(32)LanSegment:=SET OF LanWorkstationSerialNumbersMacAddresses:=OCTET STRING(SIZE(6)EthernetNetworks:=SET OF MacAddressesTokenRingNetworks:=SET OF LanSegmentLanNetwork:=SET etherNet 0 IMPLICIT EthernetNetworks,tokenNet 1 I
10、MPLICIT TokenRingNetworks 第章 抽象语法表示ASN.13.3.标签类型标签类型 Exuniv:=UNIVERSAL 2 INTEGER Exuniv:=UNIVERSAL 2 INTEGER Exappl:=APPLICATION 0 INTEGER Exappl:=APPLICATION 0 INTEGER Expriv:=PRIVATE 1 INTEGER Expriv:=PRIVATE 1 INTEGER 标签由一个标签由一个 标签类标签类 和和 一个一个 标签号标签号 组成。组成。指应用或用户加在某个类型上的标签标签。加上一个标签后就是一个新的类型新的类型。标
11、签类型作用?例如集合中有3个同样类型的元素,一个指本人的名字,一个指父亲的名字,另一个指母亲的名字,分别为其指定不同的分别为其指定不同的上下文专用标签上下文专用标签1、2和和3以示区别,参见下例:第章 抽象语法表示ASN.1Parentage:=SETSubjectName1 IMPLICIT IA5String,MotherName 2 IMPLICIT IA5String OPTIONAL,FatherName 3 IMPLICIT IA5String OPTIONAL 在编码中注意:Expriv:=PRIVATE 1 IMPLICIT INTEGER Expriv:=PRIVATE 1(
12、EXPLICIT)INTEGER 新老标签编码?新老标签编码?第章 抽象语法表示ASN.14.4.其他类型其他类型(他们类型的作用?)他们类型的作用?)CHOICE和ANY是两个没有标签的类型,下面是定义CHOICE类型的例子:EthernetAdapterNumber:=CHOICENULL,OCTET STRING第章 抽象语法表示ASN.1ANY类型表示任意类型的任意值例1,我们可以定义SoftwareVersion:=ANY 例2,TextBook:=SEQUENCE author IA5String,reference ANY 第章 抽象语法表示ASN.1实例 author “sfs
13、sfs”,reference IA5String“42342sf”author “sfssfs”,reference INTEGER 1988 第章 抽象语法表示ASN.12.2.2 2.2.2 子类型子类型子类类型型是由限制父类型的值集合而导出的类型,因此子类型的值集合是父类型的子集。子类型子类型还可以再产生子类型。(面向对象)(面向对象)第章 抽象语法表示ASN.11.1.单个值单个值这种方法就是列出子类型可取的各个值值。例如,我们可以定义小素数为整数类型的子集:SmallPrime:=INTEGER(2|3|5|7|11|13|15|17|19|23|29)另外,如果定义Months为枚
14、举类型:Months:=ENUMERATEDjanuary(1),february(2),march(3),april(4),may(5),june(6),july(7),august(8),september(9),october(10),november(11),december(12)第章 抽象语法表示ASN.1则可以定义First-quarter和Second-quarter为Months的子类型:First-quarter:=Months(january,february,march)Second-quarter:=Months(april,may,june)第章 抽象语法表示ASN
15、.12.2.包含子类型包含子类型(与前者的区别?)与前者的区别?)这里要用到关键字INCLUDES,说明被定义的类型包含了已有类型的所有的值。例如下面的定义:First-half:=Months(INCLUDES First-quarter|I NCLUDES Second-quarter)第章 抽象语法表示ASN.13.3.值区间值区间(?)这种方法只能应用于整整数数和类型,指出子类型可取值实实数数的区间。在下面的定义中PLUS-INFINITY和MINUS-INFINITY分别表示正、负最大值,MAX和MIN分别表示父类型可允许的最大值和最小值,区间可以是闭区间或开区间。如果是开区间,则加
16、上符号“”。因此下面4个定义是等价等价的:PositiveInteger:=INTEGER(0.PLUS-INFINITY)PositiveInteger:=INTEGER(1.PLUS-INFINITY)PositiveInteger:=INTEGER(0.MAX)PositiveInteger:=INTEGER(1.MAX)第章 抽象语法表示ASN.1同理,下面4个定义也是等价的:NegativeInteger:=INTEGER(MINUS-INFINITY.0)NegativeInteger:=INTEGER(MINUS-INFINITY.-1)NegativeInteger:=INTE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 大网 技术 第二 PPT 课件
限制150内