基于Netflow技术的互联网流量流向的分析与研究

时间:2022-09-24 09:00:36

基于Netflow技术的互联网流量流向的分析与研究

摘 要:从研究互联网流量数据类型入手,在Netflow技术基础上,实现对流量数据的深度分析,并搭建流量分析系统的硬件环境,实现对流量成分、方向和来源的统计、分析和查询呈现,以实现网络规划、优化调整、业务发展等预期目标。

关键词:流量流向;Netflow技术;采集;数据库设计;接口

Analysis and research on Internet traffic flow based on Netflow technology

Fu Xiaowei

Heilongjiang nongken vocational college, Harbin, 150025, China

Abstract: Based on the Internet flow to be studied, from the study of Internet traffic data type proceed with, in Netflow on the basis of technology, the realization of the flow depth of data analysis, and to build the flow analysis system hardware environment, the realization of the flow, flow direction and flow components sources of statistics, analysis and inquiry, in order to realize network planning, optimize adjust, business development goals.

Key words: traffic flow; Netflow technology; data acquisition; database design; interface

随着宽带互联网应用的普及,互联网用户数量在不断增加,各个领域的应用也在逐步深入,网络规模持续扩展,网络流量高速增长。尤其是P2P技术产生以来,互联网网络流量激增,对网络的处理能力提出了更高的要求。同时,要合理、有效地疏导流量,必须对网络流量进行科学、细致的分析,通过流量分析可以有效地总结出网内、网外流量比例,各区域用户产生的流量大小,进而对用户使用习惯、各类应用带宽消耗情况等进行分析,从而可以对不同区域用户使用习惯、网内资源建设方向等进行有效的指导。不仅要依据数据的目的地址去疏导流量,还要明晰流量的来源和成分,区分流量类型,以精确地计算成本,合理分配IP地址数量和流量占用带宽,使流量管理更加规范。

Netflow技术最早由Cisco公司研发,首先被用于网络设备对数据交换进行加速,并可同步实现对高速转发的IP数据流进行测量和统计。经过多年的技术演进,Netflow对流经网络设备的IP数据流进行测量和统计的功能更加成熟,并成为当今互联网领域公认的最主要的IP/MPLS流量分析、统计和计费行业标准。Netflow技术能对IP/MPLS网络的通信流量进行详细的行为模式分析和计量,并提供网络运行的详细统计数据。

通过对某电信运营商的网络进行改造,引入互联网流量分析系统,以互联网流量数据为分析对象,实现以下功能:(1)精确判断流量归属地;(2)精确统计流量类型;(3)精确区分流量成分;(4)以天为单位,对某一天的流量及以天为周期单位的时间段产生的流量进行查询。

1 流量分析系统设计

由于Netflow仅能宏观地对网络流量进行分析和监控,无法满足精细化管理的要求。鉴于此,需要建立网络流量分析系统。

首先在省级主干路中引入流控设备,对全省网络流量进行控制。通过建立一台Linux服务器(CM server),在流控设备中将流量镜像至此服务器的数据库中,便可采集到全网的流量明细,进而通过存储过程将各种需要分析的数据进行聚合成表,便可对全网流量进行实时监控分析。

本系统包括4个功能模块,分别是数据采集模块、接口程序模块、数据库模块、页面呈现模块。

1.1 数据采集模块

要实现对流量源和目的地的分析,首先要进行流量采集并存储,采集的数据中要包含数据包的源地址、目的地址、数据包发送时间等信息。本系统采用Netflow V9版本进行数据采集,需要对Netflow协议、待采集的路由器端口和数据采集存储服务器等进行配置。

由于需要分析的路由器端口数据量很大,而且分析目的主要为各方向流量数据比例,综合考虑数据处理量和数据准确性之后,将采集周期定为5分钟,采样比例定为1000:1,此时每5分钟Netflow数据流约有30万~40万条,存储Netflow数据流的文件大小约20~30 MB。

在采集数据的端口选择方面,既要采集所有流量数据,保证数据的完整性;又要避免数据重复采集,以保证数据的准确性。按照上述条件,选择省级主干中路由器上行端口为流量采集端口,通过该端口既可以采集所有互联网用户访问Internet的流量数据,又不会发生流量数据重复采集情况。

为分析路由器端口的网络流量数据,必须将从路由器中送出的Netflow数据收集并存储,以便进一步的处理,所以需要配置Netflow采集存储服务器。具体配置为2.4 GHz四核CPU、2 G内存,使用Linux系统,并安装Cisco Netflow Collector(NFC)采集软件。

1.2 接口程序模块

经过采集,每5分钟会输出一个格式为XML的文件,文件数据分3部分:数据头、模板部分、数据部分。Netflow V9的数据格式可以自定义,根据分析需要,定义数据模板主要包括我们关心的13个字段,分别为:源地址、目的地址、源端口号、目的端口号、入接口、出接口、协议、服务类型、流数量、报文数、字节数、开始时间、结束时间。每个字段使用“|”分开。

