第2章抽象语法表示ASN.1

更新时间:2023-06-07 18:42:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

高等学校计算机网络工程专业规划教材

计算机网络管理(第二版)—第2章 抽象语法表示ASN.1电子信息工程学院计算机与科学技术系

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

第2章 抽象语法表示ASN.12.1 网络数据表示

2.2 ASN.1的基本概念2.3 基本编码规则 2.4 ASN.1宏定义 习题 作业

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

引言 管理信息以管理对象为单位,每一个管理对象一般包括如下信 息: 对象标识符:管理对象的对象标识符 数据类型: 管理对象的数据类型 取值范围: 管理对象的取值是否存在限制条件 访问控制: 允许对管理对象采取哪些操作权限 对象状态: 管理对象目前的状态

描述信息: 管理对象的说明性文字信息

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

定义一个管理对象如下: (1)分配对象标识, 如:sysLocation, {system 6} (2)确定对象使用的数据类型。比如,对象表示的管理信 息属于文字信息,类型为字符串型。 (3)确定对象的访问权限。权限规定了管理工作站可以对 管理信息进行的操作。如:read-only

(4)确定对象的实现要求。规定SNMP代理在实现MIB时是否 必须实现该对象。(5)描述信息

如何来描述上述对象的哪些属性呢?--抽象语法表示语言

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

第2章 抽象语法表示ASN.1 抽象语法表示(标记) ASN.1

(Abstract Syntax Notation One ) 一种数据定义语言,描述了如何对数据进行表示、编码、 传输和解码的数据格式。

ASN.1提供统一网络数据表示。 网络管理系统中的: ⑴ 管理信息库(MIB); ⑵ 应用程序的数据结构; ⑶ 协议数据单元(PDU); 都是用ASN.1定义的。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

不同的系统描述数据的格式一般不同 程序语言之间数据类型不同 不同机器平台之间数据的存储方式不同 不同种类的计算机内部数据表示不同

比如:IBM为EBCDIC,其它为ASCⅡ;Intel的芯片从右到左计数字节数,而Motorola的芯片则从左到右计数字节 数。 ASN.1用一种统一的方式来描述数据结构 独立于机器; 独立于程序语言; 独立于应用程序的内部表示。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

2.1

网络数据表示

在互相通信的端系统中至少有一个应用实体(例如FTP、 TELNET、SNMP等)和一个表示实体(即ASN.1)。 表示实体定义了应用数据的抽象语法,根据抽象语法来 定义抽象数据类型。应用协议按照抽象语法构造协议数

据单元。 表示实体则对应用层数据进行编码,将其转换成二进制 的比特串,比特串由下面的传输实体在网络中传送。 表示层的功能是提供统一的网络数据表示

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

表示层的功能是提供统一的网络数据表示

由于各种系统对数据的定义并不完全相同, 这给利用其它系统的数据造成了障碍。表示层就担负了消除这种障碍的 任务。

表示层如同应用程

序和网络之间的翻译官:主要解决用户信息的语法表示问题,即提供统一的、格式化的表示和转 换数据服务。数据的压缩、解压、加密、解密都在该层完 成。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

2.2

ASN.1的基本概念

ASN.1文本的书写规则(约定): 多个空格和空行等效于一个空格; 用于表示值和字段的标识符、类型指针(类型名)和模块 名由:⑴ 大小写字母;⑵ 数字;⑶ 短线组成; 标识符以小写字母开头; 类型指针和模块名以大写字母开头; ASN.1定义的内部类型全部用大写字母表示; 关键字(保留字)全部用大写字母表示; 注释以一对短线(- -)开始,以一对短线或行尾结束。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

ASN.1中,使用的一些符号

符号

含义 定义为,或赋值或、选择、列表选项

∷=|

-{ } [ ] ( )

标签号符号后跟随注释 列表的开始和结束 标签(TAG)的开始和结束 子类型的开始和结束

..

范围

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

2.2.1 抽象数据类型 ASN.1定义的数据类型有20多种,这些数据类型可分为4 大类: 简单类型:由单一成分构成的原子类型; 构造类型:由两种以上元素构成的数据类型;

标签类型:由已知类型定义的新类型; 其他类型:包括CHOICE和ANY两种类型。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

表2.1标 签 UNIVERSAL 1 UNIVERSAL 2 UNIVERSAL 3 UNIVERSAL 4 UNIVERSAL 5 UNIVERSAL 6 UNIVERSAL 7 UNIVERSAL 8 UNIVERSAL 9 UNIVERSAL 10 UNIVERSAL 11~15

