




已阅读5页,还剩81页未读, 继续免费阅读
(计算机科学与技术专业论文)“设计模式”与snmp网管软件的开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 戆日期:丝堑:! :卫 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名 导师签名 日期: 一 犍 北京邮电大学硕士研究生学位论文设计模式与s n m p 软件开发 “设计模式”与s n 肝软件的开发 摘要 s 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 o l ,简单网络管理协议) 是 t c p i p 网络上应用最广泛的网络管理协议,网络上的服务器、工作站、路由器 等各种网络设备基本都支持这一协议,因此支持s n m p 协议的网络管理软件就 成为一种必需的网络管理工具。 “设计模式”是面向对象程序设计领域里的新兴理论,并且越来越受到人们 的重视。它将现实中具有共性的问题抽象化并给出通用的解决方案,从而当人们 遇到类似问题时可以采用公认的最佳方案予以解决。 本文以“设计模式”为指导,对s n m p 网络管理软件的开发进行了分析和 讨论,并对许多实际问题给出了解决方案。文中结合大型商业软件的开发实例, 集中探讨了十一种典型的“设计模式”和三条主要的设计原则,并在解决实际问 题的基础上,对如何在软件开发中应用“没计模式”作出了总结;同时,本文对 于网管软件中存在的一些典型性的问题提出了具有通用价值的解决方案,对于 s n m p 软件及其他通信软件的开发人员都能起到很好的借鉴作用。另外,本文还 提出了一种基于j a v a 技术的分布式网络管理框架,该框架可以大大提高网管软 件的工作效率。 本文组织如下:第一章介绍了本文的选题背景,并对v a n l i n ks n m pa p i 和市场上的同类产品的定位进行了分析和比较,同时对作者在论文期间所做的工 作进行了简单的陈述。第二章对设计模式和网络管理进行概要论述。第三章结合 软件开发中遇到的各种实际问题,从“设计模式”的角度给予分析,并给出相应 的解决方案,并在此基础上总结了如何在软件开发中应用设计模式。第四章,对 本人所开发的v a n l i n ks n m p a p i 的结构进行分析,并给出了测试结果。第五 章讨论了基于j a 、,a 技术的分布式网络管理框架,并从理论上证明其优越性。第 六章对全文进行了总结,并介绍了软件的应用情况,以及本软件在理论上的价值。 关键词:“设计模式”,s n m p ,分布式网络管理,j 怂,a 第3 页 北京邮电大学硕士研究生学位论文设计模式与s n m p 软件开发 d e s i g np a t t e r n sa n dt h ed e v e l o p m e n to f s n m pn e t w o r km a n a g e m e n ts y s t e m a b s t r a c t s 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 ) i st h em o s tp o p u l a rn e t w o r k m a n a g e m e n tp r o t o c o l i nt h et c p i pn e t w o r k s ,a n dn e a r l ya l lt h en e t w o r kd e v i c e s s u c ha ss e r v e r s ,w o r k s t a t i o n s ,r o u t e r sa n ds w i t c h e ss u p p o r tt h i sp r o t o c 0 1 s ot h e n e t w o r km a n a g e m e n ts y s t e mt h a ts u p p o r t ss n m pb e c o m e san e c e s s a r yt o o lf o rt h e n e t w o r ka d m i n i s t r a t o r sn o w d e s i g np a t t e r n si san e wt h e o r yi nt h eo o p ( o b j e c to r i e n t e dp r o g r a m ) f i e l d ,a n d p l a y sam o r ea n dm o r ei m p o r t a n tr o l ei nt h es o f t w a r ed e v e l o p m e n tp e r i o d t h et h e o r y a b s t r a c t st h ec o m m o np r o b l e m si ns o f t w a r e d e v e l o p m e n ta n dg i v e s o u tg e n e r a l s o l u t i o n sf o rt h e m t h e nw h e np e o p l em e e tt h es a m ep r o b l e m st h e yc a ns o l v et h e m r e f e r e n c et oi t t l l i sp a p e r b a s e do nt h e “d e s i g np a t t e r n ”t h e o r y , a n a l y z e st h es n m pn e t w o r k m a n a g e m e n ts y s t e ma n dg i v e ss o l u t i o n st oal o to fp r a c t i c a lp r o b l e m sm e t e dd u r i n g t h ed e v e l o p m e n tp e r i o d t o g e t h e rw i t ht h ep r a c t i c eo ft h ed e v e l o p m e n to ft h e c o m m e r c i a ls o f t w a r e ,t h i sp a p e rd i s c u s s e s1 1m o s tc o m m o nu s e dd e s i g np a t t e m sa n d 3m a i np r i n c i p l e s a n dt h e n ,百v e so u ta ni n s t r u c t i o na b o u th o wt ou s ed e s i g np a t t e m s i nt h es o f t w a r ed e v e l o p m e n t i ts u p p l i e ss o m ev a l u a b l ec a s e sf o rt h es t u d e n to f d e s i g n p a t t e r n s w h a t sm o r e ,b e c a u s et h es o l u t i o n sa r ea l lg e n e r a lo n e s ,t h e yc a nb ea p p l i e d i no t h e rc o m m u n i c a t i o ns o f t w a r et h i sp a p e ra l s oi n t r o d u c e daj a v at e c h n o l o g y b a s e df r a m ew o r kf o rd i s t r i b u t e dn e t w o r km a n a g e m e n t ,a n di t sb e l i e v e dt ob eh e l p f u l f o rt h ee n h a n c e m e n to f t h ee f f i c i e n c yo f t h en e t w o r km a n a g e m e n ts y s t e m t h et h e s e sa r eo r g a n i z e da sf o l l o w s :s e c t i o n1i n t r o d u c e st h eb a c kg r o u n do ft h e p a p e r a n d c o m p a r e s v a n l i n ks n m pa p lw i t ht w of a m o u sm e r c h i a l p r o d u c t s m e a n w h i l e ,i ta l s og i v e sas u r v e yo ft h ea u t h o r sj o bd u r i n gt h ed e v e l o p m e n t o ft h es o f t w a r e s e c t i o n 2t a l k sa b o u ts o m eb a s i ck n o w l e d g ea b o u ts n m pa n d 第4 页 北京邮电大学硕士研究生学位论文 设计模式与s n m p 软件开发 d e s i g np a t t e r n s s e c t i o n3i sm a i n l ya b o u tt h ep r a c t i c a lp r o b l e m sm e e td u r i n g t h ed e v e l o p m e n tp e r i o da n dg i v e so u tg e n e r a ls o l u t i o n sf o rt h e mr e f e r e n c et or e l a t e d d e s i g np a t t e r n s a tt h ee n do ft h i ss e c t i o n ,s o m ei n s t r u c t i o n sa b o u th o w t ou s ed e s i g n p a t t e r n si ns o f t w a r ed e v e l o p m e n ta r eg i v e n s e c t i o n4i sa b o u tt h ea r c h i t e c h u r eo f v a n l l n ks n m pa p i ,a n d1 i s t st h et e s tr e s u l to ft h ep r o d u c t s e c t i o n5i n t r o d u c e sa j a v ab a s e df r a m ew o r kf o rd i s t r i b u t e dn e t w o r km a n a g e m e n t t h el a s t s e c t i o n , s u r v e y st h ew h o l ep a p e r ,m a dt a l k sa b o u tt h ev a l u eo ft h i sp a p e ri nt h e o r y k e y w o r d s :d e s i g np a t t e r n s ,s n m p , d i s t r i b u t e dn e t w o r km a n a g e m e n t ,j a v a 第5 页 北京邮电大学硕士研究生学位论文 设计模式与s n m p 软件开发 第一章前言 1 1课题背景 简单网络管理协议( 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 s n m p ) 作为 t c p i p 网络上的标准协议有着极为广泛的应用,是网络管理员进行网络管理的 有力武器。现代网络上的设备基本都支持s n m p 协议。与此同时,大量的网络管 理软件也被开发出来。随着人们对于网络管理的要求越来越高,s n m p 协议本身 也在快速地发展,先后出现了s n m pv l v 2 v 3 等三个版本,并且新的要求仍在不 断地提出。这就要求s n m p 网管软件一定要有很强的扩展能力,要便于维护和使 用,所以如何设计出优秀的s n m p 网管软件成为了一个值得深入研究和探讨的问 题。 网络管理软件的核心是s n m pa p i ,各种网络管理软件都是在s n m pa p i 的 基础上开发出来的。目前市场上流行着许多商业的s n m p a p i 软件,如a d v e n t n e t s n m pa p i ,i r e a s o n i n gs n m pa p i 等。 本人攻读硕士研究生期间在v a n l i n k 通信技术有限公司实习。该公司是一家 网络设备供应商,其网管软件最初是基于商业a p i 开发的。但是由于商业a p i 的 价格昂贵,而且当客户出现新的需求时,无法快速有效地对商业软件进行扩展和 维护,因此v a n l i n k 决定自己开发s n m pa p i 。本人负责这个项目的开发,从设 计到完成测试,最终开发出了一套功能完善的s n m pa p i 产品。开发期间,遇到 了很多技术问题和困难,使我的分析和解决问题的能力得到了锻炼和提高,也积 累了开发大型通信软件的宝贵经验。 1 2产品特点及其与同类产品的比较 v a n l i n ks n m pa p i 在功能定位上参考了市场上流行的商业a p i ,既要求具 备商业a p i 的主要功能,也要求有其自己的特点。在这罩,将对v a n l i n ks n m pa p i 与前面提及的两种主流的商业s n m pa p i 进行比较和分析,并指出v a n l i n ks n m p a p i 软件在功能上的特点和创新。 由于s n m p 为标准的r f c 协议,因此s n m pa p i 所提供的功能应该基本相同, 但不同的开发商所提供的a p i 软件也会有各自的特点。i r e a s o n i n gs n m pa p i 的 主要特性如下: 1 第一个支持d e s 和加强1 2 8 一b i t a e s 加密算法的j a 、,as n m p 产品; 2 完整的s n m p v l ,v 2 c 和v 3 ( 包括u s m 和v a c m ) 支持; 3完整的s n m p v 3u s m 支持包括h m a c m d 5 、h m a c s h a ,c b c d e s , c f b l 2 8 a e s 一1 2 8 算法; 4 线程安全及多线程优化; 5 符合e j b 标准; 6 健壮强大的s m i v l s m i v 2m i b 解析器; 7 完整的s n m p 操作的示例代码包括:g e t ,s e t ,g e t n e x t ,g e t b u l k ,g e t t a b l e , g e t s u b t r e e ,w a l k ,t r a p ,t r a p r e c e i v e r , 等等; 8 符合s n m p r f c 定义; 9 支持i p v 6 ; 1 0 支持u d p 和t c p 传输; 注:以e 内容来自i r e a s o n i n g 公司的技术网页h t t p :a g e n ti r e a s o n i n gc o m s n m p a p is h t m l 第6 页 北京邮电大学硕士研究生学位论文设汁模式与s n m p 软件开发 总体上看,i r e a s o n i n gs n m pa p i 实现了s n m p 协议的基本要求( 第2 ,7 , 8 条特性) ,同时i r e a s o n i n g 公司还实现了一些特色的功能。如它对安全性的实 现( 第l 条和第3 条) ,i r e a s o n i n g 不仅实现了r f c 胁议中所要求的d e s 和s h a 算法,还对1 2 8 一b i ta e s 提供了支持。v a n l i n ks n m pa p i 亦要求实现d e s 和s h a 算法,但没有提供对1 2 8 一b i ta e s 的支持。这主要是因为,v a n l i n k 技术的客户, 并未对这一算法提出需求,但今后根据客户需求扩展实现这一功能是非常容易 的。正如本文在策略模式的应用中所提及的,v a n l i n ks n m pa p i 采取了将“对 功能的使用”与“对功能的实现相分离”的策略模式,只需对文中定义的s n m p _ h a s h 接口给出一个新的实现即可,而不需对其它代码做出改变;同时,a e s 算法又是 j a v as d k1 4 2 中所提供的基本算法之一。 对于多线程的处理,v a n l i n ks n m pa p i 也给予了很好的支持,这要得益于 j a v a 技术对线程安全给与的良好支持。 对于i r e a s o n i n g 所提供的对于e j b 和i p v 6 本文则在最初设计时就没有考 虑。因为v a n l i n ks n m pa p i 是对v a n l i n k 公司的网络软件提供的s n m pa p i ,而 v a n l i n k 技术的网管软件并非基于j 2 e e 架构,所以本文也未对e j b 给予实现。 至于i p v 6 ,一方面在设计时未提出这种需求,另一方面由于s n m p 被设计为协议 无关的网管协议,即底层传输协议基本不会影响s n m p 的工作,因此也未予以实 现。 下面再来看一下a d v e n t n e ts n m pa p i 的特性: 1 对s n m p v l 、v 2 c 和v 3 提供完整的支持。 2s n m p v 3 安全:支持h m a c s h a 9 6 、h m a c m d 5 9 6 、c b c d e sa n d12 8b i t a e s 加密算法; 3 健壮的s m i v la n ds m i v 2m i b 解析器; 4m 1 b 加载:可选择从预定义的文件或数据库中加载m i b 信息; 5 支持i p v 6 ; 6 s n m p 广播:在网络内广播s n m p 数据包以发现s n m p 设备; 7s n m p 组件:提供高层应用组件如s n m pt a r g e t 、s n m pt a b l e 、s n m pp o l l e r 、 t r a pr e c e i v e r 以便于应用开发; 8 数据库支持:可将m i b 信息以及s n m p v 3 配置信息存储于任意关系数据库如 m y s q l a n do r a c l e ; 9m i b 浏览器:用于管理网络,可以独立运行也可嵌入道w e b 浏览器中; 1 0 命令行:执行s n m p 操作如s n m pg e t 、s n m pg e t n e x t 、s n m ps e t 、 s n m pb u l k 、s n m pw a l k ,等等; 注:以上内容来自a d v e n t n e t 公司的技术网页h t t p :s n m p a d v e n t n e t c o m i n d e x h t m l 可以看到,a d v e n t n e ts n m pa p i 与i r e a s o n i n gs n m pa p i 在基本功能上是相 同的。但是,由于a d e v e n t n e ts n m pa p i 被设计为独立的产品,因此它具有更 多的用户接口,如m i b 浏览器、和命令行接口等。 v a n l i n ks n m pa p i 软件也提供了m i b 浏览器,但由于并未考虑将本a p i 单独 发布,所以并未提供命令行接口。 第7 页 北京邮电火学硕士研究生学位论文 设计模式与s n m p 软件开发 豳m 一l l i l l l i l w 一糊豳缓翮邀i 渗j 纂:囊羚每蟊j i 一叠幽麓 h o s t :i| p o r t : 堕! jt i m eo r a l ( m s ) :! 堕jr e t r y :1 l jv e r s i o n :l v e 吲o n3 | t p ;r “1 。 u s e rn a m e : s l i c e r 附l e v e l : l n o a u t l i n o p d v 7 一t i 。j a u t h p r e t o c o l :m d 5 lva e t h p a s s w o r d : j b 。一 f l p r i v p r o t o c o l :| d e s | v p t r i t , 一a s s w o l r d : o o b j e c tk l m - 瓶n e c l i;| 1 |g 艘i l6 蛾鞠。捌 | l 譬# 稿巍飘8 #;l g 烈i o b # 翅i s o ( 1 ) 9o - 四o r g ( 3 ) i s t a t u s 图1m i b - b r o w s e r 同时,对于a d v e n t n e t 所提供的s n m pb r o a d c a s t i n g ( 用于发现网络设备) , 和对于数据库的支持,在v a n l i n k 网络管理系统中都由使用s n m pa p i 进行网管 操作的上层应用来完成,因此,v a n l i n ks n m pa p i 予以支持。 经过上面的比较可以看出,本文所探讨开发的s n m pa p i 与市场上的主流产 品在功能上基本相同,并且兼容了诸多主流软件中的优秀特性,完全可以满足上 层网管软件的需求。同时,本软件也有自己的特色。 可扩展性:由于本软件采用设计模式为指导原则,抽象与实现相分离,因 此便于插入各种新的功能; 更加灵活、强大:本软件不但提供了基本的协议操作如g e t 、g e t n e x t 等, 还实现了w a l k t r e e ( 对某节点下所有信息进行遍历) 和g e t t a b l e ( 获取一个 表中的全部信息) 等扩展操作。这是因为,通过“适配器”模式的帮助,本软件 很容易将有限的基本功能适配为丰富的用户接口。 综合前面的讨论,本s n m pa p i 的特性为: 1 完整的s n m p v l 、v 2 c 和v 3 ( 包括u s m 和v a c m ) 支持; 2完整的s n m p v 3u s m 支持包括h m a c m d 5 ,h m a c s h a ,c b c d e s , c f b l 2 8 一a e s 一1 2 8 算法; 3 线程安全及多线程优化; 4 健壮强大的s m i v l s m i v 2m i b 解析器; 5 完整的s n m p 操作的示例代码包括:g e t 、s e t 、g e t n e x t 、g e t b u l k 、g e t t a b l e 、 g e t s u b t r e e 、w a l k 、t r a p 、t r a p r e c e i v e r , 等等; 6 符合s n m p r f c 定义: 7 支持u d p 和t c p 传输; 8m i b 浏览器:用于管理网络,可以独立运行也可嵌入道w e b 浏览器中; 9 灵活性和可插入性:系统基于设计模式易于扩展和维护。 1 3设计模式 在面向对象的程序设计领域中,“设计模式”正日益成为人们关注和研究 第8 页 北京邮电大学硕士研究生学位论文 设计模式与s n m p 软件开发 的对象。“设计模式”概念是由建筑设计师c h r is t o p h e ra l e x a n d e r 提出:“每 一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案 的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。”当前被 正式提出的模式有1 0 0 多种,在“设计模式”的帮助下,人们可以有效地解决 那些在软件设计过程中反复出现的典型问题。 v a n l i n ks n m pa p i 在设计开发期间,大量地借鉴了设计模式所提供的优 秀的方案来解决所遇到的实际问题,收到了良好的效果。通过本文,既能够对 设计模式如何来指导软件开发有个明确的认识,同时本文中应用设计模式所 解决的很多问题都可直接应用于通信软件的开发,有着很高的参考价值。 1 4本人在研究生阶段完成的主要工作 1 ) 研发v a n l i n ks n 归a p i 设计: 在功能上,参考同类产品的特点,并根据v a n l i n k 公司的具体需求提供特 殊的功能。在结构上以设计模式为指导,强调可维护性和可复用性。 开发: 采用开源的j a v a 语言进行开发,实现了s n m pv l v 2 v 3 的全部功能,并 且根据需求开发出适合v a n l i n r 网络管理软件的独特功能。 测试: 对s n m p 协议中的全部功能都进行了详尽的测试,被管对象选取c i s c o2 5 0 0 以及a d v e n e ts n m pa g e n ts i m u l a t o r 保证了测试的权威性。 维护: 在软件发布后,不断地根据客户的反馈进行功能扩展。 2 ) 研究网络管理的体系结构 对分布式网络管理进行理论调研,并提出了一种基于j a v a 技术的弱分布 式网罗管理体系结构。 3 ) 测试v a n l i n k 网络产品的s n m pa g e n t 模块 v a n l i n k 公司的网络产品支持s n m p v l v 2 v 3 的a g e n t 特性。本人同时利 用a d v e n t n e tm i b b r o w s e r 和v a n l i n km i b - b r o w s e r 对其进行测试以保证其能 够被有效管理。 4 ) 为v a n l i n k 语音产品开发w e b u i 为v a n l i n k 语音产品提供除命令行之外的另一种配置和管理手段。用户 只需通过浏览器即可对语音产品进行配置和查看,而不必使用复杂的命令行操 作。这使得产品的技术门槛降低,使用更加简单方便。 第9 页 北京邮电大学硕上研究生学位论文 设计模式与s n m p 软件开发 第二章“设计模式”与网络管理概述 s 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 o l ,简单网络管理协议) 是一个 应用层协议,提供了s n m p 管理者和s n m p 代理问报文格式的消息通信。它规定了 在网络环境中对设备进行监视和管理的标准化管理框架,通信的公共语言和相对 应的安全控制机制。 2 1网络管理协议环境 s n m p 为应用层协议,是t c p i p 协议族的一部分。它通过用户数据报协议( u d p ) 来操作。在分立的管理站中,管理者进程对位于管理站中心的m i b 的访问进行控 制,并提供网络管理员接口。管理者进程通过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 2 5 ) 之上实现。 每个代理者也必须实现s n m p 、u d p 和i p 。另外,有一个解释s n m p 的消息和 控制代理者m i b 的代理者进程。 8 k 柏p 祷l # 懿嚣h 醋p 蔫 图2s n m p 协议环境 图2 描述了s n m p 的协议环境。从管理站发出3 类与管理应用有关的s n m p 的消息g e t r e q u e s t 、g e t n e x t r e q u e s t 、s e t r e q u e s t 。3 类消息都由代理者用g e t r e s p o n s e 消息应答,该消息被上交给管理应用。另外,代理者可以发出t r a p 消息,向管理者报告有关m i b 及管理资源的事件。 2 2s n m p 管理框架 s n m p 管理框架包含有四个组成部分: s n 船管理者 s n 肝代理 一个用于在s n 肝实体间传输管理信息的管理协议 m i b 库( m a n a g e m e n ti n f o r m a t i o nb a s e ,管理信息库) s n m p 管理者是一个利用s n m p 协议对网络节点进行控制和监视的系统。其中 第1 0 页 北京邮电大学硕士研究生学位论文设计模式与s n m p 软件开发 网络环境中最常见的s n m p 管理者被称为网络管理系统。网络管理系统既可以指 一台专门用来进行网络管理的服务器,也可以指某个网络设备中执行管理功能的 一个应用程序。现在市场上有众多软硬件厂商提供有支持s n m p 协议的网络管理 系统,如c i s c o 公司的c i s c o w o r k s 系列网络管理软件产品。 s n m p 代理是被管理设备中的一个软件模块,用来维护被管理设备的管理信 息数据并可在需要时把管理数据汇报给一个s n m p 管理系统。s n m p 代理和相关的 m i b 库存在于网络设备中( 如c i s c o 路由器,交换机,接入服务器等等) 。 m i b 库是一个保存网络管理信息的虚拟数据存储空间,由多组被管理对象组 成。在设备m i b 库中有由多个m i b 模块定义的多组各自相关联的对象。每个m i b 模块都是利用标准的s n m pm i b 模块语言撰写的,具体遵循的标准定义在i e t f ( i n t e r n e te n g i n e e r i n gt a s kf o r c e ,一个国际标准化组织) s t d 5 8 ,r f c 2 5 7 9 和r f c 2 5 8 0 文档中( 请参见本文“m i b 和r f c ”一节了解s t d 文档和r f c 文档的 解释) 。需要注意的是,每一个单独的m i b 模块有时也会被称为一个m i b ,如设 备接口组m i b ( i f m i b ) 就是设备m i b 库中的一个m i b 模块。 s n m p 代理中保存有m i b 对象变量,变量的数值可以被s n m p 管理者通过g e t 或s e t 操作进行读取和修改。一个s n m p 管理者可以从s n m p 代理中读取一个变量 的数值或把一个数值存储到s n m p 代理的一个变量中。s n m p 代理从代表设备参数 和网络运行数据的m i b 库中采集数据,且可以对s n m p 管理者的g e t 和s e t 操作 进行应答。 图3 勾画出了s n m p 管理者和s n m p 代理间的通信关系。一个s n m p 管理者可以 向s n m p 代理发送请求,读取( g e t ) 或设置( s e t ) 一个或多个m i b 变量数值。 s n m p 代理可以应答这些请求。除了这种交互式通信方式,s n m p 代理还可以主动 向s n m p 管理者发送通知( t r a p 或i n f o r mr e q u e s t ) 以提示管理者一个设备或网 络状态。 * g 日自日m i b 女 图3s n m p 管理者与s n m p 代理间的通 2 3m i b 和r f c m i b 模块通常在提交给i e t f 的r f c ( r e q u e s t sf o rc o m m e n t s ,征求意见) 文档中定义。由互联网团体中个人或组织撰写的r f c 文档主要目的是起草一个推 荐的互联网标准( i n t e r n e ts t a n d a r d ) 。在确定每个r f c 文档地位前,文档会以 第l l 页 北京邮电大学硕士研究生学位论文 设计模式与s n m p 软件开发 互联网草案( i n t e r n e td r a f t ,id ) 形式先行发表。如果r f c 文档最终被批准 为推荐标准,则此文档将被标注为标准( s t d ) 文档。i e t f 规定的管理信息库m i b ( 由中定义了可访问的网络设备及其属性,由对象识别符( o i d :o b j e c ti d e n t i f i e r ) 唯一指定。 m i b 是一个树形结构,s n m p 协议消息通过遍历m i b 树形目录中的节点来访 问网络中的设备。图4 给出了n m s 系统中s n m p 可访问网络设备的对象识别树 ( o i d :o b j e c ti d e n t i f i e r ) 结构。 图4 订1 i b 树形图 一个m i b 描述了包含在数据库中的对象或表项。每一个对象或表项都有以 下四个属性: 对象类型( o b j e c tt y p e ) 语法( s y n t a x ) 存取( a c c e s s ) 状态( s t a t u s ) 在s n m p 规范之一的管理信息结构与标识( s m i ;r f ci 1 5 5 1 0 6 5 ) 规范中定 义了这些属性。s m i 对于m i b 来说就相当于模式对于数据库。s m i 定义了每一个 对象“看上去象什么”。 对象类型 这个属性定义了一个特定对象的名字,例如s y s u p t i m e 。它只不过是一个标 记。在表示数据时,s m i 使用了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 ) 。对象 第1 2 页 北京邮电大学硕二l 研究生学位论文设计模式与s n m p 软件开发 必须被“标识”。对于互联网络管理m i b 来说,用a s n 1 记法来表示的标识符开 头如下: i n t e m e to b j e c ti d e n t i f i e r := i s oo r g ( 3 ) d o d ( 6 ) 1 ) ; 或者用一种简单的格式: 1 3 6 1 。 这是从a s n 1 文档中抽取的。它为标识符定义了一个树形的格式。该树是 由一个根及与之相连接的许多被标记的节点组成。每一个节点由一个非负整数值 和尽可能简明的文字说明所标识。每一个节点可能也拥有同样被标记的子节点。 当描述一个对象标识符( o b j e c ti n d e n t i f i e r ) 时,你可以使用几种格式, 最简单的格式是列出由根开始到所讨论的对象遍历该树所找到的整数值。 语法 这个属性指定了数据类型,例如整数、8 位组串数字( 字符串:范围为0 至 2 5 5 ) 、对象标识符( 预先定义的数据类型别名) 或n u l l 。n u l l 是留待以后使用 的空位。 存取 存取表明了这个特定对象的存取级别。合法的值有:只读、读写、只写和 不可存取。 状态 状态定义了这个对象的实现需要:必备的( 被管理节点必须实现该对象) ; 可选的( 被管理对象可能实现该对象) :或者已废弃的( 被管理设备不需要再实 现该对象) 。 2 4s n 肝协议的特点 s n m p 协议的应用范围非常广泛,诸多种类的网络设备、软件和系统中都有 所采用,主要是因为s n m p 协议有如下几个特点: 首先,相对于其它种类的网络管理体系或管理协议而言,s n m p 易于实现。 s n m p 的管理协议、m i b 及其它相关的体系框架能够在各种不同类型的设备上运 行,包括低档的个人电脑到高档的大型主机、服务器、路由器及交换机等网络设 备。一个s n m p 管理代理组件在运行时不需要很大的内存空问,因此也就不需要 太强的计算能力。s n m p 协议一般可以在目标系统中快速开发出来,所以它很容 易在面市的新产品或升级的老产品中出现。尽管s n m p 协议缺少其它网络管理协 议的某些优点,但它设计简单、扩展灵活、易于使用,这些特点大大弥补了s n m p 协议应用中的其它不足。 其次,s n m p 协议是开放的免费产品。只有经过i e t f 的标准议程批准( i e t f 是i a b 下设的一个组织) ,才可以改动s n m p 协议;厂商们也可以私下改动s n m p 第1 3 页 北京邮电大学硕士研究生学位论文设计模式与s n m p 软件开发 协议,但这样作的结果很可能得不偿失,因为他们必须说服其他厂商和用户支持 他们对s n m p 协议的非标准改进,而这样做却有悖于他们的初衷。 第三,s n m p 协议有很多详细的文档资料( 例如r f c ,以及其它的些文章、 说明书等) ,网络业界对这个协议也有着较深入的理解,这些都是s n m p 协议近一 步发展和改进的基础。 第四,s n m p 协议最初对安全性因素考虑不足,因此限制了它的应用范围。 但是在s n l l i p v 3 中,安全性因素得到了充分的考虑,最大程度地保障了s n l i i p 系统 的安全可靠。因此s n m p 成为了一种更加可靠的网络管理协议。 最后,s n m p 出议可用于控制各种设备。比如说电话系统、环境控制设备, 以及其它可接入网络且需要控制的设备等,这些非传统装备都可以使用s n m p 协 议。 2 5 “设计模式”概述 所谓“设计模式”( d e s i g np a t t e r n s ) ,就是人们对解决过的类似的问题进 行分析和总结,然后对该类问题给出一个通用的解决方案。利用该方案,可以指 导人们在以后的研究和生产实践中更加简单方便地重复使用成功的设计和体系 结构,以最佳的方式来解决问题。 “设计模式”这个概念最初产生于建筑行业。设计师( 设计建筑物而不是计 算机系统) 意识到他们需要共享有关正确设计技术的想法。这些想法是在可以使 设计师团体从分享经验和教训中获益的“设计模式”中形成的。“设计模式”在 8 0 年代后期从建筑业进入计算机系统领域。自从1 9 9 5 年( ( d e s i g np a t t e r n s ) ) 一书发表后,“设计模式”作为一门新兴学科迅速地发展了起来,被确认的模式 结构也日益丰富,目前已有的模式有1 0 0 多个。其中有一些模式结构,应用范围 非常广泛,影响巨大。 一般而言,一个模式有四个基本要素: 1 模式名称( p a t t e r nt l a l l l e ) 一个助记名,它用一两个词来描述模式的问题、 解决方案和效果。命名一个新的模式增加了开发人员的设计词汇。“设计模 式”允许开发者在较高的抽象层次上进行设计。基于一个模式词汇表,开发 者自己以及同事之间就可以讨论模式并在编写文档时使用它们。模式名可以 帮助开发者思考,便于开发者与其他人交流设计思想及设计结果。 2 问题( p r o b l e m ) 描述了应该在何时使用模式。它解释了设计问题和问题存在 的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也 可能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用 模式必须满足的一系列先决条件。 3 解决方案( s o l u t i o n ) 描述了设计的组成成分,它们之间的相互关系及各自 第1 4 页 北京邮电大学硕士研究生学位论文改计模式与s n m p 软件开发 的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以 解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象 描述和怎样用一个具有一般意义的元素组合( 类或对象组合) 来解决这个问 题。 4 效果( c o n s e q u e n c e s ) 描述了模式应用的效果及使用模式应权衡的问题。尽 管描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解 使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空问的衡 量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素之, 所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列 出这些效果对理解和评价这些模式很有帮助。 现存的模式达到i 0 0 多种,它们大致可分为三类: 创建型( c r e a t i o n a l ) :解决如何创建对象的问题。 结构型( s t r u c t u r a l ) :解决如何正确的组合类或对象的问题。 行为型( b e h a v i o r a l ) :解决类或对象之间如何交互和如何分配职责的问 题。 常用的“设计模式”包括:单例模式,调停者模式,观察者模式,代理模式,建造者模 式等。本文将以这些“设计模式”为指导对s n m p 软件进行分析和设计。 2 6 “设计模式”的总体原则 在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 25131:2025 EN Hardware for furniture - Strength and durability of hinges and their components - Stays and hinges pivoting on a horizontal axis
- 颈椎损伤患者的个案护理
- 公司节假日培训课件
- 梯子游戏故事案例解读
- 亮闪闪的微笑课件
- 《装在套子里的人》笔记课件
- 腹外疝的护理查房
- 事故安全宣传培训记录课件
- 皮肤科护士年终总结
- 电气工程师年终总结报告
- 美术微课课题立项申报书
- GB/T 46084-2025燃煤锅炉火焰温度图像检测技术规范
- 2025年贵州省毕节市辅警招聘考试题题库(含参考答案)
- 女职工法律培训
- 2025口腔执业医师考试仿真模拟试题及答案
- 2025年辅警考试公共基础知识真题库(含答案)
- 2025劳动合同范本下载
- 2025-2026学年高二上学期数学第一次月考立体几何卷全解析【测试范围:沪教版2020必修第三册第十章】(上海专用)
- 小学法律知识竞赛试题(附答案)
- 浙教版(2023)五年级上册信息科技 第1课 身边的算法 课件
- 造纸培训制浆造纸培训造纸纸病分析处理(“毛布”文档)共112张
评论
0/150
提交评论