基于SNMP的网络性能监测系统的设计

时间:2022-10-07 06:46:56

基于SNMP的网络性能监测系统的设计

摘要:针对越来越复杂的各种网络安全问题,在分析SNMP(简单网络管理协议)及当前网络安全防护问题的基础上,设计了一个基于SNMP协议的网络性能监测系统,用于监测网络的关键服务设备和主要网络设备的运行情况,从而使用户能够正确了解网络的整体运行情况,及时发现网络中存在的各种安全问题及潜在的危险,进而保证网络整体运行的稳定性。

关键词:SNMP 性能监测 数据分析

1 概述

随着网络技术的迅猛发展,网络结构越来越复杂,异构性也越来越强,使得网络管理成为网络能否正常、高效运行的重中之重。如何对网络进行有效的及时管理,综合全网的各种因素自动进行有效及时的反映,变得格外重要。性能管理作为网络管理系统的重要功能之一,不仅可用来帮助网络管理者实时监测网络运行状态,了解网络设备运行情况,使其正常发挥,保障系统的平稳、有效运行,还可帮助管理者解决网络存在的各种问题,如响应时间较慢等。

2 SNMP网络管理模型

SNMP全称是简单网络管理协议,它首先被提出是为解决Internet上的路由器管理问题的,但实际上到目前为止,SNMP已成为应用最广泛的TCP/IP网络管理框架,成为真正意义上的IP网络管理的国际性管理标准。SNMP是一系列协议组和规范,它们提供了一种从网络上的设备中收集网络管理信息的方法。SNMP也为设备向网络管理工作站报告问题和错误提供了一种方法。

SNMP网络管理系统主要由四部分构成:管理站、管理、管理信息库和网络管理协议。①管理站(Manager)一般是指网络中的工作站或服务器,负责安装网络软件;②驻留在被管理设备上的一个模块就是管理(Agent),基本上每一个支持SNMP的网络设备里都有一个管理,它能够把网络设备的各种情况真实的记录下来,并且网络管理程序能够对这些信息进行查询或者修改处理,一旦发现不支持SNMP协议的设备,可以及时的开发委托(prosy agent)来支持SNMP协议。SNMP协议是管理和管理站之间进行通信的桥梁。管理站会周期性的向各个设备的管理发送有关管理信息,通过这些管理信息判断各个设备是否处于正常的运行状态。如果发现设备不是处于正常的运行状态,应该及时的使用Trap信息的报文主动向管理者发送陷阱消息,汇报出现的异常事件。③管理信息库(MIB)是一个数据库,它代表了某个设备或服务的一套可管理对象。MIB在每一台SNMP管理的主机上都有,主机上的可管理对象就是由它来描述的。必须用精确的组织结构来定义全部的MIB,只有这样其他在和SNMP管理器连接时,才能准确的知道MIB中的信息是怎样组织起来的。④SNMP网络管理协议主要有以下三个功能:a取值(Get)能使网络管理站从被管设备的处获得相应对象的值;b设置值(Set)能使网络管理站在被管设备的上设置相应对象的值;c当管理信息库MIB的值有重大变化或其他重要事件发生时,告警信息(Trap)能使被管设备的能够通知管理站、端(Agent)。

3 基于SNMP的网络性能监测系统模型

根据上面对SNMP网络管理模型的分析,设计了一种性能监测模块的基本结构,该性能监测模块主要包括性能数据的采集、数据存储、数据分析和告警管理四个部分,如图1所示。

4 基于SNMP的网络性能监测系统的设计

系统是使用SNMP++软件包来实现SNMP协议操作的。SNMP++是HP公司开发的软件,该公司公开了SNMP++程序的源代码,让喜欢SNMP的用户可以免费使用。我们使用SNMP协议在Window平台上做开发应用,通过SNMP协议获取管理信息,实现网络设备的监控。因此,SNMP协议的实现是整个系统的基础。通过SNMP++软件包来实现SNMP协议的开发,实现SNMP网络管理的基本功能。

4.1 性能数据的采集 性能数据的采集方式有只轮询(polling-only)和基于中断(interrupt-based)的方法两种。

