欢迎来到天天文库
浏览记录
ID:56806278
大小:668.00 KB
页数:86页
时间:2020-06-28
《安工大网管技术第二章PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章抽象语法表示ASN.12.1网络数据表示?2.2ASN.1的基本概念2.3基本编码规则2.4ASN.1宏定义1.网络系统的发展,怎么进行异种(异构)?信息间的通信?2.为什么用ASN.1?现有的数据结构表达方式不可以吗?3.传输语法与BER.2.1网络数据表示____________________体现什么思想?和SNMP协议、数据类型是什么关系?ASN.1描述了一种对数据进行表示、编码、传输和解码的数据格式。它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,也不用去管到底是什么
2、样的应用程序。ASN.1是什么?在任何需要以数字方式发送信息的地方,ASN.1都可以发送各种形式的信息(声频、视频、数据等等)。ASN.1和特定的ASN.1编码规则推进了结构化数据的传输,尤其是网络中应用程序之间的结构化数据传输,它以一种独立于计算机架构和语言的方式来描述数据结构。ASN.1取得成功的一个主要原因是它与几个标准化编码规则相关,如基本编码规则(BER)-X.209、规范编码规则(CER)、识别名编码规则(DER)、压缩编码规则(PER)和XER编码规则(XER)。这些编码规则描述了如何对ASN.1中定义的数
3、值进行编码,以便用于传输,而不管计算机、编程语言或它在应用程序中如何表示等因素。1.在互相通信的端系统中至少有一个应用实体和一个表示实体。2.把抽象数据变换成比特串的编码规则叫做传输语法。如图2.1所示。网络数据表示图2.1关于信息表示的通信系统模型namevalueGet-request报文?协议?ASN.1编码?V010306010201010100L09TOBJECTIDENTIFIERTNULLL00L01TSEQUENCE?L0CL0EL04TINTEGERL01request-iderror-statuser
4、ror-indexvariable-bindingsTINTEGERV05AE5602V00TSEQUENCEOF?TINTEGERV00VarBindTA0L1DGetRequest-PDUrequest-ID1.3.6.1.2.1.7.1.0GetRequest-PDU和七层协议的关系?ASN.1表示数据例子例如:数据类型特点?Report::=SEQUENCE{authorOCTETSTRING,titleOCTETSTRING,bodyOCTETSTRING,biblioBibliography}在这个例子中,"
5、Report"是由名字类型的信息组成的,而SEQUENCE表示消息是许多数据单元构成的,前三个数据单元的类型是OCTETSTRING,而最后一个数据类型则下面的ASN.1语法表示它的意义:Bibliography::=SEQUENCE{authorOCTETSTRINGtitleOCTETSTRINGpublisherOCTETSTRINGyearOCTETSTRING}2.2ASN.1的基本概念ASN.1文本的书写规则,这些规则叫做文本约定:(1)书写的布局是无效的,多个空格和空行等效于一个空格;(2)用于表示值和字段
6、的标识符、类型指针(类型名)和模块名由大小写字母、数字和短线组成;(3)标识符以小写字母开头;(4)类型指针和模块名以大写字母开头;(5)ASN.1定义的内部类型全部用大写字母表示;(6)关键字全部用大写字母表示;(7)注释以一对短线(--)开始,以一对短线或行尾结束。ASN.1的特点?2.2.1抽象数据类型在ASN.1中,每一个数据类型都有一个标签(Tag)?,标签有类型和值(见表2.1),数据类型是由标签的类型和值惟一决定的,这种机制在数据编码时有用。标签的类型分为以下4种:●通用标签●应用标签●上下文专用标签●私有
7、标签ASN.1定义的数据类型有20多种,标签类型都是UNIVERSAL,如表2.1所示。这些数据类型可分为4大类。●简单类型(?)●构造类型●标签类型●其他类型(CHOICE、ANY)表2.1ASN.1定义的通用类型?表2.1ASN.1定义的通用类型?第一组BOOLEAN、INTEGER、BITSTRING、OCTETSTRING、REAL、ENUMERATED.枚举类型的值只是用整数表示的一个符号,而不具有整数的性质。下面是定义枚举类型的例子:EthernetAdapterStatus::=ENUMERATED{nor
8、mal(0),degraded(1),offline(2),failed(3)}1.简单类型第二组包括各种字符串类型,标签为UNIVERSAL18~22和UNIVERSAL25~27(表示字符类型为何如此多的类型?)第三组包括OBJECTIDENTIFIER和ObjectDescriptor两种类型。第四组包含4种类
此文档下载收益归作者所有