第二章 抽象语法表示ASN

合集下载

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

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

第2章 抽象语法表示ASN.1 1. 简单类型 表2.1中除了UNIVERSAL 16和UNIVERSAL 17之外都是简 单类型。 这些类型的共同特点是可以直接定义它们的值的集合, 可以把这些类型作为原子类型构造新的数据类型。简单类型还 可以分为4组。第一组包括BOOLEAN、INTEGER、BIT STRING、OCTET STRING、REAL和ENUMERATED等。这一 组可以叫做基本类型,它们的值已经在表2.1中列出了。需要说 明的是,实数可以表示为科学计数法:
第2章 抽象语法表示ASN.1
(3) 标识符以小写字母开头; (4) 类型指针和模块名以大写字母开头; (5) ASN.1定义的内部类型全部用大写字母表示; (6) 关键字全部用大写字母表示; (7) 注释以一对短线(- -)开始,以一对短线或行尾结束。
第2章 抽象语法表示ASN.1 2.2.1 抽象数据类型
第2章 抽象语法表示ASN.1
SequenceType::=SEQUENCE{ElementTypeList}| SEQUENCE {} ElementTypeList::= ElementType | ElementTypeList, ElementType ElementType::= NamedType NamedType OPTIONAL NamedType DEFAULT Value| COMPONENTS OF Type | |
第2章 抽象语法表示ASN.1 第四组包含4种类型。NULL是空类型,它没有值,只占用 结构中的一个位置,该位置可能出现或不出现数据。 EXTERNAL是外部类型,即标准之外的文档定义的类型。 UTCTime和GeneralizedTime是两种有关时间的类型,其区别是 表示时间的形式不同。前者(世界通用时)分别用两位数字表示年、 月和日(即YYMMDD),然后是时、分和秒(即hhmmss),最后可 以说明是否为本地时间;而后者用4位数字表示年,用两位数字 表示月和日,最后也可以说明是否为本地时间。例如 20000721182053.7是GeneralizedTime类型的一个值,表示2000年 7月21日,当地时间18点20分53.7秒。而值20000721182053.7Z表 示同样的时间,但是加了符号Z,则表示UTC时间。如果写为 20000721182053.7+0800则除了表示同样的当地时间外,还说明 了加8小时可以得到UTC时间。

ASN.1笔记——语法规则与类型概述

ASN.1笔记——语法规则与类型概述

ASN.1笔记——语法规则与类型概述⼀.简介ASN.1(Abstract Syntax Notation dotone),抽象语法标记1。

是定义抽象数据类型形式的标准,是⽤于描述数据表⽰、表⽰、传输、编码的记法。

ASN.1只包含信息结构,不处理具体业务数据,它不是⼀个编程语⾔。

ASN.1没有限定编码⽅法,各种ASN.1编码规则提供了由ASN.1描述其抽象句法的数据的值的传送语法(具体表达),常见的编码规则有:基本编码规则(BER),规范编码规则(CER,CanonicalEncoding Rules)、唯⼀编码规则(DER,DistinguishedEncoding Rules)、压缩编码规则(PER,PackedEncoding Rules)和XML编码规则(XER,XMLEncoding Rules)。

这些编码规则描述了如何将定义在ASN.1中的值译成适合传输的电码。

ASN.1在OSI的ISO8824/ITU X.208(说明语法)和ISO8825/ITU X.209(说明基本编码规则)规范。

⼏个概念:(1)实际语法指诸如C、ObjectiveCaml等这样实际编程语⾔;(2)抽象语法(AbstractSyntax)指ASN.1,是协议采⽤ASN.1规范描述的描述⽂本。

描绘了与任何表⽰数据的编码技术⽆关的通⽤数据结构。

抽象语法使得⼈们能够定义数据类型,并指明这些类型的值。

抽象语法只描述数据的结构形式,与具体的编码格式⽆关,同时也不涉及这些数据结构在计算机内如何存放。

(3)传输语法(TransferSyntax)指表⽰层交换数据的表⽰⽅法,是实际通讯系统间的码流。

当数据在两个表⽰层实体之间传输时,这些数据的实际⽐特模式表⽰⽅法就是传送语法。

(4)编码指将抽象语⾔法转换成实际通讯系统间⽐特流;(5)编码规则将抽象语⾔法转换成实际通讯系统间⽐特流所遵循的语法规则;⼆.相关背景知识1.为了顺利完成应⽤⾳的通讯,需使⽤以下概念:(1)抽象语法:定义了数据的常⽤结构(包括不同的数据类型),并且建⽴了和应⽤层对话所⽤的构架。

