a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 192|回复: 0

[考试辅导] MPA论文:网络应用软件监控系统的容错机制

[复制链接]
发表于 2012-7-21 09:21:54 | 显示全部楼层 |阅读模式
  摘要:对网络的应程序实施管理和监控已成为网管系统发展之必需。在;JSNMP中MIB信息和协议数据单元扩充的基础上,设计并实现了面向应用1软件的网络监控系统。文章重点阐述容错机制的没计实现。  关健词:应用软件监控系统;管理信息库;协砹数据单元;容错机制
/ }* [4 n7 {8 N/ O, L" N4 I2 f  当前,网络管理 议已经成为事实上的工业标准,它代表了标准化的网管协议,并在很大范同内得到了应用。但日前SNMP的管理范围仅限于对网络硬件设备的管理,如路由器、集线器等,对于网络 运行的应nj程序的管理涉及很少,与网络硬件设备管理相比,网络应用软件的管理还处于一种混乱的状态。随着网络技术的发展和应jfj的日益,“泛,越来越需要对运行于网络环境中的应用软件进行统一有效的管理。
( H* g: E) o! O( _  K1 @2 q  在对SNMPv2进行深入细致的分析和研究后,我们设计并完成了一个网络应用软件监控系统一一ASNMS,实现了在管理站点上对网络中的应Jtj程序进行有效监控,及时发现运行中的应HJ程序的状态以及所发生的问题,对于维护网络信息安全、提高系统的运行效率有着重大的作用。
# o9 B/ Q& s1 y6 c8 W  1系统简介/ r( c0 ?/ e, s
  1.1系统的框架结构ASNMS的系统结构如图l所示,整个系统共有3个组成部分:监控模块,管理代理和管理站点。# N( d8 ^. _; d5 i1 ~, |+ Z
  (1)监控模块:是提供给软件开发人员使用的一个通用接口模块。在其内部封装了与管理代理进行通信和对本地M【B子树进行管理的内部实现,这些内部实现对于软件开发人员是完全透明的。同时该模块向软件开发人员提供 一系列接口来操作该模块。
( V% {, b; Q' z+ V% f: H3 y/ w' @  (2)管理代理:位于每一个受控站点中,负责与本机的各应用程序实例进行通信,收集各应用程序实例的监控信息,同时与管理站点联络,发送本地的节点信息,并接收管理站点传来的控制信息。  T) l3 Z1 s0 G
  (3]管理站点:枉其内部主要负责与管理范围内的所有管理代理进行通信,搜集监控信息,并下发各种控制指令。在外部,它具有监控系统的主要用户界面,提供了整个管理范围内的MIB树的映射,网络管理员可以在该映射上得到他所感兴趣的信息。
& c9 ~- E) z' h8 V7 @  1.2网络监控系统的 日能因为ASNMS网络监控系统是原型试验系统,所以功能设计遵循简单和必要的原则,其次,我们用面向对象的观点来分析观察功能,即任何功能都是一定对象的行为结果。因此ASNMS系统的功能并没有按照一般网络管理系统的功能组织方式来组织(即5大功能划分),而是针对应用软件的特点来组织,具体来说,主要功能有:(1)对类中成员变量j 控;(2)对类-{r成员函数j 控;(3)对类tl r成受变缝处理和统汁;【4)基本功能包括,lIelnet~llMIB I3l0\\SCI‘等;5)系统安全性的实现
+ L% D8 U8 X) A6 A  2、容错机制的设计与实现通常,峪控信息往网络J-传输,倍思n勺可靠性1,I:很火度上依赖于网络艇什设备的可靠性, 且 络上的情兄复杂,随时能会有·些突发事件发生,殳I1停电、没箭救障、网络流量过人等,导致报文丢失。红广域网上这种情况更是常见。闻此,应用软件临控系统应该具箭一定的容错能力,在本系统设计,引入了重传机制和不一致恢复。
0 c: w# z) ^  w* A: \: ]  2.1重传机制一般说来,管理站点和管理代理之问的一次通信n勺数据交换量可能会很人,当数据量超过r 络能够支持的数据包的最大长度口1f,必须将报文分解成几个小数据包进行传送,任到达目的地后再将这些小数据包重新组合成完整的撤义。
  w2 E/ X: ]; y* P1 X  如果使用的协议是TCP协议,这些]二作由TCP协议完成。nI图1【可知,ASNMS系统采川UDP i义作为传送协议, 为需要将报文 可能快地送到ASNMS系统, 速度的重要性超过了列’r,j’靠传输的需求,使用UDP绕过I,发送额外的建立一个TCP会话时』 涉及的分组报文。fHUDP协议并不完成数据报文分解和重组工作,UDP协议不提供差错控制,在传输过程中可能会丢失分组,在报文丢失时,不能简单地放弃或认为没备火败,而应该采取碴传机制多试几次再作结论。但是并非要对所柯的协议报文都要采取重传机制,因为ASNMS系统是基1 C/S模式的,客 端li】J服务器端发送数据请求,服务器端向客 提供数据, 一问一答;网络传输是IfI客户端发起的,生动权住客户端,如果客户端没有收到服务器端答的数据,客户可以IⅡ次lklN.务器发送数据请求,除非确认网络传输失败。所以4:EASNMS系统中,管理代理并不对其发出的各种响应报文和通知报文是否到达管理站点负责,只有管理站点对其发 的等待管理代理 应的各种请求报文(J’‘播请求除外)采用该机制, 一I].管理站点在规定时间内没有收到管理代理的响应,就重传该报文。管理站点发出的报文需要重传的情况有3种。
