- 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
您可能关注的文档
最近下载
- 常见IV曲线症状诊断分析.pptx VIP
- 2025年大梦杯数学竞赛试卷及参考答案解析.docx VIP
- 颈动脉支架植入术后护理查房.pptx VIP
- 小学数学巧算24点专项练习题(每日一练,共25份).docx VIP
- 小学数学巧算24点专项练习题(每日一练,共24份).docx VIP
- 医学课件-颈动脉支架植入医疗护理查房.pptx
- (25格)舒尔特方格练习题儿童注意力训练(每日一练,共25份).docx VIP
- 《眼科学基础》题库与答案.docx VIP
- (81格)舒尔特方格-儿童注意力训练(每日一练,共19份).docx VIP
- (25格)舒尔特方格练习题儿童注意力训练(每日一练,共18份).docx VIP
原创力文档

文档评论(0)