基于SNMP的网络监控系统研究与设计

时间:2013-04-07来源:网络

4 系统实现

4.1 环状权值分布

拓扑图的排序算法被叫“环状权值分布”,主要是因为引入了设备在网络中 “权重”的概念。由于布局的主要目的是让主要设备能够分布且合理定位在屏幕上,所以拓扑布局的算法首先是找出那些“权重”最高的设备,并依此排序进行设备定位。算法主要的步骤有:

(1)设备按“权重”排序。系统主要面向的是路由及交换设备,所以对拓扑图最为敏感的信息就是“路由”信息。如果一个设备核心的路由数量高于其他的设备,则该设备就是所谓的“核心设备”。

(2)最高权重优先定位。步骤(1)已经确定了最为核心的设备以及按“权值”排序后的设备分组。最为核心的设备是第一组,它们将以屏幕正中央为圆心,均匀分布在某个半径的圆圈上。半径的确定取决于要定位的设备数量,数量越多半径值越大。当这些设备定位结束时,也就确定了此设备在屏幕中心点的角度(∠θ),此角度将作为下个步骤定位的依据。

(3)“卫星”设备布局。与核心设备相联接的设备都归类为该核心设备的卫星设备, “卫星”设备的具体分布算法如下:

假定有n个核心设备,那么每个核心设备的卫星设备只可以分布在360/n的扇形范围内,如图3所示。

图3中有3个核心设备,被分为A、B、C三个扇形区域,以R2为例,它的3个卫星设备就分布在B区域,且在B扇形内根据∠θ均匀分布,半径会以卫星设备的数量作相应的修正。

(4)绘制链路连线。核心设备区域的连线允许交错,因为这部分的连线几乎不太可能做到不交叉。由于分布是基于环的,所以连线即便有交错,问题也不会很严重。卫星设备的连线主要是对上一个设备的,这种情况下可以直连,如果卫星设备之间有连线,则可对卫星设备的布局会做一些小调整,尽量不出现连线的过度交叉。

此时如果发现x设备与z设备间有连线,就会根据屏幕上的空间对x或z的位置做一些小的调整,以让x与z的连线分布得更为合理。

4.2 MIB模块的实现

为命名方便,基于简单网络管理协议的网络监控系统简称为SNMS。根据MIB的命名方式,在1.3.6.1.4.1节点下自定义了一个名为Tute(888)的节点,在该节点下定义SNMS(1)节点。

定义了MIB中的对象标识符以后,就需要对软件只能够涉及到的、需要管理的对象进行划分,在此,将SNMS这个系统分为system、user和file三部分,分别定义为system(1)、user(2)和file(3),如图4所示。

4.3 Trap模块的实现

为了使软件在设备出现事件时能得到通知,在SNMP这个背景下就意味着需要一种能够接收Trap的机制。设备在自己所能够支持的事件范围内,通过定义不同含义的Trap报文,按照设备自身所配置的接收对象将Trap发送出去。

4.3.1 统一侦听Trap版本

SNMP协议不同的版本对应着不同的Trap格式。然而对SNMS自身来说,这些Trap的版本并没有什么意义,软件所需要的仅仅是必要的标识和对应标识的意义。所以需要一种机制将这些版本的Trap进行统一。

软件采用的方式是使用中间层来代理。使用TrapMonitor来侦听所有版本的Trap,通过不同的处理最终触

发TrapComing事件,并将处理之后生成的TrapInfoEventArgs传入,供订阅者使用。

4.3.2 Trap信息翻译

Trap包含的信息成百上千,若都由软件来解析其信息将是一件非常耗时且庞大的工程。况且由于SNMP自身的可扩展性,软件无法预测其后出现的新Trap定义,所以考虑这样一种机制:对Trap进行建模,将其核心抽象为一种可扩展可配置的模式。

这种机制使得软件可以轻松适应不同的场景,而且部署起来也很方便。软件自身也集成了Trap信息的配置功能,可以避免手动接触XML文件。

4.3.3 Trap过滤

如何过滤出有用的Trap信息非常关键,这是由系统的“管理”性质决定的。系统决定采用一种类似于网络ACL的做法,提出了白名单和黑名单的过滤模式。类似于Trap信息翻译,系统也采用了基于XML的做法,将过滤规则保存在更加灵活部署的XML文件中。这里白名单是指所有Trap到达后只显示名单中规则匹配的Trap;黑名单是指所有Trap到达后不显示规则匹配的Trap。

5 测试及部署

最终的测试环境选用了最为常用的网络设备——中型路由式数据交换网络。环境使用5台Cisco 7200路由器与7台Cisco 3640交换机搭建,并配置了相关的路由协议,最后开启SNMP功能和Trap功能。

系统对“中型路由式数据交换网络”环境进行拓扑发现,测试效果如图5所示。

图6是在一个真实网络环境中进行系统测试得到的网络拓扑。

作为基于SNMP的上层应用软件系统,软件除了实现核心的拓扑发现机制与拓扑布局外,还不断地完善软件框架,使其能适应不同的上层开发。软件理想的演进路线是做成一个基于SNMP的基础框架,在此框架之上可以不断地扩充应用。由于SNMP协议本身的成熟性,这种需求的框架有着很大的潜力。

1 2

关键词: 研究 设计 监控系统 网络 SNMP 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版