抽象语法表示ASN.1填空题

抽象语法表示ASN.1填空题

第二章抽象语法表示ASN.1[填空选择题]1:一种形式语言,提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用层协议数据单元的结构。

P232、表示层的功能:提供统一的网络数据表示。

P235、抽象语法用于定义应用数据,它类似程序设计语言定义的抽象数据类型。

P23二、ASN.1的基本概念P24-311、作为一种形式语言,ASN.1有严格的BNF定义。

P24P24●通用标签UNIVERSAL:由标准定义,适用于任何应用;●应用标签APPLICATION:是由某个具体应用定义的类型;●上下文专用标签CONTEXT SPECIFIC:这种标签在文本的一定范围(例如,一个结构struct)中适用;●私有标签PRIVATE:用户定义的标签。

4型。

这些数据类型的标签值均为通用标签Universal,有20多种。

P24●由单一成分构成的原子类型;ASN.1定义的数据类型中除了序列SEQUENCE和集合SET两种类型不属于简单类型外,其他10多种均属于简单类型。

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

以下是ASN.1标签和类型关系图:6、枚举类型ENUMERATED:是一个整数的表,每一个整数有一个名字。

枚举类型与整数类型区别在于整数类型可以进行算术运算而枚举类型不能进行任何算术运算,也即枚举类型的值只是用证书表示的一个符号,而不具有整数的性质。

P267、对象类型OBJECT IDENTIFIER:泛指网络中传输的任何信息对象,其值是一个对象标识符,由一个整数序列组成,它惟一地标识一个对象。

P268、NULL类型:是空类型、没有值、只占用结构的一个位置。

P269、时间类型:有GeneralizedTime类型和UTC类型两种:P261)GeneralizedTime时间类型格式:如值20000721182053.7,表示2007年7月21日,当地时间18点20分53.7秒;2)UTC时间类型格式:如值20000721182053.7Z,表示同样的时间。

ASN.1编码规则详解

ASN.1编码规则详解
Figure 1-3 抽象语法与传输语法 其实在早期的一些标准如 ASCII,它们既定义了抽象语法(比如字母 A),又定义了传输语 法(0x41)。ASN.1 分离了这两种概念,以便可以选择一种适合要求的编解码方法。系统可以选 择编码方法以使信息传送时效率很高,或者具有很高的可靠性,等等。另一方面,定义好的编码 规则也会很大地节约应用协议开发人员的时间,特别是当牵涉到的数据结构很复杂的时候。当使 用 ASN.1 的项目较多时,这种节约更加明显,因为编解码程序可以只开发一次但很多应用程序都 可以用它。 我们可以看出,可以将通信编解码设计与开发工作转嫁给 ASN.1 编译器完成。从而不必在 手工编写编解码器。一方面大量减少了缺陷引入,另一方面更是大大加快了系统开发速度(不用 编写编解码器,也不同详细调试,维护代价也很小)。
ITU 有 5 个常设组织,其中一个为 CCITT(Consultative Committee on International Telephony and Telegraphy)负责电信网络,如有线传输语音,数据和电视。在 1992 年 ITU 重 组后,CCITT 成为了 ITU-T(ITU-Telecommunication Standardization Sector)。
1989 年 CCITT 发布了两个文档 X.208(ASN.1)和 X.209(BER)来替代 X.409 建议。其中 很多新特性是由 JTC 1 引入的:subtypes, floats (REAL type), pointers (ANY DEFINED BY type) and the default tagging modes (IMPLICIT TAGS and EXPLICIT TAGS)。他们这套 X.200 系列 称为“General OSI Infrastructure”,表示 ASN.1 成为应用层一种独立的描述语言。

抽象语法表示asn.1填空题

抽象语法表示asn.1填空题

[填空选择题]P231、(抽象语法表示):一种形式语言,提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用层协议数据单元的结构。

P232、表示层的功能:提供统一的网络数据表示。

P233、表示实体定义了应用数据的抽象语法。

4、传输语法:把抽象数据变换成比特串的编码规则。

P235、抽象语法用于定义应用数据,它类似程序设计语言定义的抽象数据类型。

P23二、的基本概念P24-311、作为一种形式语言,有严格的BNF定义。

P242、在中,每一个数据类型都有一个标签(tag),标签有类型和值。

P243、标签的类型分为4种,分别是:通用标签、应用标签、上下文专用标签和私有标签。