* }7 ]; |: v( r, t7 o/ x% j. y  (1)管理站点发出的报文在送往管理代理的途小丢失了。这种情况下,只要进行简单的嗔传就町以了,没有什么其他的工作要做。
6 }9 v$ r; S* Y2 P4 q# u  (2)管理站点发出的报义『F确到达了日的地,但由管理代理发出的Ⅱ向应报文却在『nJ送给管理站点的途IlIJ丢失了。这种情况1 进行霹传,叮能导致管 代 收剑多个相同的清求报文。如果不管该请求报文是否为再传报文,而只是简单地对每个请求报文都作出相应的动作,组织和发送信息的话,势必会导致这样。个结果:对于两个相同的清求,却可能产生 同的回答(MIB信息在重传的间隙中可能发生了变化)。
6 e4 E! r! L; {6 ^  更为严重的情况是, 一个在管理站点上的合法请求在管理代理上可能会成为一个非法请求(MIB~i构在重传的间隙中发生改变)。为了保证报文数据的一致性和合法性,必须对臀理站点发来的请求报文进行分析。如果是同一个请求的多个重传报文,则对它们逐一进行Ⅱ向应,但响应报文的内容是一致的。为了达到这个目的,必须在管 代理上设置如下数据结构:
9 D$ {9 f, e! a3 l  1)相连管理站点链表。存储与本管理代理相联系的管理站点的列表struct serverlist;char 1P【I 6】:chin NameI16jInt ll】nc:int 1’hncl’ID:sH’uct P,csponse1 ist Iill~il该管理站点发送的报文列表--管 站点的II)地址管理站点的名字定时传送更新数据的时 1一J隔, 定时器标识!)近期发送报文列表。存储管理代理向特定管理站点发送的报文列表,有长度限制。当列表长度超过所允许的最大长度时,从表头歼始删除stitlct Responsel istint Sel_i0rN timber;char RcsDonscCOntentsti’tlct PacketList Ncxt;, 报文序列号i/rig应报文的内窖/,后续指针* \1 S" w+ K  `" f& x
  (3)管理站点发出的报文正确到达了 的地,仉由管理代理发出的响应报文却在 送给管理站点的途巾被延误,以至管删站点误以为丢失了。山于管理代理每收到一个请求报文后,哲l5回送响应撤文,凶此存这种情况i-,管理站点的一个请求町能会收到僻理代理的多个响应报义。管删站点只接收第 个响应报文,其余的都作为冗余报文处理。冗余报文的7-”0断标准有3条:所有在等待响应的请求报文链表RequestList巾有记录的请求报文所对应的响应报文;所有的通知响应报文(INP){II陷litb“g应报文(TRP);响应请求报文中的注册请求响应报文。如果到达报义不属下这3条标准巾的任何 条,则管理站点认为该报文为冗余报文,将其抛弃。
$ O% a) Z. b& C# s% c  为r达到这个Fj的,必须在管理站点上设置殳fl下数据结构:
; h/ i/ P' D9 Y" ~) N  1)等待响应的请求报文链表。管理沾点上发出的等待管理代理回应的请求报文列表(广播请求除外)。
, _: \1 j4 ^1 C$ e  stiuct RequestList{int So,’iorN tllTI bcr; i/ll{文序列号char lP『I61; II请求报文的目标站点int Try,Times; I/已试验发送次数char Rc tContcl1t; /请求报文内容int Timm’ID; //定时器标识Stl’uct RequestList*Next; /,后续指针2)当前接收报文链表。表示当前正在等待接收后续数据包的报文的列表。5 l2 _$ Y. F9 c2 t" |
  stl tlCt PacketListint Scriol’Ntlnlbel: 臣文序列号int FotaINtlm: /1分组总数int ReceivcdNum; //已受到的分组个数int TimerlD; /I定时器标识struct DataPieceList Received; ,/已收到的分组序列strttct PacketList Next; /I后续指针并不是管理站点收到的任何报文都可以存储在这个链表中,只有经过筛选后合格的报文才允许在这个链表中记录。
. I0 ]$ t2 ~" e8 m- O) R" G  筛选的标准有3条,上面已经介绍过。如果到达报文不属t这3条标准中的任何一条,则管理站点认为该报文为冗余报文,将其抛弃。
0 @, m1 p' w! N  3)报文中的已收到分组列表。2 D+ u  `9 [6 N% O9 I
  stI’uct DataPicecListint NUlll; /分钒fl’q J~-int Datal,ength; //数据 度ch ii· i):i ra; //数据stl UCt Datal ieccl ist N cxl; 后线指针耍兀粜僻 站点 传n次报文后(n为咀传次数n勺 限),僻理代理还是没柯响应,僻。til.l.+?7,t;?di就认为通 该镑 代理的链路敝障或该僻 代理已 IF常退 ,取消l 个 求,并本地i’f.jM1Bt『央身寸 扣删除该僻删代圳所在的MIB分支。9 ^7 S; ?: ~7 O/ `0 |
  2.2不一致的恢复由q-网络硬件设帑的原 ,会导敛管理站点与僻理代理之间的数据产生不一致。这种不一致的现象j三要有以下 种表现:
+ Q. g7 C& Z8 a+ W  (1)管理站点在向某个管理代删发送一个请求报文,由于物理链路的原因,管理代理长期没有响应,管理站点就认为该代理已经非正常关闭或者是连接到该代理的物理链路故障,于是在管理站点的M1B树映射中将孩管理代删的M1B分支删除。但管理代理方面并不知道ft己已经不在注册站点之列,还是处于注册站点状态 在网络传输恢复正常之后,管理代理再向管理站点发送一些Trap~文或Inform~R文时,就会被管理站点认为足错误报文 管理站点收到此类错误报文时,就m这些错误报义的来源处发送’个强制注册的数据但,要求该站点重新向其注册,以使管理站点和管理代理之间数据恢复一致。- Q* w) J6 [4 d
  (2)当管理代理的M1B树结构发生变化时, 向管理站点发送Infor,W~文。由于网络传输的问题,该报文丢失了。这样,管理站点并不知道符理代理下的M1B树发生的变化,造成M1B树与其映射问的不一致。管理站点以后向管理代理发出的关于变化了的那部分MlI3丁树的请求时, 自然被管删代理认为是非法请求并反馈给管理站点 当管理站点收到此类反馈报文后,向发送该反馈报文的管理代州发送?all ”t4注册数据包,要求该代蹦 承新 其注册,重撕传输该代理fl’,JMIB予树结构 ,要想完 防I 管删站点与僻 代理之问数据不一致的发是不¨丁能的,但如何在不一致产生后,尽怏使系统恢复·致,址l稠络应用软件监控系统的一个重要f:1标。+ M+ h# ~( P) Y3 W  V6 a5 C
  3、小结
# m- s/ A. Y+ p; |2 [* D0 [  本文介绍了ASNMS网络监控系统容锵机制的设汁与实现。ASNMS是一个面向应川软件的网络监控系统,提供了对应刖程序类L}I成员变量和成员函数监控的功能。任ASNMS系统机制之后,系统在灵活性、安全性打 得到了改进,其运行性能得到了提高。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 09:36 , Processed in 0.232570 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表