一种流量分析方法及系统技术方案

技术编号:15296258 阅读:145 留言:0更新日期:2017-05-11 16:24
本发明专利技术提供了一种流量分析方法及系统,方法采用PF_RING套接字配合环形缓存来抓取子网客户端中网卡中的数据包,然后对数据包进行网络层、传输层、应用层的协议分析,并进行高效存储,最后可将存储的协议分析结果展现给用户,以协助用户对各个应用的流量进行线路调整,保证了网络中各线路的正常运行。

Flow analysis method and system

The present invention provides a method and system flow analysis method, using PF_RING socket with the ring buffer to capture card sub network packets in the client, and then analyze the data packets in network layer, transport layer, application layer protocol, and the most efficient storage, can be stored in the protocol analysis results show users of line adjustment to assist users of various application flow, to ensure the normal operation of each line in the network.

【技术实现步骤摘要】

本专利技术涉及网络安全
,具体涉及一种流量分析方法及系统
技术介绍
目前全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,也是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称为IPv4),发展至今已经使用了30多年。IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上,近十年来由于互联网的蓬勃发展,IP位址的需求量越来越大,使得IP位址的发放愈趋严格。随着互联网技术的飞速发展,各项新的应用和服务(例如视频点播,P2P下载等应用)层出不穷,使得网络流量日益增加,并且给网络带来许多安全隐患。同时,IPv4的地址短缺问题日益严重,阻碍了IP网络的发展。为了扩大地址空间,拟通过IPv6重新定义地址空间,IPv6是下一版本的互联网协议,也可以说是下一代互联网的协议。IPv6采用128位地址长度,几乎可以不受限制地提供地址。按保守方法估算IPv6实际可分配的地址,整个地球的每平方米面积上仍可分配1000多个地址。在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。IPv6不仅解决了地址空间短缺问题,而且其内置了安全机制,提供给用户更高的服务质量。另外,基于SIIT的协议转换技术IVI可以解决IPv6网络与IPv4网络数据包的网络层翻译,其基本概念就是IPv4的一些地址通过IVI“盒子”映射到IPv6的网络里使用。从IPv6的地址空间中选一个子集与IPv4做基本的映射,通过这种映射规则,用户获得IPv6地址直接访问IPv6资源。在IPv4和IPv6都能访问的情况下,为避免网络视频、P2P下载等耗用带宽资源严重应用的使用,造成网络出口的拥堵,系统后台需要时刻监控各个子网中各个应用所占带宽,以对各个应用的带宽进行合理分配。
技术实现思路
(一)要解决的技术问题本专利技术的目的在于,提供一种流量分析方法及系统,能够统计分析出子网中各个应用所占流量,从而为后续的流量分配提供依据。(二)技术方案本专利技术一方面提供一种流量分析方法,包括:S1,抓取子网中的数据包到用户空间;S2,在用户空间中对所述数据包进行解析,以获取该数据包所采用的协议;S3,将步骤S2中数据包的解析结果进行存储;S4,根据存储的解析结果,显示一时间段内流量在各个协议上的分布情况。进一步,步骤S1中,采用一环形缓存抓取子网中的数据包到用户空间,所述环形缓存具有一读取指针和写入指针,其中,采用写入指针将抓取的数据包写入该环形缓存中,采用读取指针将该环形缓存中的数据包读取到用户空间。进一步,步骤S2中,先判断所述数据包为IPv4数据包或IPv6数据包,然后再获取该IPv4数据包或IPv6数据包在IP上层所采用的协议。进一步,步骤S2中,根据所述数据包中IP首部的协议号字段,获取该数据包在传输层所采用的协议,根据所述数据包中端口号字段,获取该数据包在传输层在应用层上所采用的协议。进一步,步骤S3中,若当前存储的数据容量大于一阈值,则按时间顺序删除最早存储的数据,并将步骤S2中数据包的解析结果进行存储。本专利技术另一方面提供一种流量分析系统,包括:数据采集模块,用于抓取子网中的数据包到用户空间;协议分析模块,用于在用户空间中对所述数据包进行解析,以获取该数据包所采用的协议;存储模块,用于将数据包的解析结果进行存储;显示模块,用于根据存储的解析结果,显示一时间段内流量在各个协议上的分布情况。进一步,数据采集模块采用一环形缓存抓取子网中的数据包到用户空间,所述环形缓存具有一读取指针和写入指针,其中,采用所述写入指针将抓取的数据包写入该环形缓存中,采用所述读取指针将该环形缓存中的数据包读取到用户空间。进一步,协议分析模块先判断所述数据包为IPv4数据包或IPv6数据包,然后再获取该IPv4数据包或IPv6数据包在IP上层所采用的协议。进一步,协议分析模块根据所述数据包中IP首部的协议号字段,获取该数据包在传输层所采用的协议,根据所述数据包中端口号字段,获取该数据包在传输层在应用层上所采用的协议。进一步,存储模块若判断出当前存储的数据容量大于一阈值,则按时间顺序删除最早存储的数据,并将所述数据包的解析结果进行存储。(三)有益效果本专利技术具有以下优点:1、本专利技术通过对流量数据包中的应用层协议进行分析,从而得到网络中各个应用所占用的流量情况,从而为后续的流量分配提供依据。2、现有的数据包抓取过程中,从网卡抓取数据包到用户空间时,网卡驱动程序会产生一次中断,在大流量的情况下,操作系统将花费大量的时间用于中断处理,这显然降低抓取效率。本专利技术在数据包采集的过程中,采集环形缓存作为中间缓存来将数据包抓取到用户空间,环形缓存具有读取指针和写入指针,能同步地进行数据包抓取和写入,不会出现收包时网卡驱动程序中的情况。3、随着网络规模的逐渐扩大,流量信息会呈几何级增长,本专利技术在数据存储容量超过一定阈值时,将按照数据存入的顺序删除前期的流量记录,这样保证了数据库的承载能力以及性能。附图说明图1是本专利技术实施例提供的应用场景。图2是本专利技术实施例提供的流量分析方法的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。图1是本专利技术实施例提供的应用场景,如图1所示,子网中各个分支机构客户端上安装多种软件,能产生多种协议的流量。客户端上产生的各种协议的流量通过相应的交换机转发至核心交换机中,核心交换机将子网中产生的所有流量上传中路由器,并有该路由器将流量转发至各种外网中(互联网Internet、教育网Cernet、教育网CernetII)。其中,核心交换机及路由器直接设有一个监控系统服务器,监控系统服务器上运行的是Linux操作系统,支持双栈协议,同时安装了流量分析系统,以执行本专利技术的流量分析方法。在本实施例中,子网中各个分支机构客户端所安装的应用可以是网络游戏、视频、电子邮件、网络电话等,其均采用不同的协议进行数据包传输,亦即本专利技术通过对数据包的协议进行分析,即可判断出各个应用所占用的流量。图2是本专利技术实施例提供的流量分析方法的流程图,针对上述各种应用,本实施例的流量分析方法包括:S1,采用一环形缓存抓取子网中的数据包到用户空间,环形缓存具有一读取指针和写入指针,其中,采用写入指针将抓取的数据包写入该环形缓存中,采用读取指针将该环形缓存中的数据包读取到用户空间。本步骤功能是实时抓捕网络数据包,获取数据链路层上的帧结构的数据包到用户空间。传统的数据包捕获方法大多都是基于Libpcap函数库,通过Libpcap提供的API接口直接与操作系统交互,来获得数据包。Libpcap数据包不能直接作为文本分析的对象,在文本分析前,需要将数据包组合在一起还原出应用层内容。传统的应用层内容还原经过两步,数据流还原和应用层内容提取,在获取到应用层内容后,经过文件格式解析,关键词抽取等步骤就可以实现关键信息的获取。这个过程中,数据包经历了从网卡到内核空间、从内核空间到用户空间的两次数据拷贝。这种方式操作简单,但在高速网络环境下抓包效率不高。针对传统本文档来自技高网
...
一种流量分析方法及系统