P24通用标签UNIVERSAL:由标准定义,适用于任何应用;应用标签APPLICATION:是由某个具体应用定义的类型;上下文专用标签CONTEXT SPECIFIC:这种标签在文本的一定范围(例如,一个结构struct)中适用;私有标签PRIVATE:用户定义的标签。

4、定义的数据类型可分为4类:分别为简单类型、构造类型、标签类型、其他类型。

这些数据类型的标签值均为通用标签Universal,有20多种。

P24●简单类型:由单一成分构成的原子类型;定义的数据类型中除了序列SEQUENCE和集合SET两种类型不属于简单类型外,其他10多种均属于简单类型。

P25●构造类型:由两种以上成分构成的构造类型,如序列SEQUENCE、集合SET类型。

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

以下是标签和类型关系图:6、枚举类型ENUMERATED:是一个整数的表,每一个整数有一个名字。

枚举类型与整数类型区别在于整数类型可以进行算术运算而枚举类型不能进行任何算术运算,也即枚举类型的值只是用证书表示的一个符号,而不具有整数的性质。

P267、对象类型OBJECT IDENTIFIER:泛指网络中传输的任何信息对象,其值是一个对象标识符,由一个整数序列组成,它惟一地标识一个对象。

计算机网络管理章节练习题

计算机网络管理章节练习题

计算机⽹络管理章节练习题第⼀章⽹络管理概论1.下列⽹络管理功能中属于⽹络控制功能的是( )07A.计费管理B.性能管理C.配置管理D.故障管理2.对⽹络通信的安全威胁中,对可⽤性的威胁属于( )07A.假冒B.篡改C.窃听D.中断3. SNMP属于的协议簇是()08A:TCP/IPB:IPX/SPXC:DECnetD:AppleTalk5.保存在管理信息库中的动态数据库⾥的以下信息是()(2分)08 A:⽹络连接的状态B:路由器的端⼝数C:吞吐率D:事件传感器6.不属于⽹络故障管理功能的是()(2分)08A:可⽤性B:检测和报警C:预测功能D:诊断功能7.下述各功能中,属于性能管理的范畴的功能是( )10A.⽹络规划和资源管理功能B.⼯作负载监视功能C.运⾏⽇志控制功能D.测试管理功能8.在Internet⽹络管理的体系结构中,SNMP协议定义在( )A.⽹络接⼝层B.⽹际层C.传输层D.应⽤层9.在⽹络管理系统中,为了对⾮标准设备进⾏管理,通常使⽤哪个设备进⾏管理?( )10A.ManagerB.ProxyC.ProbeD.Monitor10.OSI系统管理中,管理信息的表⽰⽅式是( )A.由标量组成的表B.关系数据库C.对象数据库D.⽂件每个⽹络节点都包含⼀组与管理有关的软件,叫做_____。

⽹络安全中的威胁包括:篡改、伪造、中断和_____在Internet中,对⽹络、设备和主机的管理叫做⽹络管理,⽹络管理信息存储在_____。

⽹络管理功能可分为⽹络监视和_____两⼤部分,统称⽹络监控。

.对于不⽀持TCP/IP的设备,不能直接⽤SNMP进⾏管理,可以使⽤___ _____进⾏管理。

对⽹络监控有⽤的管理信息有静态、动态和统计信息,其中动态信息与⽹络中出现的事件和设备的________有关。

_ __是指修改设备参数或重新配置⽹络资源,以便改善⽹络的运⾏状态。

问答各种⽹络管理框架的共同特点是什么?⽹络性能管理中性能指标主要有哪些?并简述这些性能指标的主要含义。

自考计算机网络管理复习资料

自考计算机网络管理复习资料

计算机网络管理复习第一章网络管理概论1、网络管理基本概念跨平台网络管理与局域网管理区别:局域网管理相对简单,运行统一的操作系统,只要熟悉网络操作系统的管理功能和操作命令就可以管好一个局域网,对于异构型设备组成的、运行多种操作的互联网的管理就不那么简单了,需要跨平台的网络管理技术。

TCP/IP网络管理系统的发展和应用情况:TCP/IP网络(具有开放性)中的简单管理工具---------ping程序;用ping发送探测报文可以确定通信目标的联通性及传输时延;当网络互联规模大时这种方法不适合,一是ping返回信息少,无法获取被管理设备详细情况,二是ping程序对很多设备逐个测试检查,工作效率低,这时出现了用于TCP/IP网络管理标准----------简单网络管理协议SNMP,适用于任何支持TCP/IP的网络。