选用C++程序语言进行数据的分析及入库。程序语言完成的主要功能为按照字段定义进行数据分列,并按要求建立数据表,然后将分析后的数据导入数据库中。原始数据每天自动生成一个文件夹,文件夹中每5分钟生成一个数据文件,为了达到自动读取数据的功能,采用“日期+时间”循环来自动读取数据文件。

读取数据文件对每行按照不同字段分列。由于每个数据文件的数据头部分完全相同,而且不包含所要分析的数据信息,所以可以把数据头部分跳过,然后根据每行数据的“|”将每个字段的数据进行分列。再根据各字段数据分析的需要,转换成相应的数据类型,并与数据库连接写入数据库中。

1.3 数据库模块

作为基于Netflow流量的分析系统,数据库成为系统的基础及核心,一切功能模块及数据采集均需建立在数据库中,从性能、成本、易用性、可靠性等方面综合考虑,选用MySQL作为本系统的数据库。

首先是基本表的设计。在程序操作数据表时,读写的性能受数据表字段所占字节数的影响,数据表字段所占字节数越大,则需要更长的读写操作时间,字段所占字节数越小,则其读写操作的性能将会有所提高。因此,设计数据库字段的属性对整个系统的性能至关重要。在分析程序对数据按照规则条件进行匹配后,将更新数据表中IP地址等相应的归属信息,但在数据的进一步汇总中,如果汇总程序按照IP地址归属信息进行数据分组汇总,则需要读取归属信息的全部字节数,这对于系统整体汇总而言,其运行效率仍会受到影响。本着读取最少字节数以提升系统工作效率的原则,需要将归属信息代码化,汇总程序仅需要根据归属信息代码作为分组条件即可。

根据Netflow的原始数据量,如果对其进行一一匹配对应,则无法在5分钟内完成相应的数据归属、流量分析等操作。为了提高数据库效率,最直接的方法就是先进行关键字段的聚合,然后进行相应的递归聚合,最后将分析数据进行匹配分析,这样可以有效地减少原始数据的运算量,尤其在磁盘I/O有限的条件下,性能提升更明显。

在数据递归聚合后,虽然数据量已经有了极大的压缩,但数据库运算仍然十分缓慢,因此在各级数据表中,对需进行运算的字段进行索引配置。索引是用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。由索引带来的效率提升则是非常明显的,如同看书时按照目录查询章节一样迅速。在本系统中,由于要从目的IP地址中分析出该IP的分公司归属,这对于运营商庞大的不连续的IP地址段数据表来说,其哈希运算将会带来极大的系统符合,其运算效率也将随着两张数据表记录的增长而成倍的增长。通过对比测试,在没有配置索引的情况下,其数据运算的时间大约为20分钟,而索引可以将此工作缩短至1分半钟左右,这恰好可以完成数据在5分钟内的运算操作。

1.4 页面呈现模块

在对数据进行分析处理后,利用Eclipse+JSP+Tomcat平台,将结果以网页形式展现出来,并实现多种查询功能(如图1所示)。

图1 系统结构图

2 结束语

在研究互联网技术和相关协议的基础上,通过对互联网流量数据的分析处理,运用C++,MySQL,Eclipse,JSP和Tomcat+Java等工具,实现了互联网流量分析系统的设计,解决了互联网流量分析管理过于宏观的问题。

在互联网规模不断扩展和应用领域不断增加的趋势下,互联网流量的迅猛增长,使得流量成分越来越复杂,而过于宏观的流量分析技术已经不能满足电信运营上的管理要求,只有通过可靠、有效的网络业务流量监测,并对互联网络以及网络所承载的流量进行细致的统计,准确及时的流量流向分析,才能挖掘出网络资源潜力,以达到控制网络互联成本,为企业的网络规划、优化调整和业务发展提供有力的依据。

参考文献

[1] 滑海,张建标.基于NetFlow的网络流量采集系统设计[J].微处理机,2010,2:41-59.

[2] 王哲.基于NetFlow的网络流量监测技术与应用[J].软件导刊,2009,5:139-140.

[3] 田杨,王宏.采用Netflow数据的典型异常流量检测方法[J].电子科技大学学报,2009,S1:57-60,74.

[4] 梁峰,谭建龙.基于数据流模型的NetFlow流数据安全检测分析系统[J].信息网络安全,2009,4:69-71.

[5] 孟晓蓓.基于NetFlow的网络流量采集技术和应用[J].武汉理工大学学报,2009,23:155-158.

[6] 陈宁,徐同阁.NetFlow流量采集与存储技术的研究实现[J].计算机应用研究,2008,2:559-561,564.

上一篇:倾听大学的声音 下一篇:低温制冷综合试验台的研究与探讨