




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)基于asn1的通用编解码方案的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着愈来愈多的网络协议和业务协议的投入应用,作为表示信息的抽象句法 a s n 1 ,在表达协议数据单元p d u 字段之间的依赖关系面l 临着很大的困惑。在 进行协议一致性测试时,匿对各种a s n 1 编码规则,应用很多的x m l 编码规则, 以及今后将会出现的新的编解码规则,对适应性更好的通用编解码工具提出了强 烈的需求。此外,编解码的效率对测试的效率乃至测试的正确性也有直接的影响。 针对上述需求,调研了三个有代表性的商用a s n 1 编解码工具,深入分析 了作者所在实验室实现的基于t r c n 3 语言的通信协议测试平台中的a s n 1 编解码工具,在深入研究a s n 1 标准和t s n 1 的基础上,根据t s n 1 的语言特 性对a s n 1 语义进行扩展,使之可以方便和准确地描述p d u 字段之间的依赖关 系,同时在研究b e l l 和p e r 编码规则的基础上,结合两者的优点创建了一套编 码规则e x e r ,提高了编解码的效率。定义了一套中间文件翻译规范,a s n 1 脚 本文件和x m l 文件经过各自的编译器或分析器后,均按照中间规范进行翻译, 通过规范的中间形式将二者统一,实现了适应面宽和扩展性好的通用编解码工 具。 通用编解码工具己初步用于工业界测试,配合t r c n 3 语言的通信协议测试 平台,用于中国移动的a g p s 协议一致性测试。 关键字:a s n 1中间规范 通用编解码 a b s t r a c t w i t ht h ei n c r e a s i n ga p p l i c a t i o no fn e t w o r kp r o t o c o l sa n ds e r v i c ep r o t o c o l s , a s n 1 ,a sa l la b s t r a c ts y n t a xn o t a t i o nf o ri n f o r m a t i o ne x p r e s s i o n , f a c e sg r e a t c o n f u s i o ni ne x p r e s s i n gt h ed e p e n d e n c er e l a t i o n sa m o n gf i e l c l so fp d u i nt h ep r o c e s s o fp r o t o c o lc o n f o r m a n c et e s t i n g ,t h ea p p l i c a t i o n so fa s n 1e n c o d i n gr u l e s ,w i d e l y u s e dx m l e n c o d i n gr u l e sa n dp r o s p e c t i v ee n c o d i n gr u l e s ,m a k eas t r o n gd e m a n df o r ag e n e r a lc o d e ct o o l 丽mb e t t e ra d a p t a b i l i t y m o r e o v e r , e o d e ce f f i c i e n c yh a sd i r e c t e f f e c t so nt h ee f f i c i e n c ya n de v e nc o l t e c t n e s so ft e s t i n g i nr e s p o n s et ot h e s en e e d s ,t h r e er e p r e s e n t a t i v ec o m m e r c i a la s n 1e o d e ct o o l s h a v eb e e ns t u d i e d , a n dt h ea s n 1c o d e ct o o lo f ( t h ec o m m u n i c a t i o np r o t o c o lt e s t i n g w o r k b e n c hb a s e do nt t c n - 3 w h i c hi sd e v e l o p e db ya u t h o r sl a b o r a t o r yh a sb e e n a n a l y s e di nd e p t h o nt h ei n t e n s i v es t u d yo fa s n 1a n dt s n 1 ,a s n 1s y n t a xi s e x t e n d e da c c o r d i n gt ot h el a n g u a g ec h a r a c t e r i s t i co ft s n 1 ,s ot h a ti tc a l le a s i l ya n d c o r r e c t l yd e s c r i b et h ed e p e n d e n c er e l a t i o n sa m o n gf i e l d so fp d u s i m u l t a n e o u s l y , o n t h eb a s i so fs t u d i e so nb e ra n dp e re n c o d i n gr u l e s ,as y s t e mo fe n c o d i n gr u l e s n a m e de x e ri sc r e a t e dc o m b i n i n ga d v a n t a g e so ft h et w o ,r a i s i n gc o d e 比e f f i c i e n c y a s e to fi n t e r m e d i a t ef i l et r a n s l a t i o nr u l e si sd e f i n e d ,i na c c o r d a n c ew i t hw h i c ha s n 1 s c r i p t sa n dx m l f i l e sa r et r a n s l a t e da f t e rt h ec o m p i l a t i o nb yt h e i rr e s p e c t i v ec o m p i l e r o rp a r s e r t h r o u g ht h es t a n d a r d i z e di n t e r m e d i a t ef o r m a tt h et w oa r eu n i t e d ,i nt h i sw a y , a g e n e r a lc o d e ct o o lw i t hw i d ea d a p t a b i l i t ya n dg o o ds c a l a b i l i t yi sr e a l i z e d t h eg e n e r a lc o d e ct o o lh a sb e e na p p l i e di ni n d u s t r yp r i m a r i l y w o r k i n gt o g e t h e r w i t ht h ec o m m u n i c a t i o n p r o t o c o lt e s t i n gw o r k b e n c hb a s e do nt r c n 一3 。i t i sa p p l i e di n a g p sl o c a t i o np r o t o c o lc o n f o r m a n c et e s t i n go fc h i n am o b i l e k e y w o r d s :a s n 1 s t a n d a r d i z e di n t e r m e d i a t ef o r m a tg e n e r a lc o d e e 一 图目录 图目录 图4 1o s s 方案图。2 6 图4 2 基于o s s 的支持x m ls c h e m a 的方案2 7 图4 3o s s 中同时使用x m ls c h e m a 和a s n 1 2 7 图4 4o b j e c t i v es y s t e m 方案图。2 8 图4 5 中国科学技术大学网络实验室方案2 9 图4 6p r o t o m a t i c s 公司编译器方案3 0 图4 7t s n 1s e r v e r 使用结构图。3 0 图4 8 通用编解码方案3 2 图5 1 类型与值顶层类结构图4 4 图5 2 类型结构图4 4 图5 3 c i 帅类型结构图4 5 图5 4c i n t e g e r t y p e 节点图4 6 图5 5c s e q u e n c e t y p c 节点图4 7 图5 6c s e q u e n c e o f l ) v e 类结构图4 8 图5 7 c c h a r s t r i n g t y p e 结构图。4 9 图5 8 值结构类型图5 0 图5 9c v a l u e 结构图5 0 图5 1 0 c s e q u e n c e v a l u e 结构图5 l 图5 1 lc c h o i c e v a l u e 结构图。5 l 图5 1 2c s e q u e n c e o f v a l u e 结构图。5 l 图5 1 3 辅助类层次图。5 2 图5 1 4c c o d e b u f f e r 结构图5 2 图5 1 5a g p s 工作原理图5 4 图5 1 6n e t - i n l t , s e t a s s i s t e d ,a - g p s 流程图5 5 图5 1 7a g p s 协议一致性测试方案图5 6 v 声明 中国科学技术大学学位论文原创性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的成 果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或撰写 过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作了明确 的说明。 作者签名:蚴 签字日期:4 盟 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学拥 有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构送交 论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。本人 提交的电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。, , 曰公开口保密( 年) 作者签名: 签字日期: 导师签名:逝 签字日期:2 匹聋n 第1 章引言 1 1 研究背景 第1 章引言 协议是计算机网络体系中不可缺少的组成部分,网络应用的发展对协议的功 能和性能提出了更多和更高的要求,相应地,协议的规模和复杂性也在不断增加, 协议开发者所面临的基本问题是如何设计一套庞大的通信控制规则,并且保证信 息交换能够逻辑一致、完整、高效地进行,为此,人们在协议研究中引入了形式 化描述技术和基于系统的工程方法,形成了一体化、形式化的协议开发过程,一 般称为协议工程( p r o t o c o le n g i n e e r i n g ) 。 协议数据单元( p r o t o c o ld a t au n i t s ) 是协议工程中最基本数据描述单元,如何 对其形式化描述以及正确编码传输是协议工程中非常重要的一部分。为此,国际 标准化组织( i n t e r n a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ,i s o ) 和国际电信联盟 0 n t e m a t i o n a lt e l e c o m m u n i c a t i o nu n i o n , r r u - t ) 联合将抽象语法记号 a s n 1 ( a b s t r a c ts y n t a xn o t a t i o no n e ) 作为描述协议数据单元的形式化语言。 a s n 1 本身只定义了表示信息的抽象句法,并没有限定其编码的方法。各种 a s n 1 编码规则提供了由a s n 1 描述其抽象句法的数据的值的传送语法( 具体 表达) 。标准的a s n 1 编码规则有基本编码规则( b e r ,b a s i ce n c o d i n gr u l e s ) 、 规范编码规则( c e r ,c a n o n i c a le n c o d i n gr u l e s ) 、唯一编码规则( d e r , d i s t i n g u i s h e de n c o d i n gr u l e s ) 、压缩编码规则( p e r ,p a c k e de n c o d i n gr u l e s ) 和 x m l 编码规则( x e r ,x m l e n c o d i n gr u l e s ) 。为了使a s n 1 能够描述一些原先 没有使用a s n 1 定义,因此不适用上述任一编码规则的数据传输和表示的应用 和协议,另外制订了编码控制标i 己( e n c o d i n gc o n t r o ln o a t i o n ,e c n ) 来扩展a s n 1 的编码形式。e c n 可以提供非常灵活的表明方法,但目前还没有得到普遍应用。 在网络应用方面,随着网络应用的日益广泛,x m l ( e x t e n s i v em a k e u p l a n g u a g e ) 已经成为不可或缺的技术之一,为了更方便地进行数据处理,在安全 性要求不高的应用中,直接传输x m l 文档也逐渐应用于有线网络中,x m l s c h e m a ( e x t e n s i v em a r k u pl a n g u a g es c h e m a ) 具有比a s n 1 更强的数据描述能力 为这种应用提供了有力的支持。 而在通信网络中,随着第三代通信技术( 3 g , 3 r d g e n e r a t i o n ) 的发展与成熟,其 对数据描述语言提出了新的要求,a s n 1 和x m l 均不能对其协议数据单元进行 有效描述,t s n 1 ( t r a n s f e rs y n t a xn o t a t i o no n e ) 作为一种新出现的数据描述语言 ( 正在申请标准) ,特别适合描述结构灵活多变、编码自由的消息,能很好地解决 第1 章引言 3 g 网络中数据描述问题( p r o t o m a t i o n s e c a l 2 0 0 5 ) 。 随着有线网络、无线网络以及通信网络的综合应用,综合考虑不同网络中的 描述方法及编码方式,提出一套通用方案框架对于不同网络之间的消息传输是大 有裨益的。 在此背景下,并根据市场需求和实验室内部发展的需要,我们完成了项目通 用编解码解决方案,本文主要探讨方案的设计与实现。 1 2 研究现状 关于数据描述语言a s n 1 的研究,早期主要集中于编解码规则的实现与优 化( t r e v o rb l a e k w e u e t a 1 1 9 9 6 ) ,主要是针对b e r 、p e r 编码规则中的结构优化算 法,极大地从技术上提高了编解码效率:由于在a s n 1 标准出现之前,很多协 议标准不是用a s n 1 描述的,为了更方便地用a s n 1 描述,d u k et a n t i p r a s u f l 等对a s n 。1 进行扩展,使a s n 1 能适应任意的编解码规则( d u k e t a n t i p r a s u t e l a l 1 9 9 7 ) ;在此之后,针对a s n 1 的研究主要集中于具体的协议应 用,其中,h uq i a n g 等在( a s n a p p l i c a t i o ni np a r s i n gi s u pp d u s 一文中详细 描述了如何利用a s n 1 对协议数据单元编解码进行具体的优化( h uq i a n g 等e t a 1 2 0 0 6 ) 。随着协议数据描述语言的不断涌现,最新的研究主要集中于a s n 1 与其它数据描述语言的关系,虽然a s n 1 与x m ls c h e m a 和t i c n 3 之间的转 换关系已经标准化但最新的2 0 0 9 标准正在制定中。 而对于x m ls c h e m a 的研究,主要集中在x m ls c h e m a 在关系数据库方面 的应用方面,利用x m ls c h e m a 描述信息交换的逻辑模型,最初,系统分析x m l s c h e m a 文件的语义并产生相应的关系数据库,然后,系统根据s c h e m a 和x m l 文档构成,利用来自数据库中的信息,对有效x m l 文件解构进行了处理;最后, 系统提供了一个灵活的机制使用有效的x m l 文档修改和查询数据库中的内容 ( i r a k l i $ v a r l a m i s 等e t a 1 2 0 0 1 ) 。 t s n 1 作为新出现的语言,在描述结构灵活多变的信息结构方面有其天然优 势,非常适合于3 g 网络中的数据单元描述,其规范正在不断地完善修改,相应 的标准也正在申请中( p r o t o m a t i o n s e t a 1 9 0 0 5 ) 。 上述研究主要还是针对各自语言的标准及应用,针对不同语言之间的交互也 在逐渐发展,但缺少通用的编解码方案,本文将以a s n 1 为基础,结合t s n 1 和x m ls c h e m a 设计一套通用的编解码方案。 第1 章引言 1 3 本文研究内容 随着互联网和通信网新的应用协议不断涌现,a s n 1 不能灵活有效甚至不能 描述某些消息结构,开发者不得不手工重复开发新的消息分析器以规避此问题, 或各自独立地对a s n 1 进行扩展,没有一套通用的规范,导致协议一致性和互 操作性问题日趋严重。为此,本文针对上述问题,利用t s n 1 ( t r a n s f e rs y n t a x n o t a t i o no n e ) 表述灵活的特性对a s n 1 进行语义和编码规则方面的扩展,使 a s n 1 的表述能力和编码规则更加丰富,同时随着x m ls c h e m a 的广泛使用及推 广,传输中使用x m i x e x t e n s i v em a k e u pl a n g u a g e ) 格式文档也越来越多,特别是 在有线网络传输中,因此,在编解码方面,仅仅考虑a s n 1 已显然不足,需要 综合以上三者同时考虑。 本文在深入研究a s n 1 及其扩展和x m ls c h e m a 标准的基础上,总结出 a s n 1 和x m l s c h e m a 类型的共性和差异,制定了一套合理的中间规范,数据描 述语言经过各自的编译器或分析器之后均被翻译成符合中间语言规范的中间表 述,省略了一些不必要的转换,提高了编解码的效率;同时,针对a s n 1 的缺 陷,结合新出现的语言t s n 1 对a s n 1 进行语义和编码规则方面的扩展,使 a s n 1 的描述能力和范围均得到增强;更重要的是,设计并实现了适应面宽和扩 展性好的通用编解码方案,使得t r c n 3 测试工具的应用更加方便,在此方案, 数据描述语言和编码规则均可以插件式开发。 1 4 论文章节组织 第一章,阐述了论文的研究背景和主要内容,并对论文结构做简要介绍; 第二章,介绍a s n 1 和t s n 1 协议数据描述语言; 第三章,结合t s n 1 对a s n 1 从语义和编码规则两个方面进行扩展,并进 行了分析: 第四章,总结和比较分析了现有的编码方案,提出了自己的方案: 第五章,给出通用编解码解决方案的设计与实现并描述通用编解码解决方案 在a - g p s ( a s s i s t e dg l o b a lp o s i t i o n i n gs y s t e m ) 一致性中的用法与作用; 第六章,总结全文。 1 5 术语与缩写 本节对文中用到的一致性测试的基本术语和缩写加以介绍,方便后续。文字 第1 章引言 内容中尽可能使用术语的中文翻译,表格和图中则一般使用缩写或英文方式。 p d up r o t o c o ld a t au n i t ,协议数据单元 a s n 1a b s t r a c ts y n t a xn o t a t i o no n e ,抽象语法记法 t s n ,lt r a n s f e rs y n t a xn o t a t i o no n e ,传输语法几号 x m ls c h e m ae x t e n s i v em a k e u pl a n g u a g es c h e m a e c n e n c o d i n gc o n t r o ln o a t i o n ,编码控制标记 b e rb a s i ce n c o d i n gr u l e ,基本编码规则 p e rp a c k e de n c o d i n gr u l e ,紧凑编码规则 n b on e t w o r kb y t eo r d e r i n g ,网络字节顺序 n b a pn o d eb a p p l i c a t i o np a r t ,节点b 应用部分 x s dx m ls c h e m ad e f i n i t o n ,x m ls c h e m a 定义 t i n 3 t e s d n ga n dt e s tc o n t r o ln o t a t i o nv e r s i o n3 ,测 试及测试控制记法 a - g p sa s s i s t e dg l o b a lp o s i t i o n i n gs y s t e m ,辅助全球 定位系统 4 第2 章a s n 1 与t s n 1 简介 第2 章a s n 1 与t s n 1 简介 2 1 抽象语法记号a s n 1 2 1 1a s n 1 概述 a s n 1 是抽象语法记号( a b s t r a c ts y n t a xn o t a t i o no n e ) 的缩写,是一种独立于 机器的描述语言,用于描述在网络上传递的消息。 a s n 1 语言规范分为两部分:语法规则和编码规则。语法规则从数据类型、 内容顺序或结构等方面来描述消息的内容;编码规则则说明如何对语法规则中定 义的抽象值进行编码( r r u _ tx 6 8 0 ,e ta 1 2 0 0 2 ) 。 在a s n 1 出现之前,对通信协议中传输数据的描述,要说明数据在传输时 的具体位和字节的内容描述的过程非常复杂,很容易出错,并且查找错误也比 较困难。利用a s n 1 ,协议设计人员可以在一个较高的层次上描述和观察相关的 信息及其结构,而不必过分关心信息在传输时是如何实现的。a s n 1 在数据描述 上有天然的优势,因为a s n 1 允许用一致的方式从简单数据类型构造任意复杂 的数据结构,特别适合表示现代通信应用中的那些复杂的、变化的及可扩展的数 据结构。给定要传输信息的a s n 1 描述,通过运用某种编码规则就可以自动地 得到一种信息传输时的表示方式。 目前有多种编码规则如基本编码规则b e r ( i t u - tx 6 9 0 , e ta l , 2 0 0 2 ) 、压缩编码 规贝l j p e r c i t u - t x 6 9 0 , e t a l ,2 0 0 2 ) 、规范编码规则c e r 和区别编码规则d e r ( m x 6 9 0 ,e ta l ,2 0 0 2 ) ,这些规则都是作为a s n 1 的伴随标准产生的;另外,各个公司 为了提高系统内部的通信效率,可能会自定义一套适合自己的编码规则如i i 等( 王沁,等2 0 0 8 ) 。 2 1 2 类型与类型定义 2 1 2 1a s n 1 中的类型 a s n 1 中最重要的概念就是类型。类型是一个非空的值的集合,值可以被编 码后传输。相比于高级语言中复杂的数据结构,a s n 1 中的类型主要是为了数据 的传输,s e q u e n c e 和s e t 主要用于消息传输,而b i ts t r i n g 和e m b e d d e d p d v 则是为了通讯专门设计的( j o h nl a r m o u t h ,e ta 1 1 9 9 9 ) 。 a s n 1 中的基本类型如表2 1 中所示,更为复杂的类型可以由基本类型通过 如表2 - 2 中的组合类型构造得到。 第2 章a s n 1 与t s n 1 简介 表2 1 内建基本数据类型 类型 含义 m l 只包含一个值n u l l ,用于传送一个报告或 者作为c h o i c e 类型中某些值 巧n e g e r 全部整数( 包括正数和负数) r e a l 实数,表示浮点数 e m ,m 呃r 戌n m 标识符的枚举( 实例状态机的状态) b r rs r r i 渊g 比特串 o c 唧s t 则g 字节串 o b j e c ti d e n t w l e l l 一个实体的标识符,它在一个全世界范围树 r e l 戌i 唧旬d 状结构中注册 x t e p n a le m b e d d e d 表示层上下文交换类型 p d v s t r i n g 各种字符串,有n u m e r i c s t r i n g 、 p r i n t a b l e s t r i n g ,v i s i b l e s t i r n g ,i s 0 6 4 s t r i n g , i a s s t r i n g ,t e l e t e x s d m g ,t 6 1 s t r i n g , v i d e o t e x s t r i n g 、g r a p h i c s t r i n g 、g e n 朗- a l s t r i n g 、 u n i v e r s a l s t r i n g 、b m p s t r i n g 和u t f s s t r i n g c h a r a c i e rs t r i n g 允许为字符串协商一个明确的字符表 u t c i i l 赡, 日期 表2 2 组合数据类型 类型 c h o i c e 含义 在类型中选择( 类似c 中的联合) s e q u e n c e 由不同类 s e i 由不同类 q 口n tn 7 j r 口n 赏出相园筮 型的值组成一个有序的结构 型的值组成一个无序的结构 型的值组成一个有序的结构 s e to f ; 由相同类型的值组成一个无序的结构 2 1 2 2 类型定义 类型定义格式为: := ,其中, 是一个以大写字母开头的标识符: 是基于内建类型或在其它地方定义 第2 章a s n 1 与t s n 1 简介 的类型。如: m a r r i e d := b o o ie a n a g e := i n t e g e r p i c t u r e := b i ts t r 酣g f o r m := s e q u e n c e n 锄e a g e m a r r i e d m a r r i a g e - c e r t i f i c a t e p r i n t a b l e s t r i n g , a g e , m a r r i e a , p i c t u r e0 p n o n a l 为了接收方能正确解码,发送方为每个值的类型附加一个数,称为t a g ,在 描述中以“口”标识。缺省情况下,编码器会使用u n i v e r s a l 的t a g 。很多时候, 缺省情况不能消除所有的模糊性,有必要明确指出各成员的t a g 。如: c o o r d i n a t e s := s e t i x 1 1i n t e g e r , y 【2 】i n t e g e r , z 【3 】i n t e g e ro 唧n a l 2 1 3 值定义 值定义格式为: := ,其中: 是以小写字母开头的标识符; 可以是一个类型的名字, 也可以是类型描述; 是基于整数、字符串、标识符的组合。如: c o u n t e rl o t t e r y n u m b e r := 4 5 s e x t u p l el o t t e r y - d r a w := 7 ,1 2 ,2 3 ,3 l ,3 3 ,4 1 ) 在a s n 1 的应用中,绝大多数的值都是动态获得的,但是指定某些值特别 是在约束型子类型中,可以改善描述的可读性。 2 1 4 子类型约束 在某些情况下,设计者常常只希望a s n 1 类型所有取值的一个子集有效, 如当一个数作为百分数传输时,要求是0 到1 0 0 之间的有效数字;当传输中国人 的姓名时,要求字符是中文,并且其长度必须在特定的范围内才有效。这些都是 用限f l ;l j ( c o n s t r a i n t ) 的方法来定义自类型的例子。另外,在一个企业组织内部,为 了方便沟通,对某些常用有意义的类型取别名也是很好的办法。子类型的定义是 通过在父类型记法后面添加适当的子类型说明( 限制) 实现的。 子类型本身也是一种类型,和一般类型同样使用。子类型说明是由一个或多 第2 章a s n i 与t s n 1 简介 个父类型值的子集组成的表达式,对于并列子集,子集间用“i 分开,整个表 达式位于园括号内。如: s p r i n g := m o n t h s ( m a r c hla p r i lim a y ) 子类型s p r i n g 通过在其父类型m o n t h s 后面附加限制说明来定义,子类型说明定 义了哪些m o n t h s 类型的值成为予类型s p r i n g 的可能值。 子类型扩展与限制说明表达式中,值集合的聚合有6 种不同的记法,2 种记 法适合所有类型,其余则只适合某些类型。适合所有类型的聚合记法是单值列表 以及包含子类型用法。单值列表中,子类型说明表达式是父类型中可以取得单个 值的列表,子类型取值可以是列表中的单个值。如上例中的“m a r c h 、搿m a y 一 和“a p r i l ”,每个都是m o n t h s 类型的单个值;包含子类型记法由关键字i n c l u d e 组成,i n c l u d e 后面附上一些同一父类型的其它子类型,表明值集合由这些子 类型的所有取值组成。如: f i r s t f o u r := m o n t h s ( i n c l u d es p r i n g lf e b r u a r y ) 类型f l r s t f o m 包含m a r c h 、a p r i l 、m a y 和f e b r u a r y 。它是子类型说明限制中的各 部分值集合的并集,值集合为一些父类型取值的子集,结果子类型的取值是这些 子类型取值的并集。 比较常见的还有值范围限制( r a n g e ) 、长度限制( s 匝) 、字符表限制( f r o m ) , 其中,r a n g e 定义子类型时,要求福类型的值必须是有序的,如i n t e g e r 、r e a l 等类型;对于类型的值具有长度这一特征时,可以利用长度限制来定义子类型, 如b i ts t r i n g 、i a 5 s t r i n g 以及其它字符产类型均可以采用此方法定义子类型: 字符表限制则主要针对字符串类型,只允许子类型的值取自字符集中的某个子 集。当然,也可以用内部子类型定义结构类型,如如s e t ,s e to f 类型的值集 合,这时,值集合包含所有那些域值满足某些限制的取值。 2 1 5a s n 1 编码规则 b e r ( b a s i ce n c o d i n gr u l e s ) 是a s n 1 中最早定义的编码规则。b e r 传输 语法的格式一直是n 三元组卿,l e n g t h ,v a l u e ,也可以认为是 。t l v 每个域是一系列八位组,对于组合结构,其中v 还可以是t l v 三 元组。b e r 传输语法是基于八位组( 为了避免不同系统之间的混淆,没有采用 b m 为单位) 的,自定界的编码,因为其中l 明确界定了八位组的长度。b e r 是大端编码的,其八位组的高位比特在左边。 c e r 和d e r 均是b e r 的变体,c e r 主要用于潜在的重要编码应用中,如 o d a ( o f f i c ed o c u m e n ta r c h i t e c t u r e ) :而d e r 适合安全数据传输,特别是数字签 名方面,在电子商务方而有独特的优势,适合传输平均大小的数据。 第2 章a s n i 与t s n 1 简介 b e r 、c e r 和d e r 编码规则产生的冗余码流非常大,平均要增加5 0 的额 外数据,p e r 与b e r 相比至少有4 0 到6 0 的改进,产生更紧凑的码流,因而 在v 0 p 、视频电话、多媒体以及3 g 等需要高速数据传输的领域有广泛应用。p e r 编码格式为p l v ,即 ,且其中 每个域都不再是八位组串而是比特串。p e r 编码规则可以分为基本的( b a s i c ) 和规 范的( c a n o n i c a l ) 两类,每一类又可以分为对齐( a l i g n e d ) 和不对齐( u n a l i g n e d ) 两种。 随着x m l 的广泛应用,编解码为了适应这一变化。又推出了x e r ( x m l e n c o d i n gr u l e ) 和e , - x e r ( e x t e n s i b l ee n c o d i n gr u l e ) 编码方式,其中x e r 要求编码 成x m l 文档,而e - x e r 则除了实现x e r 的功能之外,还要求必须满足x m l s c h e m a 的有效性验证。x m l 文档的有效性验证是检查该文档是否遵循行业规定 的x m l 文档格式 2 2 传输语法t s n 1 在抽象数据描述语言出现之前,对于网络层及网络层以下的数据单元描述, 主要使用c 语言等高级程序设计语言,既不便于扩展,也不便于维护。而当a s n 1 和x m l s c h e m a 等抽象数据描述语言出现之后,它们主要着眼于应用层的描述, 如果要描述像w i m a x l 这样具有消息结构灵活、前后域相关以及各域精确控制的 消息时,使用a s n 1 和x m l 则很困难,虽然e c n ( e n c o d i n g c o n t r o ln o t a t i o n ) 已 经成为a s n 1 的标准,但在现实中很少使用,使用也非常困难。t s n i 正是在 这样的背景下产生的。 t s n 1 ( t r a n s f e rs y n t a xn o t a t i o no n e ) 是一种描述数据类型的形式语言,主要 用于描述结构灵活并要求自定义编码的消息结构,它由p r o t o m a t i c s 公司于2 0 0 5 年提出,主要用于3 g 等无线网络。 t s n 1 ( p r o t o m a t i o n s ,e ta l ,2 0 0 5 ) 是一种形式化语言,具有良好的结构,其中最 重要的概念包括e ) _ ,( p a c k a g e ) 、引用( i m p o r t ) 、条件语句( c o n d i t i o n a l ) 以及消息 ( m e s s a g e ) 等下面分别介绍。 2 2 i 包( p a c k a g e ) t s n 1 源文件以包的形式组织,每个包都有自己的t s n i 脚本文件。每个 t s n 1 文件都以包声明开头,例如”m a c _ m e s s a g e t s n ”声明包如下: 1 w i m a x ( w o r l d w i d ei n t c r o p e r a b i l i t yf o rm i c r o w a v ea c c e s s 全球互通微波存取) ,是一项高速无线数 据网络标准,主要用在城域网络( m a n ) 由w i m a x 论坛( w i m a xf o r u m ) 提出并于2 0 0 1 年6 月成形 它可提供最后一公里无线宽带接入,作为电缆和d s l 之外的选择。它在1 e e e8 0 2 1 6 标准的多个舨奉和选 项中做出唯一的选择,以保证不同厂商产品的互操作性 9 第2 章a s n i 与t s n i 简介 p a c k a g ew i m a x ; 以上声明表示”m a c _ m e s s a g e t s n 文件中所有的定义都属于包w i m a x ,即只在包 w i m a x 中可见。如果不指定声明,则文件中的所有定义是全局的。 当然,包也可以层次式的形式组织,例如,包w i m a x 属于包i e e e 8 0 2 ,可以 声明如下: p a c k a g ei e e e 8 0 2 w i m a x ; 以上两个声明表示”m a c _ m e s s a g e 。t s n 所在目录为 i e e e 8 0 2 w i m a x ,当然 应该是可访问的文件系 统中的一个有效目录。 2 2 2 ;jia ( i m p o r t ) 引入声明允许一个t s n 1 脚本访问在另一个t s n 1 脚本中的定义,例如: i m p o r ti e e e 8 0 2 w i m a x m a c _ m e s s a g e s ; 以上声明弓l 入m a cm e s s a g e s 中的所有定义,为了更方便的引用,t s n 1 也弓l 入 了通配符“妒,表示引入某个包下的所有定义,如: i m p o r ti e e e s 0 2 w i m a x * ; 引入了w i m a x 下所有的定义。与j a v a 等高级语言类似,在t s n 1 中不允许出现 循环引用。 2 2 3 条件( c o n d i t i o n a l ) t s n 1 脚本顶层提供的条件语句用来定义t s n 1 常量、枚举或者消息,与其 它高级语言不同,它只提供了一个i f 语句以及一个可选的e l s e ,如: i f ( m o d e = = m o b i l es t a t i o n ) i l e l s e 以上结构中的“m o d e 是一个常量,在编译时由外界提供。 2 2 4 常数( c o n s t a n t ) 和枚举( e n u m e r a t i o n ) 在t s n 1 中有两种定义整数常量的方法:使用常量定义或者枚举定义。 常量定义与高级语言非常类似:如“o n e := 1 ”定义了o n e 这个常量, 第2 章a s n 1 与t s n 1 简介 以后使用o n e 就相当于整数“l 。 用枚举来定义常量是t s n 1 中更常见的种方式,它将整数与一组有意义 的标识符联系,便于理解和维护。i e e e8 0 2 1 6 标准中的m a cm a n a g e m e n t m e s s a g et y p e s 定义如下: w i m a x _ m a cm e s s a g e t y p e := e n u m e r a t e d i w i m a x _ m a c _ u c d , w i m a x _ m a c _ d l _ m a p , w i m a xm a c _ u lm a p , w i m a x _ m a c _ r n g _ r e q , w l m a x _
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 试题及答案一智能家居设计
- 磷酸系列产品生产线项目可行性研究报告
- 阅读能力成长的关键影响因素分析
- 《电路基础知识讲解与实操演练:初二物理教案》
- 能源与环境科学综合题解答及解析
- 推广现代技术手段提升疾病早期监测能力
- 产品研发费用表格:各行业研发投入统计
- 社区农业资源调配协议
- 行业发展趋势与行业洞察报告表
- 乡村中医药服务现状与发展瓶颈分析
- 习近平总书记关于应急管理的重要论述
- 2025年3月10日吉林省纪委监察厅遴选面试真题及解析
- 2025年陕西省新高考语文试卷(含答案解析)
- 《编织美好》教学课件-2024-2025学年鲁教版(五四学制)(2024)初中美术六年级上册
- 2025年江西省高考物理真题
- 2025年《国际金融》课程标准
- 国际道路运输管理制度
- 客户拜访跟进管理制度
- 湘教版七年级数学下册期末考试卷(附答案和解析)
- 2025湖南长沙市轨道交通运营限公司招聘372人易考易错模拟试题(共500题)试卷后附参考答案
- T/SHPTA 071.2-2023高压电缆附件用橡胶材料第2部分:半导电橡胶材料
评论
0/150
提交评论