此时,国际标准化组织也推出了OSI系统管理标准CMIS/CMIP。

网络管理平台:网络管理标准的成熟,刺激了制造商的开发活动,近年来市场上陆续出现了符合国际标准的商用网络管理系统。

这些系统有的是主机厂家开发的通用网络管理系统开发软件,有的则是网络产品制造商推出的与硬件结合的网管工具,这些产品都可以称为网络管理平台。

网络管理的需求:有了统一的网络管理标准和适用的网络管理工具,还要及时采用新技术,需要有方便适用的网络配置工具,以便及时修改和优化网络配置,使网络更容易使用,提供多种多样的网络服务。

网络管理的目标:网络工作更加安全,网上传输信息更加保密,网络资源的访问要严加控制,防止计算机病毒和非法入侵者的破坏等。

2、网络管理系统体系结构网络管理系统层次结构及与OSI模型的关系:OSI/RM图:网络管理系统层次结构网络管理系统框架结构:管理功能分为管理站和代理两部分;为存储管理信息提供数据库支持;提供用户接口和用户视图功能;提供基本的管理操作;管理信息库和用户视图的功能:管理站:(功能:作用:)代理:网络中的其他结点在NME的控制下与管理站通信,交换管理信息,这些结点中的NME模块叫做代理模块。

网络管理复习题

网络管理复习题

网络管理复习题复习题选择题网络管理的核心功能是(B )。

A. 配置管理B. 故障管理C. 性能管理D. 安全管理目前,在网络设备中应用最广泛的网管协议是( B )。

A. CMIPB. SNMPC. TMND. TCP1.管理者和代理间的信息交换是通过(A)进行的。

A.PDUB.PollingC.HearbeatD.AC2.网络管理的要素包括(ABC)A.被管对象B.管理方法C.管理系统D.管理模块3.下列选项中不是网络管理内容的是(C)A.运行B.控制C.计费D.维护4.一个网络管理系统从逻辑上由管理者、管理代理、管理协议和(B)组成A.数据库B.管理信息库C.数据仓库D.信息系统5.管理代理是应用进程中负责完成管理者的指示,并反馈其所在设备的信息,如果是非标准设备应该使用(D)A.设备代理B.标准代理C.代理插件D.转换代理6.SNMP的四种操作中,(A)是由代理发给管理者的,且不需要管理者响应。

A.trapB.getC.get-nextD.set7.SMI包括三个部分,它们分别是(ABD)A.陷阱定义B.对象定义C.表定义D.模块定义8.mgmt节点的对象标识符是(C)A. 1.3.6.1B. 1.3.6.1.1C.1.3.6.1.2D. 1.3.6.1.1.39.为了实现表对象实例的唯一标识,SNMP定义了(AC)访问技术。

A.顺序B.链式C. 随机D.树型10.标量对象类型只有一个对象实例。

为了与表格对象实例标识符的约定保持一致,也为了区分对象的类型和对象实例,SNMP规定标量对象实例的标识符由其OID后加(A)来标识。

A. 0B. 1C. 2D.特殊字符11.(D)组包含实体物理接口的一般信息,包括配置信息和各接口中所发生的时间的统计信息,这个功能组是必须实现的。

A. ipB. systemC. address translationD. interfaces12.SNMP协议主要包括(ABD)能力A. getB. setC. ProxyD. trap13.SNMP v2既支持高度集中化的网络管理模式,又支持分布式的网络管理模式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章抽象语法表示ASN.1
抽象愈发表示ASN.1是一种形式语言
1.网络数据表示
●表示层的功能是提供统一的网络数据表示。

●在互联通信的端系统中至少有一个应用实体(FTP,TELNET,SNMP)和一个表示实体
(ASN.1)。

●应用实体:应用实体定义了应用数据的抽象语法;应用协议按照预先定义的抽象语法构
造协议数据单元,用于和对等系统的应用实体交换信息(FTP、TELNET,SNMP等)。

●表示实体:表示实体对应用层数据进行编码,变成二进制的比特串(ASN.1)。

2.ASN.1的基本概念
⑴抽象数据类型
●在ASN.1中,每一个数据类型都有一个标签(tag),标签有类型和值,数据类型是由标
签的类型和值唯一决定的。

●各种标签的用法
·通用标签:用关键字UNIVERSAL表示,带有这种标签的数据类型是由标准定义的,适用于任何应用。

·应用标签:用关键字APPLICATION表示,是由某个具体应用定义的类型。

·上下文专用标签:这种标签在本文的一定范围(例如,一个结构)中适用。

