基于SNMP的网络管理软件设计方案和实现

基于SNMP的网络管理软件设计方案和实现

  随着网络技术的高速发展,计算机网络的应用的深度和广度不断提高,日渐深入我们的工作和生活。从政府机关的管理,企业营销、物流的网络管理,科研机构信息的交流,到个人的娱乐、生活,网络在这其中正在发挥着越来越重要的作用。广阔的应用空间对网络运行的稳定性、健壮性以及安全性提出了很高的要求。为保证网络高速稳定地运行,需要网络管理人员能够方便地监控网络运行的状态并及时地发现问题以便加以解决。在网络管理发展的早期,由于网络规模较小,设备数量不多,网络管理工作可以由少数网络专家担任,而随着网络规模的扩大和网络异构性的提高,网络管理中新的问题也在出现

  首先是地理上的隔离。一家公司的内部网络可能包含分立于几地分公司的多个内部子网。

  其次是网络设备种类的繁杂。网络中可能运用到的设备有网络协议支撑性设备,如网桥、路由器、交换机、网关等;网络中还有各种网络应用设备,如网络打印机、文件服务器、邮件服务器、Web服务器、终端等。网络设备提供商与型号也多种多样。目前比较大型的网络设备提供商有Cisco、华为、华三等,市场中还存在其形形色色的品牌和厂商,并且每一家提供商所生产的同类型设备也都有不同型号。以Cisco生产的路由器为例,单单系列就有Cisc0250系列,Ciscol700系列,Cisc02600系列等等。

  由于以上列出的种种问题,使得网络管理单纯依靠少数网络专家已经行不通,而需要有新的工具使网络管理员可以管理处于不同地理位置的网络设备,并且对网络管理行为加以简化,提高网络管理的效率。简单网络管理协议(SNMP)就是适应这种要求而被设计出来的,SNMP的基本思想是:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义 一个统一的接口和协议,使得管理员可以使用统一的外观面对这些需要管理的网络设备进行管理。


SNMP管理协议的产生

  在网络技术发展的早期,由于网络规模较小,整个网络互连的技术尚未成熟, 网络管理问题并未得到太大的重视,基本上是由网络管理人员手工完成。也没有 专门的网络管理协议,只有互联网络控制信息协议(ICMP)可作为网络管理的 工具。ICMP消息开发的典型网络管理工具是分组互联网探索(PING)程序。可 用来完成多种功能,如确定一个物理网络设备或网络能否寻址,以及验证一个主 机上的服务器操作。

  虽然PING工具能够完成一些简单的网络管理功能,但随着网络应用的不断 发展,互联网规模的不断扩大,复杂性也在不断增加,PING功能已经不能满足 网络管理人员的需要。一些厂商开始生产针对自己产品的专用网络管理系统,而 这种专用的网管系统难于对其他厂商的通信产品及网管系统进行管理。 随着20世纪80年代后期Internet的迅猛发展,网络的规模和异构性都在急 剧提高,在面对由多厂家产品组成的复杂网络时,这种专用的网管系统也已经无 法胜任网络的管理。

  1988年,IAB推出了SNMP(Simple Network Management Protoc01)。一开始,人们把SNMP只是做为近期的过渡解决方案,而将CMIS/CMIP做为长远的解决方案。但是,由于SNMP被设计为工作在简单的TCP/IP协议而非基于OSI标准,SNMP 和CMIS/CMIP并不能简单兼容。。1990年5月,Internet工程任务级(IETF)发布了 SNMPv1,由于其简单性,SNMP得以迅速发展,很快被众多的厂商设备所支持, 成为网络管理事实上的工业标准。

网络管理的关键功能

设备管理

  通过拓扑视图中,用户可以方便的管理设备及其配置参数。支持在拓扑图的基础上,进一步展示设备细节,包括设备的物理组件,服务器上的服务(Web服务器、中间件应用服务、数据库服务器、邮件服务器)或者用户定义的其他监控对象。


故障管理

  采用多种告警机制,自定义配置告警阀值,支持快速标示已经执行操作的告警,迅速定位告警设备。采集设备资源、应用、服务等告警信息。可将告警信息数据按照时间、资源、性能类型等多种维度以图表等形式展现。通过对告警机制以及阀值的设置,即时获取准确的告警信息,快速定位告警设备。


配置管理

  支持同时对每多台设备进行配置/备份和软件升级,以减少管理员的工作量,提高系统的可用性。支持单个和批量设备的配置文件升级、备份和恢复功能。网管软件自带ftp服务器。

  •  配置管理:下发配置文件到一台/多台设备;定期备份设备配置文件。

  •  设备软件管理:自动/手工升级软件为预设版本;生成手动/自动升级结构报告。

  •  设备参数管理:可配置VLAN、QOS、ACL、网络限速以及优先级等参数。


性能管理

  采集设备资源、应用、服务等性能信息。可将性能信息数据按照时间、资源、性能类型等多种维度以图表等形式展现。


安全管理

  采用多级网络/区域的组织结构,且可以对不同的用户分配管理不同的网络/区域。用户登陆后只能看到自己权限下的网络和设备。黑白名单功能用来检测用户所关心的设备(通过IP或MAC来识别)是否在网络中出现及出现时间,一提醒用户是否进行下一步的操作。


