高速网络流量监测系统的设计与实现

  • 格式:pdf
  • 大小:375.34 KB
  • 文档页数:4

http://www.paper.edu.cn

-1- 高速网络流量监测系统的设计与实现

朱冠胤

北京邮电大学网络与交换技术国家重点实验室,北京 (100876)

E-mail:buptzhugy@hotmail.com

摘 要:如何有效的分配和利用有限的网络资源是网络运营商进行网络基础建设和网络优化

配置的关键。本文介绍了一种为满足上述需求而专门设计的,基于NetFlow技术的高速网络

流量测量系统。该系统采用自主知识产权的流量采集分析技术,利用分布式技术组建系统,

可适应大型网络的监测要求。该系统在Cernet2网络上进行了现网测试,验证了系统的功能

可行性和性能稳定性。

关键词:FlowAnalyzer,NetFlow,高速网络,网络流量

1. 引言

随着网络结构日益的复杂化,只能取得端口级统计数据的传统网管系统已经无法满足网

络运营决策者的网络规划及分析的需求。决策者不仅需要端口流量流速数据,还需要分析了

解网络流量的来源、目标和应用类型等各种数据的比例分布和性能差异作为决策支持的依

据,才能在网络性能与带宽投入成本之间,取得最优化的投资策略。

FlowAnalyzer(网络流量监测系统)是为满足上述需求而专门设计的一套方案,系统完

整集成了多项流量测量分析功能,从短期的实时分析、中期的流量分析到长期的流量统计,

全部集成在一个单一系统,具体功能包括业务分析、异常分析、域流量分析、省际流量分析、

历史分析等。

它通过采集分析处理NetFlow数据,为用户提供不同时间粒度(从最近五分钟到长达几

年),不同网络规模粒度(从某路由器的某接口到某运营商(数个AS区域)),不同业务类

型粒度(从业务传输层到应用层业务统计)等多维分析的方式对流量流向进行了基于客户、

运营商机构、网络区域、接入类型、业务类型等多视角的网络流量流向的时空模型。

2. FlowAnalyzer系统设计与实现

2.1系统框架

图1 系统结构图

FlowAnalyzer采用分布式架构,共四个主要部分:数据采集子系统(对应上图中采集器

部分),实时分析子系统(对应上图中实时分析器部分),数据库子系统(对应上图中的历史

分析器,数据仓库和多维分析器部分),数据呈现子系统(对应web服务器部分)。 http://www.paper.edu.cn

-2- 2.2采集器子系统

采集器子系统分为Collector(采集)和Sampler(抽样)两个功能模块,通过实时采集

骨干网路由器以UDP方式发出的Netflow的数据包,为流量分析(实时分析和长期统计分

析)提供所需信息。这部分数据的及时性和准确性决定了流量分析系统的性能。实现对数据

的高速采集,就要保证对大量数据的及时处理,为减少后序实时分析处理压力,数据库存储

压力等还需采用高效的抽样技术。该子系统使用内存拷贝,多线程并行处理和资源受限情况

下流抽样技术来提高对数据的处理能力,可以根据网络上的实际流量,系统资源动态改变共

享内存的数目,处理子线程的数目和抽样比例,满足高速网络流量采集分析的要求。

2.3实时分析子系统

该部分的主要流程是在解析后的原始数据信息上进行各种业务统计分析,将分析完的结

果写成符合由oracle数据库提供的SQL Loader导入数据文件需要的格式的临时文件中,利

用消息队列通知子模块将文件一次性导入到数据库中,进一步提高效率。为提高实时分析效

率,系统将数据的实时分析工作尽可能的放在内存中进行。

实时分析器所进行的业务分析主要包括:

a)原始数据的基本聚合。主要过程是按照七元组(源目IP、源目端口、第三层协议号、

服务类型TOS、输入逻辑接口)完成聚合工作。由于聚合前的数据量相当大,在此基础上

进行各种业务统计分析不仅难度大,而且没有实际意义。

b)24小时流量流速趋势。主要过程是完成对每个路由器上的每个接口,在不同时间片

内的流入和流出速度的统计计算。

c)自治域流量矩阵。主要过程是为用户提供某个时间内的各个自治系统之间的流量流

入流出情况。

2.4数据库子系统

数据库的主要功能是存储实时分析模块处理的结果,完成二次业务统计分析功能,并定

期备份转储到历史分析器中,包括各数据表的定义,相应数据的存储和性能优化等。

数据库要完成的主要工作有以下几方面:

a) 存储实时分析模块插入数据库中的数据

b) 处理和计算流信息,为界面提供数据

c) 定期删除数据库中的数据:由存储过程和Linux提供的Crontab功能共同完成

其中为界面提供的数据主要包括:

a) 最近24小时流量流速趋势统计数据

b) 最近24小时内一定时间片的正常业务TOP-N和异常流TOP-N排序(分别按字节数、包

数和连接数统计排名)

