一种基于sketch的数据中心网络流量分析方法

文档序号:7781324阅读:1591来源:国知局
一种基于sketch的数据中心网络流量分析方法
【专利摘要】本发明提出了一种基于sketch的数据中心网络流量分析方法,该方法包括如下步骤:实时或离线接收网络流量统计数据包;根据解析后的网络流量统计数据包的头信息来确定数据包的流量大小,作为sketch的输入;基于sketch进行实时流量分析。本发明对已有基于sketch的流量统计算法进行了创新,提出了基于概率选择的sketch算法,依据概率对CM及CU算法进行选择;提出了分区sketch算法,可在处理不同类型网络流量时对sketch进行分区,该方法在提高准确率的同时,降低了复杂度;此外,本发明通过实时滑动平均算法将更新信息加入到以比率进行折扣后的信息中,该实时滑动方法对越旧的信息被折扣的越多,不但可以节省空间,还可记录到流量的突变情况。
【专利说明】—种基于sketch的数据中心网络流量分析方法
【技术领域】
[0001]本发明属于网络【技术领域】,具体涉及一种基于sketch的数据中心网络流量分析方法。
【背景技术】
[0002]随着网络的应用越来越广泛,网络规模也日渐增长,网络中承载的业务也越来越丰富。企业需要及时的了解到网络中承载的业务,掌握网络流量特征、网络用户特征,以便使网络带宽配置最优化,并及时解决网络性能问题。通过对网络流量的分析,可以帮助企业了解内部网络的运行状况,及时发现并解决网络中的性能瓶颈问题、网络异常现象,也能方便企业进行网络优化、网络设备投资、网络带宽优化等的参考,并方便网络管理员及时解决网络异常问题。
[0003]数据中心网络具有动态性、高速性和海量性的流量特点,如何高效、准确地监控数据流量,以发现可能存在的拥塞是网络技术的重要任务。传统的解决方案有下述几种方法:
[0004]I)基于数据库查询的方法:数据流以“键值对”的形式存储,但是具有无法满足实时分析与响应,可扩展性差的局限性;
[0005]2)基于计数器的算法:采用一维数组的数据结构,但是具有可统计的项目数有限,无法对任意数据流提供统计信息的局限性,现有算法有Lossy Counting, Space Saving ;
[0006]3)基于sketch的算法:采用二维数组的数据结构,虽然能够提供一段时间内针对任意流的统计数据,但是具有复杂度和统计准确率难以权衡的局限性,现有算法有Count-Min Sketch(CM), Count-Min Sketch with Conservative Update (CU);
[0007]综上,上述各技术均不是分析网络流量的优选,为此,本发明对已有的基于sketch的流量统计算法进行了创新,在提高准确率的同时,还降低了复杂度。

【发明内容】