简单网络管理协议SNMP

  简单网络管理协议SNMP是设计为工作在TCP/IP协议上的网络协议,基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。典型的SNMP系统结构如图所示。

 

  SNMP协议为网络管理员提供了一个统一的界面。不论网络设备的型号、生 产厂商如何,只要设备支持SNMP协议,管理员都可以通过统一的操作进行网 络管理。这样就可把管理员的精力集中于网络的组织与管理而不是各网络设备之间的差别。

基于SNMP协议的网管软件的实现

  基于SNMP的网络管理应用非常广泛,具有以下几个有点。

  1、设计简单。使用SNMP管理网络设备,既不需要复杂的实现过程,也不会占用太多的网络资源,非常便于使用。

  2、应用广泛。大多数网络设备厂商在设计和生产网桥、路由器等设备时都加入了对SNMP的支持。

  3、良好的可扩展性。SNMP协议较为简单,对协议的升级货扩展方便,能够满足今后网络发展的需求。

  下面以基于SNMP协议开发的网管软件-智和网管平台SugarNMS为例,对此类软件的实现进行简单的介绍。

  智和网管平台(SugarNMS)由北京智和信通技术有限公司自主研发,完美兼容主流/国产系统及数据库,提供C/S和B/S两种客户端界面,兼容PC以及移动设备。已实现包括设备拓扑、故障管理、性能管理、配置管理以及安全管理等在内的过1000种基础网管功能,以管控万物,无所不能,无处不在为理念,采用SNMP协议,支持管理管理网络设备、计算机、服务器、智能设备、物联网、工业设备等所有支持SNMP协议的设备;适用于国防、电信、政府、金融、交通、能源、企业、工业、制造等多种领域。


  智和网管平台采用了J2SE、XML、Web Service、Web、HTML5、JavaScript、Struts、Spring、Hibernate、SNMP、HTTP、JDBC、Swing、RMI、O-M Mapping、O-R Mapping、Muti-Thread等成熟技术。由表示层、业务层、数据层和设备中间层多层次架构模式组成,提供corba和webservice接口。在框架上采用设备中间层屏蔽不同厂商设备管理协议的差异,实现支持管理不同类型的被管设备。基于Java技术开发,同时支持C/S以及B/S客户端,采用MVC模式,进一步方便开发。


关于网管的功能实现

  自动发现:在自动发现的过程中可搜索到网络设备,并识别设备类型和厂商型号,生成设备的面板图或搜索设备资源,如:板卡、端口、CPU、内存、磁盘等,并发现设备之间的链路关系。

  拓扑管理:以具象化拓扑图方式展示网络设备及其连接关系,用户可编辑。通过拓扑图可以对设备、设备资源、连接进行管理。

 

  设备管理:通过拓扑视图中,用户可以方便的管理设备及其配置参数。

  设备资源管理:支持在拓扑图的基础上,进一步展示设备细节,包括设备的物理组件,服务器上的服务(Web服务器、中间件应用服务、数据库服务器、邮件服务器)或者用户定义的其他监控对象。

  连接管理:用户可以通过拓扑视图编辑连接,选择连接实时显示的性能数据项。

  故障管理:可以收集多种故障信息,并及时的展现出来,通过设备、资源、连接可以查看到故障信息,也可以通过统一的故障管理界面管理故障。

 

  事件管理:可以设备/服务器主动发送的消息,集中处理后,及时的通知用户,并可以通过集中的管理界面进行管理。

  安全管理:支持多级网络/区域的组织结构,且可以对不同的用户分配管理不同的网络/区域。用户登陆后只能看到自己权限下的网络和设备。黑白名单功能用来检测用户所关心的设备(通过IP或MAC来识别)是否在网络中出现及出现时间,一提醒用户是否进行下一步的操作。

  配置管理:支持同时对每多台设备进行配置/备份和软件升级,以减少管理员的工作量,提高系统的可用性。

  网络工具:集成了常用的网络管理工具,支持用户的配置参数。

  性能管理:采集或接收设备资源的多种新能数据,通过曲线图、柱状图或表格等形象化的展示出来,按天、星期、月 查看性能指标变化。

  统计报表:支持多项数据的统计功能,让用户对网络有一个直观的了解放。支持将软件中的统计图表导出或打印,以便备份或对比查看。

 

基于智和网管平台的扩展开发

  智和网管平台充分利用软件已有功能,提供多种开发模式和可拓展的框架模块供用户选择,简化复杂的网管基础技术研究。开发人员可以选择进行模块式或者代码式的开发形式,以便在更短的时间内满足用户各种定制需求,提高研发效率。同时智和信通提供全套开发资料以及完备的培训服务,用户可以随心定制出符合自身需求的网管平台,并对平台功能不断更新,以满足日益变化的管理需求。

  在通用网管功能的基础上,开发人员可以选择进行模块式或者代码式的开发形式,以便在更短的时间内满足用户各种定制需求,提高研发效率。同时智和信通提供全套开发资料以及完备的培训服务,用户可以随心定制出符合自身需求的网管平台,并对平台功能不断更新,以满足日益变化的管理需求。