- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简单类型
Chapter 4 ASN.1 Shanghai Second Polytechnic University 胡小明,email:xmhu@it.sspu.cn 4.1 网络数据表示及编码 4.2 ASN.1的基本概念 4.3 基本编码规则 Shanghai Second Polytechnic University 胡小明,email:xmhu@it.sspu.cn ASN.1引入1) 在网络通信中,通信设备需要相互传输数据,不同 厂家生产的硬件对数据的表示不同。如:一台设备整型数据类型是16位,而另一台是32位。 需要一种对数据类型和数据内容进行描述的语法,而且连接双方对数据含义的理解也有完全一致。 2)为解决这个问题,ISO组织推出了抽象语法表示ASN.1(Abstract Syntax Notation 1)。ASN.1通过定义若干简单类型和复合类型,使得各个设备对交换消息的数据类型有了一致的认识。3) ASN.1位于7层协议的表示层,定义了应用数据的抽象语法,类似于程序设计语言定义的抽象数据类型。4) 应用:应用层协议如X.400(email)、X.500和LDAP(目录服务)、H.323(VoIP)和SNMP使用 ASN.1 描述它们交互的协议数据单元。 Shanghai Second Polytechnic University 胡小明,email:xmhu@it.sspu.cn 图4-1信息表示的通信系统模型 Shanghai Second Polytechnic University 胡小明,email:xmhu@it.sspu.cn 4.2.2 ASN.1符号说明 4.2.5 应用类型 ASN.1转换成BER用ASN.1定义的应用数据在传输过程中要按照一定的规则变成“0”,“1”的比特串,这种规则就是基本编码规则BER(Basic Encoding Rule) Shanghai Second Polytechnic University 胡小明,email:xmhu@it.sspu.cn 4.3 基本编码规则 用ASN.1语言书写的变量必须转换为串行的字节流才能在网络中传输。为此,ASN.1又提供了基本编码规则(BER)来描述传输过程中内容的表示。 约定 八位位组:八比特组成,是编码的基本单位 八位位组的二进制位编号从8到1,第8位为最高有效位,第1位位最低有效位 编码结构:三元组 ? 标签(tag)字段:关于标签类别和编码格式的信息。 ? 长度(Length)字段:定义内容字段的长度。 ? 值(Value)字段:包含实际的数据 。 1. 标签字段 标签字段对标签类别、标签号和编码格式进行编码。 2. 长度字段 用来表示值字段的八位位组数。 确定格式。(编码时知道长度:长格式和短格式) 长度字段分类 不确定格式。 规则如下: ? 若编码是简单类型,则使用确定格式; ?若编码是构造的,并且编码立即可用,既可以使用确定格式,也可以使用不确定格式,由发送者选择; ?若编码是构造的,但编码不是立即可用,则使用不确定格式。 确定格式: 短格式:只包括一个八位位组,最高位为0 e.g. L=38 编码 长格式:第一字节最高位为1,其余7位表示后面有多少字节表示长度字段的长度 e.g. L=201 编码:11001001 不确定格式:一个八位位组,最高位1,其余7位都为0,当值编码结束时,用两个连续的0八位位组标识结束,即(0000)H 3. 值字段 由零个或多个八位位组组成,并按不同类型数据值的不同规定对它们进行编码。 (1) 布尔值的编码 由1个字节组成。FALSE为00;TRUE为FF。 e.g. TRUE的编码:01 01 FF FALSE 的编码:01 01 00 (2) 整数编码 整数值的编码应是简单类型,值字段一个或多个八位位组组成,整数值采用二进制补码形式编码。 e.g. 0 编码 0
文档评论(0)