c) 24小时用户指定的10种正常业务流和异常流趋势统计

d) 省际流量趋势、域间流量趋势等

2.5数据呈现子系统

数据呈现子系统主要是通过Web页面,以图形和数字化相结合的直观方式把数据分析

结果提供给用户,使用户容易理解。该模块主要是通过和数据库模块的接口来获取其要呈现

的数据。另外,通过Web页面用户还可以定制自己想要监测的特定的业务以及相关参数的http://www.paper.edu.cn

-3- 配置;这些参数将通过数据库接口保存到数据库的业务参数表中,后台程序则会定时检查业

务参数表的变化情况,在发现业务有变化时,则会自动在基础数据上展开用户新定制的业务

数据分析,将新的数据分析结果呈现给用户。

3. FlowAnalyzer系统测试

本系统通过在试验网用多台pc充当流量发生器运行flow-tools大规模发送模拟流量测试

表明一台数据采集器,可以最大支持1200,000会话/分钟的数据量,抽样模块在采样率为3%

时误差维持在5%以内。同时,系统还在现网上进行了长时间的测试,以下重点介绍现网测

试情况。

3.1 系统部署

系统的部署应尽可能简单有效,一方面便于设备的部署和安装,一方面也有利于设备的

维护和升级。目前将所有子系统部署在一台设备上,但系统支持各子系统分开部署,而且在

高速骨干网上测量时出于效率考虑推荐各子系统分开部署。系统软件方面操作系统选择

Redhat Enterprise Linux AS 4, 数据库选择Oracle 10g,web服务则采用Tomcat服务器,考虑

到本系统对处理器处理能力,内存和硬盘容量均比较高,系统硬件方面选择安腾双核处理器,

内存4G,硬盘160G*2(采用raid)。

3.2 现网测试

现网测试集中于测试系统能否正确高效地采集、统计IPv4/v6网络的分布业务量的流量、

流向信息,以及网络流量的业务成分构成。

经过在中国下一代互联网示范工程CNGI示范网络核心网(CNGI-CERNET2/6IX)上

的现网测试,各项功能和技术指标都达到了设计要求,并顺利通过国家相关部门组织的“面

向下一代互联网的网络测量分析平台和工具开发及应用实验(CNGI-04-8-1D)”项目验收。

4. 结束语

本文介绍了基于一种基于NetFlow技术的分析网络流量的系统,并详细介绍该系统

的设计与实现细节,并通过模拟网络流测试以及现网测试验证了该系统能高效、准确的进行

高速网络流量采集、抽样和实时分析。通过该系统,用户可以查看:什么应用、哪个主机、

什么时间占用了带宽。对网络流量的精确分析,可以帮助企业节约成本、提高故障处理能力、

准确掌握网络承载能力。

http://www.paper.edu.cn

-4- 参考文献

[1] 崔毅东,张晖,徐惠民.基于NetFlow技术的网络流量统计[J].电信科学,6:62-64, 2003

[2] 谢喜秋,梁洁,彭巍等.NetFlow服务对网络性能的影响[J].广东通信技术,22:39-44, 2002

[3] Nick Duffield, Carsten Lund and Mikkel Thorup.Flow Sampling Under Hard Resource Constraints[C]. ACM

SIGMETRICS Performance Valuation Review, New York, 2004

[4] Cisco Corporation. NetFlow Version 9 Flow-Record Format[OL].

[5] http://www.cisco.com/en/US/tech/tk648/tk362/technologies_white_paper09186a00800a3db9.shtml, 2007

[6] Cisco Corporation. NetFlow White Papers[OL].

[7] http://www.cisco.com/en/US/products/sw/netmgtsw/ps1964/products_implementation_design_guide09186a00

800d6a11.html, 2004

[8] 林宇,郭凌云.Linux网络编程[M].北京:人民邮电出版社 2000

[9] W.Richard Stevens,Bill Fenner and Andrew M etal. UNIX网络编程第1卷:套接口API[M].杨继张,译,第三

版.北京:清华大学出版社 2006

[10] W.Richard Stevens. UNIX网络编程第2卷:进程间通信[M].杨继张,译,第二版.北京:清华大学出版社

2000

[11] Oracle Corporation. Oracle C++ Call Interface Programmer's Guide[OL].

[12] http://download-west.oracle.com/docs/cd/B12037_01/appdev.101/b10778/toc.htm, 2002

Design and Implementation of High Speed Network Traffic

Measuring & Analyzing System

Zhu Guanyin

State Key Lab of Networking and Switching Technology, Beijing University of Post and

Telecommunications, Beijing (100876)

Abstract

This paper primarily introduces the content of design and implementation of network traffic measuring

and analyzing system based on NetFlow. First, it introduces the requirements of network traffic

analysis. Then, it provides a system view and subsystem details on flow analysis. At last, it introduces

some testing results on Cernet2 network about this system. The results show it has made an efficient