网站首页  词典首页

请输入您要查询的论文:

 

标题 基于SNMP协议的网络流量采集系统设计与实现
范文


摘要摘要:简单网络管理协议(SNMP)是一种专门用来管理网络设备的应用层标准协议,基于SNMP的网络流量采集方法可获得较丰富的网络流量信息。分析基于SNMP协议的网络流量数据采集方法,着重探讨系统设计与实现。
关键词关键词:SNMP;网络流量采集;系统设计;系统实现
DOIDOI:10.11907/rjdk.151762
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2015)011011303
基金项目基金项目:
作者简介作者简介:张立新(1975-),男,四川蓬溪人,乌鲁木齐职业大学信息工程学院副院长、高级实验师,研究方向为计算机网络、Web技术、软件与数据库。
0引言
简单网络管理协议(SNMP)是一种专门用来管理网络设备的应用层标准协议,包含代理者、管理站、网络管理协议和管理信息库等关键元素,其网络管理由管理信息库MIB、管理信息结构SMI和SNMP协议本身3个部分组成[1]。基于SNMP的网络流量采集方法可获得较丰富的网络流量信息,数据呈现直观清晰,能从宏观角度查看网络的整体性能和状况,便于从整体层面分析和解决问题。但该方法会占用网络设备及带宽资源,影响网络性能,容易造成采集数据丢失,只能获得统计信息,不能针对IP地址和端口等信息进一步分析[2]。
1基于SNMP协议的网络流量采集方法
1.1对象访问方法
MIB中的每个对象类型都被赋予一个惟一的对象标识符(OID),该对象标识符的值通过MIB树按层次结构进行组织[1]。通过SNMP获取被管对象的信息,实际上是访问对象OID的一个特定实例。
1.2数据采集方法
管理站基于SNMP协议从代理者中采集网络流量数据有两种方法:轮询与陷阱。
(1)轮询:包含代理者的网络设备,除了完成自身业务功能外,其中SNMP代理进程不断收集网络的通信信息和有关网络设备的统计数据,并将其以特定形式存储在本地MIB中。轮询是指管理站通过SNMP协议定期主动向代理者发起流量采集请求,代理者在收到该请求后将它所维护的MIB流量数据发回给管理站,由管理站对这些信息进行处理和存储操作,从而完成网络流量采集。
(2)陷阱:指管理站监听陷阱端口,接收来自代理者的告警信息。在MIB中定义了许多代理者可能会出现的异常情况(如发生故障、链路故障、发生拥塞等),当代理者上的代理进程检测到这些异常情况时,立即将这些情况报告给配置表中所列的管理进程,这种报告被称为陷阱trap。陷阱可节省网络容量和代理者的处理时间,但也会增加代理者的处理负担,影响网络管理的主要功能[4]。
总之,使用轮询以维持对网络资源的实时监控,同时采用陷阱机制报告异常事件,使得SNMP成为一种有效的网络管理协议[4]。
2基于SNMP协议的网络流量采集系统设计
2.1功能描述
采集系统定期采集防火墙等支持SNMP协议的网络设备,从设备相关接口的MIB库中获取相关数据并入库,为后续网络流量统计与分析模块提供实时与历史来源数据。系统功能结构如图1所示。
2.2采集流程
基于SNMP协议的网络流量采集系统流程如图2所示。
2.3采集的MIB变量
系统定期采集网络设备的多个MIB变量(数据表也按此设计),如表1所示。
2.4采集过程中考虑的因素
为保证采集的数据全面有效,减少对网络性能的影响,需考虑如下问题:
(1)采集时间间隔确定。在一个采集周期中应包括有用的采集变量。采集时间间隔必须合理设定,不能太短,否则易影响被采集设备性能和占用网络带宽;也不能太长,否则有些数据计数器可能会多次溢出造成采集数据的不准确。本系统采集周期定为5分钟。
(2)采集数据的溢出处理。采集数据的溢出要根据所采集的具体数据格式来确定,如在关于性能数据的采集中,有些性能数据会逐渐增大,并在达到一个固定值之后会重新计数,此时就存在数据溢出,应对相应的数据溢出进行处理。
(3)采集数据的优化。根据管理需求和访问对象的性质建立数据采集对象,分为静态数据和动态数据。静态数据一经配置基本保持不变,对静态数据只需采集一次即可,没必要在每次采集过程中都对它进行轮询操作;对动态数据就要进行轮询采集,以实时反映设备的状态或性能信息。
3基于SNMP协议的网络流量采集系统实现
系统使用Delphi的SNMP组件的SNMPget方法来读取相应MIB变量值,需向该函数提供要读取的网络设备的IP地址、要采集的MIB变量的Oid值和访问团体名称等参数信息,最后将读取结果返回到某一变量中。这样,通过定期依次设置网络设备要采集的各个MIB变量的Oid值,并将读取结果保存到相应变量中,就完成了对该网络设备相关所有MIB变量信息的读取,实现了基于SNMP协议的数据采集,为后续网络流量统计提供原始数据。
3.1实现流程
基于SNMP协议的网络流量采集系统的详细实现流程如图3所示。
3.2关键代码实现
以下代码通过定时器每隔5分钟运行一次,依次采集指定IP网络设备所有要读取的MIB变量的测量值到相应变量。
Ip:= Trim(edtIP.Text); //取得预采集网络设备的IP地址
ReadComName:= 'public'; //设置网络设备的访问团体名
Oid:= '1.3.6.1.2.1.2.2.1.10.7'; //设置预采集网络设备的某一MIB变量的Oid值(以“ifInOctets”变量为例)
SNMPget(Oid,ReadComName,Ip,Response); //使用Delphi的SNMP组件的SNMPget方法取得指定IP网络设备的指定Oid值的测量值Response
ifInOctets0:= Response; //将取得的观测值赋值给相应变量
//改变Oid的值,重复上述过程,依次取得网络设备所有要读取的MIB变量的测量值到相应变量,然后定期将时间戳及上述变量值保存到数据库中,为后续网络流量的统计分析提供数据来源。
3.3界面显示
基于SNMP协议的网络流量采集系统可定期采集指定IP地址、指定Oid值、支持SNMP协议的网络设备的各个MIB变量的测量值,如图4所示。
4网络实验配置环境
基于SNMP协议的网络流量采集系统可在真实的校园网环境中进行,其中提供了校园网常见的服务:WEB、FTP、DNS、OA、教务管理、网上图书、视频点播等服务。其拓扑结构如图5所示。
该校园网具备路由和交换环境,提供两条10M双出口链路。核心交换机(3Com CB9000)连接校内内网服务器区、办公区、住宅区和学生住宿区所有的子网,提供主干千兆、百兆到桌面的交换能力。硬件百兆防火墙(西安交大捷普F3000)有4个100M以太网口,分别连接到学校内网、DMZ区、教育科研网和联通,提供安全访问控制、静态路由、策略路由和正反向NAT等功能。网络流量采集工作站连接到核心交换机的镜像口上,完成对核心交换机和防火墙的网络流量采集、网络流量统计、网络流量异常检测、报警和用户界面显示等工作。整个校园网络约有15台内外网服务器、1 200台各类联网计算机。
5结语
基于SNMP协议的网络流量采集系统可通过SNMP协议定期获取指定IP设备与网络流量有关的MIB数据,为网络流量数据的统计与分析提供基础数据来源。
参考文献参考文献:
[1]罗军舟,黎波涛,杨明,吴俊,黄健.TCP/IP协议及网络编程技术[M].北京:清华大学出版社,2004:125139.
[2]李振国,郑惠中.网络流量采集方法研究综述[J].吉林大学学报:信息科学版,2014,32(1):7172.
[3]张羽.网络态势感知系统中异常检测技术的研究[D].哈尔滨:哈尔滨工程大学,2009:1213,17,28,3537.
[4]李增智,陈妍.计算机网络原理[M].西安:西安交通大学出版社,2000:410.
[5]李艇.网络管理技术与应用[M].北京:高等教育出版社,2003:2636.
责任编辑(责任编辑:陈福时)
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/6 7:03:26