【技术保护点】
一种流量分析方法,其特征在于,包括:S1,抓取子网中的数据包到用户空间;S2,在所述用户空间中对所述数据包进行解析,以获取该数据包所采用的协议;S3,将步骤S2中数据包的解析结果进行存储;S4,根据存储的解析结果,显示一时间段内流量在各个协议上的分布情况。

【技术特征摘要】
1.一种流量分析方法,其特征在于,包括:S1,抓取子网中的数据包到用户空间;S2,在所述用户空间中对所述数据包进行解析,以获取该数据包所采用的协议;S3,将步骤S2中数据包的解析结果进行存储;S4,根据存储的解析结果,显示一时间段内流量在各个协议上的分布情况。2.根据权利要求1所述的流量分析方法,其特征在于,所述步骤S1中,采用一环形缓存抓取子网中的数据包到用户空间,所述环形缓存具有一读取指针和写入指针,其中,采用所述写入指针将抓取的数据包写入该环形缓存中,采用所述读取指针将该环形缓存中的数据包读取到用户空间。3.根据权利要求1所述的流量分析方法,其特征在于,所述步骤S2中,先判断所述数据包为IPv4数据包或IPv6数据包,然后再获取该IPv4数据包或IPv6数据包在IP上层所采用的协议。4.根据权利要求3所述的流量分析方法,其特征在于,所述步骤S2中,根据所述数据包中IP首部的协议号字段,获取该数据包在传输层所采用的协议,根据所述数据包中端口号字段,获取该数据包在传输层在应用层上所采用的协议。5.根据权利要求1所述的流量分析方法,其特征在于,所述步骤S3中,若当前存储的数据容量大于一阈值,则按时间顺序删除最早存储的数据,并将步骤S2中数据包的解析结果进行存储。6.一种流量分...

【专利技术属性】
技术研发人员:黄友俊李星吴建平马艺刘珺
申请(专利权)人:赛尔网络有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1