网络流量分析系统的设计与实现.docx

上传人:rrsccc 文档编号:9175833 上传时间:2021-02-05 格式:DOCX 页数:3 大小:14KB
返回 下载 相关 举报
网络流量分析系统的设计与实现.docx_第1页
第1页 / 共3页
网络流量分析系统的设计与实现.docx_第2页
第2页 / 共3页
网络流量分析系统的设计与实现.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《网络流量分析系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《网络流量分析系统的设计与实现.docx(3页珍藏版)》请在三一文库上搜索。

1、网络流量分析系统的设计与实现摘要:本文在明确网络流量分析重要性的基础上,设计了系统的网络布局结构,并详细研究了网络流量分析系统的实现,涉及到:数据的采集以及数据的分析。关键词:网络流量;数据分析;网络安全1 引言 随着网络技术的发展和网络规模日益扩大,网络结构越来越复杂,网络设备种类和网络所承载的业务种类不断增多,这些都使得网络出现各种故障或性能问题的可能性大大增加【1】。同时,用户服务质量的要求却在不断提高,这样就导致了网络管理的难度更大。网络流量分析系统的目的是通过对网络设备和网络运行的流量进行监测,及时的发现网络中的异常情况,提醒网管人员采取必要措施以保证网络的正常运行。 2网络流量分析

2、系统的网络布局设计 本文研究的网络流量分析系统的网络布局如图2-1所示: 图2-1 网络流量分析系统的网络布局图 由图2-1可以知道,在本文研究的网络流量分析系统的网络布局中,我们将系统的分析与控制功能进行了分离,分为两个设备进行处理。图2-1中的直路设备只负责完成流量的分光(镜像)和流量控制,由旁路设备负责网络数据流量的分析和流量控制策略的下放。这种网络流量分析系统部署方式集中了旁路和直路的优势,由旁路设备进行深入的协议分析,把分析的结果告知直路设备,直路设备直接丢包进行流量控制【2】。这样既免去了为每种需要控制的协议软件分析控制方案的工作量,节约了设备处理发送控制报文的性能同时直路设备只用

3、处理丢包流程,一般也不会造成网络的瘫痪。 在具体的处理流程中,旁路设备部分进行数据的分析和其它处理,如果需要对数据进行控制,旁路设备按照事先的分析结果对简单的协议进行控制(减轻直路设备的压力),并将难于控制的协议的用户IP或帐号发送给直路设备,直路设备对其进行丢包达到控制的目的【3】。一般选用防火墙作为直路设备。 3网络流量分析系统的实现 3.1网络流量数据的采集 在采集网络流量数据前先要查看机器网卡的配置情况,以及相关的信息。这样有利于数据包的分析。具体部分代码如下: (1)为了捕获网络流量的数据包,需要让Jpcap明确是哪个网络设备进行监听。本文采用API所提供的jpcap.Jpcap.g

4、etDeviceList()方法。这个方法返回一列字符串,使用代码如下所描述: NetworkInterface devices = jpcap.JpcapCaptor.getDeviceList(); (2)针对一个设备名称的目录,选取一个用来监听,代码如下描述: String deviceName = devices ; (3)确定一个设备之后,通过Jpcap.openDevice()方法打开它。Jpcap.openDevice( )方法需要四个参数:即将打开的设备名,从设备上一次读取的最大字节数,说明是否将设备设为混杂模式的Boolean值,和以后调用processPacket()方法要

5、使用到的超时值【4】。 JpcapCaptor cap = jpcap.JpcapCaptor.openDevice (devices【1】, 1028, true, 10000) ; (4)openDevice()方法将一个参数返回到用以捕获的Jpcap对象。既然有了JPcap实例,可以调用1oopPacket()开始监听了。这种方式带有两个参数:捕获的最大包数可以是-l(说明没有限制);执行PacketReceiver一个类的实例。1oopPacket()则将一直捕获包,直到达到最大包数,如果没有最大数限制,它将永远运行下去。就像下面这样调用: Cap.loopPacket ( -1,ne

6、w JpcapTest() ) ; 本文研究的网络流量数据采集的关键实现代码如下描述: Public class JpcapTest implements PacketReceive Public void receivePacket ( Packet p ) / System.out.println (p.toString () ) ; System.out.println ( “ 长度 :t” + p.caplen ) ; System.out.println ( “ 数据头 :” t ) ; For ( int i=0; ip.header.length; i+ ) System.out

