(计算机系统结构专业论文)分布式网络故障管理系统的研究与实现.pdf_第1页
(计算机系统结构专业论文)分布式网络故障管理系统的研究与实现.pdf_第2页
(计算机系统结构专业论文)分布式网络故障管理系统的研究与实现.pdf_第3页
(计算机系统结构专业论文)分布式网络故障管理系统的研究与实现.pdf_第4页
(计算机系统结构专业论文)分布式网络故障管理系统的研究与实现.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 本文主要研究了在构建网络管理系统的标准t m n ( t e l e c o m m u n i c a t i o n m a n a g e m e n tn e t w o r k ,电信管理网) 的框架下,网络故障管理的基本需求和功能 集。以及分布式的故障管理系统的架构、设计与实现。由于传统的网络管理系统 大都基于集中式的管理模式,已不适应于网络规模日益膨胀、异构性不断增加的 发展趋势。本文在充分研究了简单网络管理协议s n m p ( s i m p l en e t w o r k m a n a g e m e n tp r o t o c 0 1 ) 、公共对象请求代理结构c o r b a ( c o m m o no b j e c tr e q u e s t b r o k e ra r c h i t e c t u r e ) 以及j a v a 的远程方法调用r m i ( r e m o t em e t h o di n v o k e ) 等 技术的基础上,提出了分布式网络故障管理系统的总体架构、设计方案和实现方 法。 系统实现之后的运行情况充分证明,本文所提出的分布式网络故障管理系统, 可以有效的支持大规模的网络故障管理,系统性能相对于集中模式的故障管理系 统有了很大的提高同时,系统在部署上具有良好的扩展性和灵活性 关键词:电信管理网故障管理公共对象请求代理结构简单网络管理协议 a b s t r a g t a b s t r a c t 他p a p e rm a i n l ym a k e sr e s e a r c ho nt h eb a s i cr e q u l r c m e n ma n df u n e t i o n so f n e t w o r kf a u l tm a n a g e m e n tu n d e rt h et m n ( t e l e c o m m u n i c a t i o nm a n a g e m e n tn e t w o r k ) f r a m e w o r kw h i c hi st h es t a n d a r di nb u i l d i n gan e t w o r km a n a g e m e n ts y s t e m , a n dt h e a r c h i t e c t t t r e d e s i g na n di m p l e m e n t a t i o no ft h ed i s i r i b u t e dn e t w o r kf a u l tm a n a g e m e n t s y s t e m 日b c 羽l s em o s to ft h et r a d i t i o n a ln e t w o r km a n a g m e n ts y s t e m s 眦b a s e do n c e n t r a l i z e dm a n a g e m e n tm o d e , t h e yc a nn o ts u i tw i t ht h ed e v e l o p m e n tt r e n do f n e t w o r k s , w h i c hh a v el a r g e rs c 缸ea n dm o r ec o m p l e xc o n s t r u c t o r t h ep a p e rf i r s tm a k e p l e n t yr e s e a r c h o i ls n m p ( s i m p l en e t w o r km a n a g e m e n tp r o t o c 0 1 ) 、c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) a n dj a v ar m i ( j a v ar e m o t em e t h o d i n v o k e ) , a n dt h e nt h eo v e r a l la r c h i t e c t u r e 、d e s i g ns c h e m ea n di m p l e m e n t a t i o nm e t h o d o f t h ed i s t r i b u t e dn e t w o r kf a u l tm a n a g e m e n ts y s t e ma r cp r e s e n t e di nd e t a i l t h e r u n n i n gp e r f o r m a n c eo ft h es y s t e mt e s t i f i e dt h a tt h ed i s t n b u t e dn e t w o r kf a u l t m a n a g e m e n ts y s t e mp r e s e n t e di nt h i sp a p e ri se f f e c t i v eo i ll a r g es c a l en e t w o r k m a n a g e m e n t , a n dh a sab e t t e rp e r f o r m a n o :t h a nf a u l tm a n a g e m e n ts y s t e mb a s e do n c e n t r a l i z e dm a n a g e m e n tm o d e , a n dh a s g o o de x t a n d a b i l i t ya n df l e x i b i l i t y i n d e p l o y m e n t 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所列的内容外,论文中不包 含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其 它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:日期:2 11 :! :2 关于论文使用授权说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权属西安电子科技大学。本人保证毕业离 校后,发表论文或使用论文工作成果时署名仍然为西安电子科技大学。学校有权 保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分 内容,可以允许采取影印、缩印或其他手段保存论文。( 保密的论文在解密后遵守 此规定) , 本学位论文属于保密,在年解密后适用本授权书。 本人签名: 导师签名 李磊 丝 日期:璎量:! :量 口彗日2 0 0 6 ,f f 5 日期: :! :! 第一章绪论 第一章绪论 1 1 课题的研究背景 信息技术的飞速发展,带给世界巨大的变化。计算机网络和电信网络作为信 息技术的重要组成部分,其发展也是日新月异。网络已经作为一种基础设施渗透 到了社会、经济、生活的各个方面随着网络应用的普及,网络的发展特点是: 网络规模不断扩大、功能不断增加、异构网络的融合度不断提高。网络的发展, 也给网络管理的发展增加了前进的动力 传统的网络管理,以各个网络设备供应商所提供的专有的管理系统作为功能 实现的主要载体,这些专有的管理系统不具有开放的互操作性,从而限制了网络 管理的服务质量,也增加了实现网络统一管理的难度为了适应现代电信网的发 展,r r u ( i n t e r n a t i o n a lt d e c o m m e n i c a t o n su n i o n ,国际电信联盟) 制定了用于电 信网络管理的t m n ( t e l e c o m m u n i c a t i o nm a n a g e m e n tn e t w o r k ,电信管理网) t m n 标准由一系列的协议组成,涵盖了电信管理网的体系结构、功能需求,信息模型、 协议、一致性和方法学等诸多方面,1 m n 不仅用于管理0 s l ( 开放系统互联) 协 议,也用于管理整个网络。 t m n 的最主要的标准之一是i t u - tm 3 0 1 0 ,它是关于t m n 的总体要求,涉 及总体原则,体系结构,逻辑分层结构及基本功能要求【l i m 3 4 0 0 是关于t m n 管理功能的标准,m _ 3 2 0 0 系列是关于t m n 的管理业务及各种电信网上的t m n 管理业务标准,m 3 0 2 0 是t m n 的接口规范定义方法,m 6 0 2 是t m n 的基本术 语定义,m 3 1 0 0 系列是n 直n 的通用管理信息模型。 1 2 t m n 协议框架 n d n 是o s i 网络管理方案在电信领域的应用和发展,它采用o s i 的网络管 理框架,但是使用了另一个具有具体的体系结构的数据网来管理电信两它的基 本思想是提供一个有组织的网络结构,以取褥各种类型的操作系统之问、操作系 统与电信设备之间的互连根据t m n 标准接口组建的管理网络,与电信网络之 间是管理与被管理的关系。这就是t m n “网管网”的涵义。t m n 实现了管理网 与被管理的通信网的业务分离,从而使得网络管理可持续发展。 2分布式网络故障管理系统的研究与实现 1 2 1t m n 的五大功能域 t m n 的管理业务是通过一系列的管理功能来实现的,这些网络管理功能可分 为五个管理功能域,即配置管理( c o n f i g u r a t i o nm a n a g e m e n t ) 、性能管理 ( p e r f o r m a n c em a n a g e m e n t ) 、故障管理( f a u l tm a n a g e m e n t ) 、账务管理( a c c o u n t i n g m a n a g e m e n t ) 和安全管理( s e c u r i t ym a n a g e m e n t ) 1 4 j 配置管理是网管系统根据需要对网络中的网络单元进行控制、识别,并从网 络单元收集数据和给网络单元提供数据,目的是为了实现某个特定功能或者使网 络性能达到最优。配置管理对象是一个逻辑的概念,可以是软件,也可以是硬件, 包括路由器、交换机等网络节点设备,甚至更低层的逻辑对象,比如传输层的重 传记数器,也可以是服务器上的网络服务进程。 性能管理的基本功能是收集统计数据,以及对网络设备的性能进行检测,以 便发现和矫正网络或网络单元( 网络设备) 的性能和有效性的偏差或下降,并对网 络的规划和设计提供支持o s i 定义的性能衡量标准有吞吐量、工作负载、传输 迟延、等待时间,响应时间和服务质量等 故障管理的主要功能是检测网络中的异常现象,确定故障的性质和发生故障 的位置、隔离故障并试图修复故障等对网络故障的检测依据对网络组件状态的 监测,网络管理系统应根据有关信息对报警进行处理,捧除故障当故障比较严 重而且复杂时,网络管理系统还需要执行一些测试来鉴别故障原因 记账管理包括收集用户对资源和业务的使用信息,根据一定的计费规则,例 如根据用户的网络流量、使用时间或网络服务等,生成计费单 安全管理负责对网络的使用进行审查,避免无权用户对网络的使用,保护用 户信息在网络上传输的安全等它所具有的功能有:确定所要保护的敏感信息、 定位网络访问点、保护网络访问点,对有关设备和主机进行相应的配置、维护网 络安全性,对涉及网络安全的访问点进行定期检查等 1 2 2t m n 的逻辑分层体系结构 t m n 的逻辑分层体系结构将它的管理功能分布体现在四个层次中:网元管理 层、网络管理层、服务管理层和事务管理层 4 1 网元管理层的主要作用是为它的更上层比如网络管理层提供获取系统资源的 手段在网络管理中,通常将电信网络中各种类型的设备,如交换系统、传输系 统、路由系统、信令终端、文件服务器等,称之为网元( 1 q e t w o r ke l e m e n t ) 网元 管理层直接控制一系列的网元,并为网络管理层提供从网元上收集的管理信息, 完成诸如性能数据,告警信息的收集和初步的筛选、分析等工作这一层的使用 者是设备管理、维护人员由于用户具体组网的需要,两元管理层往往需要为上 第一章绪论3 层提供多样的接口,例如c o r b a 接口、q 3 接口和厂商的私有协议接口 网络管理层对所辖区域内的所有网元进行管理,主要的功能包括:从全网的 观点协调与控制所有网元的活动;提供、修改或终止网络服务:就网络性能、可 用性等事项与上面的业务管理层进行交互。这一层的管理使用者是网络规划建设 和监控人员。 服务管理层,又称业务管理层,它管理的是用户提供的各种业务,例如处理 各种业务订单、投诉、故障统计、计费和o o s 测量等。同网元管理层和网络管理 层相比,服务管理层对网络中具体应用技术依赖较小。这一层的使用者主要是客 户服务人员。 事务管理层,又称商务管理层,它是最高的管理功能层j 主要管理电信运营 宏观上的各项事务,例如向管理人员反映重点业务的运营情况、电信企业发展过 程中的成本和利润等,从而为电信企业的正常、高效的运营提供支持,这一层往 往也是企业的管理信息系统( m a n a g e m e n ti n f o r m a t i o ns y s t e m , m i s ) 这一层的 使用者是电信运行的管理、决策人员 由此可见t 从最下层的两元管理层到最上层的事务管理层,每一层所对应的 被管对象从微观到宏观,每一层的使用者也各不相同。每一层都为它直接的上一 层提供管理信息,而上一层在信息抽象的级别上比下一层更高,如图1 1 所示 图1 it 蛳的逻辑分层体系结构 本文主要探讨的是位于网元管理层和网络管理层的故障管理。 1 3 故障管理概述 随着网络在社会经济各方面越来越深入而广泛的应用,网络作为重要的基础 设施在商业、金融、医疗、电信、航空等领域发挥作用。这些领域在业务上要求 有极高的可靠性和稳定性,因此网络能否稳定、高效的运行就成为举足轻重的阀 题故障管理担负着维护网络系统正常运行的重要作用,所以在当前主流的网络 管理系统的产品中,都将故障管理作为必不可少的一个功能模块。 4 分布式网络故障管理系统的研究与实现 1 3 1 网络管理中故障的定义 在网络管理中,常见的故障,可以根据其来源的不同,分为软件故障和硬件 故障。软件故障是指网络中的各种软件系统在运行中发生的故障,例如由网络通 信的系统软件产生的故障。由于导致软件故障发生的异常条件的出现具有相当大 的偶然性,例如传输报文过程中的缓冲区溢出、网络协议参数配置的不恰当以及 网络结构改变或者加入新设备等,软件故障较之硬件故障来说往往更加隐蔽,其 故障的暴露、发现也需要更多的时间。硬件故障则是指网络中的硬件设备,倒如 交换机、路由器以及它们所使用的电源等出现的故障。硬件故障的特点是影响较 为明显,例如某一链路由于硬件损坏而断开,发现起来比较容易。 1 3 2 故障管理的功能集 t m n 故障管理功能集详尽地描述了各种管理功能,提供了对电信网及其环境 的异常情况进行处理的支持手段,以保证m 2 0 建议( 性能管理功能集) 中维护 阶段的性能,涉及到故障的检测、隔离和修复。故障管理功能集大的分类反映了 故障管理的几个主要方面,而各个功能集的内容则是现阶段对于故障管理的研究 结果的初步抽象。在当前主流的若干网络故障管理系统中,可以发现这些功能集 的具体实现因此,故障管理功能集是研究故障管理的一个很好的入手点,也是 设计网络故障管理系统时必不可少的参考 t m n 故障管理功能集包括:可用性( s u r v i v a b i l i t y ) 质量保证、告警监测、故障 定位、故障修正、测试、故障报告管理等方面l 1 4 网络管理的研究现状 1 4 1 网络管理的标准化方面的工作 国际上长期致力于网络管理标准化的研究机构和组织主要有三个:国际电信 联盟( r r u ,前身为国际电报电话咨询委员会( c c n t ) ) 、国际标准化组织( i s 0 ) 和i n t e r n e t 工程任务组( m t f ) 1 、n _ u 和删 从上个世纪的八十年代中期开始,删t 开展了网络管理互操作方面的研究 1 9 9 2 年,1 t u - t 推出了m 3 0 1 0 建议书,内容包括了t m n 的总体要求、体系结构、 逻辑分层以及基本的功能集等多方面的内容,从而奠定了t m q 体系结构的总体 基础现在,t m n 已经是架构电信网络管理系统的标准,t m l q 深刻影响了网络 管理的发展方向,而随着网络管理的演进和发展,n 正n 的各项标准也得到了不断 第一章绪论5 的细化和更新。 2 、i s o 和o s l 系统管理 作为世界上第一个开发网络管理结构、制定网络管理标准的组织i s o ,i s o 早在上个世纪的八十年代,就开始了制定网络管理标准的工作并且将其作为o s i ( o p e ns y s t e m sc o n n e c t i o n ,开放系统互连) 工作的一部分,其内容统称为o s i 系统管理。0 s i 系统管理的主要内容有管理信息模型( 为管理的目的而表现被管 资源的方法) 、通信模型( 管理者和代理之问的通信方式) 和功能模型( 标准的管 理功能集) o s i 系统管理的管理信息模型是基于面向对象的思想来描述被管对象的,一 个被管对象由属性、操作、通知和行为来描述。属性是在o s i 被管对象边界可见 的一个特性,相对应的属性值被存储在被管系统中,在需要的时候由被管系统计 。算;操作是控制被管对象的方法,通过向被管对象边界发送带有规定参数的信息 来实现,它可以对被管对象的属性或被管对象的整体执行各种动作;通知由被管 :对象发出,以报告内部或外部的重大事件;行为则是对一个被管对象的动态特性 ,的描述,包括属性语义的描述和操作如何影响被管对象的方式的描述,同时也包 一括内部事件的发生如何导致被管对象改变的描述。 c m i s ( c o m m o n m a n a g e m e n ti n f o r m a t i o ns e r y i ,公共管理信息服务) 是0 双 网络管理服务的定义,而c m i p ( c o m m o nm a n a g e m e n tl n f o r m a t i o ep r o t o c o l ,公 共管理信息协议) 是网络管理信息的传输协议,它定义了如何来实现c m i s 的服 务c m 口是网络管理信息的传输协议,定位于o s i 协议的应用层c m 口有1 1 种类型的咖( p r o t o c o ld a t au n i t , 协议数据单元) c m i s 是由c m 口实现的服务,包括m g e t 、m c a n c l 丑,g e t 、m - s e t m - a c 】n 、m a 也j t e 和m - e v l ! n i 二r e p o i 盯等。 o s i 为管理应用提供若干标准管理功能例如:对象管理功能、状态管理功 能、告警报告功能、负载监控功能等 c m i p 原本是用来替换s n m p 的,但是由于c m i p 过于复杂,实现起来比较 困难,并且c m i p 将会耗费远大于s n m p 运行所需的系统资源,所以c m i p 并未 得到真正的实际应用。c m i p 的价值和意义在于,由于它概念清晰并且功能完备, 使得删和s i q m p 都有所参照 3 、哪和s n 姗 相对于o s i 制定了大量的网络管理标准但符合o s i 网管标准的产品至今还很 少的状况,m t f 发布的s n m p 协议因其简单易行而迅速得到了众多计算机网络 厂商的支持,现在s n m p 已经是事实上的计算机网络管理的标准。 6 分布式网络故障管理系统的研究与实现 1 4 2 对主流网络管理软件的分析 可以将推出网络管理软件的软件厂商分为两类,一类是大的系统解决方案提 供商,例如i b m ( 代表产品为t i v o l i ) 、h p ( 代表产品为o p e n v i e w ) 等,另一类 是网络设备供应商,例如思科( 代表产品为c i s c o w o r k s 2 0 0 0 ) 、华为( 代表产品 为o u i d v i e w ) 等。这些网络管理软件大多具有以下的特点:能够兼容多种操作系 统、支持组建化部署、使用成熟的商业的关系数据库系统、能够自动发现网络拓 扑结构、能够上报事件并且生成报表等。 1 5 本文的主要工作 本文提出了分布式故障管理系统的设计思想,并在t m n 管理框架下,对故 障管理的功能需求、分布式故障管理系统的设计和实现等,进行了深入探讨 第二章主要对当前网络管理中最常用的简单网络管理协议进行分析,这是在 底层支撵故障管理系统的管理协议 第三章主要对c o r b a 及其提供的事件服务和通告服务,进行深入的研究。 故障管理信息的分发主要涉及到c o r b a 提供的通告服务,丽通告服务在工作原 理上又与先前所提出的事件服务有着密切的联系,所以重点讨论了事件服务和通 告服务 第四章提出了系统设计总体上的需求分析和设计框架由于系统被作为多层 架构来实现,因此这一章给出了系统中主要模块的设计和对外提供的功能接口 第五章主要对系统详细设计和实现中所遇到的若干重要问题进行深入研究 主要探讨的问题是:t r a p 报文的接收以及底层协议栈的实现原理及优化、事件的 持久化处理方法、事件的分发机制及相关的o o s 控制的实现。 第六章进一步探讨系统与其他网络管理模块的结合、系统在分布式网络环境 下的部署等问题。 第二章简单网络管理协议 7 第二章简单网络管理协议 底层的网络管理应满足两个前提;管理信息带来的通信量不应该明显的增加 网络通信量;被管设备上的协议代理不应该明显增加系统处理韵额外开销。s n m p 协议很好的满足这两个前提,这是s n m p 协议应用广泛的重要原因之一。 2 1 鼢m p 的主要概念 s n m p 同样使用。管理者玳理”的模式来管理网络,一个典型的基予s n m p 的网络管理系统巾包含以下三个要素田 多个被管理的网络设备,每个网络设备上都必须运行一个代理进程被管的 网络实体或者节点必须具备在t 珊四网络上进行通信的能力 一个或多个网络管理设备。每个都含有网络管理站( n e t w o r km a n a g e m e n t s t a t i o n ,n m s ) 网络管理进程也必须具备在t c p i p 网络上通信的能力 在代理进程和n m s 之间的协议用于交换管理信息,这个协议也就是s n m p 在s n m p 的第二个版本也就是s n m p v 2 中增加了一个双重角色实体,该实体 是同时具有管理进程和代理进程作用的网络设备其中代理进程可以接受其他设 备上的n m s 的管理,这样就可以构建多级管理进程结构 2 2s n m p 协议体系结构 s n m p 作为应用层协议,是贰麓佃协议族的一部分s n m p 在u d p 、i p 及 有关的特殊网络协议( 如e t h e r n e t 、f d d i 、x 笱珐上实现,s n m p 的p d u 通过用 户数据报协议( u d p ) 来传输。同样,每个代理者也必须支持s n m p 、u d p 和口等 网络协议。图2 1 描述了s n m p 的协议环境。 - - 圈2 1s _ 岫协议环境 8 分布式网络故障管理系统的研究与实现 由于s n m p 依赖于u d p 进行传输,而u d p 是无连接协议,所以s n m p 也是 无连接协议。在管理站和代理者之间没有连接维护,每次管理信息的交换都是网 管站和代理者之间的一个独立的传送。 一个s n m p 协议实体( 网管站) 向其他s n m p 实体发送p d u 的一个典型的 操作过程如下: 第一步,根据要进行的管理动作构造p d u ; 第二步,将构成的p d u 、源地址和目的传送地址以及一个共同体名传给认证 服务。认证服务完成所要求的变换,例如进行加密或加入认证码,然后将结果返 回; 第三步,s n m p 协议实体将版本字段、共同体名以及上一步的结果组合成为 一个消息; 第四步,使用基本编码规则对消息进行抽象语法表示( a s n 1 ) 格式的编码, 然后传给传输服务u d p 。 一个s n m p 协议实体( 代理进程) 接收一个s n m p 消息的一个典型操作过程 如下: 第一步,进行消息的基本句法检查,丢弃非法消息; 第二步,检查s n m p 版本号,丢弃版本号不匹配的消息; 第三步,s n m p 协议实体将用户名、消息的p d u 部分、源和目的传输地址传 给认证服务。如果认证失败,认证服务通知s n m p 协议实体,由它产生一个t r a p , 并丢弃这个消息:如果认证成功,认证服务返回s n m p 格式的p d u 第四步,协议实体进行p d u 的基本句法检查,如果非法丢弃该p d u ,否 则利用共同体名选择对应的s n m p 访问策略,对p d u 进行相应处理 在s n m p v 2 版本中,使用以下7 种类型的p d u :g e t r e q u e s t 、g e 吐q e m r c q u c s t 、 s e t r e q u e s t ,s 唰p v 2 - t r a p 、i n f o r m r c q u c s 、g c t b u l k r c q u c s t 和r c s p o n s c ;其中, 前面的5 种p d u 具有完全相同的格式,并且也可以看作是e r r o r - s t a t u s 和c r r o r - i n d c x 两个字段,被置零的r e s p 彻p d u 的格式这样设计的目的是为了减少s n m p v 2 实体需要处理的p d u 格式种类。p d u 格式如图2 2 所示 g e t r e q u e s t p d u , g e t n e x t r e q u e s t 一咖s e t r e q u e s t p d u , 甜硼p v 2 - 1 f r a p - p 翻i i n f o r s r e q u e s t 一瞰j 第- 二章简单网络管理协议 9 r e s p o n s e - - p i g e t b u l k r e c l u e s t p d u 图2 2s 舯的p d t i 格式 2 3 开放源码的s 眦p 协议栈的使用 为了接收标准的s n m p t r a p 报文,必须使用一个完整的s n m p 协议栈,因为 在接收了包装了s n m pt r a pp d u 的u d p 报文后,必须按照编码规则将其中的 p d u 解析出来,得到我们所需要的t r a p 的详细信息 如果要实现一个完整的s n m p 协议栈,首先要对a s n 1 中的基本数据类型使 用具体的编程语言实现。在这方面,使用已成形的开放源码的s 加旧协议栈是一 个理想的选择。因为单独开发一个s n m p 协议栈虽然有现成思路可以依据,但是 开发任务仍显得过于巨大和繁琐。更重要的是,开放源代码的项目与一些商业化 的协议栈相比,除了没有规范的技术支持之外,其他方面例如稳定性等。并没有 明显差别。w e s t h a w k 使用主流编程语言j a v a 写成,应用颇为普遍。其稳定性也 得到了广泛的认可。 目前w e s t h a w ks n m ps t a c k 的最新版本是4 1 3 ,它并没有完整的支持s n m p 3 2 版本的所有细节4 1 3 版本所支持的s n m p 操作原语如表z 1 所示i 堋 表2 1w e s t h a w k s n m ps t a c k 4 1 3 版本所支持的s p 操作原语 s e n d i n gr e c e i v i n g g e t r e q u e s t y e s n o g e t n e x t r e q u e s t y e s n o s e tr e q u e s ty e sn o g e t b u l kr e q u e s ty e sn o i n f o r mr e q u e s ty e sn o r e s p o n s e n o y e s t r a p v l y e sy e s t r a p v 2 y e sy e s r e p o r t n on o s n m p v 2 既支持高度集中化的网络管理模式,也支持分布式的网络管理模式。 在分布式模式下,一些系统担任管理者和代理者两种角色,这种系统被称为中间 管理者。中间管理者以代理者身份从上级管理系统接受管理信息操作命令,如果 1 0 分布式网络故障管理系统的研究与实现 这些命令所涉及的管理信息在本地的管理信息库中,则中间管理者便以代理者身 份进行操作并进行应答,如果所涉及的管理信息在中问管理者的下属代理者的管 理信息库中,则中间管理者先以管理者身份对下属代理者进行发布操作命令,接 收应答,然后再以代理者身份向上级管理者应答。 在w e s t h a w k 的s n m p 协议栈中,分布式的网络管理模式因为相关操作原语 的不支持而不能单独依靠协议栈在系统底层实现而在本文所探讨的系统的实现 方案中,底层协议栈功能上的些微欠缺被服务提供层和c o r b a 的分布式软总线 技术很好的解决。 此外,w e s t h a w ks n m p 协议栈本身并不能对管理信息库进行浏览,它所支 持的每个操作都是在使用者指明了对象标志符的前提下完成的 第三章c o r b a 及其服务 为了解决分布式计算环境下的通信和互搡作的问题,对象管理组织( o b j o c t m a n a g e m e n tg r o u p ) 于1 9 9 0 年1 1 居,在对象管理体系指南中首次提出了。公 共对象请求代理”( c o m m o n0 峨e c tr c q u 髂tb r o k e r 触i t c c “鹏) ,简称c o r b a c 0 i 圆a 的出现对软件开发产生了巨大的影响,在开发大型的分布式软件系统中 优势明显:同时,c o r b a 自身的规范也在不断的发展和完善之中出现了越来 越多的实现了o d l t b 绥规范的开放源码的和商业的产品开放源码的产品有 t a o ( t n e a c eo r b ) ,商业的产品有i o n a 公司的o x b i x2 0 0 0 等,c o r b a 已经成 为主流的中同件体系结构规范。 。 c 0 船a 的基本思想与r p c ( r e m o t ep r l o c 础玳c a l l ,远程过程调用) 类似, 但是c o r b a 使用了面向对象的方法来进行建模,这就是c 0 船a 对象模型 o d l 圆a 对象模型使甩了一系列的概念来描述分布式系统中互操作的双方的组 件,并将双方的互操作规范化。c o r b a 为通信双方提供了o r b ( 侧o c tr e q u 喊 m o k 盱,对象请求代理 ,以简化客户端程序与服务器端程序的通信实现;同时 c o r b a 还提供了诸如命名服务、事件服务、生命周期服务和安全服务等公共设 施,供通信双方的应用实体使用。a ) r b a 的基本组成如图3 1 所:幂4 1 。 图3 1e o r b a 的基本组成 下面说明c o l 圆a 的主要组件。 1 、o r b ( 0 b j c c tr e q u e s tb r o k e r ) 0 r b 是a ) r b a 体系结构的核心,可以称为通信双方互操作的“软总线” 1 2 分布式网络故障管理系统的研究与实现 当客户端发出一个调用请求时,位于客户端的o r b 将会截获这个请求并将请求 参数进行编组( m a r s h a l l i n g ) ,使其与具体的平台和编程语言无关,以便在网络上 进行传送。根据由存根传递过来的目标对象的对象引用,客户端的o r b 可以找 到目标对象对应的服务器位于服务器端的o r b 从网络接收之后,进行解组 ( u n m a r s h a l l i n g ) ,还原为本地使用的特定平台和编程语言的格式。客户端的存根 在概念和作用上类似于j 2 e e 规范中的e j b h o m e 接口 由此可见,o r b 的核心作用有两个方面:对象定位、编组与解组 2 、客户端存根 客户端的开发人员使用i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ,接口定义语言) 编译器,由i d l 文件生成客户端的存根( a i e n t s t u b ) ,为接口中的方法提供一个 空的实现存根工作于客户端程序和o r b 之问,接受操作请求和返回操作结果 3 、服务器端框架 与客户端的存根相仿,服务器端的开发人员使用i d l 编译器由i d l 文件生成 服务器端框架( s e n r 盯s k e l e t o n s ) 服务器端框架工作于对象实现和对象适配器之 间,它在概念和作用上类似于j 2 e e 规范中的e j b o b j e c t 接口。 4 、动态调用接口 如果客户端的程序在编译时,即能确定要调用对象的具体信息,则客户端的 存根可以胜任调用工作但当客户端的程序只有在运行时,才能确定要调用对象 的具体信息时,则需要使用动态调用接口 d y n a m i c i n v o c a t i o ni n t e r f a c e ,d i i ) 向 远端对象发起调用d i i 不依赖于i d l 文件的编译,所以并不针对某一个特定的 对象实现。与通过存根进行静态调用相比较,通过d i i 进行动态调用,明显增强 了程序设计的灵活性,而在运行速度上则有所减慢 5 、动态框架接口 与动态调用接口类似,动态框架接口铆n a m i cs k e l e t o ni n t e r f a c e ,d s i ) 同 样不依赖于i d l 文件的编译,它工作于对象实现和对象适配器之间由客户端的 存根发出的请求既可以由服务器端框架接受,也可以由d s i 接受;同样,由d i i 发出的请求既可以由d s i 接受,也可以由服务器端框架接受。客户端和服务器端 使用的请求和接受方式并没有绑定,这体现了c o r b a 的灵活性 6 、接口库 接口库为客户端使用d i i 进行动态调用提供了信息支持,它存贮了被调用对 象的详细信息通过接口库,可以动态的对组件的i d l 定义进行访问和修改 7 、对象实现 对象实现是服务器端程序的具体逻辑实现,它在概念和作用上类似于j 2 e e 规范中的f j b b e a n 实现。 8 、对象适配器 第三章c o r b a 及其服务 对象适配器( o b j e c ta d a p t e r ) 工作予o r b 、服务器端框架和d s i 之间,它负 责对象实现的查找定位、对象实现的注册和激活以及对象引用的解释。在c o r b a 的2 3 规范中,新增加了可移植对象适配器( p o r t a b l eo b j e c ta d a p t e r ) ,从而使得 对象实现可以在不同的o r b 实现之上进行移植。 3 2 事件服务 为了解决在分布式管理环境下网络中的事件分发、传送的问题,必须找到一 种高效、通用的通信机制。当然,使用基于套接字的与具体语言相关的应用编程 接口也能够实现通信双方的信息交换但是,在对性能、可靠性和稳定性要求较 高的网元管理层和网络管理层上,基于套接字的程序暴露出了明显的缺点 首先,完全使用套接字来解决通信问题,增加了实现的复杂度程序员必须 处理网络连接的每一个细节,而不能专注于底层连接上的业务功能的实现。 其次,基于套接字的软件系统通常具有较差的扩展性和可维护性在程序员 自己定义了传输报文的格式之后,随着业务功能的变迁、升级,对报文格式的稍 加改动都会对整个系统带来巨大的修改量 最后,在通信量较小的情况下,基于套接字的系统在性能上还能勉强支撑。 而当被管网络中的设备数量增大到一定程度时,基于套接字的系统无法实现构建 良好的分布式计算模式,运行网管系统的服务器常常不堪重负 作者参与维护的第一版本的故障管理系统即是基于数据报套接字的,上述缺 点和弊端体现得很充分在设计第二版本的故障管理系统的时候,充分考虑了系 统的分布性、可扩展性,最终选定使用a 弧b a 的通告服务来作为事件传输的底 层实现。由于使用了o d l 啦a 的通告服务。底层的通信细节被很好的屏蔽,大大 减小了系统实现的难度,系统的稳定性也得到了较高的保证。 o m g 通告服务的规范是在先前的事件服务的规范基础上提出的,先来分析 一下事件服务。 在通常情况下,a ) 髓a 采用的是同步通信的机制:客户端使用目标对象的 对象引用发出请求后,被动阻塞的等待返回结果。而a 融的事件服务提供的 是通信双方耦合更为松散的、异步的通信机制n 。事件服务由以下组件构成: l ,事件发送者 即事件的供应者 2 、事件接受者 即事件的消费者。 3 、事件通道 为了隔开事件发送者与事件接受者的实现,在它们之间引入一个中间层:事 1 4 分布式网络故障管理系统的研究与实现 件通道,这样事件发送者与事件接受者不再直接交互。事件通道的引入还达到了 另一个重要目的:解决了事件发送者与事件接受者在不是一一对应的简单关系下 事件的传送问题,即事件发送者不必关心有多少个事件接受者准备消费由它发出 的事件,事件接受者也不必关心具体有哪几个事件发送者在发送事件。 事件发送者和事件接受者都与事件通道进行联系,在事件发送者事件通道和 事件通道事件接受者之间,事件的传送有两种基本方式:推模式和拉模式,这是 根据对象间发送、请求事件的主动和被动关系来确定的。比如,如果事件提供者 总是等待事件通道发出事件接受请求后,才向事件通道发送事件,那么它们是工 作在拉模式;如果事件通道在接受了事件之后就将事件直接推送至事件接受者, 则它们是工作在推模式。 4 、供应者代理和消费者代理 为了分析,假设事件发送者事件通道和事件通道事件接受者都工作在推模 式下事件供应者p u s h s u p p l i e r 并不直接与事件通道相连,而是与事件通道上的 一个事件消费者p r o x y p u s h c o n s u m e r 相连与p u s h s u p p l i e r 位于同一个进程空间 的p r o x y p u s h c o n s u m e r 的对象引用的作用是:将远程的事件通道的另一侧的事件 消费者( 数量未知,工作模式未知) 简化为本地一个事件消费者代理与此相仿, 事件消费者p u s h c o n s u m e r 也与一个事件供应者代理p r o x y p u s h s u p p l i e r 相连接 5 、供应者管理器和消费者管理器 供应者管理器和消费者管理器的设计原理是设计模式中的工厂模式,它们被 用来创建供应者代理和消费者代理 从事件服务的这些组件可以看出,在c 0 船a 对象参考模型中,面向对象的 思想处处可见,c ( ) r b a 的所有服务规范都构建在经过了良好的面向对象封装的 对象模型之上 3 3 通告服务 c o r b a 的事件服务初步解决了跨平台的异步通信问题,但事件服务的局限 性也是显而易见的首先,事件服务不能对事件消息进行过滤和o o s 方面的控制, 这是由于事件通道在将事件从事件供应者转送至事件消费者的过程中,并不对事 件作任何分析和解释,事件通道会将事件毫无保留的传递至一切连接封该事件通 道上的事件消费者,这样也就造成事件消费者会接受到自己并不需要的事件,造 成了运行性能上的弊端。其次,在具体的c o r b a 实现中,往往使用事件通道工 厂来创建事件通道的实例。由于c o r b a 的事件服务并未对事件通道工厂做规范 上的约束,从而造成事件通道工厂的实现没有统一的规范,可移植性较差 针对事件服务的不足,o m g 提出了通告服务( n o t i f i c a t i o ns e r v i c e ) 规范 第三章c o r b a 及其服务 相对于事件服务,通告服务有三个方面的重要改进:增加了结构化事件( s t r u c t u r e d e v e n t s ) 、增加了过滤机制和o o s 控制m 。而在其他方面,通告服务具有与事件服 务良好的兼容性,支持事件服务的所有接口,运行方式也十分相似。 下面从结构化事件、过滤机制和q o s 控制三个方面来分析通告服务,这是本 文涉及的故障管理系统中故障数据传输的理论基础。 3 3 1 结构化事件 事件服务使用两种类型的事件:无类型的事件使用c o r b a 的a n y 数据类型 传输的事件和有类型的事件c o r b a 通告服务的有类型事件与事件服务中的有 类型事件相比,增加了过滤和q o s 方面的控制而通告服务中新增加的结构化事 件,考虑到了通用和易用,也兼顾了编译时刻的类型安全。 结构化事件由事件头和事件体两部分组成,事件头由定长部分和变长部分组 成,事件体可分为可过滤部分和保留部分 事件头的吼定义: s 觚i c te v e n t h e a d e r f i x e d e v e n t h e a d e rf i x e d _ h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论