[0008]为了克服现有技术的上述缺陷,本发明的目的在于提出一种高效、准确的基于sketch的数据中心网络流量分析方法。
[0009]为此,本发明是通过如下技术方案实现的:
[0010]一种基于sketch的数据中心网络流量分析方法,包括如下步骤:
[0011]实时或离线接收网络流量统计数据包;
[0012]根据解析后的网络流量统计数据包的头信息来确定数据包的流量大小,作为sketch的输入;
[0013]基于sketch进行实时流量分析。
[0014]进一步地,该方法还包括如下步骤:
[0015]执行sketch基于窗口和信息折扣率的方法来统计历史流量信息。
[0016]进一步地,统计历史流量信息的步骤包括:[0017]将sketch中存储的信息通过下式的信息折扣率进行折扣:
[0018]f = 1-^e(O5I)
[0019]上式中,L表示滑动速度,即统计历史流量信息的间隔时间;T表示滑动窗口大小,即历史时间段;L〈T ;
[0020]将更新信息加入到整合后的信息中;
[0021]每隔时间L报告统计过去T时段内的流量信息。
[0022]进一步地,所述确定网络流量统计数据包的流量大小的方法包括:
[0023]所述解析后的网络流量统计数据包的头信息包括源、目的IP地址,源、目的MAC地址和源、目的端口信息,根据需求选择头信息中的任一种作为统计对象;
[0024]各个数据包按统计对象随时间累积的数据量即为相应数据包的流量大小,作为sketch的输入,即用下式表示迚)?0,…--,(/)],其中,每个元素a, (t)表示统计对象(该统计对象可以是源、目的IP地址,或者是源、目的MAC地址,或者是源、目的端口信息)i在t时刻累积的数据量。
[0025]进一步地,所述sketch由d个哈希表组成,每个哈希表包括w个桶,共有dXw个计数器。[0026]进一步地,所述进行实时流量分析的步骤包括:
[0027]依据设定的概率值来选择采用CM算法或CU算法进行实时流量分析;
[0028]当概率值为α时,采用⑶算法;当概率值为1-α时,采用CM算法,其中,0〈 α〈=1。
[0029]进一步地,所述CM算法的步骤包括:
[0030]设定计数器的初始值为0,统计对象随时间累积变化的数据量气(O为:
[0031]ai (t) = ai (t~l) +Ct (t)
[0032]上式中,ai(t)为统计对象在t时刻的累积变化数据量;ai (t-1)为统计对象在t-1时刻的累积变化数据量是统计对象;Ci (t)为数据包的流量大小;
[0033]用矩阵CM来表示dX w个计数器,通过d个哈希函数来完成数据项的投影操作,其中,h组将数据包中的数据项映射到[w],而c组将数据包中的数据项映射到{_1,+1},对于数据包中的每个数据项it按照下述公式计算更新CM中的相应计数器:
[0034]CMt+1 [j, hj Cai (t) ) ]=CMt[j, hj Cai (t) ) !+Ci (t)
[0035]上式中,j为 sketch 的行号,h」Cai (t)为 sketch 的列号,j=l, 2......,d, i=l, 2...-,IH5Ci (t)为数据包的流量大小;
[0036]按照下式取各IP对随时间累积的数据量的最小值作为估计值,以用于对网络流量的实时查询:
ΛΛΛΛ
[°°37] α(β)=[ α,(O,5
[0038]α,(?)-= min CMlIfJi Jai(I))];
J-Ll.,..J-
[0039]式中,i=l,2,…,m, a,(t)为统计对象在t时刻累积的数据量的最小值。
[0040]进一步地,所述进行实时流量分析的步骤包括:[0041]每种网络服务的流量服从Zipfian分布,具有不同的参数z,通过预先的流统计,获得每种网络服务的参数z ;
[0042]根据参数z将sketch划分成若干个sketch分区,每个分区用于处理不同类型网络服务的流量;
[0043]每个sketch分区采用⑶算法进行实时流量分析;
[0044]对sketch划分可米用以下任一方法:
[0045]I)按 w 将 sketch 划分为 P (w) -QJ,其中,
【权利要求】
1.一种基于Sketch的数据中心网络流量分析方法,其特征在于,该方法包括如下步骤: 实时或离线接收网络流量统计数据包; 根据解析后的网络流量统计数据包的头信息来确定数据包的流量大小,作为sketch的输入; 基于sketch进行实时流量分析。
2.如权利要求1所述的方法,其特征在于,进一步包括: 执行sketch基于窗口和信息折扣率的方法来统计历史流量信息。
3.如权利要求2所述的方法,其特征在于,统计历史流量信息的步骤包括: 将sketch存储的信息通过下式的信息折扣率进行折扣:y = I — — ?= (O,I) 上式中,L〈T ;L表示滑动速度,即统计历史流量信息的间隔时间;T表示滑动窗口大小,即历史时间段; 将待更新信息加入到整合后的信息中; 每隔时间L报告统计过去T时段内的流量信息。
4.如权利要求1所述的方法,其特征在于,所述确定网络流量统计数据包的流量大小的方法包括: 所述解析后的网络流量统计数据包的头信息包括源、目的IP地址,源、目的MAC地址和源、目的端口信息,根据需求选择头信息中的任一种作为统计对象; 各个数据包按统计对象随时间累积的数据量即为相应数据包的流量大小,作为sketch的输入,即用下式表示£(0?0,…為其中,每个元素%⑴表示统计对象i在t时刻累积的数据量。
5.如权利要求1所述的方法,其特征在于,所述sketch由d个哈希表组成,每个哈希表包括w个桶,共有d X w个计数器。
6.如权利要求5所述的方法,其特征在于,所述进行实时流量分析的步骤包括: 依据设定的概率值来选择采用CM算法或CU算法进行实时流量分析; 当概率值为α时,采用CU算法;当概率值为l-α时,采用CM算法,其中,0〈α〈=1。
7.如权利要求6所述的方法,其特征在于,所述CM算法的步骤包括: 设定计数器的初始值为O,统计对象随时间累积变化的数据量ai(t)为: at (t) = at (t-1) +ct (t) 上式中,ai(t)为统计对象在t时刻的累积变化数据量&α_1)为统计对象在t-Ι时刻的累积变化数据量是统计对象;ct (t)为数据包的流量大小; 用矩阵CM来表示dXw个计数器,通过d个哈希函数来完成数据项的投影操作,其中,h组将数据包中的数据项映射到[w],而c组将数据包中的数据项映射到{_1,+1},对于数据包中的每个数据项i按照下述公式计算更新CM中的相应计数器:
CMt+1[j,hj (a^t) ) ]=CMt[j, hj (a^t) ) !+Ci (t) 上式中,j 为 sketch 的行号,hj Cai (t)为 sketch 的列号,j=l, 2......, d, i=l, 2......, m ;Ci (t)为数据包的流量大小; 按照下式取各统计对象随时间累积的数据量的最小值作为估计值,以用于对网络流量的实时查询:
8.如权利要求5所述的方法,其特征在于,所述进行实时流量分析的步骤包括: 每种网络服务的流量服从Zipfian分布,具有不同的参数z,通过预先的流统计,获得每种网络服务的参数z ; 根据参数z将sketch划分成若干个sketch分区,每个分区用于处理不同类型网络服务的流量; 每个sketch分区采用CU算法进行实时流量分析; 对sketch划分可采用以下任一方法: 1)按w 将 sketch 划分为 P (w)-CU,其中,
9.如权利要求6或8所述的方法,其特征在于,所述CU算法的步骤包括: 设定计数器的初始值为0,统计对象随时间累积变化的数据量气(O为:
at (t) = at (t-1) +ct (t) 上式中,ai(t)为t时刻的累积变化数据量%α_1)为t-Ι时刻的累积变化数据量;i是统计对象;Ci (t)为数据包的流量大小; 用矩阵CM来表示dXw个计数器,通过d个哈希函数来完成数据项的投影操作,其中,h组将数据包中的数据项映射到[w],而c组将数据包中的数据项映射到{_1,+1},对于数据包中的每个数据项i按照下述公式计算更新CM中的相应计数器:
【文档编号】H04L12/24GK103647670SQ201310710732
【公开日】2014年3月19日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】刘驰, 樊骏, 丁刚毅 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1