7、.println (Byte. toString (p.header ) ) ; System.out.println () ; System.out.println ( “ IP包属性 ”) ; System.out.println ( “ 源IP :t “ + ( ( IPPacket ) p ).src_ip.toString ( ) ) ; System.out.println ( “ 目标IP : t “ + ( ( IPPacket ) p) .dst _ip.toString ( ) ) ; 3.2网络流量数据分析的实现 本文网络数据源分析实现部分的整体结构使用了MVC设计模式,

8、在MVC架构中一个应用被分为二个部分:模型( Model ),控制器( controller ) 【5】。下面将对两个部分进行详细实现研究。 (1)模型部分( Model ) 该部分的主要任务是与数据库建立连接,并根据相关条件对数据库中的网络流量数据进行查询,并将查询到的网络流量数据进行封装。该部分与数据库的连接使用了DAO设计模式,DAO模式实现了业务逻辑与数据逻辑的分离,这样在处理业务逻辑部分是就可以不用处理数据的存储,网络流量数据的存储则是有数据逻辑部分来进行处理。该部分与数据库相连接使用了JDBC,其处理流程中的核心代码如下。 Class.forName ( “ com.mysql.j

9、dbc.Driver ”) ; / 加载相应的驱动库 Connection connect = DriverManager.getConnection ( url, user, password ) ; / 根据用户名,密码,url与数据库简历连接 preparedStatement prestatement = connect.prepareStatement ( sql ) ; / 执行相关的SQL语句 ResultSet result = prestatement.executeQuery () ; / 根据SQL查询语句,生成结果。结果放入Resultset对象中。 到此处,所以的结果

10、都放在Resultset中,里面存放的是基本网络流量数据。为了使用方便,我们把每一条流记录封装成一个NetFloe类,该类就是一个JavaBean,其有一系列的seter和geter方法,通过这些方法可以获取相关的网络流量数据的具体信息。此外,在对数据库中的网络流量数据进行查询、聚合时,可以实现网络协议识别的功能。 (2)控制部分(Controller) 该部分的主要功能是接收用户的输入,并根据用户的输入进行检验,并将输入传递给Model(模型)部分,并根据Mode!部分的结果来调用相关的View部分来进行结果的展示。这部分使用的是portlet,使用的是GridSphere的portlet

11、ApI,该部分的简单过程如下描述: Public class ShowFlow extends GenericPortlet / 首先继承GenericPortlet接口,来实现一个Portlet Public void ProcessAction ActionRequest request,ActionResponse response ) / 重写proecessAction方法 / 在此从request和response中提取信息。 Public void doView ( RenderRequest request,RenderResponse response ) / 在此进行逻辑处

12、理,并根据逻辑处理的结果进行view的调用 4 小结 总之,通过网络流量分析系统可以检测出许多网络故障和性能问题,这也成为检测网络故障和性能问题的一种有效方法,对提高网络的可用性和可靠性,保证网络的服务质量具有重要意义。 参考文献: 【1】谢高岗, 闵应骅, 张大方, 马维民. 一个基于实际测试的网络流量模型. 计算机工程与科学, 2001,(05) . 【2】何俊峰, 谢高岗, 杨建华. 基于周期性网络流量模型的流量预测. 计算机应用, 2003,(10) . 【3】刘杰, 黄亚楼. 基于BP神经网络的非线性网络流量预测. 计算机应用, 2007,(07) . 【4】孙秀娟, 金民锁, 陈孝国. 分布式网络流量预测模型的精度研究. 自动化与仪器仪表, 2009,(06) . 【5】张爱萍, 赵明旺. 网络中的流量模型. 武汉科技大学学报(自然科学版), 2004,(02) .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1