计算机网络管理 教学课件 ppt 作者 云红艳 杜祥军 赵志刚 网络管理- 第2章

上传人:E**** 文档编号:89490543 上传时间:2019-05-25 格式:PPT 页数:46 大小:1.36MB
返回 下载 相关 举报
计算机网络管理 教学课件 ppt 作者  云红艳 杜祥军 赵志刚 网络管理- 第2章_第1页
第1页 / 共46页
计算机网络管理 教学课件 ppt 作者  云红艳 杜祥军 赵志刚 网络管理- 第2章_第2页
第2页 / 共46页
计算机网络管理 教学课件 ppt 作者  云红艳 杜祥军 赵志刚 网络管理- 第2章_第3页
第3页 / 共46页
计算机网络管理 教学课件 ppt 作者  云红艳 杜祥军 赵志刚 网络管理- 第2章_第4页
第4页 / 共46页
计算机网络管理 教学课件 ppt 作者  云红艳 杜祥军 赵志刚 网络管理- 第2章_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《计算机网络管理 教学课件 ppt 作者 云红艳 杜祥军 赵志刚 网络管理- 第2章》由会员分享,可在线阅读,更多相关《计算机网络管理 教学课件 ppt 作者 云红艳 杜祥军 赵志刚 网络管理- 第2章(46页珍藏版)》请在金锄头文库上搜索。

1、抽象语法表示(Abstract Syntax Notation 1)ASN.1是一种形式语言,它提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用协议数据单元的结构。用ASN.1定义的应用数据在传送过程中要按照一定的规则变换成比特串,这种规则就是基本编码规则BER。 2.1 网络数据表示 2.2 ASN.1语法 2.3 ASN.1基本编码规则 2.4 宏定义,第2章 抽象语法表示,2.1 网络数据表示,2.2 ASN.1语法,在ASN.1中为每个应用所需的所有数据结构类型进行定义,并将它们组织成库。 ISO 8824/X.208标准说明了ASN.1,下面列出ASN.1文本的书写规则,

2、这些规则叫做文本约定(Lexical Convention)。 (1)多个空格和空行等效于一个空格。 (2)用于表示值和字段的标识符、类型指针和模块名由大小写字母、数字和短线组成。 (3)标识符以小写字母开头。 (4)类型指针和模块名以大写字母开头。 (5)ASN.1定义的内部类型全部用大写字母表示。 (6)关键字全部用大写字母表示。 (7)注释以一对短线(-)开始,以一对短线或行尾结束。,在ASN.1中,定义了多种符号,如表所示ASN.1的完整地符号列表,常用的ASN.1关键字,2.2 抽象数据类型,2.2.1 抽象数据类型 标签:(类型,值) 2.2.2 子类型 子类型的值集合是父类型的子

3、集 2.2.3 应用类型,标签分成4类:,通用标签(UNIVERSAL ):带有这种标签的数据类型是由标准定义的,适用于任何应用; 应用标签(APPLICATION):是由某个具体应用定义的类型; 上下文专用标签(CONTEXT-SPECIFIC):这种标签在文本的一定范围(例如一个结构)中适用; 私有标签(PRIVATE):用户定义的标签,数据类型分成4类:,简单类型:由单一成分构成的原子类型,包括 INTEGER,BOOLEAN,REAL,ENUMERATED, BIT STRING,OCTET STRING, NULL, OBJECT IDENTIFIER,CHARACTER STRIN

4、G 构造类型:由两种以上成分构成的构造类型,包括SEQUENCE,SEQUENCE OF,SET,SET OF 标签类型:由已知类型定义的新类型; 其他类型:包括CHOICE和ANY两种类型。,1简单类型,(1)INTEGER,整数类型,ASN.1中没有限制整数的位数,可以是任意大小的整数。 例2.1 Number :=INTEGER (2)BOOLEAN,布尔类型,取值为TRUE(真)或FALSE(假)。 例2.2 Married :=BOOLEAN (3)REAL,实数类型,ASN.1中对实数的精度没有限制,REAL可以表示所有的实数。另外要说明的是,实数可以表示为科学计数法:MBE,其中

5、尾数M和指数E可以取任何正或负整数值,基数B可以取2或10。,(4)ENUMERATED,枚举类型,实际上是一组个数有限的整数值。可以给每个整型值赋予不同的意义。,例2.3 Week :=ENUMERATED Monday (1), Tuesday (2), Wednesday (3), Thursday (4), Friday (5), Saturday (6), Sunday (7) 例2.4 对于SNMP的MIB中,在获取响应信息中的错误状态如下所示。 ErrorStatus:= ENUMERATED noError (0), tooBig (1), noSuchname (2), ba

6、dValues (3), readOnly (4), genError (5) ,(5)BIT STRING,位串类型,由0个或多个比特组成的有序位串。位串的值可以由对应的二进制或十六进制串表示。例如,10100010B或A2H都是位串类型的有效数值。 (6)OCTET STRING,八位位组串,由0个或多个8位位组组成的有序串。和位串类型一样,八位位组串也可以用对应的二进制或十六进制串表示。,(7)OBJECT IDENTIFIER,对象标识符,从对象树派生出的一系列点分数字串的形式,用来标识对象。在ASN.1中对象集合按照树形结构组织,树的每个分支被赋予一个整数标识。对象标识符是从根节点开

