第2章抽象语法表示ASN1
- 格式:ppt
- 大小:473.00 KB
- 文档页数:64
第二章抽象语法表示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类型的子集,它们都是采纳其它标准的类型。
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)抽象语法:定义了数据的常⽤结构(包括不同的数据类型),并且建⽴了和应⽤层对话所⽤的构架。
[填空选择题]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:泛指网络中传输的任何信息对象,其值是一个对象标识符,由一个整数序列组成,它惟一地标识一个对象。
asn1语法listASN.1(Abstract Syntax Notation One)是一种用于描述数据结构和编码规则的标准化语法,通常用于网络通信和数据交换领域。
ASN.1语法中有一些常见的数据类型,其中包括列表(List)。
ASN.1中的列表可以用来表示一组相同或不同类型的数据元素。
以下是ASN.1语法中列表的一些示例:1.SEQUENCE OF:表示一个序列,其中包含一系列数据元素。
每个数据元素可以是相同类型或不同类型的。
```asn1StudentList::=SEQUENCE OF Student```上述示例中,StudentList表示一个学生对象的列表,其中每个学生是一个Student类型的数据元素。
2.SET OF:类似于SEQUENCE OF,但是不要求数据元素的顺序。
它表示一个集合,其中包含一系列数据元素。
```asn1EmployeeSet::=SET OF Employee```EmployeeSet表示一个雇员对象的集合,其中每个雇员是一个Employee类型的数据元素。
3.CHOICE:CHOICE数据类型表示在列表中选择一个特定类型的数据元素。
```asn1PaymentMethod::=CHOICE{creditCard[0]CreditCard,bankTransfer[1]BankTransfer,cash[2]NULL}```PaymentMethod表示支付方式,可以是CreditCard、BankTransfer、或Cash中的一个。
ASN.1语法允许你根据需要定义不同类型的列表,以便在通信中有效地传输和解释数据。
这只是ASN.1语法中列表的一些示例,你可以根据具体需求定义更多的列表类型。
序号主题内容1 引言ASN.1(Abstract Syntax Notation One)是一种用于描述数据结构和编码规则的标准化语言,广泛应用于网络通信、安全认证、电子商务等领域。
本文将介绍ASN.1的基本语法和编码规则,帮助读者更好地理解和应用ASN.1。
2 ASN.1基本语法ASN.1定义了一种抽象语法用于描述数据结构,包括类型定义和值约束。
ASN.1的基本语法包括以下几个关键点:2.1 类型定义ASN.1通过类型定义来描述数据结构,包括基本类型(如整数、字符串等)、复合类型(如结构体、序列等)和引用类型(如引用其他类型)。
每种类型都有自己的标识符和约束条件。
2.2 值约束ASN.1可以通过值约束来限定数据的取值范围,如最小值、最大值、长度等。
这些约束条件可以在类型定义中进行声明,确保数据的合法性和完整性。
2.3 模块化ASN.1支持模块化的数据描述,可以将相关的类型定义和数值约束组织在一个模块中,便于管理和复用。
3 ASN.1编码规则ASN.1定义了一种通用的编码规则将数据结构转换为二进制格式进行传输,包括基本编码规则(BER)、压缩编码规则(CER)、XML编码规则(XER)等。
下面将介绍常用的BER编码规则:3.1 BER编码规则BER是ASN.1最基本的编码规则,它采用TLV (Type Length Value)的格式对数据进行编码,包括标签、长度和数值三个部分。
标签用来标识数据的类型,长度用来表示数值的长度,数值则是具体的数据内容。
3.2 编码过程在进行BER编码时,首先需要根据数据结构的类型定义和值约束来确定每个数据元素的标签和长度,然后将数值部分按照约定的规则进行编码,最后将标签、长度和数值按照TLV格式进行组合得到最终的二进制数据。
3.3 应用实例BER编码规则广泛应用于网络协议中,如SNMP、LDAP等,可以有效地将复杂的数据结构进行编码和解码,实现数据的可靠传输和解析。
ASN.1语法简介ASN.1 语法简介一、介绍Abstract Syntax Notation One (ASN.1)是一种独立于机器的描述语言,用于描述在网络上传递的消息标准包括: ISO 8824-1 | ITU-T X.680: Specification of basic notation,ISO 8824-2 | ITU-T X.681: Information object specification, ISO 8824-3 | ITU-T X.682: Constraint specification,ISO 8824-4 | ITU-T X.683: Parameterization of ASN.1ASN.1特别适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构ASN.1 可分为两个部分语法规则:从数据类型、内容顺序或结构等方面来描述消息的内容编码规则:如何编码实际消息中的数据特点:表达简单和复杂类型的能力可对类型根据大小及(或)数值进行约束也可以施加更强的约束字段可标记为 OPTIONAL大写开头表示类型名,小写开头的表示变量名/字段名二、ASN.1术语1.抽象语法(Abstract Syntax)描述通用数据结构允许定义数据类型和值2.数据类型(Data Type)值的集合,可以是简单类型或结构类型可以对数据类型命名3.编码(Encoding)用于表示数据值的字节序列4.编码规则(Encoding Rules)给出从一种语法到另一种的映射方法5.传输语法(Transfer Syntax)位模式(Bits pattern)描述数据是在传输时是如何表示的三、ASN.1模块定义模块(module):ASN.1规范中的基本构造块模块定义格式如下:DEFINITIONS ::=BEGINEXPORTSIMPORTSAssignmentListEND其中:EXPORTS 这个模块中的定义可能被其他模块引入IMPORTS 定义由其他模块引入AssignmentList 这个模块中将定义类型分配、值分配及宏定义四、ASN.1简单类型1. 基本类型:BOOLEAN,INTEGER,ENUMERATED,REAL,BIT STRING,OCTET STRING2. 字符串类型(ISO10646-1的子集)NumericString (0-9,)PrintableString (0-9,A-Z,a-z,,VisibleStringGraphicStringUTF8StringIA5String (ASCII)3. 对象类型OBJECT IDENTIFIERObjectDescriptor 对象标识符:一个任意长的非负整数序列,用于标记对象(如算法等)4. 其它类型NULL 空值UTCTimeyymmdd hhmm[ss]GeneralizedTimeyyyymmdd hhmm[ss]强制从2050年开始五、ASN.1类型定义语法: ::=示例:Counter ::= INTEGERIpAddress ::= OCTET STRINGMonths ::= ENUMERATED {january (1), february (2), march (3),april (4), may (5), june (6),july (7), august (8), september (9),october (10), november (11), december(12)}六、ASN.1子类型定义语法: ::= ()示例:Counter ::= INTEGER (0..65536)IpAddress ::= OCTET STRING ( SIZE(4) )Spring ::= Months (march | april | may)Summer ::= Months (june | july | august ) SmallPrime ::= INTEGER ( 2 | 3 | 5 | 7 | 11 ) ExportKey ::= BIT STRING ( SIZE(40) )七、ASN.1赋值语法: ::=示例:ipInReceives Counter ::= 2450ipRouteMask IpAddress ::= ‘FFFFFF00’H currentMonth Months ::= julycurrentTime UTCTime ::= “030708094018+0800”name VisibleString ::= “John”married BOOLEAN ::= TRUEfaxMessage BIT STRING ::= ‘01100001101’Binternet OBJECT IDENTIFIER ::= { iso(1) org(3) dod(6) 1 } private OBJECT IDENTIFIER ::= { internet 4 }八、ASN.1结构类型SEQUENCE 对应于C语言中的struct类型定义UserAccount ::= SEQUENCE {username PrintableString,password PrintableString,accountNr INTEGER}赋值myAccount UserAccount ::= {username “tly”,password “guesswhat”,accountNr 2345}SEQUENCE OF 对应于C语言中的数组类型定义MemberCountries ::= SEQUENCE OF PrintableString AccountRegistry ::= SEQUENCE OF UserAccount赋值eastAsia MemberCountries ::= {“China”, “Japan”, “Korean”, “DPR”}SET 类似于SEQUENCE,但不考虑分量顺序类型定义UserAccount ::= SET {username [0] PrintableString,password [1] PrintableString,accountNr [2] INTEGER}赋值myAccount UserAccount ::= {accountNr 2345,username “tly”,password “guesswhat”}SET OF 集合类型,每一分量类型相同,不考虑顺序类型定义Keywords ::= SET OF PrintableString赋值someASN1Keywords Keywords ::= { “INTEGER”, “BOOLEAN”, “REAL”}。
第二章抽象语法表示ASN.1[填空选择题]一、网络数据表示P231、ASN.1(抽象语法表示):一种形式语言,提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用层协议数据单元的结构。
P232、表示层的功能:提供统一的网络数据表示。
P233、表示实体定义了应用数据的抽象语法。
4、传输语法:把抽象数据变换成比特串的编码规则。
P235、抽象语法用于定义应用数据,它类似程序设计语言定义的抽象数据类型。
P23二、A SN.1的基本概念P24-311、作为一种形式语言,ASN.1有严格的BNF定义。
P243、ASN.1标签的类型分为4种,分别是:通用标签、应用标签、上下文专用标签和私有标签。
P24通用标签UNIVERSAL :由标准定义,适用于任何应用;应用标签APPLICATION :是由某个具体应用定义的类型;上下文专用标签CONTEXT SPECIFIC :这种标签在文本的一定范围(例如,一个结构struct )中适用;私有标签PRIVATE :用户定义的标签。
4、ASN.1_定义的数据类型可分为4类:分别为简单类型、构造类型、标签类型、其他类型。
这些数据类型的标签值均为通用标签Universal ,有20多种。
P24•简单类型:由单一成分构成的原子类型;ASN.1定义的数据类型中除了序列于简单类型。
P25•标签类型:由已知类型定义的新类型;•其他类型:包括CHOICE和ANY两种类型。
以下是ASN.1标签和类型关系图:6、枚举类型ENUMERATED :是一个整数的表,每一个整数有一个名字。
枚举类型与整数类型区别在于整数类型可以进行算术运算而枚举类型不能进行任何算术运算,也即枚举类型的值只是用证书表示的一个符号,而不具有整数的性质。
P267、对象类型OBJECT IDENTIFIER :泛指网络中传输的任何信息对象,其值是一个对象标识符,由一个整数序列组成,它惟一地标识一个对象。
P268、NULL类型:是空类型、没有值、只占用结构的一个位置。
ASN.1是什么ASN.1抽象语法标记(Abstract Syntax Notation One) ASN.1是一种 ISO/ITU-T 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。
它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,也不用去管到底是什么样的应用程序。
本人在工作中涉及到ASN.1结构的场景证书的公、私钥文件,做数据加密、签名、信封产生的数据都是ASN.1结构。
解析ASN.1下面是一段简单的解析ASN.1结构,获取ASN.1结构的元素类型和值的代码。
如有图片中三种ASN.1结构的数据,要判断是其中的哪一种格式:/***获取sequence下第一个元素,并判断元素类型*@param data*@return*/private static String read_Asn1Data(byte[] data) {ByteArrayInputStream bis=null;ASN1InputStream ais=null;String flag="";try {bis=new ByteArrayInputStream(data);ais=new ASN1InputStream(bis);DERSequence sequence= (DERSequence) ais.readObject();DEREncodable derEnd =sequence.getObjectAt(0);DERObject readObject=derEnd.getDERObject();if (readObject instanceof DERSequence) {flag="0";}else if (readObject instanceof DERInteger) {flag="1";}else if (readObject instanceof DERObjectIdentifier){flag="2";}} catch (IOException e) {} finally {try {if (bis!=null) bis.close();if (ais!=null) ais.close();} catch (IOException e) {}}return flag;}/***获取元素值*@param data*@return*/private static String read_Asn1Data(byte[] data) throws Exception {ByteArrayInputStream bis=null;ASN1InputStream ais=null;ContentInfo contentInfo=null;try {bis=new ByteArrayInputStream(data);ais=new ASN1InputStream(bis);将java 转化为ASN.1、转base64、以十六进制输出;再解析ASN.1。
ASN.1基本语法和编码规则1 ASN.1 简介ASN.1 (Abstract Syntax Notation One),抽象语法标记,是描述抽象类型和值的标记,缩写为ASN.1。
它用于对通过接口和通信媒体进行传输的信息的抽象描述,广泛应用于各种通信协议的说明中。
ASN.1是一个很灵活的标记法,它允许定义众多的数据类型——从整数和位串等简单类型到如集合、序列等的组合结构,还可以是其它复杂定义的类型。
一个ASN.1定义可以选用不同的编码规则,但解码器必须采用和编码器相同的编码规则。
目前标准化的编码规则有4个:BER、DER、CER、PER。
BER在19世纪80年代初形成,广泛应用于各种通信协议中,比如SNMP、MHS、TSAPI 等;DER是BER的一种特殊形式,用于对安全性敏感的应用,比如电子商务,要求对一条消息的编码和解码有且只有一条途径;CER是BER 的另一种特殊形式,类似于DER,但它适用于长消息,可以在知道整条消息之前就开始编码,实际中CER很少应用,这是因为工业界把DER作为安全编码的优先方法;PER在上述编码规则之后出现,因它的高效算法而闻名,它的编码速度和压缩程度比BER高,PER适用于带宽资源缺乏的应用,比如空中交通控制和音频—视频通信等。
2 BER的编码规则和传输语法2.1基本规则BER(Basic Encoding Rules)是ASN.1中最早定义的编码规则。
每种BER 编码方法都由三或四部分组成:(1)Tag octets:定义了ASN.1值的类和标签值,并指明编码方法是简单化的还是结构化的。
(2)Length octets:对于定长编码方法,它指出了内容octet的个数;对于结构化、非定长编码方法,它指明了长度是不确定的。
(3)V alue octets:对于简单的、定长编码方法,它给出了值的具体表示;对于结构化的方法,它给出了值的内容的BER编码的串联。
(4)End-of-values octets:对于结构化、非定长的编码方法,它表示内容结束;对于其它方法,没有该部分。
⽹络管理简答题及答案第1章⽹络管理概论1-01⽹络管理对于⽹络地正常运⾏有什么意义?答:1、减少停机时间,2、改进响应时间,3、提⾼设备地利⽤率4、减少运⾏费⽤5、减少⽹络瓶颈6、提⾼运⾏效率1-02局域⽹管理与本书所讲地⽹络管理有什么不同?结合你使⽤地局域⽹操作系统试举出⼏种管理功能. 答:局域⽹地管理相对简单,因为局域⽹运⾏统⼀地操作系统;对于异构型设备组成地⽹络,运⾏各种操作系统地互联⽹地管理就复杂地多了,就需要跨平台地⽹络管理技术1-03被管理地⽹络设备有哪些?答:主机,⽹桥,路由器,交换机,集线器等被管理⽹络资源:⽹络硬件(物理介质和连⽹设备、计算机设备)、⽹络软件(操作系统软件、通信软件、应⽤软件)1-04⽹络管理系统分为哪些层次?⽹络管理框架地主要内容是哪些?答:1、OSI/RM2、管理站3、代理系统⽹络管理框架内容:各种⽹络管理应⽤⼯作地基础结构,1、管理功能分为管理站和代理2、为存储管理信息提供数据库⽀持3、提供⽤户接⼝和⽤户视图功能4、提供基本地管理操作1-05在管理站和代理中应配置哪些软件实体?答:管理站:1、OS 2、通信3、NME(⽹络管理实体) 4、应⽤5、NMA(⽹络管理应⽤)代理:1、OS 2、通信3、NME(⽹络管理实体) 4、应⽤1-06集中式⽹络管理和分布式⽹络管理有什么区别?各有什么优缺点?答:区别:集中式地⽹络中,⾄少有⼀个结点(主机或路由器)担当管理站⾓⾊,所有代理都在管理站监视和控制下协同⼯作,实现集成地⽹络管理.⽽分布式地⽹络,是地理上分布地多台⽹络管理客户机与⼀⽹络管理服务器交互作⽤,共同完成⽹络管理功能.集中式优点:管理⼈员可以有效地控制整个⽹络资源,根据需要平衡⽹络负载,优化⽹络性能.缺点:⽹络通信消耗⼤,管理站失效,将导致⽹络管理中断;对于⼤型⽹络则⼒不从⼼.分布式优点:灵活性和可伸缩性,善于控制⼤型⽹络.缺点:不便于统⼀控制.1-07什么是委托代理?答:有些设备不⽀持当前地⽹络管理标准,或⽆法完整实现NME全部功能,或不能运⾏附加软件,⽤来管理这些⾮标准设备地标准设备,称为委托代理.1-08⽹络管理软件由哪些部分组成?它们地作⽤各是什么?答:1、⽤户接⼝软件:对⽹络资源实施本地配置、测试和排错,⼀定地信息处理能⼒,实现异构型⽹络连接2、管理专⽤软件:⽀持多种⽹络管理应⽤,如配置管理、性能管理、故障管理3、管理⽀持软件:保留管理所需要地相关信息,具有基本⽂件管理功能,⽀持节点之间地通信.1-09对⽹络监控有⽤地管理信息有哪些?代理怎样把管理信息发送给监视器?答:1、静态信息2、动态信息3、统计信息管理站和代理之间地信息交换通过协议数据单位(PDU)进⾏.通常是管理站向代理发送请求PDU,代理以响应PDU回答,⽽管理信息包含在PDU参数中.1-10系统响应时间由哪些部分组成?答:1、⼊⼝终端延迟2、⼊⼝排队时间3、⼊⼝服务时间4、CPU处理延迟5、出⼝排队时间6、出⼝服务时间7、出⼝终端延迟1-11⽹络资源地利⽤率与哪些因素有关?什么是合理地负载分布?答:负载和数据速率有关.各链路地相对负载/相对容量(相对利⽤率),都⽐较平衡.1-12性能测试报告应包括哪些内容?答:1、主机对通信矩阵2、主机组通信矩阵3、分组类型直⽅图4、数据分组长度直⽅图5、吞吐率-利⽤率分布6、分组到达时间直⽅图7、信道获取时间直⽅图8、通信延迟直⽅图9、冲突计数直⽅图10、传输计数直⽅图或者:宽带利⽤率、吞吐率降低地程度、通信繁忙地程度、⽹络瓶颈及响应时间等.1-13故障监视可分为哪些功能模块?答:1、故障检测和报警功能2、故障预测功能3、故障诊断和定位功能1-14需要计费地⽹络资源有哪些?计费⽇志应包括哪些信息?答:资源:1、通信设施2、计算机硬件3、软件系统4、服务⽇志:1、⽤户标识符2、连接⽬标地标识符3、传送地分组数/字节数4、安全等级5、时间戳6、指⽰⽹络出错情况地状态码7、使⽤地⽹络资源1-15配置管理应包含哪些功能模块?设备地配置信息有哪些?答:功能模块:1、定义配置信息2、设置和修改设备属性3、定义或修改⽹络元素间地互联关系4、启动和终⽌⽹络运⾏5、发⾏软件6、检查参数值和互联关系7、报告配置现状配置信息:设备地名称、标识符、地址、状态、操作特点和软件版本1-16计算机⽹络地安全需求有哪些?答:1、保密性2、数据完整性3、可⽤性1-17 对计算机⽹络地安全威胁有哪些?对⽹络管理地安全威胁有哪些?答:⽹络安全威胁:1、对硬件地威胁2、对软件地威胁3、对数据地威胁4、对⽹络通信地威胁⽹络管理安全威胁:1、伪装地⽤户2、假冒地管理程序3、侵⼊管理站或代理间地信息交换过程1-18计算机⽹络地安全管理应包含哪些内容?答:1、记录系统中出现地各类事件2、追踪安全审计试验,⾃动记录有关安全地重要事件3、报告和接收侵犯安全地警⽰信号,在怀疑出现威胁安全地活动时采取防范措施5、经常维护和检查安全记录,进⾏安全风险分析,编制安全评价报告6、备份和保护敏感地⽂件7、研究每个正常⽤户地活动形象,预先设定敏感资源地使⽤形象,以便检测授权⽤户地异常活动和对敏感资源地滥⽤⾏为或者:1、发现安全漏洞2、设计和改进安全策略3、根据管理记录产⽣安全事件报告4、维护安全业务(访问控制、数据加密、认证)1-19 ISO制定地⽹络管理标准有哪些⽂件?各是什么内容?答:1、ISO DIS7498-4(X.700):定义了⽹络管理地基本概念和总体框架2、ISO 9595:公共管理信息服务定义3、ISO 9596:公共管理信息协议规范4、ISO 10164:系统管理功能5、ISO 10165:管理信息结构1-20 TCP/IP⽹络管理标准有哪些主要地RFC⽂件?各是什么内容?答:1、RFC1155(SMI) 2、RFC1157(SNMP) 3、RFC1212(MIB定义) 4、RFC1213(MIB-2规范)名词解释:⼀、⽹络管理应⽤:⽤户根据需要开发地软件,这种软件运⾏在具体地⽹络上,实现特定地管理⽬标.⼆、⽹络管理完成地任务:1、收集有关⽹络通信地统计信息2、对本地设备进⾏测试,记录设备状态信息3、在本地存储有关信息4、响应⽹络控制中⼼地请求,发送管理信息5、根据⽹络控制中⼼地指令,设置或改变设备参数三、⽹络管理功能分为:1、⽹络监视:收集系统和⼦⽹地状态信息,分析被管理设备地⾏为,以便发现⽹络运⾏中存在地问题2、⽹络控制:修改设备参数或重新配置⽹络资源,以便改善⽹络地运⾏状态四、⽹络监控要解决地问题:1、对管理信息地定义2、监控机制地设计3、管理信息地应⽤五、轮询:⼀种请求-响应式地交互作⽤,即由监视器向代理发出请求,询问它所需要地信息值,代理响应监视器地请求,从它所保存地管理信息库中取得请求地信息,返回给监视器.六、事件报告:由代理主动发送给管理站地消息.七、影响通信⽅式选择地主要因素:1、传送监控信息引起地通信量2、对危急情况地处理能⼒3、对⽹络管理站地通信时延4、被管理设备地处理⼯作量5、消息传输地可靠性6、⽹络管理应⽤地特殊性7、在发送消息之前通信⼋、⽹络管理功能:1、性能管理2、故障管理3、计费管理4、配置管理5、安全管理九、可⽤性:⽹络系统、元素或应⽤对⽤户可利⽤地时间地百分⽐⼗、响应时间:从⽤户输⼊请求到系统在终端上返回计算结果地时间间隔管理域:管理对象地集合叫管理域.⾏政域:划分和改变管理域,协调管理域之间地关系.第2章抽象语法表⽰ASN.12-01表⽰层地功能是什么?抽象语法和传输语法各有什么作⽤?答:表⽰层地功能是提供统⼀地⽹络数据表⽰.2-02⽤ASN.1表⽰⼀个协议数据单元(例如,IEEE802.3地帧).答:GetRequest-PDU::=SEQUENCE{request-id INTEGER,error-status INTEGER,error-index INTEGER,variable-bindings VarBind}VarBind::=SEQUENCE{name OBJECT IDENTIFIER,value NULL}2-03⽤基本编码规则对长度字段L编码:L=18,L=180,L=1044.答:L=18,00010010;L=180,10000001 10110100;L=1044,10001000 100101002-04⽤基本编码规则对下⾯地数据编码:标签值=1011001010,长度=255.答:标签编码:×××11111 1000 0101 11001010;长度编码:10000001 111111112-05为什么要⽤宏定义?怎样由宏定义得到宏实例?答:使⽤宏定义地⽬地是为了简化类型定义地⽅法.⽤具体地值代替宏定义中地变量可以产⽣宏实例.第3章简单⽹络管理协议3-01 Internet⽹络管理框架由哪些部分组成?⽀持SNMP地体系结构由哪些协议层组成?答:1、RFC1155定义了管理信息结构(SMI),即规定了管理对象地语法和语义2、RFC1212说明了定义MIB模块地⽅法3、RFC1213定义了MIB-2管理对象地核⼼集合,这些管理对象是任何SNMP系统必须实现地4、RFC1157是SNMP V1协议地规范⽂件.应⽤层协议,UDP协议,TCP/IP3-02 SNMP环境中地管理对象是如何组织地?这种组织⽅式有什么意义?答:组织:分层地树结构.意义:1、表⽰管理和控制关系2、提供了结构化地信息组织技术3、提供了对象命名机制3-03 MIB-2中地应⽤类型有哪些?计数器类型和计量器类型有什么区别?答:1、networkaddress::=choice{internet ipaddress}2、internet object identifier::={iso(1)org(3)dod(6)1}3、ipaddress::=[application 0] implict octet string(size(4))4、counter::= [application 1] implict intrger(0..4 294 967 295)5、gauge:= [application 2] intrger(0..4 294 967 295)6、timeticks::= [application 3] intrger(0..4 294 967 295)7、opaque::= [application 4] octet string—arbitrary ASN.1 value区别:计量器与计数器不同地地⽅是计量器达到最⼤值后不回零,⽽是锁定在232-13-04RFC1212给出地宏定义由哪些部分组成?试按照这个宏定义产⽣⼀个宏实例.答:1、SYNTAX,表⽰对象类型地抽象语法;2、ACESS,定义SNMP协议访问对象地⽅式;3、DesctPart,任选,⽤⽂字说明对象类型含义;4、R efValPart,任选,⽤⽂字说明可参考在其他MIB模块定义地对象;5、 indexpart,⽤于定义表对象地索引项;6、defvalpart,定义了对象实例默认值,任选;7、value notation,指明对象地访问名宏实例:tcpMaxConn OBJECT-TYPESYNTAX INTEGERACCESS read-onlySTATUS mandatoryDESCRIPTION“The limit on the total number of TCP connection the entity can support”::={tcp 4}3-05MIB-2地管理对象分为哪⼏个组?答:1、系统组2、接⼝组3、地址转换组4、IP组5、ICMP组6、TCP组7、UDP组8、EGP组9、传输组3.06什么是标量对象?什么是表对象?标量对象和表对象地实例如何标识?标量对象:存储在SMI中地标量;表对象:存储在SMI中地⼆维数组变量对象地标识:SNMP规定不属于表地标量对象地实例标识符由他地对象标识符加上0组成.表对象地标识:在MIB定义中,表对象和⾏对象地访问状态是“⽆法访问”.对于列对象来说,他地实例是⼀组⽤列对象标识符(ColumnOID)和⾏索引值(RowIndexValue)联合标识地实例.列对象标识符,是⽤来惟⼀标识列对象地OID.⾏索引值由⼀个或多个列对象对应实例地值组成3-07 为什么不能访问表对象和⾏对象?答:表和⾏对象是没有实例标识符地,因为她们不是叶⼦节点,SNMP不能访问.3-08 对象标识符是由什么组成地?为什么说对象地字典顺序对⽹络管理是很重要地?答:x.i.(tcpConnLocalAddress).( tcpConnLocalPort).( tcpConnRemAddress).( tcpConnRemPort)对象地顺序对⽹络管理是很重要地,因为管理站可能不知道代理提供地MIB地组成,所以管理站要⽤某种⼿段搜索MIB树,在不知道对象标识符地情况下访问对象地值.3-09 在⾃⼰地计算机上安装SNMP服务,浏览MIB-2和私有数据库地内容.名词解释:⼀、SNMP地组成:1、管理信息库结构地定义2、访问管理信息库地协议规范第4章简单⽹络管理协议4-01 SNMPv1⽀持哪些管理操作?对应地PDU格式如何?答:1、GET,管理站⽤于检索管理信息库中标量对象地值;2、SET,管理站⽤于设置管理信息库中标量对象地值;3、TRAP,代理⽤于向管理站报告管理对象地状态变化.GET,SET地PDU格式:TRAP格式:4-02 SNMPv1报⽂采⽤什么样地安全机制?这种机制有什么优缺点?答:SNMPv1地安全机制很简单,只是验证团体名.优点:简单性.缺点:很不安全,团体名以明⽂形式传输,容易被第三者窃取.4-03举例说明如何检索⼀个简单对象,如何检索⼀个表对象?答:P72-73 例4.1(检索⼀个简单对象)例4.4(检索⼀个位置对象)4-04 怎样利⽤GetNext命令检索未知对象?答:发出命令:GetNextRequest(udpInDatagrams.2)得到响应:GetResponse(udpNoPorts.0=1)4-05 如何更新和删除⼀个表对象?答:更新:SetRequest(ipRouteMetric1.9.1.2.3=9)GetResponse(ipRouteMetric1.9.1.2.3=9)删除:SetRequest(ipRouteType.7.3.5.3=invalid)GetResponse(ipRouteType.7.3.5.3=invalid)4-06试描述数据加密、⾝份验证、数字签名和消息摘要在⽹络安全中地作⽤,这些安全⼯具能对付哪些安全威胁?答:1、数据加密:保密通信地基本⼿段2、⾝份认证:防⽌主动攻击地⽅法3、数字签名:防⽌否认地⽅法4、消息摘要:验证消息地完整性对付:窃取,假冒,篡改等安全威胁4-07 SNMPv2对SNMPv1进⾏了哪些扩充?答:1、管理信息结构地扩充2、管理站和管理站之间地通信3、新地协议操作4-08 SNMPv2对计数器和计量器类型地定义做出了哪些改进?这些改进对⽹络管理有什么影响?答:增加了两种新地数据类型,计数器没有定义地初始值,只有连续两次读计数器得到地增加值才有意义.规定了Gauge32地最⼤值可以设置为⼩于232地任意正数MAX.明确了当计数器到达最⼤值时可⾃动减少.影响:这样规定更细致,应⽤更⽅便.4-09举例说明不同类型地索引对象如何⽤作表项地索引.答:4.10在表地定义中,AUGMENTS⼦句地作⽤是什么?答:AUGMENTS⼦句地作⽤是代替INDEX⼦句,标识概念⾏地扩展.SNMPv2表地定义中必须包含INDEX或AUGMENTS⼦句,但是只能有⼀个.INDEX⼦句定义了⼀个基本概念⾏,⽽INDEX⼦句中地索引对象确定了⼀个概念⾏实例.4-11允许⽣成和删除地表与不允许⽣成和删除地表有什么区别?答:SNMPv2把表分为两类:1、禁⽌删除和⽣成⾏地表:这种表地最⾼访问级别是read-write.在很多情况下这种表由代理控制,表中只包含read-only 型地对象.2、允许删除和⽣成⾏地表:这种表开始时候可能没有⾏,由管理站⽣成和删除⾏.⾏数可由管理站或代理改变.4-12试描述⽣成表项地两种⽅法.答:1、管理站通过事务处理产⽣和激活概念⾏2、管理站与代理协商⽣成概念⾏⽣长概念⾏地4个步骤:1、选择实例标识符2、a管理站通过事务处理产⽣和激活概念⾏b管理站与代理协商⽣成概念⾏3、初始化⾮默认值对象4、激活概念⾏4-13 SNMPv2管理信息库增加了哪些新地对象?答:1、系统组:标量对象sysORLastChange、表对象sysORTable 2、SNMP组3、MIB对象组:⼦组(snmpTrap)snmpTrapOID,snmpTrapEnterprise ⼦组(snmpSet):snmpSerialNo4-14试描述SNMPv2地3种检索操作地⼯作过程.答:1、GetRequestPDU 2、GetNextRequestPDU 3、GetBulkRequestPDU4-15 SNMPv2地操作管理框架由哪些部分组成?它们对管理操作地安全有什么作⽤?答:主要涉及4个基本概念:参加者、上下⽂、MIB视图和访问控制策略参加者:是否可以成为某次协议操作地参加者是需要进⾏认证地4-16管理站之间地通信有什么意义?需要哪些管理信息地⽀持?答:意义:管理站之间地通信机制是分布式⽹络管理所需要地功能特征.需要通知报⽂和管理站数据库⽀持.4-17试描述SNMPv2加密报⽂地发送和接收过程.答:发送:发送实体⾸先构造管理通信消息SNMPMGMTCOM,这需要查找本地数据库,发现合法地参加者和上下⽂,然后如果需要认证协议,则在snmpmgmtcom前⾯加上认证信息authinfo,构成认证报⽂snmpauthmsg,否则把authinfo置为长度为0地字符串.若参加者地认证协议为v2md5authprotocol,则由本地实体按照md5算法计算产⽣16个字节地消息摘要,作为认证信息中地authdigest.第三步是检查⽬标参加者地私有协议,如果需要加密,则采⽤指定地加密协议对snmpauthmsg加密,⽣成privdata.最后置privdst=dstparty,组成完整地SNMP V2报⽂,并经过BER编码发送出去.接收:⽬标⽅实体接收到snmpprivmsg后⾸先检查报⽂格式.如果通过,则查找本地数据库,发现需要地验证信息.根据本地数据库地记录,可能需要使⽤私有协议对报⽂解密,对认证码进⾏验证,检查源⽅参加者地访问特权和上下⽂是否符合要求等.⼀旦检查全部通过,就可以⽀⾏协议请求地操作了.4-18 SNMP引擎是由哪些部分组成地?各部分地作⽤是什么?答:1、⼀个调度器:a向/从⽹络中发送/接收报⽂b确定SNMP报⽂地版本,并交给相应地报⽂处理模块处理c为接收PDU 地SNMP应⽤提供⼀个抽象地接⼝d为发送PDU地SNMP应⽤提供⼀个抽象地接⼝2、⼀个报⽂处理⼦系统:按照预订地格式准备要发送地报⽂,或者从接收地报⽂中提取数据3、⼀个安全⼦系统:提供安全服务,例如,报⽂地认证和加密4、⼀个访问控制⼦系统:确定是否允许访问⼀个管理对象,或者是否可以对某个管理对象实施特殊地管理操作4-19基于⽤户地安全模型可以防护哪些安全威胁?答:两种主要威胁:1、修改信息2、假冒两种次要威胁:1、修改报⽂流2、消息泄露4-20时间系列检验地⼯作原理是什么?这种检验不能防⽌哪些安全威胁?答:为防⽌报⽂被重发和故意延迟,每次通信有⼀个SNMP引擎被指定为有权威地,⽽通信对⽅是⽆权威地.当SNMP报⽂要求响应时,该报⽂地接收者是有权威地.反之,当SNMP报⽂不要求响应时,该报⽂地发送者是有权威地.有权威地SNMP引擎维持⼀个时间值,⽆权威地SNMP引擎跟踪这个时钟值,并保持与之松散同步.不能防⽌:窃取,假冒,中断4-21 HMAC-MD5-96认证协议是怎样计算报⽂摘要地?试对其安全性进⾏分析.答:p1114-22 SNMPv3怎样进⾏密钥管理?答:通过密钥局部化来管理,也就是把⽤户地⼝令字变换成他/她与⼀个有权威地SNMP引擎共享地密钥.密钥局部化过程地主要思想是把⼝令字和相应地SNMP引擎标识作为输⼊,运⾏⼀个散列函数,得到⼀个固定长度地伪随机序列,作为加密密钥.4-23视图是怎样定义地?在处理⼀个访问请求时怎样进⾏访问控制决策?答:为了安全,我们需要把某些组地访问权限制在⼀个管理信息地⼦集中,提供这种能⼒地机制就是MIB视图.P118第五章远程⽹络监视5-01为什么需要RMON?⽹络监视器能提供哪些管理信息?答:因为RMON是对SNMP标准地重要补充,是简单⽹络管理向互联⽹管理过渡地重要步骤.RMON扩充了SNMP地管理信息库MIB-2,可以提供有关互联⽹管理地主要信息,在不改变SNMP协议地条件下增强了⽹络管理地功能.提供:出错统计数据,性能统计数据等.5-02RMON对表对象地管理做出了什么改进?答:1、增加了两种新地数据类型,增强规范地可读性2、RMON规范中地表结构由控制表和数据表两部分组成.控制表定义数据表结构,数据表存储数据.5-03试根据矩阵组定义地管理对象设计⼀个显⽰⽹络会话地⼯具.答:5-04试写出产⽣下降警报地规则.答:5-05举例说明RMON进⾏状态过滤地逻辑.答:5-06试描述警报组、过滤组、事件组和包捕获组地关系.答:1、实现警报组时必须实现事件组.2、实现最⾼N台主机组时必须实现主机组.3、实现捕获组时必须实现过滤组.5-07RMON2扩充了哪些功能组,它们地作⽤是什么?答:1、协议⽬录组:提供了各种⽹络协议地标准⽅法.2、协议分布组:提供每个协议产⽣地通信统计数据.3、地址映像组:建⽴⽹络层地址(IP地址)与MAC地址地映像关系.4、⽹络层主机组:类似于RMON1地主机组,收集⽹上主机地信息.5、⽹络层矩阵组:记录主机对(源/⽬标)之间地通信情况.6、应⽤层主机组:记录有关主机发送/接收地分组/字节数等,使⽤户了解每个主机上地每个应⽤协议地通信情况.7、应⽤层矩阵组:统计⼀对应⽤层协议之间地各种通信情况,以及各种选定地参数最⼤地⼀对应⽤层协议之间地通信情况.8、⽤户历史组:按照⽤户定义地参数,周期地收集统计数据.9、监视器配置组:定义了监视器地标准参数集合.5-08为什么要使⽤外部对象作为表地索引?答:为了把数据表与对应地控制表结合起来.5-09RMON2如何标识协议之间地关系?答:⽤协议标识符和协议参数共同标识⼀个协议以及该协议与其他协议之间地关系.5-10RMON监视器如何配置?答:5-11试把RMON对象划分到各个管理功能域3002答:版权申明本⽂部分内容,包括⽂字、图⽚、以及设计等在⽹上搜集整理。
asn1结构 context类型ASN.1(抽象语法标记一)是一种用于描述数据结构的标准化的语法表示法。
在ASN.1中,context类型是一种用于标识和区分不同类型数据的一种方式。
它在通信协议和数据交换中起着重要的作用。
文章标题,ASN.1中的Context类型及其应用。
ASN.1中的context类型是一种非常重要的类型,它允许我们在数据结构中为不同的字段赋予不同的标识,从而使得数据在传输和解析过程中能够被正确地识别和处理。
在通信协议中,context 类型可以用来区分不同的消息类型,以及在数据编码和解码过程中进行正确的映射。
在ASN.1中,context类型的定义如下:asn1。
MyMessage ::= SEQUENCE {。
messageType INTEGER {。
request(0),。
response(1)。
} (0),。
messageData OCTET STRING (1)。
}。
在上面的例子中,我们定义了一个名为MyMessage的数据结构,其中包含了一个messageType字段和一个messageData字段。
在messageType字段中,我们使用了context类型来标识不同的消息类型,0代表请求消息,1代表响应消息。
这样一来,在数据传输和解析过程中,接收方就可以根据messageType字段的值来正确地识别消息类型,并进行相应的处理。
除了在通信协议中的应用之外,context类型还可以在数据编码和解码过程中起到重要作用。
通过使用context类型,我们可以在编码过程中为不同的字段赋予不同的标识,使得在解码过程中能够正确地将数据映射到相应的字段上,从而保证数据的完整性和正确性。
总之,ASN.1中的context类型在数据交换和通信协议中具有重要的作用,它能够帮助我们正确地识别和处理不同类型的数据,保证数据的完整性和正确性。
因此,在设计和实现通信协议和数据交换格式时,我们需要充分理解和正确应用context类型,以确保数据的可靠传输和解析。