您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 绩效管理 > 基于SNMP的网络管理系统设计与实现
龙源期刊网的网络管理系统设计与实现作者:张俊涛来源:《软件导刊》2014年第03期摘要:为了及时排除网络故障,对网络设备进行控制和维护,保证网络正常运行,需要一个高效、稳定的网络管理系统。基于SNMP协议,设计和实现了一个可精确、快速实现拓扑发现、支持面板图操作、查询设备状态的网络管理系统,实现了设备的主动管理。关键词:SNMP;网络管理;拓扑发现中图分类号:TP393文献标识码:A文章编号:1672-7800(2014)003-0125-030引言复杂网络环境和大量网络设备的出现是网络技术高速发展的结果,导致网络管理工作变得十分复杂性,因而高效简便的网络管理成了计算机网络的一项关键技术。SNMP(简单网络管理协议)基于TCP/IP协议,是为不同型号、不同种类的设备和不同厂家生产的设备定义的一套规范和标准,能极大提高网络管理效率,减轻管理员的负担。本文基于SNMP协议提出了一个网络管理系统框架。1系统整体架构该系统主要由以下模块组成:拓扑发现模块、mib文件解析模块、性能管理模块、界面生成模块。系统架构如图1所示。2拓扑发现模块网络管理的目标之一就是查看整个网络的拓扑图,该模块负责采集整个网络设备的信息,生成拓扑关系数据以供界面生成模块生成拓扑关系图。拓扑发现主要包含网络层和链路层的拓扑发现。2.1网络层从配置有SNMP拓扑发现程序的主机开始,找到与其相连的默认网关设备。利用该网关设备的路由表,一方面取得所有的可达网段,以及到达该网段所经历的下一跳路由器的端口IP地址;另一方面获得与该路由设备所有端口的直连子网及其相应的子网掩码,从而获得这些子网中所有的子网络设备。对找到的路由器重复以上步骤,一直达到指定的搜索深度为止。龙源期刊网链路层主要运用了基于交换机的地址转发表的算法。2.2.1理论依据定义1:Si表示第i台交换机,Sij表示第i台交换机的j号端口。定义2:Mij表示第i台交换机j号端口所对应的mac地址集合。定义3:运行网络管理程序的主机定义为标志节点,若Mij包含了标志节点的mac地址,则把Sij定义为标志端口,否则为自由端口。定理1:设所有交换机的mac地址集合为S,若Mij∩S!≠∮,则Mij为级联端口,否则为叶子端口。定理2:Mij和Mpq为级联端口,若Mij∩Mpq=∮,则Si和Sp直接相连。2.2.2算法思想算法思想如下:(1)从网络层发现的结果中取出子网,利用分布式思想,将单台主机遍历分发到子管理站进行遍历,找到所有支持SNMP的活动节点,由总管理站进行汇总。(2)取活动节点的sysSevice变量和ipForwarding的值,若sysService的第2位与第3位为1且ipForwarding的值为1,则其为路由器。再从剩余节点中取dot1dBaseBridgeAddress值,若存在则为交换机,剩余节点为主机。(3)取所有交换机的地址转发表,运用定理1找出所有交换机的叶子端口,再从级联端口中取出标志端口与自由端口的mac地址的交集,运用定理2则可以判断出交换机之间的连接关系,最后生成整个链路层的连接关系。3mib文件解析模块该模块采用职责链模式负责解析设备的MIB文件,提取出可供查询和设置的相关信息。该模块类图如图2所示。ReadMibHandler的子类形成职责链,负责文件的注释分析、节点分析、描述分析,然后提取出来存放到MIB对象中供性能管理模块使用。龙源期刊网类,分别是对象标识符类型(OT_OBJECT_ID)、模块标识符类型、对象类型、通知类型、对象组类型、通知组类型、告警类型、正文约束类型、未知类型。MIB对象存储的类层设计如图3所示,下面对图3中的各类进行分析。(1)MIBTypeInfo类。对象所属的类型类,本文将对象的类型分为以下7类:数值类型、字符串类型、列表类型、向量类型、别名类型、对象标识符类型、未知类型。该类中的数据成员存储的信息包括该类型的类型信息,如该类型是整数,则该类中存有该整数的枚举值或者取值范围,如果该类型是向量类型,则该类中存有该向量的目标类型。(2)MIBObjetInfoBase。对象信息基类,其中数据成员m_bProvided表示对象是否有值。(3)MIBSyntaxInfo类。封装对象定义的数据结构所对应的信息,其中数据成员m_pType指向该对象所属的结构信息。(4)MIBStringInfo类。用于封装对象定义中的STATUS、DESCRIPTION、UNITS、REFERENE、MAX-ACCESS/ACESS、DISPLAY-HIT等字符串信息。(5)MIBDefaultValInfo类。用于存储对象的缺省信息。(6)MIBOIDsReFerenceInfo类。用于记录对其它对象标识符的引用,可有多个OID的引用信息。(7)MIBObjectDef。MIBOjectDef对应的是被管设备中所管对象的实例。(8)TrapDetailFieldInfo类。存储对象所有trap信息的详情,对象的各详情字段是从接受到的trap消息中提取的,且存在于文件中,当系统再次初始化则会从文件中读取并添加,亦可以在系统运行时进行更改。(9)MIBInfoContainter类。每一种类的设备对应一个MIBInfoContainer类,其中包含了设备所管理的所有对象的根对象,通过父亲兄弟孩子关系就可以访问整个MIB树。4性能管理模块该模块负责定时收集代理设备的性能数据,存储到数据库中;对采集的性能数据进行分析统计,计算接口流量、协议流量等各种性能指标,为管理员提供参考;查询某一段代理设备的性能参数,生成性能曲线,以直观的图表方式显示性能分析结果。龙源期刊网对象较多且需要定时轮询,因而本系统创建了一个单独的线程负责采集性能管理数据,该线程开始处于挂起状态,由定时器中断来负责唤醒完成一次数据采集。定时器的中断时间为轮询所有代理设备一次的时间,即设备数目N乘以采集一个代理相关MIB所用时间T。4.2性能参数计算与分析直接采集到的数据一般不能反映网络的性能,通过采集数据计算各种性能参数才能反映网络的性能。根据本系统采集的接口组、IP组、ICMP组、TCP组、UDP组数据可以计算出接口流量和各种协议流量。下面以接口组、IP组为例,给出与接口流量和IP协议流量相关的性能参数计算公式及意义。接口组性能参数如下:输入速率=△ifInOctets*8/△Tbps输出速率=△ifOutOctets*8/△Tbps。带宽利用率=(△ifInOctets+△ifOutOctets)*8/(△T*ifSpeed)。接口的输入输出速率和带宽利用率反映了网络信道的利用情况,若值较低则说明网络信道有空余,值较高则说明信道资源得到充分利用,若值高出正常很多,则说明存在网络瓶颈。输入错误率=△ifInErrors/(△ifInUcastPkts+△ifNUcastPkts)。输出错误率=△ifOutErrors/(△ifOutUcastPkts+△ifOutNUcastPkts)。接口输入输出错误率反映了出错报文占总报文的百分比,该值过大说明网络信道的传输质量差,应该排除噪声源,降低该值。丢包率=△ifInDiscards/(△ifInUcastPkts+△ifInNUcastPkts)。输出丢包率=△ifOutDiscards/(△ifOutUcastPkts+△ifOutNUcastPkts)。接口的输入输出丢包率反映了被迭起报文所占总报文的百分比,长期的高丢包率说明没有充分的资源处理报文,应增大缓冲区,短期的高丢包率说明网络出现了拥塞。IP性能参数:IP数据报输入速率=△ipInReceives/△T龙源期刊网数据报转发速率=△ipForwDatagrams/△TIP数据包丢弃率=△ipInDiscards/△ipInReceives无路由率=△ipOutNoRoutes/(△ipForwDatagrams+△ipOutRequests)重组失败率=△ipReasmFails/△ipReasmReqds4.3性能显示计算出各种性能参数后,即可用图表的方式显示各种代理设备的性能,进而反映整个网络的运行状态。接口组数据采集如图4所示,接口输入输出速率曲线如图5所示。图6显示了IP输入丢包率、无路由率、重组失败率都为0,此时IP数据包的输入速率和转发速率曲线基本重合,表示路由器的转发功能正常。图7显示了当前一主机运行软件消耗CPU内存情况。5结语本文基于SNMP提出了网络管理系统整体架构,简要分析了拓扑发现模块、mib文件解析模块、性能管理模块、界面生成模块之间的相互关系。其中,拓扑发现模块从网络层和链路层两个层次上实现了主干网和子网的发现。利用分布式思想分发任务的模式有效改善了遍历效率,标志节点的划分可以有效减少匹配复杂度,提高发现效率。但是,链路层的发现还可以结合STP协议把时间复杂度降到最低,这是下一阶段要解决的问题。参考文献:[1]HARNEDYSEAN.TotalSNMP[M].SecondEdition.北京:电子工业出版社,1999.[2]白英彩.计算机网络管理系统设计与应用[M].北京:清华大学出版社,1999.[3]HSIEBI2PING,KAOSHANGJUH.TcpologydiscoveryforcoexistingIPv4andIPv6network[C].IEEEXplore,2006.[4]李明江.SNMP简单管理协议[M].北京:电子工业出版社,2007.[5]武孟君.VisualC++开发基于SNMP的网络管理软件[M].北京:人民邮电出社,2007.
本文标题:基于SNMP的网络管理系统设计与实现
链接地址:https://www.777doc.com/doc-4794995 .html