基于SNMP的网络监控系统的研究与实现
2012-09-29刘建卿卢融凯
刘建卿,卢融凯
(1.天津职业技术师范大学 信息技术工程学院,天津300222;2.北京盛安德科技发展有限公司,天津300000)
简单网络管理协议SNMP(Simple Network Management Protocol)是为网络管理系统提供的底层网络管理的框架。其应用范围非常广泛,诸多种类的网络设备、软件和系统中都有所采用。SNMP协议发展到目前的第3版,已经成为一个非常成熟的网络管理协议[1]。不过由于每个设备的支持程序有所不同,所以面向SNMP的成熟网络管理框架依然非常少见[2]。在SNMP的支持方面,Cisco是走在最前沿的[3],除了完整地支持RFC1213中MIB-2的定义外,还在部分设备中支持RFC2819和RFC2021中的RMON。基于Cisco的主流性,开发“可扩展”的基于SNMP的网络管理框架变得非常现实。
1 开发平台与架构的选择
.NET平台的C#语言有着丰富的语言特性,例如Lambda表达式(在Auto-Topology控件及软件框架中已多次使用)可以显著地提升开发效率,而且支持C#的官方开发环境Visual Studio是公认的更加有助于团队协作的集成开发环境。再者,C#中匿名对象、对象初始化器、闭包支持LINQ等利于DSL表现的特性,加之良好的异步编程支持,使C#成为了首选语言,自然,首选的平台则为.NET。
软件必须面对的两个基本问题是“通用性”与“可扩展性”。所谓通用性,就是在绝大多数的网络环境中都能够使用的基本功能;所谓可扩展性,就是在保证通用的前提下,充分发挥特有设备特别功能的能力。这使得通用框架的设计难度加大。
如何使网络管理任务充分简化是需要重点考虑的,软件的工作方式将会影响操作的行为,C/S结构或者纯粹的单体软件无疑有着更为强大的图形展现能力,而B/S结构则在伸缩性与跨平台方面有着更为良好的表现。……
