计算机网络管理(雷震甲)(第二版)1-5章 (2)

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

第2章 抽象语法表示ASN.1
2.2.1 抽象数据类型
在ASN.1中,每一个数据类型都有一个标签(Tag),标签有类 型和值(见表2.1),数据类型是由标签的类型和值惟一决定的, 这种机制在数据编码时有用。标签的类型分为以下4种:
● 通用标签:用关键字UNIVERSAL表示,带有这种标签的数 据类型是由标准定义的,适用于任何应用;
SEQUENCE, SEQUENCE OF SET, SET OF NumericString PrintableString TeletexString VideotexString IA5String UTCTime GeneralizedTime Grap hicSt ring VisibleString GeneralString 保留
(1) 书写的布局是无效的,多个空格和空行等效于一个空格; (2) 用于表示值和字段的标识符、类型指针(类型名)和模块 名由大小写字母、数字和短线(Hyphen)组成;
第2章 抽象语法表示ASN.1
(3) 标识符以小写字母开头; (4) 类型指针和模块名以大写字母开头; (5) ASN.1定义的内部类型全部用大写字母表示; (6) 关键字全部用大写字母表示; (7) 注释以一对短线(- -)开始,以一对短线或行尾结束。
如表2.1所示。这些数据类型可分为4大类。 ● 简单类型:由单一成分构成的原子类型; ● 构造类型:由两种以上成分构成的构造类型; ● 标签类型:由已知类型定义的新类型; ● 其他类型:包括CHOICE和ANY两种类型。
第2章 抽象语法表示ASN.1
表2.1 ASN.1定义的通用类型
标签 UNIVERSAL 1 UNIVERSAL 2 UNIVERSAL 3 UNIVERSAL 4 UNIVERSAL 5 UNIVERSAL 6 UNIVERSAL 7 UNIVERSAL 8 UNIVERSAL 9 UNIVERSAL 10 UNIVERSAL 11~15
类型 BOOLEAN INTEGER BIT STRING OCTET STRING NULL OBJECT IDENTIFIER Object Descriptor EXTERNAL REAL ENUM ERATED 保留
值集合 TRUE, FALSE 正数、负数和零 0 个或多个比特组成的序列 0 个或多个字节组成的序列 空类型 对象标识符 对象描述符 外部文件定义的类型 所有实数 整数值的表,每个整数有一个名字 为 ISO 8824 保留
序列
集合 数字 0~9 和空格 可打印字符串 由 CCITT T.61 建议定义的字符集 由 CCITT T.100 和 T.101 建议定义的字符集 国际标准字符集 5(相当于 ASCII 码) 时间 时间 由 ISO 8824 定义的字符集 由 ISO 646 定义的字符集 通用字符集 为 ISO 8824 保留
第2章 抽象语法表示ASN.1
表2.1 ASN.1定义的通用类型
UNIVERSAL 16 UNIVERSAL 17 UNIVERSAL 18 UNIVERSAL 19 UNIVERSAL 20 UNIVERSAL 21 UNIVERSAL 22 UNIVERSAL 23 UNIVERSAL 24 UNIVERSAL 25 UNIVERSAL 26 UNIVERSAL 27 UNIVERSAL 28 以后
● 应用标签:用关键字APPLICATION表示,是由某个具体应 用定义的类型;
● 上下文专用标签:这种标签在文本的一定范围(例如一个 结构)中适用;
第2章 抽象语法表示ASN.1 ● 私有标签:用关键字PRIVATE表示,这是用户定义的标签。 ASN.1定义的数据类型有20多种,标签类型都是UNIVERSAL,
第2章 抽象语法表示ASN.1
第2章 抽象语法表示ASN.1
2.1 网络数据表示 2.2 ASN.1的基本概念 2.3 基本编码规则 2.4 ASN.1宏定义 习题
第2章 抽象语法表示ASN.1
2.1 网络数据表示
表示层的功能是提供统一的网络数据表示。在互相通信的端 系统中至少有一个应用实体(例如FTP、TELNET、SNMP等)和一个表 示实体(即ASN.1)。表示实体定义了应用数据的抽象语法,这种抽 象语法类似于通常程序设计语言定义的抽象数据类型。应用协议 按照预先定义的抽象语法构造协议数据单元,用于和对等系统的 应用实体交换信息。表示实体则对应用层数据进行编码,将其转 换成二进制的比特串,例如把十进制数变成二进制数、把字符变 成ASCII码等。比特串由下面的传输实体在网络中传送。把抽象数 据变换成比特串的编码规则叫做传输语法。在各个端系统内部, 应用数据被映像成本地的特殊形式,存储在磁盘上或显示在用户 终端上,如图2.1所示。
第2章 抽象语法表示ASN.1
端系统A 用户
端系统B 用户
用户表示映像
本地存储 本地映像
应用实体
抽象语法 ASN.1
用户表示映像
应用实体
本地存储 本地映像
编码规则
编码规则
表示实体
Fra Baidu bibliotek
传输语法 BER
表示实体
图2.1 关于信息表示的通信系统模型
第2章 抽象语法表示ASN.1
特别需要指出的是,这里提到的抽象语法是独立于任何编码 技术的,只与应用有关。抽象语法要能满足应用的需要,能够定 义应用需要的数据类型和表示这些类型的值。ASN.1是根据当前网 络应用的需求制定的标准(CCITT X.208和ISO 8824),也许随着网 络应用的发展,还会开发出新的表示层标准。另外值得一提的是, 对应一种抽象语法可以选择不止一种传输语法。对传输语法的基 本要求是支持对应的抽象语法,另外还可以有其他一些属性,例 如支持数据加密或压缩,或者两者都支持。
第2章 抽象语法表示ASN.1
2.2 ASN.1的基本概念
作为一种形式语言,ASN.1有严格的BNF定义。我们不想全面 研究它的BNF定义,而是自底向上地解释ASN.1基本概念,然后给 出一个抽象数据类型的例子。下面列出ASN.1文本的书写规则,这 些规则叫做文本约定(Lexical Conventions):
相关文档
最新文档