




已阅读5页,还剩54页未读, 继续免费阅读
(计算机软件与理论专业论文)基于主动式网络执行环境bees的aop框架研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电大学硕十研究生学位论文 摘要 摘要 现在流行的t cp ,u d p i p 协议虽然已经成为i n t e m e t 间各种链路层技术和高层应用程序 实现互操作的基础,但是他们在适应当前不断发展变化的网络应用方面处境尴尬:往往一 个新业务系统从原型实现到大规模应用需要大约1 0 年的时间,周期过长。主动式网络沿 用存储转发结构,但是它除了携带净荷数据之外,还可以携带程序代码;通过在结点的执 行环境( a c t i v en e t w o r ke x c u t i o ne n v i r o n m e n t ) i 勾执行分组中的代码,改变网络的行为和状态, 省去t n 定标准的漫长过程。协议开发上移到应用层,这样的网络结构更灵活。 犹他爵士大学计算机系的b e e s 就是这样个主动式的执行环境,b e e s 运行于结点操 作系统n o d e o s ( n o d eo p e r a t i o ns y s t e m ) 之上。任何主动式网络应用,建立在用户自定义主 动式协议( a c t i v ep r o t o c 0 1 ) 上。然而,b e e s 并没有提供太多开发主动式协议的文档,更没有 怎样建立主动式应用和测试的成型框架f r a m e w o r k :当前对b e e s 的研究,大多数建立在怎 样提高结点间转发的效率,有效利用带宽和提高安全性能上。 本文提出了一种采用a o p ( a s p e c to r i e n t e dp r o g r a m m i n g ) 思想的针对b e e s 的开发框架 a o f ( a s p e c to r i e n t e db e e sa p p l i c a t i o nf r a m e w o r k ) ,分别对在b e e s 上创建主动式协议,整合 历史遗留代码( l e g a c yc o d e s ) ,创建主动式应用进行原型实现。a o f 分成:主动协议织入层 a c t i v ep r o t o c o lw e a v e r ( 包括组件库和代码生成器) 以及遗留代码织入层( 包括实现主动代码 客户端调用的中间组件) 。a o f 组件库具有良好的扩展性,可以很容易地引入新的组件。 中间组件封装了大部分客户端基本调用,简化了应用开发。协议代码框架以很细的粒度对 协议代码进行适当解耦,自动生成的代码具有很好的重用性。并且,由于a o p 结构很难 直观地用o m g 的u m l 进行建模,本文还扩展u m l 中的类图c l a s sd i a g r a m 来描述a o p 的织入w e a v e 结构,说明a o f 完全可以在可视化设计,编码,逆向集成开发环境i d e 中 实现。如此,加快和简化了主动式协议和主动式应用的开发,更突出了引入主动式网络的 意义。 , 最后本文还针对a o f 的可扩展性,对a o f 框架可以进一步改进的地方进行研究,说 明a o f 潜在的价值。 关键词:a o f ,a o p ,b e e s ,主动式网络,主动式应用,主动式协议,移动代码 南京邮电人学硕士研究生学位论文摘要 a b s tr a c t n o w a d a y s ,a l m o s ta l lt h ep r o t o c o l so fl o w e rl a y e r ( d a t a l i n k ) a n dh i g h e rl a y e r ( a p p l i c a t i o n ) a r eb a s e do nt c pa n du d p i pp r o t o c o l si nt h ei n t e m e te n v i n r o n m e n t ,b u tt h et c pa n du d p i p t h e m s e l v e sa r ee m b a r r a s s e db yt h er a p i dc h a n g ea n dd e v e l o p m e n to ft h en e t w o r ka p p l i c a t i o n s o f t e n ,i tn e e d sa b o u t10y e a r so rm o r el o n g e rf o ra l ln e wb u s i n e s sf r o mp r o t o t y p et ow i d e l yu s e t h i sc y c l ef o rac o m p a n ys e e m st o ol o n g a na c t i v en e t w o r ki n h e r i t st h es t o r e t r a n s f e rm o d e l , a n dc a nc a r r yt h ee x c u t a b l ec o d e sb e s i d e sd a t a e x c u t i n gt h ec a r r i e dc o d e so nan o d eo nt h e a c t i v en e t w o r ke n v i r o n m e n tw i l lc h a n g et h es t a t e sa n db e h a v i o r so ft h en e t w o r k t h u s ,t h e d e v e l o p m e n to fm a n yl o w e rp r o t o c o l sn o wc a nb em o v e d t ot h ea p p l i c a t i o nl a y e r , s oa sn o tt o d r a f ts om a n yl o w e rp r o t o c o l s ,w h i c ht a k e st i m e t h i sp r o v i d e sm o r ef l e x i b i l i t yf o ra na c t i v e n e t w o r kt h a nt h et r a d i t i o n a ln e t w o r k s b e e si n v e n t e db yt h ec o m p u t e rs c i e n c ed e p a r t m e n to fu t a hu n i v e r s i t yi ss u c ha na c t i v e n e t w o r ke x e c u t i o ne n v i r o n m e n t ,w h i c hr u n so nan o d e o s ( n o d eo p e r a t i o ns y s t e m s ) a n da n y a c t i v en e t w o r ka p p l i c a t i o n sa r eb u i l to nt h eu s e rd e f i n e da c t i v ep r o t o c o l s b u th e r ei sab a dn e w s f o ru st h a tt h e r ea r en e i t h e rs u f f i c i e n td e v e l o p i n gd o c u m e n t so nb e e s ,n o rm a t u r eb e e so r i e n t e d f r a m e w o r k so nh e l p i n gt oc r e a t ean e wa c t i v ea p p l i c a t i o n t h ek n o w nb e e s - b a s e dr e s e a r c h e s m a i n l yf o c u s e so nh o wt oi m p r o v et h ee f f i c i e n c yo ft h ep a c k a g et r a n s p o r tb e t w e e nn o d e s ,t h e u s a g eo fb a n dw i d t ha n dt h es e c u r i t yi s s u e sa sw e l l t h ep a p e ri n t r o d u c e st h ea o p ( a s p e c to r i e n t e dp r o g r a m m i n g ) i n t ot h eb e e s a p p l i c a t i o n d e v e l o p i n g ,w h i c h l e a d st oaf r a m e w o r kn a m e da o f ( a s p e c to r i e n t e d b e e sa p p l i c a t i o n f r a m e w o r k ) ,a n dap r o t o t y p ei m p l e m e n th a sb eg i v e ni nt h ef o l l o w i n gt h r e ep a r t s :c r e a t i o no f a c t i v ep r o t o c o l ,r e f a c t o r i n gl e g a c yc o d e sf o rw e a v i n g ,c r e a t i o no fa c t i v ea p p l i c a t i o n 。t h ea o fi s c o m p o s e db y :a c t i v ep r o t o c o lw e a v e r ( i n c l u d i n gl i b sa n dc o d e sg e n e r a t o r ) a n dl e g a c yc o d e s w e a v e r ( i n c l u d i n gm i d d l e w a r e s t oi m p l e m e n tc l i e n ti n v o k i n gf u n c t i o n s ) a o fi ss of l e x i b l et h a t y o uc a ne a s y l yi n t r o d u c en e wc o m p o n e n t si n t oi t a n dt h i sm i d d l e w a r ee n c a p s u l a t e sm o s to ft h e b a s i cb l o c k si n v o k e db yt h ec l i e n t s ,w h i c hc a ne a s el a r g e l yt h ea p p l i c a t i o nd e v e l o p m e n e t t h e f r a m e w o r kd e c o u p l e st h ep r o t o c o li nt h ef i n e rg r a n u l a r i t y , w h i c hg r a n t sg o o dr e u s a b i l i t yo ft h e a u t o m a t i cg e n e r a t e dc o d e s f u r t h e rm o r e ,t h i sp a p e rd e p i c t sa ne x t e n s i o nt ot h eu m lc l a s s d i a g r a mi no r d e rt os h o wt h es t r u c t u r eo fw e a v i n gi na o p , b e c a u s ei ti sh a r dt om o d e l i n gb y ? i i 南京邮l b 大学硕i :t 口f 究生学位论文 摘要 u s i n go m g su m ls t r a i g h t f o r w a r d w ec a r lu s eav i s u a ld e s i g n i n g ,c o d i n ga n dr e v e r s e e n g i n e e r i n gi d et oi m p l e m e n ta l la c t i v ea p p l i c a t i o nu n d e rt h ea o e a b o v ea l l ,i tc a l ls i m p l i f y a n dq u i c k e nt h ep r o c e s so fd e v e l o p i n ga na c t i v en e t w o r kp r o t o c o la n dt h er e l a t i v ea c t i v en e t w o r k a p p l i c a t i o n s ,w h i c ha d d su sm o r eb e a u t yt ot h ei n t r o d u c t i o no f a c t i v en e t w o r k f i n a l l yt h et h e s i sp o i n t so u ts o m e t h i n go ft h ea o f u n d e ri m p r o v i n ga n df u r t h e rs t u d y i n g , w h i c hp r o v e st h ep o t e n t i a lv a l u e s k e y w o r d s :a o f ,a o p ,b e e s ,a c t i v en e t w o r k ,a c t i v ea p p l i c a t i o n ,a c t i v ep r o t o c o l , m o b i1 ec o d e s i i i 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名: 至熬日期:垒:墨二生二! 乙 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名: 至致导师签名:里暨丝堑日期:塑壁:二! ! 南京邮电人学硕i :t o u t 生学位论文 第一章 面向封装囊的土动八州络执行叫:境b e e s 介绍 第一章面向封装囊的主动式网络执行环境b e e s 介绍 1 1 b e e s 概要介绍 在1 9 9 4 1 9 9 5 年美国国防部高级研究计划署( d a r p a ) 有关未来网络发展方向的研讨会 上,经过多方酝酿,提出了主动网络这一新的网络体系结构。其主要目的是解决现有体系 结构在集成新技术、扩展新应用时存在的诸多不便 1 ,2 ,3 】。主动网络继续沿用了存储转发 的结构。一个显著的特点是网络结点上的路由器或交换机可对经过它的分组流进行定制处 理。这种定制处理并非传统分组交换网络中为了将分组转发至目的地而对分组头进行的简 单处理( 如路由器对分组头的修改或标记交换机对标记的修改等) 。主动网络中的分组除携 带净荷数据以外,还有可能携带程序代码。网络内的结点可以在自己的运行环境内执行分 组中携带的程序,从而改变网络的行为和状态。这相对于x 被动y 的转发分组而言要x 主动y 许多 1 7 。这也就是之所以称其为x 主动网络y 的原因。主动网络通过结点的计算 能力抽象高层协议,省去了为新应用制定标准的过程。新协议的应用等价于网络分组中新 应用程序的开发。通过此加速网络的发展是主动网络赋予网络可编程能力的主要动机。 主动网络由结点组成。结点间通过各种低层网络技术( 如e t h e m e t ,a t m ,s d h ,d w d m 等) 连接在一起 1 7 。不是要求所有结点都主动。传统的网络结点依旧可以工作在主动网络环 境中。主动结点上运行着一个结点操作系统( n o d e o s ) 。一个或多个执行环境( e x c u t i o n e v i r o m e n t ) ,简称e e 。用户通过主动应用( a c t i v ea p p l i c a t i o n ) ,简称a a ,获得业务。a a 是 通过e e 提供端到端业务的。 移动代码让用户能够自己定义用来和远程结点交互的过程和协议,并且还能让远端管 理员设置和该结点交互的方式。然而,如果没有一个完善的执行环境( e e ) ,移动代码不能 做任何有用的工作,管理员也没有办法安装一个功能强大的主动式应用环境( a a ) 来提供对 移动代码获取和消耗的资源的严格管理。 犹他爵士大学计算机系的b e e s 就是这样一个主动式执行环境( e e ) 1 ,2 ,4 】。b e e s 由 a n t s 结构发展而来,它能提供更好的安全性能,对封装囊( c a p s u l e ) 传播更细粒度的控制, 能够简单的组合主动式协议,和更平滑的与用户程序交互的机制。b e e s 的安全性能从易扩 展的鉴定和授权机制,对私有资源基于c a p a b i l i t y 的存取,和与我们用户环境的虚拟机提 供的隔离、终止和资源控制集成而来。这些对移动代码执行环境的提升使得我们可能写出 很多带有”帮助”协议的协议。此外,移动代码天生可以和终端用户程序交互,这使得它们 塑室坚! 皇查兰堕:苎翌! 塑竺兰竺堡苎星= 兰耍塑塾鲨塞塑圭塑鉴塑丝垫! ! 堑堡呈! 竺坌塑 可以和旧有的应用通讯。这些特性使得b e e s 在a n t s 基础上无论在用户端还是在管理员 端都有了的极大的改进。所以,进一步地,我们完全可以利用b e e s 的这些先进特性和现有 的应用框架进行集成,扩展现有应用框架的功能、性能、适用范围等,充分发挥移动代码 的实际应用能力。举例说,主动式的多播协议可以让特定的应用决策是否传送一个包。在 一个代理的用例中,代码被传播到终端以解析和在结点上可用的数据中执行。比如一个证 券监视代理能够移动到一个有连接的结点上,接收证券信息,等待股票特定的价格,买入 一定数量的股票,最后结束操作。不幸的是,这些移动代码能够提供的无以伦比的可扩展 性被需要提供过于复杂的执行环境的安全性所抵消 1 】。 j a v a 主动式结点操作系统虚拟机( j a n o s v m ) 是一个公开代码的可以用来执行j a v a 字节 码的虚拟机。和现有的虚拟机不同的是,j a n o s v m 在一个虚拟机中支持多个分别的过程实 体( 称作组) ,并且对该区分不需要依赖于任何的操作系统或者硬件支持。j a n o s v m 支持每 个组一个堆,每个组一个垃圾收集线程,组内线程移动,和安全跨组对象引用。设计上支 持异步错误终止,非合作或者恶意的j a v a 字节码应用,j a n o s v m 提供了在一个虚拟机中稳 定的和可扩展的多进程支持。在b e e s 的上下文中,j a n o s v m 用来隔离移动代码的实例和 控制资源的消耗 1 】。 b e e s 的协议结构。一个基于b e e s 的主动式结点由顶层的终端用户应用,提供和邻接 结点基本交互的服务,b e e s 的运行环境,还有最终的j a n o s v m 组成【8 】。应用是任何的想 应用主动式协议执行任务的终端用户程序。举例说明,w g e t 方法想用主动式h t t p 协议获取 一个文件。b e e s 服务提供一套便利的b e e s 运行时环境:例子服务包括结点发现和移动代 码鉴别和授权代理,或者可以称之为”认证代理”。然后,b e e s 运行环境提供一套基本的平 台,在此之上,移动代码和之上的系统进行交互。最后,j a n o s v m 用来隔离主动式协议和 控制它们的资源消耗。见图一。一个”封装囊”是一个绑定在封装囊类上的网络包。一个” 协议”用来定义一套封装囊类,任何支撑类,和协议用到的扩展数据。协议还可以加载”帮 助( h e l p e r ) ”协议,称为”伙伴( c o m p a n i o n s ) ”,它可以提供一些主要协议服务。如从邻接结点 的下载协议。并且,协议还可以加载一个会话( s e s s i o n ) 类,它提供了终端用户应用请求和 协议活动间的翻译代理【1 】。从图1 1 中可以看出,应用只能用进程间通信( i p c ) 通过会话 ( s e s s i o n ) 类和主动网协议交互。 南京邮电大学顾士研究生学位论文第一章面向封装囊的主动式网络执行环境b e e s 介绍 p r o t o c o l 图1 1 :b e e s 的协议 b e e s 所处的层次结构。b e e s 作为主动式网络执行环境,处于应用之下,结点操作系统 之上,见图1 2 。在硬件之上,是操作系统工具库( o s k i t ) 。o s k i t 是一个基于3 4 个组件库 的操作系统框架。它采用用一种模块化的方法,不但提供了操作系统需要的非结构化构造 的底层的东西,还提供了一些高层次的组件。o s k i t 的目标就是降低操作系统开发和研究 的壁垒和成本。o s k i t 让创建一个操作系统,和把一个操作系统移植到x 8 6 体系变得容易。 在o s 飚t 之上,是m o a b 层。m o a b 是对结点操作系统a p i 的c 实现。m o a b 不但可以运行 于o s k i t 层上,还可以运行在u n i x 1 i k e 环境( 如l i n u x ,s o l a r i s ,f r e e b s b ) q h ,这使其能更好 地负责测试,除错和在主动式网络的”终端系统”下运行。m o a b 之上,是结点操作系统虚拟 机( j a n o s v m ) 。j a n o s v m 提供了基于j a v a 的结点操作系统( j a v an o d e o s ) 的虚拟机环境。b e e s 主动式网络执行环境( e e ) 就运行在该结点操作系统之上。用户自定义协议在该执行环境上 通过封装囊( c a p s u l e ) 传播到邻接结点,认证,并且在该结点的数据集合上执行【1 】。 南京邮l 乜人学硕i j j i j i = 究生学位论义第一章面向封装囊的主动式叫络执行环境b e e s 介绍 a p p s a pa pa p c i t h e rn o n eb e e s e ej a v a n o d e o s e e j a n o s v md k a n e t d c a f f e e m o a b o s k i tu n i x l i k eo t h e r o s h a r d w a r e 图1 2 :b e e s 所处的层次结构 b e e s 结点的安全性依赖于良好的鉴别和授权代理( a u t ha g e n t ) 。认证是结点的第一道 防线:它决定哪些协议可以,哪些协议不可以运行在该结点之上。此外,他还决定了j 下在 运行在该结点上的协议可以有哪些特权。因为大多数的工作都是特定策略的,并且可能包 含了任意数量的用户自定义协议,所以代理并不是b e e s 下层结构的固定部分。然而,它确 实提供了写这样的应用的基础和两种简单的认证。更令人感兴趣的是,这两种以源为基础 的代理只允许符合已知用户和公钥的流通过。此外,代理可以把任何用户特权的子部分授 权给流,使它得到一个有效的签名。在结点上启动一个新的主动式协议和他的伙伴协议 ( c o m p a n i o n s ) ,由b e e s 用j a n o s v m 来完成这样的操作。协议的层次被映射到一个j a n o s v m 组中。这种映射隔离了移动代码自己的和其他共享b e e s 和j a v a 系统类的命名空间。它还 提供控制和计算协议的资源使用的服务,并且定义了在哪个数量下该协议会发生终止。b e e s 内的特权建立在c a p a b i l i t y 的基础上。一个c a p a b i l i t y 指的是一种提供某一种资源存耿的 j a v a 对象。也就是说,所有的对象引用,都是资源存取。举例说,如果一个主动式协议用 认证代理对一个文件传递c a p a b i l i t y ,那么它就可以读取该文件的内容。因为j a v a 提供了很 好的类型安全和对哪些方法和属性可见有良好粒度的控制,所以实现这样的机制很容易。 但不幸的是,标准的j a v a 运行环境并不是遵循以c a p a b i l i t y 为基础的模型的 2 。也就是说, 任何类可以创建特权对象,如同i a v a i o f i l e l n p u t s t r e a r n 一样,这需要被隐藏,所以这罩引 入了b e e s 的替代版本。c a p a b i l i t y 在同一个结点的实体间用”信封”( e n v e l o p e ) 来传递。这些 信封( e n v e l o p e ) 提供了一种封装的方法,用来传递到另外的j a n o s v m 的c a p a b i l i t y 在这个结 点上运行。被封口的信封,除非代码执行相应的解封和解密的过程,是不可能被打开的。 4 堕塞型皇奎兰堡! :竺壅生兰垡笙茎 蔓二里 堡塑型垄壅塑主塑苎堕竺垫笪翌:篓呈! 竺坌望 举例说,与传递所有的用户c a p a b i l i y 到认证代理不同,管理程序可以认可这些信封:它们 用封装囊( c a p s u l e ) 分别发送到新创建的t e a m 中,并且这些封口的信封只能被签名打丌。这 样b e e s 就可以减少可信认证。 在b e e s 运行环境中用加密机制提供安全保障被降低到最小以减少大量潜在的漏洞。 旦一个漏洞被找到,重新部署主动式协议比重新安装整个b e e s 系统来的容易得多。然而, 系统确实也提供了m d 5 哈希码用来校验流元组中下载的代码。此外,移动代码还可以请 求对给定邻接结点和对称密钥的逐渐增加跳数的完整性检测。也就是说,主动式协议可以 选择是否使用j a v a 密码系统扩展( j c e ) 提供的的简单加密 1 。当然,密钥c a p a b i l i t y 被设计 成不可以泄露密钥,并且签名对象自动地在任何签名的数据后增加一个流元组的哈希码以 把签名绑定在那个元组上。 :j;ii;i;j;!:;i;:i:习:一一一一一,:;!i;jil;:】:ji!;j;:回 图1 3 :b e e s 安全性 主动式协议实例之间用封装囊互相通信。然而,它也需要和用户程序进行通讯。b e e s 把所有的移动代码都默认为是恶意代码,在应用和协议之间,有严格的分离。也就是洗, 简单地载入个类到应用中是非可选的。此外,非j a v a 代码应用也不应该被隔离在和移动 代码交互之外。b e e s 引入了协议会话( p r o t o c o ls e s s i o n ) 对象束解决这个问题,它和对其关注 的应用交换协议的普通包。举例来说,用主动式h t t p 协议的w e b 浏览器发送g e t 请求到 会话对象,这会让主动式协议生成零个或者多个封装囊来响应这个请求。协议提供了一个 终端用户程序使用的合适的抽象接口。这种方式和套接字接1 :3 的w r i t e 方法接受普通的b y t e 数组然后把它们转变成任何数量的t c p 段很类似。 封装囊提供了一种领接结点相互通信的方法。然而,没有限制的恶意或者错误代码的 5 堕皇塑皇奎兰堕主翌! 塞竺兰垡笙苎笙二垦堂塑塾垄塞竺兰垫茎堕丝垫堡堑堡呈! 竺坌丝 封装囊传播会带来不必要的网络负担。另一方面,模糊地限制一个主动式协议允许的操作 只不过把网络负担转移到协议认证上来。也就是说,首先我们必须在哪里和何时传播日,j 定 义哪些才是一个组成有效序列的事件。因为b e e s 采用了”重量”级的模型,消耗的资源数量 和封装囊传递的数量不相关。这种弹性意味着移动代码可以对认证代理授予的资源自由地 执行操作。但是,使用网络带宽不但影响本地结点,也影响着目的结点和之间的网络下层 结构。也就是说,对资源的使用,必须建立在一些外部的激励因素上,比如接收到一个封 装囊或者一个定时器事件上。一旦收到这个授权事件,主动式协议可以在一个时白j 段内自 由使用网络带宽。 封装囊传播也可以简单地限制一个协议向邻接结点发送封装囊。因为在b e e s 中,邻接 结点也是一种c a p a b i l i t y ,限制封装囊和他们的移动代码是轻而易举的事情。举例说,在边 界路由上的认证代理可以用否认外部邻接结点的方式获得一个相对的内部网络协议。此 外,代理能从有问题的或者异常的主动式协议中决定废除它的邻接结点,这可能通过一些 与结点认证代理的安全通信实现。 1 2 b e e s 详细代码结构 1 2 1 主动式执行环境代码结构 b e e s 的代码分成两部分:j a v a 代码和p y t h o n 代码。 j a v a 代码在b e e s 上实现了用户自定义主动式协议( a p ) 和它的s e s s i o n 接口。从图1 2 中可以看出,b e e s 所依赖的n o d e o s 不但可以运行在j a n o s v m 上,还可以运行在j d k l 4 , 或者c a f f e e 等其他j a v a 运行环境( j r e ) 实现之上 8 ,9 。这为我们开发和调试带来方便。 b e e s 的j a v al i b 。在b e e s 最新发行版本b e e s 0 5 1 的l i b 下,包含了以下的需要的l i b 。 e m u j a n o s v m j a r ,它提供了标准j r e 和其他符合j v m 规范的j r e 上的j a n o s v m 虚拟机。 这个虚拟机结合j a n o s v m k i t j a r 这个工具包,令采用j a v a 字节码实现的结点操作系统 n o d e o s 可以运行在任何的j a v a 虚拟机( j v m ) 上。j n o d e o s - p j d e b u g z i p 和 j n o d e o s p j - o p t i m i z e d 。z i p 分别为调试版本和优化版本的n o d e o s 实现包。 b e e s j a r 包。这个包是b e e s 的主体部分。在该包内,c o r e 为主体,其他的t e s t 和u t i l 分别是测试和工具包。c o r e 包中的x d r 和x d r b y t e a r r a y 很重要。x d r 封装了供不可信代码 存取的系统报文读缓冲( r e a d b u f f e r ) 和写缓冲( w r i t e b u f f e r ) ,同时它也提供了一些用来把基本 对象转成字节码排列缓冲( m a r s h a l l i n g ) 矛g 把字节码排列缓冲转成基本对象( u n m a r s h a l l i n g ) 的 6 堕塞些! ! 堂堡! 型! ! ! 竺堂竺笙苎堡= 至塑塑塾鲨壅堕圭垫盛型竺垫堑兰:丝里! ! ! ! ! 塑 方法。而x d r b y t e a r r a y 则扩展了字节数组b y t e a r r a y ,也有类似于x d r 一样的对象转字节 码数组( m a r s h a l l i n g ) 以及字节码数组转对象( u n m a r s h a l l i n g ) 的功能。转换方式以 x d r b y t e a r r a y 为例。x d r b y t e a r r a y 提供了p u t ( ) 方法把b y t e ,s h o r t ,i n t ,f l o a t ,d o u b l e ,t y p e l d , l o n g ,s t r i n g ,b y t e a r r a y , b y t e 这些类型的基本对象转成字节数组,转换顺序按照高位在日“的 方式把i n t 转成b y t e 。同时,也提供了低位在前的方式p u t l e 0 。可以用s k i p ( ) 方法跳过 一定长度的字节作为预留或者空白。相应地,存在b y t e ( ) ,s h o r t ( ) ,i n t 0 ,f l o a t ( ) , d o u b l e ( ) ,t y p e i d o ,l o n g o ,s t r i n g ( ) ,b y t e a r r a y 0 ,b y t e s ( ) 这些方法反过来把子 字节流还原成基本对象。同样地,也存在l e l o n g o 这样的方法作低位在前的逆向处理。 转换和还原需要按照完全相同的顺序,也就是队列方式处理。除了这些基本类型,b e e s 还 通过继承x d r b y t e a r r a y 提供了s i g n e d x d r b y t e a r r a y 这样的高级类型转换s i n g e d 提供了签名 功能的支持。类似地,用户也自己可以继承x d r b y t e a r r a y 实现自定义对象和字节数组的相 互转换,按需实现白定义协议。c o r e 包内的a n e p 包封装了主动网络封装协议。该包内有两 个类:a n e p v e r s i o n 和a n e p d e m u l t i p l e x k e y ,加上c o r e 包中的a n e p p a c k e t ,共同定义了 主动式网络封装协议。在a n e p v e r s i o n 中,封装了协议的版本和版本相关的操作。根据主 动式网络封装协议的定义,v e r s i o n 中有一个b y t e 类型的8 位的版本号。而 a n e p d e m u l t i p l e x k e y 继承了n o d e o s 中的d e m u l t i p l e x k e y ,用n o d e o s 提供的实现维护着 一个协议号与a n e p 版本号间的哈希表。而a n e p p a c k e t 则是真正的处理和存储主动包中 a n e p 头的相关比特的类 2 4 】。图1 6 表示了a n e p p a c k e t 中的各属性和方法在a n e p 头中 对应的位置: ii p 头 u d p 头 a n e p 头b e e s 头主动包负载 i 图1 4 :b e e s 包 7 南京邮电大学硕一t :j f 究生学位论文第一章面向封装囊的主动武例络执行环境b e e s 介绍 | - - 。 j ;8 位: j :位f ,_ ,。 j ;1 6 位; 川位f ,i 一: 版本标志 类型标忠 a n e p 报头长度 a n e p 分组长度 选项 负载 2 位; ? :位j ? - 一一一一一一一: r 。- ? i 1 6 1 6 位 ;? : 位 : ?l 一一一一一一一一一一一一一1 长度选项类型选项长度 选项负载( 选项值) 图l 。5 :a n e p 报头格式 8 南京邮屯大学硕十研究生学位论文 第一章面向封装囊的主动式网络执行环境b e e s 介绍 v e r s i o n :b y t ef l a g :b y t et y p e :s h o r t h e a d e r l e n g t h h e a d e r _ l e n g t h m u l t i p l i e r :s h o r tp a c k e t l e n g t h :s h o r t v o i de n c o d e i p v 4 a d d r e s s o p t i o n ( x d rx d r , s h o r to p t i o n t y p e ,i n ta d d r e s s ) ; f i g ( 0 )x d r p u t ( o p t i o n t y p e ) ; x d r p u t ( ( s h o r t ) ( i p v 4o p t i o n l e n g t h o p t i o n _ l e n g t h m u l t i p l i e r ) ) ; x d r p u t ( i p v 4 s c h e m e ) ; x d r p u t ( a d d r e s s ) ; a d d r e s s : i p v 4 d e s t i n a t i o n :i n ti p v 4 s o u r c e :i n t 图1 6 :b e e s 中对应的实现部分 。 r e s o u r c e 包是c a p a b i l i t y 的各个封装和实现。如c l o c k ,c l o c k h a n d l e r 和f i l e ,f i l e h a n d l e r 等等。s e c u r i t y 包处理安全认证等方面的事务。k e r n e l 是核心的主动包消息处理。b d o m a i n 包则是主动式执行环境的加载。实际应用中,可以通过这样的命令: s h h o m e m i r d o b j s c r i p t s p o u i l d v me d u u t a h j a n o s n o d e o s m a i n 一q u i e t b e e s c o r e b d o m a i n b d o m a i n t c p p o r t2 3 0 0 0 & 在2 3 0 0 0 端口启动一个新的b e e s 主动式执行环境( e e ) 实例。b u i l d v m 脚本是一系列环 境变量的设置。 b e e s 包中还有测试相关的类,提供以后的开发者很大的便利。 除了j a v a 包,b e e s 还提供了一些p y t h o n 包。这些包提供了在主动式执行环境之外启 动主动式执行环境,主动式应用客户端,和创建和修改c a p a b i l i t y 配置,创建和配置f l o w 以及加载用户自定义主动式协议的管理控制平台。此外,b e e s 还包括安装配置脚本,提供 了设置环境变量的便利。 p y l i b 是p y t h o n 包所在的目录。b e e s 子目录中的p y t h o n 类,是b e e s 中客户端对象的抽 象和实现,包括c a p a b i l i t y ,b e e s 对象,连接通道对象c h a n n e l 等等。特别地,t o o l s 子目录 中有一些工具类,分别提供了预定义c a p a b i l i t y 的载入,b e e s 应用环境初始化、载入,b e e s 测试环境初始化、载入,以及一些帮助类。 9 南京邮l 乜人学顾+ :a i j s e 生学位论文第一章面向封袈囊的主动式叫络执行壬1 :境b e e s 介绍 在b e e s 类中,b e e s s t d h a n d l e r s 定义了内置c a p a b i l i t y 类型的句柄,这些名字分别对应 了j a v a 中的相关句柄类: b e e s s t d h a n d l e r s = “o b j e c t ”,“b e e s c o r e k e r n e l k e m e l o b j e c t s t o r e h a n d l e r ”】,对象 “c a p a b i l i t y ”,“b e e s c o r e k e r n e l k e m e l c a p a b i l i t i e s ” ,核心c a p a b i l i t y “m e t e r ”,“b e e s c o r e r e s o u r c e m e t e r h a n d l e r ” ,m e t e r ,如c p u - m e t e r , m e m - m e t e r “a c c o u n t ”,“b e e s c o r e r e s o u r c e a c c o u n t h a n d l e r 】,账户 “b d o m a i n r e g i s t e r ”,“b e e s c o r e k e r n e l b d o m a i n r e g i s t e r h a n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度咨询工程师经典例题【考点精练】附答案详解
- 执业药师之《西药学专业一》能力检测及答案详解(夺冠)
- 2024质量员题库标准卷附答案详解
- 职业安全与健康培训内容课件
- 2025药店相关技能鉴定经典例题及1套完整答案详解
- 2025年中考数学总复习《锐角三角函数》基础强化含答案详解【巩固】
- 2025年邮政行业职业技能鉴定试卷附答案详解(精练)
- 2025年自考专业(护理)考试历年机考真题集含答案详解【培优B卷】
- 2024-2025学年度药店相关技能鉴定模拟题库含完整答案详解【必刷】
- 自考专业(计算机网络)高频难、易错点题含答案详解(研优卷)
- 2025年河北机关事业单位工人技能等级考试(畜禽饲养繁殖工·高级)历年参考题库含答案详解(5卷)
- 2025年度安徽省考评员培训考试题(附答案)
- 国防科技课件
- 公证业务知识培训课件
- 信息录入及管理办法
- 超声气管镜护理
- 低空经济产业学院
- 辽宁省2020-2022年中考满分作文166篇
- 家政服务业信用管理办法
- 股癣的护理查房
- 宣传用品库存管理办法
评论
0/150
提交评论