- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于neflow的大流量网络流量采集与存储
近年来,随着技术的发展和大量公司业务的需求,网络应用的构建越来越多。网络复杂性和依赖性日益增强,出现了各种网络问题。对于网络这样庞大的复合体,解决网络问题的关键在于问题的定位。因此,对网络流量及相关情况实施科学合理的监管和深入分析,成为网络管理的重要环节之一;同时,它也是为网络问题提供有效解决方案及进行网络规划的重要手段之一。
目前的网络流量分析方法主要有基于SNMP、基于实时抓包分析、基于网络探针和基于flow技术等几种。NetFlow是Cisco公司在1996年开发出的技术,它既是一种交换技术(NetFlow交换),也是一种流量分析技术。其版本5是到目前为止使用最广泛的版本。基于NetFlow的流量采集方法可以获得包括源/目的主机IP、应用协议类型、源/目的端口等详细信息,根据这些信息就可以对TopN协议(应用)、TopN主机IP(用户)以及TopN AS域等进行统计排行和趋势分析,同时也可对异常流量进行监测分析。另外,基于NetFlow的采集方法是被动式的,因而不会向被测网络增加额外的流量负荷,这也是其优点之一。
1 基于处理能力的流量采集技术
对网络流量进行监控分析,其核心问题就是如何对采集来的数据进行归纳整理,尤其针对高速大流量网络环境所产生的海量数据。有效的数据整理是进行全面流量统计分析的基础,也是提高系统性能的手段。
本文针对高速大流量网络环境的数据处理进行研究。这里的高速大流量网络环境是指有100~500 Mbps左右的实际流量和几十万台活动主机的网络。本文所测试的网络环境是某部委的核心骨干网,该网络具有200 Mbps左右的实际流量,且网络中的交换设备绝大多数都是Cisco路由器,便于笔者采用基于NetFlow的方法进行流量采集。
高速大流量网络的特点对流量的采集、数据存储组织以及分析展现都提出了较大的挑战。主要体现在以下几方面:
a) 高速流量,接收要及时。经实验观测,被测网络繁忙时1 h的NetFlow流条数可达百万条。由于其采用不可靠的UDP方式发送数据,采集模块若不能及时接收并处理如此巨大的数据量,必定产生丢包现象。
b) 原始信息复杂,需有效整理。由于NetFlow数据流所含信息比较详细,要进行细致的统计分析就需要对原始NetFlow数据流进行有效的分类整理,提取有用信息,这给数据处理和存储组织带来了一定难度。
c) 历史数据量巨大,查询不便。为了分析流量走势,就需要保存大量的历史数据。若使用诸如MySQL这种数据库表容量受文件大小所限的数据库作为存储数据库,就可能出现所需统计的数据分散存储在多个表中的现象,从而导致跨表查询,给操作带来不便,也降低了系统效率。
本文结合NetFlow的数据特点和实际应用需要,提出了一套网络流量采集和存储方案,并基于此方案实现了一个基于NetFlow的、可支持高速大流量网络环境的流量分析系统。
2 流量检测和存储组织
2.1 后台采集器及分析器
基于以上一些问题,笔者设计了如图1所示的系统结构。
在路由器上开启NetFlow流量采集功能后,UDP形式的NetFlow数据将被发送到本系统的NetFlow采集器中,并进行数据包的解析,提取有用信息。多级聚合处理模块负责对提取的原始信息进行分级聚合整理,形成多种适合统计分析需要的数据,再分门别类地存入数据库。分析器则根据前端不同的查询请求,依照一定的查询策略从数据库不同的表中提取相应数据进行分析展现。
本系统的后台采集器和聚合处理部分用C++编写实现,运行在Linux平台上,数据库采用开源的MySQL,而NetFlow流量分析利用Tomcat服务器通过Web方式展现,前台部分用JSP编写实现。本文工作的重点即在于数据采集、多级聚合以及数据库表结构设计部分。
2.2 数据收集
2.2.1 多线程技术在流量管理中的实现
路由器NetFlow cache内过期的NetFlow数据以UDP包的形式不断向采集器的指定端口发送,每个UDP包携带n条flow记录,如图2所示。
为解决高速大流量数据的及时接收问题,本文采用了多线程的方式来实现。用独立的两个线程分别完成数据接收和解析操作,伪代码如图3所示。
由于接收线程和解析线程共享同一个临界资源,即接收到的数据链表,因而需要对临界资源进行加锁操作。为了在解析线程获得锁的同时确保接收线程仍在工作,笔者设计了一个双链表的缓冲存储结构,即解析线程获得锁后,首先将接收链表备份出来,然后将其置空,随即释放锁继续接收,再进行链表解析。这种双链表缓冲结构的优点是在数据解析的过程中确保数据接收的永不间断,有效提高了流量采集的可靠性。
2.2.2 基于优先阵列的流量趋势分析
经过对NetFlow原始流的观察发现,在一些网络环境中,少数原始流的流量/包数之和占据了
您可能关注的文档
- 2011-2012年湖南省流脑监测结果分析.docx
- 2型糖尿病合并复发性胰腺炎1例.docx
- 《商周》八议制度形成时间考.docx
- 《孟子》荣辱观新探.docx
- 一种用于门腔分流的磁吻合装置.docx
- 两种扩张术治疗吻合口狭窄的疗效观察.docx
- 中国五大城市个人投资者生活形态研究.docx
- 中国古代法律平等的两重性.docx
- 中国近代人文精神的反思.docx
- 中职学生英语学习兴趣的培养.docx
- 聚类分析_(台风编号-台风中文名称-台风英文名称-台风起始时间-台风结束时间-当前台风时间-经度-纬度-台风强度-台风等级-风速-气压-移动方向-移动速度).docx
- 2020年MathorCup大数据竞赛赛道A优秀论文5.pdf
- 1945-2023妈妈杯大数据数学建模.xlsx
- 2021年MathorCup大数据竞优秀论文5.pdf
- 2020年MathorCup大数据竞赛赛道B优秀论文2.pdf
- 2020年MathorCup大数据竞赛赛道A优秀论文2.pdf
- category86妈妈杯大数据数学建模.docx
- xgboost回归_(台风起始时间-台风结束时间-当前台风时间-台风强度-风速-经度-气压-降水量-移动速度)_(纬度).docx
- 频数分析_(仓容上限-产能上限-仓租日成本)_(仓库).docx
- 350 个品类的库存量.xlsx
文档评论(0)