基于WinSNMP的网络管理程序设计----原理与实践(第四章)

类别:VC语言 点击:0 评论:0 推荐:

第四章 网络管理软件的技术前景
及产品分析

自从最初SNMP协议的提出,基于SNMP的网络管理软件就一直不断地在发展。从最初的字符界面到现在的GUI,从最初的简单功能到现在的包括拓扑发现、对几乎所有网络设备的监控等功能。但是,在网络管理软件方面,还有很多的课题需要人们研究,以下列举几个网络管理软件的发展方向:
 基于WEB的网络管理
 专家系统在网络管理中的应用

4.1  基于WEB的网络管理
基于WEB的网络管理是当下流行的WWW技术与网络管理的一种结合。利用支持工具、编程语言和协议,如html、CGI、perl、java、C++和SNMP等,可以产生和传送管理信息,并把他们以静态、动态和表格(交互式)的形式在屏幕上表示出来。
基于WEB的网络管理主要有两种模型:

4.1.1 采用浏览/被浏览实体模型的WEB管理
在这一模型中,浏览器直接与被管设备上的HTTP服务器通信。实现时,目标设备必须有TCP/IP协议栈和可以下载到浏览器所在客户PC上并执行的一套Web管理小应用程序(applet)。小应用程序要有图形用户界面、网络访问的套接字接口等。在这个模型中,不需要中介的管理软件,如SNMP网络管理站。

4.1.2 采用SNMP管理/被管实体模型的WEB管理
这个模型代表了基于Web的管理与当前SNMP网络管理软件/代理进程软件这两种方式的合并与共存方案。
实现时,浏览器的请求到达存储着管理应用程序的CGI;然后,像perl这样的脚本语言所编写的应用程序调用某个接口(也许是Perl2SNMP翻译库),该接口又调用SNMP库程序中有关函数,构造针对目标设备上特定代理进程软件的SNMP操作。
4.2 专家系统在网络管理中的应用
当前发布的许多网络管理软件中都包括有专家系统组件和嵌入式专家系统引擎(engine),以辅助完成管理功能。专家系统根据从代理进程和网络管理站数据库中收集的数据,经过推理做出决策。当过程算法不能适用于某个特殊问题时,就利用启发式算法。
模糊逻辑与神经网络是人工智能的另外两个领域,人们正努力研究以把它们应用于网络管理软件中,提高网络管理的能力及其智能化。

下面,我们将讨论几个当前较为流行的网络管理软件。主要有:HP公司的OpenView、IBM公司的NetView、SUN公司的SunNet以及代表未来智能网络管理方向的Cabletron公司的SPECTRUM。

4.3  几种流行的网络管理软件

4.3.1  HP OpenView
HP OpenView是第一个真正兼容的、跨平台的网管系统,得到了最广泛的市场应用。它监视和控制SNMP代理进程,包括有节点自动发现、拓扑图管理、应用程序开发工具和各种类型的数据采集软件等一系列应用程序。
OpenView使用了商业化的关系数据库,使得第三方应用开发厂商利用OpenView采集来的数据开发扩展应用变得相对容易。而且OpenView的MIB变量浏览器相对而言是最完整的,正常情况下使用该MIB变量浏览器仅产生很少的流量开销。OpenView主要的弱点在于:(1).当某一对象发生故障,导致其它正常的网络对象停止响应网管系统而误把这些正常对象当作故障对象对待。(2).不能区分服务的故障和设备的故障。

4.3.2  IBM的NetView
NetView是基于HP OpenView,并扩展了许多功能。NetView相对OpenView,做了许多改进,如增加了事件卡片机制,在一个单独的窗口中按照一定的索引显示最近发生的事件,以及一个故障卡片系统和一些新的故障诊断工具等。NetView一个最大的缺点是:不能对故障事件进行归并,不能找出相关故障卡片的内在关系。
4.3.3  SUN的SunNet Manager
SunNet Manager是第一个重要的基于unix的网络管理系统,只能运行在SUN系统平台上。SunNet Manager有两个重要特性:Proxy管理代理和集成控制核心。SunNet Manager是第一个提供分布式网络管理的产品,它的数据采集代理可以通过RPC(远程过程调用)与管理进程通信。这样Proxy管理代理就可以像管理进程的子进程一样分布在整个网络。而集成控制核心可以在不同的SunNet Manager的管理进程之间分享网络状态信息,这种特性在异构网络中显得特别有效。

4.3.4  Cabletron的SPECTRUM
Cabletron的SPECTRUM是一个可扩展的、智能的网络管理系统,它使用了面向对象的方法和Client/Server体系结构。SPECTRUM构筑在一个人工智能的引擎Inductive Modeling Technology之上,同时SPECTRUM借助于面向对象的设计,可以管理多种对象实体。SPECTRUM是以上四种网管平台中唯一具备处理网络对象相关性能力的系统,它采用归纳模型以检查不同的网络对象和事件,从而找到其中的共同点,以归纳出同一本质的事件或故障。尽管SPECTRUM十分优秀,但只有很少的第三方开发厂商的支持,市场占有率很低。

 

 

 

 

 

 


结束语

本课题主要是采用了WinSNMP API实现了一个简单的基于SNMP的网络管理系统。实现了SNMP协议中的GET、SET、GETNEXT操作。具有简单的流量分析。可获取本机及远程网络设备的路由表,并能更改设备的系统名称。
系统运行示意图如下:


通过本课题的学习,我熟悉了Visual C++编程环境,对Windows编程、MFC以及Internet网络管理都有了比较深入的了解。对这一系统设计、编码的整个过程,使得我对程序设计有了更加深入的体会,特别是程序的结构、内存管理以及软件的整体把握。
同时非常感谢我们通信实验室的所有同学,大家给了我很多帮助,我非常喜欢这个环境。感谢我们97级电子系的所有同学,四年中这样一个集体给了我很多快乐,我也在这样一个集体中学会了很多。我会永远记住这段时光。希望大家都快乐。
参考文献

1.简单网络管理协议教程          SEAN HARNEDY 著    电子工业出版社
2.用TCP/IP进行网际互连(卷一) Douglas E.Comer  著    电子工业出版社
3.Visual C++技术内幕             David J.Kruglinski著    清华大学出版社
4.深入浅出MFC                 侯捷            著  华中科技大学出版社
5.WinSNMP/Management API Specification
6.网络管理新协议SNMPv3        刘振华 熊瑾煜 郭云飞 著
7.简单网络管理协议(SNMP)       江霞 著
http://www.china-pub.com/computers/emook/0796/info.htm?id=796
8. SNMP和CMIP网管协议的比较  卢红波 著
http://www.chinatelecom.com.cn/tel_learn/tel_learn_zhishi/tel-learn-zhishi-270.htm
9.网络管理软件的选择和应用  于小红等 著 《计算机应用研究》2001年第二期
10.理解SNMP、SNMP++及用VC++6.0实现Windows SNMP编程  黄基前 著
  《程序员》2001年第一期
11.RFC相关文档
12.Microsoft MSDN Library   2000.7.

本文地址:http://com.8s8s.com/it/it2941.htm