安工大网管技术第二章PPT课件.ppt
《安工大网管技术第二章PPT课件.ppt》由会员分享,可在线阅读,更多相关《安工大网管技术第二章PPT课件.ppt(86页珍藏版)》请在三一文库上搜索。
1、第章 抽象语法表示ASN.1 第二章 抽象语法表示ASN.1 2.1 网络 数据表示 ? 2.2 ASN.1的基本概念 2.3 基本编码规则 2.4 ASN.1宏定义 第章 抽象语法表示ASN.1 1.网络系统的发展,怎么进行 异种 (异构) ?信息间的通信? 2.为什么用ASN.1?现有的数据结构表达方 式不可以吗? 3.传输语法与BER. 第章 抽象语法表示ASN.1 2.1 网络数据表示 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 体现什么思想? 和SNMP协议、数据类型是什么关系? 第章 抽象语法表示ASN.1 ASN.1描述了一种对数据进行表示、编 码、传输和
2、解码的数据格式。它提供了 一整套正规的格式用于描述对象的结构 ,而不管语言上如何执行及这些数据的 具体指代,也不用去管到底是什么样的 应用程序。 ASN.1是什么? 第章 抽象语法表示ASN.1 在任何需要以数字方式发送信息的地方, ASN.1 都可以发送各种形式的信息(声频、 视频、数据等等)。 ASN.1 和特定的 ASN.1 编码规则推进了结 构化数据的传输,尤其是网络中应用程序之 间的结构化数据传输,它以一种独立于计算 机架构和语言的方式来描述数据结构。 第章 抽象语法表示ASN.1 ASN.1 取得成功的一个主要原因是它与几 个标准化编码规则相关,如基本编码规则( BER) -X.2
3、09 、规范编码规则(CER)、 识别名编码规则(DER)、压缩编码规则( PER)和 XER 编码规则(XER)。 这些编码规则描述了如何对 ASN.1 中定义 的数值进行编码,以便用于传输,而不管计 算机、编程语言或它在应用程序中如何表示 等因素。 第章 抽象语法表示ASN.1 1.在互相通信的端系统中至少有一个应用实体和一个 表示实体。 2.把抽象数据变换成比特串的编码规则叫做传输语法 。 如图2.1所示。 网络数据表示 第章 抽象语法表示ASN.1 图2.1 关于信息表示的通信系统模型 第章 抽象语法表示ASN.1 name value Get-request 报文?协议? ASN.1
4、 编码? V 01 03 06 01 02 01 01 01 00 L 09 T OBJECT IDENTIFIER T NULL L 00 L 01 T SEQUENCE? L 0C L 0E L 04 T INTEGER L 01 request-iderror-statuserror-indexvariable-bindings T INTEGER V 05 AE 56 02 V 00 T SEQUENCE OF? T INTEGER V 00 VarBind T A0 L 1D GetRequest -PDU request-ID 1. 3. 6. 1. 2. 1. 7. 1. 0 G
5、etRequest-PDU 和七层协议的关系? 第章 抽象语法表示ASN.1 ASN.1表示数据例子 例如:数据类型特点? Report := SEQUENCE author OCTET STRING, title OCTET STRING, body OCTET STRING, biblio Bibliography 第章 抽象语法表示ASN.1 在这个例子中,“Report“是由名字类型的信息组成的, 而SEQUENCE表示消息是许多数据单元构成的,前三个 数据单元的类型是OCTET STRING,而最后一个数据类 型则下面的ASN.1语法表示它的意义: Bibliography := S
6、EQUENCE author OCTET STRING title OCTET STRING publisher OCTET STRING year OCTET STRING 第章 抽象语法表示ASN.1 2.2 ASN.1的基本概念 ASN.1文本的书写规则,这些规则叫做文本约定: (1)书写的布局是无效的,多个空格和空行等效于一个空格 ; (2) 用于表示值和字段的标识符、类型指针(类型名)和模块 名由大小写字母、数字和短线组成; 第章 抽象语法表示ASN.1 (3) 标识符以小写字母开头; (4) 类型指针和模块名以大写字母开头; (5) ASN.1定义的内部类型全部用大写字母表示; (
7、6) 关键字全部用大写字母表示; (7) 注释以一对短线(- -)开始,以一对短线或行尾结束。 ASN.1的特点? 第章 抽象语法表示ASN.1 2.2.1 抽象数据类型 在ASN.1中,每一个数据类型都有一个标签(Tag)?,标 签有类型和值(见表2.1),数据类型是由标签的类型和值惟一 决定的,这种机制在数据编码时有用。标签的类型分为以下4 种: 通用标签 应用标签 上下文专用标签 私有标签 第章 抽象语法表示ASN.1 ASN.1定义的数据类型有20多种,标签类型都是 UNIVERSAL,如表2.1所示。这些数据类型可分为4大类。 简单类型(?) 构造类型 标签类型 其他类型 (CHOI
8、CE、ANY) 第章 抽象语法表示ASN.1 表2.1 ASN.1定义的通用类型 ? 第章 抽象语法表示ASN.1 表2.1 ASN.1定义的通用类型 ? 第章 抽象语法表示ASN.1 第一组BOOLEAN、INTEGER、BIT STRING、OCTET STRING、 REAL、ENUMERATED. 枚举类型的值只是用整数表示的一个符号,而不具有整数的性 质。下面是定义枚举类型的例子: EthernetAdapterStatus:=ENUMERATEDnormal(0),degraded(1 ), offline(2),failed(3) 1. 简单类型 第章 抽象语法表示ASN.1 第
9、二组包括各种字符串类型,标签为UNIVERSAL 1822 和UNIVERSAL 2527(表示字符类型 为何如此多的类型?) 第三组包括OBJECT IDENTIFIER和Object Descriptor两种 类型。 第四组包含4种类型。NULL是空类型,EXTERNAL是外部 类型,UTCTime和GeneralizedTime是两种有关时间的类型,其 区别是表示时间的形式不同。 例如 20000721182053.7是GeneralizedTime类型的一个值,表 示2000年7月21日,当地时间18点20分53.7秒。 20000721182053.7Z表示同样的时间,但是加了符号Z
10、,则表示 UTC时间。 第章 抽象语法表示ASN.1 2. 构造类型 构造类型有序列和集合两种,分别用SEQUENCE和SEQUENCE OF表示不同类型和相同类型元素的序列,分别用SET和SET OF 表示不同类型和相同类型元素的集合。 他们的区别是什么? 第章 抽象语法表示ASN.1 下面是定义序列类型的例子: EthernetCollisionsCounter:=SEQUENCE highValue INTEGER, lowValue INTEGER TokenRingTokensLost:=SEQUENCE highValue INTRGER, lowValue INTEGER Lan
11、SimpleCounterLimits:=SEQUENCE ethernetCounter1 COMPONENTS OF EthernetCollisionsCounter, tokenRingCounter1 COMPONENTS OF TokenRingTokensLost 第章 抽象语法表示ASN.1 下面是定义集合类型的例子: LanWorkstationSerialNumbers:=OCTET STRING(SIZE(32) LanSegment:=SET OF LanWorkstationSerialNumbers MacAddresses:=OCTET STRING(SIZE(6
12、) EthernetNetworks:=SET OF MacAddresses TokenRingNetworks:=SET OF LanSegment LanNetwork:=SET etherNet 0 IMPLICIT EthernetNetworks, tokenNet 1 IMPLICIT TokenRingNetworks 第章 抽象语法表示ASN.1 3. 标签类型 Exuniv:=UNIVERSAL 2 INTEGER Exappl:=APPLICATION 0 INTEGER Expriv:=PRIVATE 1 INTEGER 标签由一个 标签类 和 一个 标签号 组成。 指
13、应用或用户加在某个类型上的标签。加上一个标签后 就是一个新的类型。标签类型作用? 例如集合中有3个同样类型的元素,一个指本人的名字,一个 指父亲的名字,另一个指母亲的名字,分别为其指定不同的 上下文专用标签1、2和3以示区别,参见下例: 第章 抽象语法表示ASN.1 Parentage:=SET SubjectName1 IMPLICIT IA5String, MotherName 2 IMPLICIT IA5String OPTIONAL, FatherName 3 IMPLICIT IA5String OPTIONAL 在编码中注意: Expriv:=PRIVATE 1 IMPLICIT
14、INTEGER Expriv:=PRIVATE 1 (EXPLICIT) INTEGER 新老标签编码? 第章 抽象语法表示ASN.1 4. 其他类型(他们类型的作用?) CHOICE和ANY是两个没有标签的类型, 下面是定义CHOICE类型的例子: EthernetAdapterNumber:=CHOICENULL, OCTET STRING 第章 抽象语法表示ASN.1 ANY类型表示任意类型的任意值 例1,我们可以定义 SoftwareVersion:=ANY 例2,TextBook:=SEQUENCE author IA5String, reference ANY 第章 抽象语法表示A
15、SN.1 实例 author “sfssfs”, reference IA5String “42342sf” author “sfssfs”, reference INTEGER 1988 第章 抽象语法表示ASN.1 2.2.2 子类型 子类型是由限制父类型的值集合而导出的类型,因此子类型的值集合是父 类型的子集。子类型还可以再产生子类型。(面向对象) 第章 抽象语法表示ASN.1 1. 单个值 这种方法就是列出子类型可取的各个值。例如,我们可以 定义小素数为整数类型的子集: SmallPrime:=INTEGER(2|3|5|7|11|13|15|17|19|23|29) 另外,如果定义M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安工大 网管 技术 第二 PPT 课件
链接地址:https://www.31doc.com/p-2236025.html