只轮询(polling-only)的方法:管理站通过轮询机制,定时向驻留在被管对象中的发送报文请求;对请求者进行身份验证,提取信息向请求者回送响应报文;管理站通过返回的报文取得网络设备的各种状态信息,采集的数据存入数据库,也可以根据需要同时发往控制台。用于分析统计的性能参数主要采用该机制进行数据采集。应提到的是,只轮询方法在数据采集时的时间间隔要设置在一个合理的范围,时间间隔过短会占用过多的网络资源。

基于中断(interrupt-based)的方法:通过对关键事件的预定义,Agen在这些事件发生时,向管理者发送Trap报文。事件驱动对监视状态变化不很频繁的对象时用处很大,当有异常事件发生时,基于中断的方法可以立即通知网络管理工作站。

4.2 数据分析 为了把网络性能的状况和网络中存在的性能问题反映出来,在统计性能数据的时候可以用数值表或者曲线图的方式表现出来。

利用率可以反映信道的利用程度,换句话说,利用率高可以表明信道资源被利用的很充分,但是如果利用率过高,可能说明信道存在着一定的潜在风险,需要进行升级。

丢包是网络中数据传输的时候出现数据丢失的现象,丢包率是指丢包数据占总传输数据的百分比。长期的高丢包率说明路由器没有充分的资源来处理报文,应考虑增大路由器的缓冲区,短期的持续高丢包率说明网络出现了拥塞。

差错率反映了出错报文所占总报文的百分比,差错率过大说明信道的传输质量差。

吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。

当系统采集到网络设备的MIB对象值之后,需对其进行进一步的加工处理,才能得到所需的信息。

以下给出网络性能监测部分关键性能参数的计算公式,部分性能参数分为输入和输出两种情况。

线路利用率=接口利用率=((ifInOctets+ifOut

Octets)*8)/(T*ifSpeed)*100%

丢包率(入)=ifInDiscards/T*100%

丢包率(出)=ifOutDiscards/T*100%

差错率(入)=ifInErrors/T*100%

差错率(出)=ifOutErrors/T*100%

吞吐量(入)= (ifInOctets)/T

吞吐量(出)= (ifoutOctets)/T

以上公式中T=ifInUcastPkts+ifInNUcastPkts表示查询频率,表示某对象在一个查询周期内的变化值。

其中各数据对象表示的含义如下:①ifInOctets 表示接口流入字节数;②ifOutOctets表示接口流出字节数;③ifSpeed 表示接口的带宽;④IfInDiscards表示接口丢弃输入包数;⑤ifOutDiscards表示接口丢弃输出包数;⑥ifInErrors 表示包含错误的输入包数;⑦ifOutErrors 表示由于包含错误而不能传输的输出包数;⑧ifInUcastPkts表示发往高层协议的单播包数;⑨ifOutNUcastPkts 表示高层协议请求的非单播包数。

4.3 告警管理 告警功能的实现较为简单,首先将主要的网络性能设置一个特定的阈值,当采集到的数据与数据库中该数据项对应的阈值相比较时,一旦超出,性能管理工具就会向网络管理员提交警告报告或调用相应的默认处理过程。告警功能的应用即阈值的设置使网络管理员能够在一个问题影响网络性能之前就找出并处理它。

5 结束语

基于SNMP协议的网络性能管理模式是目前计算机网络管理技术发展的必然趋势,对于这一个计算机领域的热点,我们还应不断努力研究,以完善基于SNMP的网络性能监测系统设计,不断提高网络安全管理。

参考文献:

[1]苗红宾.校园网网络性能管理系统的设计与实现[J].科技信息,2009-04-25.

[2]赵金玲.基于SNMP网络性能管理的研究与实现[D].大庆石油学院硕士论文,2002-02-01.

[3]顾荣,董守斌.基于SNMP的校园网络性能管理系统的设计与实现[J].科技情报开发与经济,2006-07-15.

上一篇:基于MLS的点云模型特征提取算法的研究及应用 下一篇:关于电能表远程抄表系统通信方式的设计探讨