ASN.1定义的通用类型类 型 值 集 合 TRUE, FALSE 正数、负数和零 0 个或多个比特组成的序列 0 个或多个字节组成的序列 空类型 对象标识符 对象描述符 外部文件定义的类型 所有实数 整数值的表,每个整数有一个名字 为 ISO 8824 保留

BOOLEAN INTEGER BIT STRING OCTET STRING NULL OBJECT IDENTIFIER Object Descriptor EXTERNAL REAL ENUMERATED 保留

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

表2.1UNIVERSAL 16 UNIVERSAL 17 UNIVERSAL 18 UNIVERSAL 19 UNIVERSAL 20 UNIVERSAL 21 UNIVERSAL 22 UNIVERSAL 23 UNIVERSAL 24 UNIVERSAL 25 UNIVERSAL 26 UNIVERSAL 27 UNIVERSAL 28 以后

ASN.1定义的通用类型序列 集合 数字 0~9 和空格 可打印字符串 由 CCITT T.61 建议定义的字符集 由 CCITT T.100 和 T.101 建议定义的字符集 国际标准字符集 5(相当于 ASCII 码) 时间 时间 由 ISO 8824 定义的字符集 由 ISO 646 定义的字符集 通用字符集 为 ISO 8824 保留

SEQUENCE, SEQUENCE OF SET, SET OF NumericString PrintableString TeletexString VideotexString IA5String UTCTime GeneralizedTime GraphicString VisibleString GeneralString 保留

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

1. 简单类型 表2.1中除了UNIVERSAL16和UNIVERSAL17之外都是简单类型。 可以用这些类型构造新的数据类型。简单类型分为4组: 第一组包括:(这一组叫做基本类型) BOOLEAN布尔类型

INTEGER BIT STRING OCTET STRING REAL

整型0 个或多个比特组成的字符串类型 0个或多个字节组成的

字符串类型

ENUMERATED(枚举)

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

第二组包括 各种字符串类型;

标签为: ⑴ UNIVERSAL18~22; ⑵ UNIVERSAL25~27; 这些类型都可以看作是OCTET STRING类型的子集。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

第三组包括两个类型: OBJECT IDENTIFIER Object DescriptorUNIVERSAL6 称为对象标识符 UNIVERSAL7 称为对象描述符

对象类型泛指网络中传输的任何信息对象,例如标准 文档、抽象语法和传输语法、数据结构和管理对象等都 可以看成信息对象。 OBJECT IDENTIFIER类型的值是一个对象标识符,由一 个整数序列组成,它惟一地标识一个对象。比如, internet OBJECT IDENTIFIER∷=1.3.6.1 或 {iso⑴ org⑶ dod⑹ 1} Object Descriptor: 描述信息对象的语义

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

第四组包含4种类型 NULL:是空类型,它没有值,只占用结构中的一个位置, 该位置可能出现或不出现数据; EXTERNAL:是外部类型,即标准之外的文档定义的类型; UTCTime:时间类型;

GeneralizedTime:时间的类型。 注:两个时间类型的区别是表示时间的形式不同。

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

2. 构造类型 构造类型有序列和集合两种:UNIVERSAL16~17 序列类型 ⑴ SEQUENCE: 每个元素的类型不相同 ⑵ SEQUENCE OF: 每个元素的类型都相同

集合类型 ⑴ SET: 每个元素的类型不相同 ⑵ SET OF: 每个元素的类型都相同 序列和集合的区别是前者的元素是有序的,而后者是无序 的。比如:{A,B,C,D} 与 {A,C,D,B}

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

类型定义举例 一、字符串类型定义举例:

LanWorkstationSerialNumbers::= OCTET STRING(SIZE(32)) LanSegment::=SET OF LanWorkstationSerialNumbers MacAddresses::=OCTET STRING(SIZE(6))

EthernetNetworks::= SET OF MacAddresses name VisibleString ::= “John” ::= ‘01100001101’B faxMessage BIT STRING

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

二、整数型与布尔型

Number ::= INTEGERabcd Number ::= 696 Married ::= BOOLEAN tom Married ::= true三、对象标识符

internet OBJECT IDENTIFIER ::={ iso(1) org(3)dod(6) 1 }

第2章抽象语法表示ASN.1,计算机网络管理课件第二章!

四、枚举型类型的定义 Week ::=ENUMERATED

{ MondayTuesday Thursday Friday

(1),(2), (4), (5),

Wednesday (3),

SaturdaySunday

(6),(7) }

本文来源:https://www.bwwdw.com/article/dmh1.html

Top