欢迎来到天天文库
浏览记录
ID:47432091
大小:830.25 KB
页数:17页
时间:2020-01-11
《NetFlow流量采集与聚合的研究实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、NetFlow流量采集与聚合的研究实现时间:2009-07-1009:21:32 来源:现代电子技术 作者:郭剑云曹庆华0引言 近年来,随着信息技术的飞速发展,越来越多的企业和大型机构在其内部构建基于网络的应用,复杂程度及对网络的依赖程度日益提高,各种各样的网络问题也随之产生。网络流量监测是网络管理和系统管理的一个重要组成部分,网络流量数据为网络的运行和维护提供了重要信息。这些数据对网络的资源分布、容量规划、服务质量分析、错误监测与隔离、安全管理都十分重要。因此,对网络流量及相关情况实施科学合理的监管和深入分析,成为网络管理的重要环节
2、之一;同时,它也为网络问题提供有效解决方案及进行网络的规划。 目前的网络流量分析方法主要有基于SNMP、基于实时抓包分析、基于网络探针和基于:Flow技术等几种。NetFlow基于Flow技术,目前已得到大多数网络设备厂商的支持,提供了网络监测方面非常完善的应用。基于NetFlow的流量采集方法可以获得包括源/目的主机IP、应用协议类型、源/目的端口等详细信息,根据这些信息就可以对协议(应用)、主机IP(用户)以及AS域等进行统计排行和趋势分析,也可对异常流量进行监测分析。此外,NetFlow避免了大量部署和配置监测探针的复杂过程,使得
3、网络性能分析更加全面、灵活且简单易用。lNetFlow技术 NetFlow是Cisco公司提出的基于CiscoIOS系统的一种应用。它用于提供网络设备上数据包形成的“流”的统计信息,并逐渐演变成为网络流量统计和安全分析的主要手段。目前利用:NetFlow可以实现网络流量监测,用户应用监控,网络安全,网络规划以及流量计费等功能。 NetFlow有两个核心的组件:NetFlow缓存,存储IP流信息;NetFlow的数据导出或传输机制,NetFlow利用此机制将数据发送到网络管理采集器。1.1流(Flow)的定义 一条流由一个源主机与
4、一个目的主机间的单方向传输的网络数据包组成,其中,源和目的主机由各自的IP地址和端口号来标识。一条流一般由以下七个关键字段惟一标识: ·源地址 ·目的地址 ·源端口号 ·目的端口号 ·第3层协议类型(如TCP,UDP) ·服务类型 ·入逻辑接口标示符1.2流(Flow)格式 启动NetFlow的设备会输出其缓冲区里的信息,以UDP包的形式传送给NetFlow流量采集器。包由包头和若干流记录组成。常用的NetFlOW输出包格式共有5个版本,它们分别是Version1,Version5,Ver-sion7,Ve
5、rsion8和Version9,其中V5是最为流行和成熟的版本,目前得到最广泛的使用。最新的V9已经被列入IETF的标准,并有待进一步研究和规范。V9采用了模板技术与流记录相结合的方式,使NetFlow输出包的格式具有动态和可扩展的特性。NetFlowV9的输出格式主要由三部分构成: (1)包头部(PacketHeader):包括版本号、包中数据流总数、系统时间、数据流序列、数据源ID等。 (2)模板流集(TemplateFlowSet):包含一个或多个模板,模板是用于描绘数据流中各个数据段的含义,可以在路由器上根据需要自行设置模板
6、。 (3)数据流集(。DataFlowSet):包含多个数据流,每个数据流集通过模板ID对应某个模板。数据采集端根据模板来解析数据流。2NetFlow流量采集与聚合2.1系统概述 根据NetFlow的特点,设计并实现了一个网络流量监测系统,其系统结构如图1所示。 当NetFlow采集器接收到从路由器发送来的Net-Flow数据包后,采集器将进行数据包的解析和数据流聚合,形成多种适合统计分析需要的数据,再分门别类地存入数据库。分析器则根据前端不同的查询请求,依照一定的查询策略从数据库不同的表中提取相应数据进行分析展现。 本系统
7、的后台采集器和聚合处理部分用JAVA编写实现,数据库采用开源的MySQL,而NetFlow流量分析利用Tomcat服务器通过Web方式展现,前台部分用JSP编写实现。工作的重点即在于数据采集、数据聚合以及数据库设计部分。2.2NetFlow流采集2.2.1采集器的设计 数据采集模块是整个系统的基础。由于。NetFlow数据流量非常大,为防止丢包系统采用缓冲区和线程池结构,如图2所示。 当采集器监听到一个NetFlow数据包时,将该数据包接收到缓冲区,并从包解析线程池中取出一个线程,根据相应的NetFlow的报文格式解析出数据流信息,
8、将该原始流信息放入缓冲区,然后将原始流存入数据库,同时采用相应的聚合策略聚合原始流生成聚合流并存入相应的数据库中。2.2.2NetFlow数据包接收与解析 由于NetFlo
此文档下载收益归作者所有