·私有标签:用关键字PRIVATE表示,这是用户定义的标签。

●数据类型:
·简单类型:由单一成分构成的原子类型。

·构造类型:由两种以上成分构成的构造类型。

·标签类型:由已知类型定义的新类型。

·其它类型:包括CHOICE和ANY两种类型。

●ASN.1定义的通用类型图 P25
●简单类型:
·第一组:BOOLEAN、INTEGER、BIT STRING、OCTET STRING、REAL和EMUNERATED等。

这一组可以叫做基本类型。

·对整数可以进行算数运算,但对枚举类型却不能进行任何算数运算。

·第二种包括各种字符串类型,标签为UNIVERSAL18-22和UNIVERSAL25-27,这些类型都可以看做是OCTET STRING类型的子集,它们都是采纳其它标准的类型。

·第三组包括OBJECT IDENTIFIER和Object Descriptor两种类型。

OBJECT IDENTIFIER类型的值是一个对象标识符,由一个整数序列组成,它唯一地标识一个对象。

对象描述符(Object Descriptor)则以人工可读的形式描述信息对象的语义。

·第四组包含四种类型。

NULL是空类型,它没有值,只占用结构中的一个位置,该位置可能出现或不出现数据。

EXTERNAL是外部类型,即标准之外的文档定义的类型。

UTCTime和GeneralizedTime是两种有关的时间的类型,其区别是表示时间的形式不同。

●构造类型:
构造类型有序列和集合两种,分别用SEQUENCE和SEQUENCE OF表示不同类型和相同类型元素的序列,分别用SET和SET OF表示不同类型和相同类型元素的集合。

具体分析只能见书。

●标签类型
·在通用类型的基础上加一个标签
·两种情况需要给一个现有的类型加标签,P27—28
●其他类型
CHOICE和ANY是两个没有标签的类型。

⑵子类型
●构造子类型的方法
·单个值:列出子类型可取的各个值。

·包含子类型:这里要用到关键字INCLUDES,说明定义的类型包含了已有类型的所有值。

·值区间:这种方法只能用于整数和实数类型,指出子类型可取值的区间。

·可用字符:这种方法只能用于字符串类型,限制可使用的字符集。

·限制大小:对五种类型数据限制其大小,限制比特串、字节串或字符串的长度,限制构成序列或集合的元素个数。

·内部子类型:可用于序列、集合和CHOICE类型。

⑶数据结构的例子。

P31—32
3.基本编码规则
⑴简单编码
·基本编码规则的结构,用TLV规则表示简单类型的方法。

图P32 详见P32—34
⑵字段扩充
·有两种字段需要扩充,一是当标签值大于30时类型字节需要扩充;二是当值部分大于一个字节的表示范围时长度字节需要扩充。

对标签值的扩充方法如下:我们用五位表示0-30的编码,当标签值大于等于31时这位置全一,作为转义符,实际的标签值编码表示在后续字节中。

后续字节的左边第一位表示是否为最后一个扩充字节,只有最后一个扩充字节的左边第一位置0,其余扩充字节的左边第一位置1.这样每个扩充字节只用了7位表示标签值的编码可表示为下面形式:
X X X0000
…………. 表示标签值0-30
X X X11110
X X X11111 用后续字节表示标签值
对长度字节的扩充方法是:小于127的数用长度字节的右边7位表示,最左边的一位置
0.大于等于127的数用后续若干字节表示,原来的长度字节第一位置1,其余7位指明
后续用于表示长度的字节数。

见p34
4.ASN.1的宏定义
⑴模块定义
·<modulereference>DEFINITIONS::=
BEGIN
EXPORTS
IMPORTS
AssignmentList
END
其中的modulereference是模块名,可以跟随对应的对象标识符。

EXPORTS构造指明该模块可以出口的部分,而IMPORTS构造指明该模块需要引用的其它类型和值。

AssignmentList部分包含模块定义的所有类型、值和宏定义。

⑵宏表示
·<macroname>MACRO::=
BEGIN
TYPE NOTATION::=<new-type-syntax>
VALUE NOTATION::=< new-type-syntax>
<supporting-productions>
END
其中的macroname是宏名,必须全部大写。

宏定义由类型表示(TYPE NOTATION)、值表示(VALUE NOTATION)和支持产生式(supporting-productions)3部分组成,而最后一部分是任选的。

⑶宏定义的例子 P37—38
·当用一个具体的值代替宏定义中的变量或参数时就产生了宏实例,它表示一个实际的ASN.1类型。

相关文档
最新文档