7、始到对象节点路径上边标识的顺序连接,它是对象的唯一标识。根节点以下有3个节点,分别是ccitt(0),iso(1),joint-iso-ccitt(2),它们向下又可细分,如iso的子节点包括standard(0),registration-authority(1),member-body(2),org(3)。其中org(3)下面的子节点internet就定义了最常使用的管理对象。 例2.5 internet OBJECT IDENTIFIER := iso(1) org(3) dod(6) 1 ,(8)NULL,空值类型,它仅包含一个值NULL,主要用于位置的填充。如果某个时刻无法得知数据的

8、准确值,简单的方法就是将这一数据定义为NULL类型。数据值为NULL时,表示该值还不知道。还可以用NULL表示序列中可能缺省的某个元素。 (9)CHARACTER STRING,字符串类型。ASN.1中定义了一些字符集不完全相同的CHARACTER STRING类型,不同类型包含的字符集不同。标准ASCII字符可以分为G集(图形符号集,ASCII字符编号范围是33126)和C集(控制符号集,ASCII字符编号范围是031)。空格符(编号32)和删除符(编号127)同时属于两个符号集。,2构造类型,(1)SEQUENCE,序列类型,是包含0个或多个组成元素的有序列表。列表的不同元素可以分属于不同

9、的数据类型。每个元素由元素名和元素类型组成,元素类型可以是简单类型,也可以是定义的其他构造类型。,例2.6 AirlineFlight :=SEQUENCE airline IA5STRING, flight IA5STRING, seats SEQUENCE maximum INTEGER, occupied INTEGER, vacant INTEGER , airport SEQUENCE origin IA5STRING, stop0 IA5STRING OPTIONAL, stop1 IA5STRING OPTIONAL, destination IA5STRING , crewsi

10、ze ENUMERTAED six (6), eight (8), ten (10), cancel BOOLEAN DEFAULT FALSE ,它的一个实例是 airplane1 AirlineFlight := airline “china“, flight “C3416“, seats 320 ,280,40, airport original “Qingdao“,stop0 “TaiYuan“,destination “WuLuMuQi“, crewsize 10 或airplane1 :=“china“, “C3416“, 320 ,280,40, original “Qingda

11、o“,stop0 “TaiYuan“,destination “WuLuMuQi“,10 上面的实例描述的是从青岛飞往乌鲁木齐的C3416航班,需要机组人员10人,飞机有320个座位,其中有乘客的座位和空座位分别是280个和40个。本次航班需要在太原停机一次。由于cancel使用了默认值FALSE,所以该航班没有取消。,(2)SEQUENCE OF,单纯序列(数组)类型,即序列中的各项都属于同一类型,可以看作是SEQUENCE类型的特例。例2.7定义了座位号类型Seats,因为座位号都是整数,所以可以使用单纯序列类型。 例2.7 Seats :=SEQUENCE OF INTEGER,(3)S

12、ET,集合类型,是包含0个或多个组成元素的无序集合。这些元素的顺序无任何意义,但是它们之间必须是不相同的,组成元素的类型可以为不同的ASN.1类型。 例2.8 Student :=SET number INTEGER, name IA5STRING, age INTEGER, gender ENUMBERTED male(0), female(1), major IA5STRING 20040320,“LiYong“,19,0,“Network Engine“, 20040720,“WangHua“,20,1,“Computer Application“,它们都属于Student类型的同一个实

13、例。 (4)SET OF,单纯集合类型,是包含0个或多个组成元素的无序集合,同单纯序列类型类似,这些组成元素必须为相同的ASN.1类型。 例2.9 VipSeats :=SET OF INTEGER vipseats VipSeats :=60,80,120,3标签类型 标签类型由一个标签类(class)和一个标签号(class number)组成,标签号是十进制非负整数。标签类型有4种:通用类(UNIVERSAL),应用类(APPLICATION),私有类(PRIVATE)和上下文无关类(CONTEX-SPECIFIC)。 通用类标签是ASN.1标准定义的,除了CHOICE和ANY类型之外,

14、所有的简单类型和结构类型都具有统一分配的唯一标签。 加标签后的类型实质上是一个新的类型,它和原来的类型在结构上是一样的,但是是不同的类型。举例如下。 例2.10 Number := UNIVERSAL 2INTEGER valA Number:=200603,4其他类型 CHOICE和ANY是两个没有标签的类型,因为它们的值是未定的,而且类型也是未定的。当这种类型的变量被赋值时,它们的类型和标签才能确定。,(1)CHOICE,选择类型,包含一个可供选择的数据类型列表。CHOICE类型的每个值都是其中某一数据类型的值。数据可能在不同情况下取不同的值,若这些可能的类型能够在事先都知道,那么就可以使

15、用CHOICE类型。 例2.11 Prize := CHOICE car IA5STRING, cash INTEGER, nothing BOOLEAN 由于奖项的种类是可以预知的,分别为nothing TRUE,car“Lincoln”和cash 25000。,(2)ANY,和选择类型具有确定的数据类型选择范围不同,若在定义数据时不能确定数据的类型,可以使用ANY类型。,例2.12 Book:=SEQUENCE author IA5STRING, reference ANY author “Martin“ ,reference IA5STRING “ISBN007895“和 author

16、“Martin“, reference INTEGER 1998 都是Book的正确实例。,2.2.2 子类型,单个值(Single Value) 包含子类型(Contained Subtype) 值区间(Value Range) 允许字符(Permitted Alphabet) 限制大小(Size Constraint) 内部子类型(Inner Subtyping),1单个值(Single Value) 列出子类型可取的各个值。例如, TestResule:=INTEGER(0|1|2) 表示TestResult可以取0、1或2中的一个值。 2值区间(Value Range) 这种方法只能用于整数和实数,指出子类型可取的区间。 例如

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号