网络管理习题解201103归纳.pptVIP

  • 109
  • 0
  • 约9.58千字
  • 约 50页
  • 2020-07-26 发布于湖北
  • 举报
4.写出一个ASN.1的模块,该模块以ENUMERATED数据类型定义了monthsOfYear,它的值从1到12。 [解答] monthsOfYear ::=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) } 6.子类型分为哪几种?分别举例说明。 [解答] 子类型是由限制父类型的值集合而导出的类型,所以子类型的值集合是父类型的子集。子类型还可以产生子类型。产生子类型的方法有以下6种。 (1)单个值(Single Value):列出子类型可取的各个值。例如,TestResule::=INTEGER(0|1|2) (2)值区间(Value Range):这种方法只能用于整数和实数,指出子类型可取的区间。例如,EmployeeNumber::=INTEGER(1000..20000) (3)允许字符(Permitted Alphabet):允许字符只能用于字符串类型,限制字符集的取值范围。例如,House Size::=?IA5STRING(FROM(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9)SIZE(5)) (4)限制大小(Size Constrained):可以限制5种类型(BIT STRING,OCTET STRING,CHARACTER STRING,SEQUENCE OF,SET OF)的规模大小。例如,WorkstationNumber::=OCTET STRING(SIZE(32)) (5)包含子类型(Contained Subtype):从已有的子类型定义新的子类型,新子类型包含原子类型的全部可能的值。用关键字INCLUDES,说明被定义的类型包含了已有类型的所有的值。例如, First-quarter::=Months(January,February,March) (6)内部子类型(Inner Subtype) 适用于SEQUENCE,SEQUENCE OF,SET,SET OF和CHOICE类型,主要用于对这些结构类型的元素项进行限制。例如,下面定义的协议数据单元(PDU)类型。 PDU::=SET { alpha [0] INTEGER, Beta [1] IA5STRING OPTIONAL, Gamma [2] SEQUENCE OF parameter, Delta [3] BOOLEAN i8} [解答] ASN.1宏提供了创建“模板”的功能,这也是引入ASN.1宏的原因。 ASN.1宏使得ASN.1语言具有良好的扩充性。 当用一个具体的值代替宏定义中的变量或参数时就产生了宏实例,它表示一个实际的ASN.1类型(称为返回的类型),并且规定了该类型可取的值的集合(称为返回的值)。 可见宏定义可以看做是类型的类型,或者说是超类型。 7.为什么要用宏定义?怎样用宏定义得到宏实例? 8.RFC1212给出的宏定义由哪些部分组成? 试按照这个宏定义产生一个宏实例。 [解答] 宏定义由类型表示(TYPE NOTATION)、值表示(VALUE NOTATION)和支持产生式(supporting syntax)3部分组成,而最后部分是任选的,是关于宏定义体中类型的详细语法说明。 宏实例(即ASN.1类型)的定义首先是对象名,然后是宏定义的名字,最后是宏定义规定的宏体部分。 下面给出对象定义的示例,对Internet控制报文协议流入的信息计数。 icmpIlMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS

文档评论(0)

1亿VIP精品文档

相关文档