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

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

Info

Publication number
CN103647670A
CN103647670A CN201310710732.5A CN201310710732A CN103647670A CN 103647670 A CN103647670 A CN 103647670A CN 201310710732 A CN201310710732 A CN 201310710732A CN 103647670 A CN103647670 A CN 103647670A
Authority
CN
China
Prior art keywords
sketch
algorithm
packet
statistics
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310710732.5A
Other languages
English (en)
Other versions
CN103647670B (zh
Inventor
刘驰
樊骏
丁刚毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201310710732.5A priority Critical patent/CN103647670B/zh
Publication of CN103647670A publication Critical patent/CN103647670A/zh
Application granted granted Critical
Publication of CN103647670B publication Critical patent/CN103647670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种基于sketch的数据中心网络流量分析方法,该方法包括如下步骤:实时或离线接收网络流量统计数据包;根据解析后的网络流量统计数据包的头信息来确定数据包的流量大小,作为sketch的输入;基于sketch进行实时流量分析。本发明对已有基于sketch的流量统计算法进行了创新,提出了基于概率选择的sketch算法,依据概率对CM及CU算法进行选择;提出了分区sketch算法,可在处理不同类型网络流量时对sketch进行分区,该方法在提高准确率的同时,降低了复杂度;此外,本发明通过实时滑动平均算法将更新信息加入到以比率进行折扣后的信息中,该实时滑动方法对越旧的信息被折扣的越多,不但可以节省空间,还可记录到流量的突变情况。

Description

一种基于sketch的数据中心网络流量分析方法
技术领域
本发明属于网络技术领域,具体涉及一种基于sketch的数据中心网络流量分析方法。
背景技术
随着网络的应用越来越广泛,网络规模也日渐增长,网络中承载的业务也越来越丰富。企业需要及时的了解到网络中承载的业务,掌握网络流量特征、网络用户特征,以便使网络带宽配置最优化,并及时解决网络性能问题。通过对网络流量的分析,可以帮助企业了解内部网络的运行状况,及时发现并解决网络中的性能瓶颈问题、网络异常现象,也能方便企业进行网络优化、网络设备投资、网络带宽优化等的参考,并方便网络管理员及时解决网络异常问题。
数据中心网络具有动态性、高速性和海量性的流量特点,如何高效、准确地监控数据流量,以发现可能存在的拥塞是网络技术的重要任务。传统的解决方案有下述几种方法:
1)基于数据库查询的方法:数据流以“键值对”的形式存储,但是具有无法满足实时分析与响应,可扩展性差的局限性;
2)基于计数器的算法:采用一维数组的数据结构,但是具有可统计的项目数有限,无法对任意数据流提供统计信息的局限性,现有算法有Lossy Counting,Space Saving;
3)基于sketch的算法:采用二维数组的数据结构,虽然能够提供一段时间内针对任意流的统计数据,但是具有复杂度和统计准确率难以权衡的局限性,现有算法有Count-MinSketch(CM),Count-Min Sketch with Conservative Update(CU);
综上,上述各技术均不是分析网络流量的优选,为此,本发明对已有的基于sketch的流量统计算法进行了创新,在提高准确率的同时,还降低了复杂度。
发明内容
为了克服现有技术的上述缺陷,本发明的目的在于提出一种高效、准确的基于sketch的数据中心网络流量分析方法。
为此,本发明是通过如下技术方案实现的:
一种基于sketch的数据中心网络流量分析方法,包括如下步骤:
实时或离线接收网络流量统计数据包;
根据解析后的网络流量统计数据包的头信息来确定数据包的流量大小,作为sketch的输入;
基于sketch进行实时流量分析。
进一步地,该方法还包括如下步骤:
执行sketch基于窗口和信息折扣率的方法来统计历史流量信息。
进一步地,统计历史流量信息的步骤包括:
将sketch中存储的信息通过下式的信息折扣率进行折扣:
γ = 1 - L T ∈ ( 0,1 )
上式中,L表示滑动速度,即统计历史流量信息的间隔时间;T表示滑动窗口大小,即历史时间段;L<T;
将更新信息加入到整合后的信息中;
每隔时间L报告统计过去T时段内的流量信息。
进一步地,所述确定网络流量统计数据包的流量大小的方法包括:
所述解析后的网络流量统计数据包的头信息包括源、目的IP地址,源、目的MAC地址和源、目的端口信息,根据需求选择头信息中的任一种作为统计对象;
各个数据包按统计对象随时间累积的数据量即为相应数据包的流量大小,作为sketch的输入,即用下式表示
Figure BDA0000442634050000022
其中,每个元素ai(t)表示统计对象(该统计对象可以是源、目的IP地址,或者是源、目的MAC地址,或者是源、目的端口信息)i在t时刻累积的数据量。
进一步地,所述sketch由d个哈希表组成,每个哈希表包括w个桶,共有d×w个计数器。
进一步地,所述进行实时流量分析的步骤包括:
依据设定的概率值来选择采用CM算法或CU算法进行实时流量分析;
当概率值为α时,采用CU算法;当概率值为1-α时,采用CM算法,其中,0<α<=1。
进一步地,所述CM算法的步骤包括:
设定计数器的初始值为0,统计对象随时间累积变化的数据量
Figure BDA0000442634050000023
为:
ai(t)=ai(t-1)+ct(t)
上式中,ai(t)为统计对象在t时刻的累积变化数据量;ai(t-1)为统计对象在t-1时刻的累积变化数据量;i是统计对象;ci(t)为数据包的流量大小;
用矩阵CM来表示d×w个计数器,通过d个哈希函数来完成数据项的投影操作,其中,h组将数据包中的数据项映射到[w],而c组将数据包中的数据项映射到{-1,+1},对于数据包中的每个数据项it按照下述公式计算更新CM中的相应计数器:
CMt+1[j,hj(ai(t))]=CMt[j,hj(ai(t))]+ci(t)
上式中,j为sketch的行号,hj(ai(t)为sketch的列号,j=1,2……,d,i=1,2……,m;ci(t)为数据包的流量大小;
按照下式取各IP对随时间累积的数据量的最小值作为估计值,以用于对网络流量的实时查询:
a &OverBar; ^ ( t ) = [ a ^ 1 ( t ) , . . . , a ^ i ( t ) , . . . , a ^ m ( t ) ] ;
a ^ i ( t ) = min j = 1,2 , . . . , d C M t [ j , h j ( a i ( t ) ) ] ;
式中,i=1,2,…,m,
Figure BDA0000442634050000033
为统计对象在t时刻累积的数据量的最小值。
进一步地,所述进行实时流量分析的步骤包括:
每种网络服务的流量服从Zipfian分布,具有不同的参数z,通过预先的流统计,获得每种网络服务的参数z;
根据参数z将sketch划分成若干个sketch分区,每个分区用于处理不同类型网络服务的流量;
每个sketch分区采用CU算法进行实时流量分析;
对sketch划分可采用以下任一方法:
1)按w将sketch划分为P(w)-CU,其中,
Figure BDA0000442634050000034
2)按d将sketch划分为P(d)-CU,其中,
Figure BDA0000442634050000035
进一步地,所述CU算法的步骤包括:
设定计数器的初始值为0,统计对象随时间累积变化的数据量为:
ai(t)=ai(t-1)+ct(t)
上式中,ai(t)为统计对象在t时刻的累积变化数据量;ai(t-1)为统计对象在t-1时刻的累积变化数据量;i是统计对象;ci(t)为数据包的流量大小;
用矩阵CM来表示d×w个计数器,通过d个哈希函数来完成数据项的投影操作,其中,h组将数据包中的数据项映射到[w],而c组将数据包中的数据项映射到{-1,+1},对于数据包中的每个数据项it按照下述公式计算更新CM中的相应计数器:
CM t + 1 [ j , h j ( a t ( t ) ) ] = max ( CM t [ j , h j ( a i ( t ) ) ] , a ^ i ( t ) + c i ( t ) ) ;
其中,j为sketch的行号,hj(ai(t))为sketch的列号,j=1,2……,d,i=1,2……,m;
Figure BDA0000442634050000043
为该IP对在t时刻累积的数据量的最小值;ci(t)为数据包的流量大小。
与现有技术相比,本发明达到的有益效果是:
1)本发明中对已有基于sketch的流量统计算法进行了创新,既可依据概率选择采用CM或CU算法,又可在处理不同类型网络流量时对sketch进行分区,该方法在提高准确率的同时,降低了复杂度,可根据网络流量的类型,合理利用有限的存储空间,有限的时间与空间复杂度条件下,提供低错误率的流量统计;
2)本发明通过实时滑动平均算法将更新信息加入到以比率进行折扣后的信息中,该实时滑动方法对越旧的信息被折扣的越多,不但可以节省空间,还可记录到流量的突变情况。
3)本发明支持可定制化应用;还可与现有的sflow协议集成,提供实时或线下(历史)流量分析与统计。
附图说明
图1是本发明基于sketch的数据中心网络流量分析方法中针对概率CU算法的一种系统架构图;
图2是本发明基于sketch的数据中心网络流量分析方法中针对分区CU算法的另一种系统架构图;
图3是P(d)-CU算法的一个例子,其中图(3a)是更新之前的sketch,图(3b)是更新之后的sketch;
图4是ARE和每秒钟的更新量VS.SS、P(d)-CU和P(ω)-CU算法的宽度,其中图(4a)是ARE VS.宽度,横坐标表示宽度,纵坐标表示平均相对误差(单位为%);图(4b)是每秒钟的更新量VS.宽度,横坐标表示宽度,纵坐标表示更新量(单位为秒);
图5是ARE和计算时间VS.α-CU的sketch深度和宽度,其中图(5a)是ARE和计算时间VS.深度,横坐标表示深度;图(5b)是ARE和计算时间VS.宽度,横坐标表示宽度;图(5a)和(5b)的左侧纵坐标均表示平均相对误差(单位为%),右侧纵坐标均表示更新量(单位为秒)
图6是ARE和计算时间VS.sketch采用P(d)-CU和P(ω)-CU算法的深度和宽度,其中图(6a)是ARE和计算时间VS.深度,横坐标表示深度,纵坐标表示平均相对误差(单位为%);图(6b)是ARE和计算时间VS.宽度,横坐标表示宽度,纵坐标表示更新量(单位为秒);
图7是实时滑动平均的滑动窗口大小为300s、滑动速度分别为100s和10s时的流量,其中图(7a)是滑动速度L为100s时的流量;图(7b)是滑动速度L为10s时的流量;图(7a)和(7b)横坐标表示时间,纵坐标表示流量,abrupt change为突变曲线,slow change为缓变曲线。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步的详细说明。
本例中提出了一种基于sketch的数据中心网络流量分析方法,该方法所采用的系统架构如图1所示,该系统包括:
sflow代理,用于捕获网络数据包并实时发送至缓存;
CSV文件,用于记录一段时间内的网络数据包并离线发送给缓存;
缓存,用于从sflow代理或CSV文件处接收网络数据包;
头分析器,用于解析网络数据包的头信息,该头信息包括源、目的IP地址,源、目的mac地址和源、目的端口信息;以及
更新分析单元,用于对网络数据包进行实时流量分析,还可用于统计网络数据包的历史流量信息;
其中,更新分析单元采用sketch,该sketch由d个哈希表组成,每个哈希表包括w个桶,共有d×w个计数器,即:w为sketch的宽度,d为sketch的深度。
本例中提供了一种基于sketch的数据中心网络流量分析方法,该方法利用图1中的系统并通过如下步骤完成:
步骤一、从sflow代理或CSV文件处接收网络数据包,并且将网络数据包存储在缓存中;
步骤二、解析网络流量统计数据包中的头信息,以确定数据包的流量大小,作为sketch的输入;;
步骤三、基于sketch进行实时流量分析。
当需要统计历史流量信息时,本例中的方法还可通过下述步骤对历史流量进行分析:
步骤四、执行sketch基于窗口和信息折扣率的方法来统计历史流量信息。
下面对步骤二的具体方法进行详细阐述:
首先,利用头分析器解析出数据包中的头信息;对sflow数据包的头信息进行解析,可以得到源、目的IP地址,也可以得到源、目的MAC地址,也可以得到源、目的端口信息。根据需求的不同,可以提取不同的信息。如果要根据源、目的IP对数据流量进行统计,那么这里就提取源、目的IP地址;如果要根据源、目的MAC地址对数据流量进行统计,那么这里就提取源、目的MAC地址;如果要根据端口信息对数据流量进行统计,那么这里就提取源、目的端口信息。本例中以根据源、目的IP地址对数据流量进行统计为例加以说明。
然后,将所提取头信息随时间累积的数据量作为sketch的输入,即用下式表示
Figure BDA0000442634050000061
其中,每个元素ai(t)表示IP对i在t时刻累积的数据量;
本例中的步骤三,基于sketch对数据包网络流量进行实时流量分析可以采用两种方案:
1)其中之一是概率CU算法(即α-CU算法),该算法以概率的形式折中CM、CU算法的复杂度与性能,可以应用在如图1所示的系统中,该算法的详细方案如下:
我们使用参数α∈(0,1]表示在CM和CU算法之间进行切换的概率。当有新的流量统计数据包到达,需要更新sketch的时候,我们通过执行随机测试来决定采用CU还是CM算法。此改进方法称为“α-CU”算法。CU和CM的选择是基于均匀分布的随机变量,它的实现没有对CM和CU的实施增添额外代价。其中,当α=1时,α-CU算法就是CU算法。α越小,采用CM算法的概率就越大。因此,CM和CU算法的统计错误率和时间复杂度通过概率α,实现了一定程度的折中。
2)另一种方案是分区CU算法,该算法结合可统计出的不同网络流量服从的Zipfian分布,对不同类型的网络流量应用不同大小的sketch。
当应用该分区CU算法时,整个分析方法所应用的系统如图2所示,其结构与图1基本相同,唯一区别之处在于,图2所示系统中新增一调度单元和一聚合器,在sflow代理(或CSV文件)与缓存之间增加一调度单元,由于分区CU算法中需要将原始sketch分成若干sketch分区,因此,将sflow代理实时捕获或者通过CSV文件离线记录的各种网络服务类型的数据包,通过调度单元存入相对应网络类型的缓存中,针对每一种网络服务类型配备一套专用装置,包括对应的缓存、头分析器和更新分析单元,每套专用装置的结构和处理方式均与图1所示系统基本相同,每个更新分析单元均通过一聚合器输出流量数据。
与CU算法相比,虽然α-CU算法可以减少时间复杂度,CM算法的采用却造成了统计错误率的上升。此外,它并没有为不同类型的网络流量分配不同大小的sketch空间。在处理不同类型的网络流量时,为了达到相同的统计错误率,需要使用不同大小的sketch。我们改善的目标是既降低算法的时间复杂度,又降低算法的流量统计误差。提出该分区详细方案如下:
首先,每种网络服务的流量服从Zipfian分布,具有不同的参数z,通过预先的流统计,获得每种网络服务的参数z;
其次,根据参数z将sketch划分成若干个sketch分区,每个分区用于处理不同类型网络服务的流量;
最后,每个sketch分区采用CU算法进行实时流量分析;
对于每一类型的网络服务,分区CU算法通过设置不同大小的sketch来降低计算复杂度,而同时又保证每一个sketch的低误差率。sketch的分割方法有两种,可以沿水平或垂直方向进行分割,同时保持另一方向的长度不变,即“P(d)-CU”和“P(w)-CU”算法。为了准确进行比较,我们保证sketch在分割前后占用相同大小的内存空间。w和d分别表示分割前sketch宽度和深度。分割方法可表示成:
1)P(w)-CU,按w将sketch划分,其中,
2)P(d)-CU,按d将sketch划分,其中,
Figure BDA0000442634050000072
图3给出了P(d)-CU的一个例子。假设整个sketch的宽度w=7,深度d=6,划分为K=3个的小sketch,分别用来统计HTTP流量、DNS流量以及其他网络流量,深度分别为2行、1行和3行。不同流量所使用的sketch大小是由其zipfan分布参数确定的,其大小与参数z成反比。如图3所示,每个sketch均采用CU算法进行更新。
本例中的P(d)-CU的时间复杂度远远低于CU,见下式:
2 nd = 2 &Sigma; k = 1 K n k d k + 2 &Sigma; k = 1 K n k ( d - d k ) > > 2 &Sigma; k = 1 K n k d k .
将宽度为w、深度为d的CU sketch划分为K个sketch,当n个数据包被均等划分到K个sketch中时,可达到最小的时间复杂度而且与sketch的划分方式无关。随着K增大,P(d)-CU可进一步降低时间复杂度,进而优于CM算法。P(w)-CU的时间复杂度与CU相同,此处不再单独举例说明。
步骤四中采用实时滑动平均方法来统计历史流量数据,该方法的目的是每隔时间L报告统计过去T时段内的流量信息。L表示滑动速度,即统计历史流量信息的间隔时间;T表示滑动窗口大小,即历史时间段;L<T,即滑动速度的大小小于滑动窗口的大小。数据中心网络中典型的应用场景有:每隔10秒报告一次结果,包括过去300秒内的流量统计信息。
传统方法是使用个相同大小的sketch,也就是说,每个sketch在L时间段内的流量数据数据。每隔时间L移动一次窗口,即丢弃最旧单元的流信息,并用其记录最新的流信息,同时,所有其他
Figure BDA0000442634050000082
sketch保持不变。报告结果时,将所有单元的信息进行整合。这种方法虽然简单而准确,但缺点是占用巨大存储空间,并且需对不同sketch的信息进行整合、排序等操作,代价较大。
本发明的步骤四不采用多个sketch,仅用一个sketch通过实时滑动平均方法即可实现历史流量信息的统计。该sketch即可以采用P(d)‐CU算法,也可以采用概率CU算法或PPww‐CU分区算法。方案如下:
每隔时间L,首先将sketch中存储的信息通过下式的信息折扣率进行折扣,
&gamma; = 1 - L T &Element; ( 0,1 )
然后,将待更新信息加入到整合后的信息中;
同时,每隔时间L报告统计过去T时段内的流量信息。
其中,L越小γ越大,表示较低的历史遗忘速率;T越小γ越小,表示较高的历史遗忘速率。从另一个角度来看,这种符合指数规律的折扣方法,使得越老的数据被折扣的次数越多,越新的数据被折扣的次数越少,从而使历史数据统计能够缓慢变化,进而能够有效地捕捉网络流量的突变。
下面对本例中的方法进行性能评估:
1)现有网络流量统计技术
首先对CM,CU和SS(Space Saving)算法的平均相对误差ARE(average relative error)和流量统计更新速率进行评估。SS是基于计数器的算法中性能最好的算法之一,采用一维数组作为存储结构。为了准确比较,SS算法采用长度为L=w*d的一维数组,而CM和CU使用二维数组大小为的(w,d)。如图(4a)所示,SS算法的统计错误率略优于CM算法,而CU算法则达到了最低的统计错误率。随着sketch大小的增加,CU的这种优势逐渐减小,但仍然在三者中表现最好。当w=2,500时,三种算法几乎成功地实现了0%的ARE。此外,当sketch深度的增加,ARE降低。例如,当w=512深度增加一倍时,CM算法的ARE可以减半。因此,在现有的流量算法中,CU的错误性能是最好的。图(4b)表示了每秒处理的更新数量随sketch大小的变化趋势。可以观察到,宽度的增加并不影响CM和CU的处理速度,但对于SS而言却降低了处理速度。总之,CM的计算时间最少,其次是CU和SS。
2)改进的CU算法(包括概率CU算法和分区CU算法)
首先验证所提出的α-CU算法在时间复杂度和统计错误率ARE上的性能,改变α的值以及sketch的大小。在图(5a)中,保持sketch深度不变,将α加从0.1增加到1.0,可以看出,随着CU算法采用率的提高,ARE下降了20%。与此同时,随着sketch深度增加,误差也减少了。当d=33时,ARE值可低至1.5%。对于时间复杂度,每当α增加30%,处理所有的更新所需的时间约增加16%,因此证实了CM和CU算法在时间和误差性能之间的折衷。图(5b)显示了不同sketch宽度的结果,它证实了ω宽度与计算时间没有关系,同时随着宽度的增加,hash碰撞的概率降低,进而ARE降低。
下面验证分区CU算法的性能。使用TCP端口号来区分HTTP和DNS数据包,基于Zipfian分布设置不同类型流量所采用的sketch大小(其中的ZHTTP=1.53,ZDNS=1.93,Zothers=1.02,适合系数0.95),其大小与z参数成反比。将sketch划分成三个小sketch,其深度之比为3:2:4,分别用于统计HTTP流量、DNS流量以及所有其他流量之间。
图(6a)表示了ARE和计算时间与sketch的深度的关系,设置w为一常数8,192。可以看出,与CU比,当d=12时,P(d)-CU成功将估计误差减少了50%,当d增加时,这种效应持续持降低至0%。P(w)-CU的曲线进一步证实了水平分割sketch并不会降低统计错误率。至于时间复杂度,P(d)-CU要比CU优越,而且非常接近CM算法。这说明当d增加和d=36时,复杂度降低可以达到18%。从总体上看,四个算法的时间复杂度符合严格的线性关系,显示了给定sketch大小下性能良好的可扩展性。图(6b)表示了改变sketch宽度带来的影响。对所有四个方法而言,较大的sketch宽度将减少ARE值;与CM比,P(d)-CU总是达到最好的误差性能和良好的时间复杂度。与CM比,P(d)-CU总能获得最好的误差性能和好的时间复杂度。此外,我们还发现,设置w=2,560,用P(d)-CU处理总数据量的70%和35%时,仅需要52%和17%的计算时间。这表明,在减少数据量所带来的时间性能提升之外,P(d)-CU算法本身还可将耗时减少18%。
3)实时平均滑动
最后,我们选择一些特定的IP对,比较实时滑动平均的统计结果与来自数据库查询的精确值。设置窗口大小T=300s,滑动速度L={100,10}s,采用P(d)-CU算法。图(7a)显示当L=100s,即γ=0.67时,实时滑动平均的估计值成功地跟踪了网络流量缓慢变化时的确切值。可以看出,由于折扣统计中的历史数据造成的影响,当网络流量发生突然变化时,相对于精确值,实时滑动平均的估计值的变化轨迹出现了一定程度的延迟。图(7b)显示了结果当l=10s,即γ=0.97时的效果,由于窗口滑动较慢,曲线的变化更为精细。从图中可以看出所提出的滑动平均方法也成功地追踪到了网络流量发生突变,而且具有满意的时间响应。需要指出的是,滑动平均方法对流量进行预估的时间复杂度,明显低于使用数据库进行查询的方法。
最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,这些变更、修改或者等同替换,其均在其申请待批的权利要求范围之内。

Claims (9)

1.一种基于sketch的数据中心网络流量分析方法,其特征在于,该方法包括如下步骤: 
实时或离线接收网络流量统计数据包; 
根据解析后的网络流量统计数据包的头信息来确定数据包的流量大小,作为sketch的输入; 
基于sketch进行实时流量分析。 
2.如权利要求1所述的方法,其特征在于,进一步包括: 
执行sketch基于窗口和信息折扣率的方法来统计历史流量信息。 
3.如权利要求2所述的方法,其特征在于,统计历史流量信息的步骤包括: 
将sketch存储的信息通过下式的信息折扣率进行折扣: 
Figure FDA0000442634040000011
上式中,L<T;L表示滑动速度,即统计历史流量信息的间隔时间;T表示滑动窗口大小,即历史时间段; 
将待更新信息加入到整合后的信息中; 
每隔时间L报告统计过去T时段内的流量信息。 
4.如权利要求1所述的方法,其特征在于,所述确定网络流量统计数据包的流量大小的方法包括: 
所述解析后的网络流量统计数据包的头信息包括源、目的IP地址,源、目的MAC地址和源、目的端口信息,根据需求选择头信息中的任一种作为统计对象; 
各个数据包按统计对象随时间累积的数据量即为相应数据包的流量大小,作为sketch的输入,即用下式表示
Figure FDA0000442634040000012
其中,每个元素ai(t)表示统计对象i在t时刻累积的数据量。 
5.如权利要求1所述的方法,其特征在于,所述sketch由d个哈希表组成,每个哈希表包括w个桶,共有d×w个计数器。 
6.如权利要求5所述的方法,其特征在于,所述进行实时流量分析的步骤包括: 
依据设定的概率值来选择采用CM算法或CU算法进行实时流量分析; 
当概率值为α时,采用CU算法;当概率值为1-α时,采用CM算法,其中,0<α<=1。 
7.如权利要求6所述的方法,其特征在于,所述CM算法的步骤包括: 
设定计数器的初始值为0,统计对象随时间累积变化的数据量ai(t)为: 
ai(t)=ai(t-1)+ct(t) 
上式中,ai(t)为统计对象在t时刻的累积变化数据量;ai(t-1)为统计对象在t-1时刻的累积变化数据量;i是统计对象;ct(t)为数据包的流量大小; 
用矩阵CM来表示d×w个计数器,通过d个哈希函数来完成数据项的投影操作,其中,h组将数据包中的数据项映射到[w],而c组将数据包中的数据项映射到{-1,+1},对于数据包中的每个数据项i按照下述公式计算更新CM中的相应计数器: 
CMt+1[j,hj(ai(t))]=CMt[j,hj(ai(t))]+ci(t) 
上式中,j为sketch的行号,hj(ai(t)为sketch的列号,j=1,2……,d,i=1,2……,m;ci(t)为数据包的流量大小; 
按照下式取各统计对象随时间累积的数据量的最小值作为估计值,以用于对网络流量的实时查询: 
Figure FDA0000442634040000021
Figure FDA0000442634040000022
式中,i=1,2,…,m,
Figure FDA0000442634040000023
为统计对象i在t时刻累积的数据量的最小值。 
8.如权利要求5所述的方法,其特征在于,所述进行实时流量分析的步骤包括: 
每种网络服务的流量服从Zipfian分布,具有不同的参数z,通过预先的流统计,获得每种网络服务的参数z; 
根据参数z将sketch划分成若干个sketch分区,每个分区用于处理不同类型网络服务的流量; 
每个sketch分区采用CU算法进行实时流量分析; 
对sketch划分可采用以下任一方法: 
1)按w将sketch划分为P(w)-CU,其中,
Figure FDA0000442634040000024
2)按d将sketch划分为P(d)-CU,其中, 
Figure 20131071073251000011
9.如权利要求6或8所述的方法,其特征在于,所述CU算法的步骤包括: 
设定计数器的初始值为0,统计对象随时间累积变化的数据量为: 
ai(t)=ai(t-1)+ct(t) 
上式中,ai(t)为t时刻的累积变化数据量;ai(t-1)为t-1时刻的累积变化数据量;i是统 计对象;ci(t)为数据包的流量大小; 
用矩阵CM来表示d×w个计数器,通过d个哈希函数来完成数据项的投影操作,其中,h组将数据包中的数据项映射到[w],而c组将数据包中的数据项映射到{-1,+1},对于数据包中的每个数据项i按照下述公式计算更新CM中的相应计数器: 
Figure FDA0000442634040000031
其中,
Figure FDA0000442634040000032
j为sketch的行号,hj(ai(t))为sketch的列号,j=1,2……,d,i=1,2……,m;
Figure FDA0000442634040000033
为统计对象i在t时刻累积的数据量的最小值;ci(t)为数据包的流量大小。 
CN201310710732.5A 2013-12-20 2013-12-20 一种基于sketch的数据中心网络流量分析方法 Active CN103647670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310710732.5A CN103647670B (zh) 2013-12-20 2013-12-20 一种基于sketch的数据中心网络流量分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310710732.5A CN103647670B (zh) 2013-12-20 2013-12-20 一种基于sketch的数据中心网络流量分析方法

Publications (2)

Publication Number Publication Date
CN103647670A true CN103647670A (zh) 2014-03-19
CN103647670B CN103647670B (zh) 2017-12-26

Family

ID=50252831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310710732.5A Active CN103647670B (zh) 2013-12-20 2013-12-20 一种基于sketch的数据中心网络流量分析方法

Country Status (1)

Country Link
CN (1) CN103647670B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657450A (zh) * 2015-02-05 2015-05-27 中国科学院信息工程研究所 面向大数据环境的概要信息动态构建与查询方法及装置
CN107566206A (zh) * 2017-08-04 2018-01-09 华为技术有限公司 一种流量测量方法、设备及系统
CN108304409A (zh) * 2017-01-13 2018-07-20 北京大学 一种基于进位的Sketch数据结构的数据频度估计方法
CN109889366A (zh) * 2019-01-04 2019-06-14 烽火通信科技股份有限公司 网络流量增量统计、分析方法及系统
WO2020020098A1 (zh) * 2018-07-27 2020-01-30 华为技术有限公司 网络流测量的方法、网络测量设备以及控制面设备
CN111835599A (zh) * 2020-08-05 2020-10-27 中国人民解放军国防科技大学 一种基于SketchLearn的混合网络测量方法、装置及介质
CN111970176A (zh) * 2020-10-21 2020-11-20 中国人民解放军国防科技大学 用于IPv4和IPv6双栈网络的数据摘要方法及设备
CN112134738A (zh) * 2020-09-24 2020-12-25 中电科仪器仪表有限公司 基于复合二维Sketch的网络多维度数据流仿真装置
CN112671611A (zh) * 2020-12-23 2021-04-16 清华大学 基于sketch的大流检测方法和装置
CN112688837A (zh) * 2021-03-17 2021-04-20 中国人民解放军国防科技大学 基于时间滑动窗口的网络测量方法与装置
CN112787950A (zh) * 2021-01-28 2021-05-11 西安交通大学 一种公平网络流量管控方法及装置
CN113297430A (zh) * 2021-05-28 2021-08-24 北京大学 基于Sketch的高性能任意部分键测量方法和系统
CN114339829A (zh) * 2021-12-10 2022-04-12 清华大学 一种基于丢包类型识别的吞吐补偿方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138642A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Event correlation system and method for monitoring resources
US20110196964A1 (en) * 2008-10-14 2011-08-11 Srikanth Natarajan Managing event traffic in a network system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138642A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Event correlation system and method for monitoring resources
US20110196964A1 (en) * 2008-10-14 2011-08-11 Srikanth Natarajan Managing event traffic in a network system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
常淑影: "基于流监测的网络流量异常检测算法研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李中魁: "基于动态阈值的网络流量异常检测方法研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657450B (zh) * 2015-02-05 2018-09-25 中国科学院信息工程研究所 面向大数据环境的概要信息动态构建与查询方法及装置
CN104657450A (zh) * 2015-02-05 2015-05-27 中国科学院信息工程研究所 面向大数据环境的概要信息动态构建与查询方法及装置
CN108304409B (zh) * 2017-01-13 2021-11-16 北京大学 一种基于进位的Sketch数据结构的数据频度估计方法
CN108304409A (zh) * 2017-01-13 2018-07-20 北京大学 一种基于进位的Sketch数据结构的数据频度估计方法
CN107566206A (zh) * 2017-08-04 2018-01-09 华为技术有限公司 一种流量测量方法、设备及系统
WO2019024623A1 (zh) * 2017-08-04 2019-02-07 华为技术有限公司 一种流量测量方法、设备及系统
US11228513B2 (en) 2017-08-04 2022-01-18 Huawei Technologies Co., Ltd. Traffic measurement method, device, and system
KR102337092B1 (ko) * 2017-08-04 2021-12-07 후아웨이 테크놀러지 컴퍼니 리미티드 트래픽 측정 방법, 장치, 및 시스템
KR20200028477A (ko) * 2017-08-04 2020-03-16 후아웨이 테크놀러지 컴퍼니 리미티드 트래픽 측정 방법, 장치, 및 시스템
CN107566206B (zh) * 2017-08-04 2020-09-04 华为技术有限公司 一种流量测量方法、设备及系统
CN110768856A (zh) * 2018-07-27 2020-02-07 华为技术有限公司 网络流测量的方法、网络测量设备以及控制面设备
CN110768856B (zh) * 2018-07-27 2022-01-14 华为技术有限公司 网络流测量的方法、网络测量设备以及控制面设备
WO2020020098A1 (zh) * 2018-07-27 2020-01-30 华为技术有限公司 网络流测量的方法、网络测量设备以及控制面设备
US11706114B2 (en) 2018-07-27 2023-07-18 Huawei Technologies Co., Ltd. Network flow measurement method, network measurement device, and control plane device
CN109889366A (zh) * 2019-01-04 2019-06-14 烽火通信科技股份有限公司 网络流量增量统计、分析方法及系统
CN111835599A (zh) * 2020-08-05 2020-10-27 中国人民解放军国防科技大学 一种基于SketchLearn的混合网络测量方法、装置及介质
CN111835599B (zh) * 2020-08-05 2022-03-22 中国人民解放军国防科技大学 一种基于SketchLearn的混合网络测量方法、装置及介质
CN112134738A (zh) * 2020-09-24 2020-12-25 中电科仪器仪表有限公司 基于复合二维Sketch的网络多维度数据流仿真装置
CN112134738B (zh) * 2020-09-24 2023-03-24 中电科思仪科技股份有限公司 基于复合二维Sketch的网络多维度数据流仿真装置
CN111970176A (zh) * 2020-10-21 2020-11-20 中国人民解放军国防科技大学 用于IPv4和IPv6双栈网络的数据摘要方法及设备
CN111970176B (zh) * 2020-10-21 2021-01-15 中国人民解放军国防科技大学 用于IPv4和IPv6双栈网络的数据摘要方法及设备
CN112671611A (zh) * 2020-12-23 2021-04-16 清华大学 基于sketch的大流检测方法和装置
CN112671611B (zh) * 2020-12-23 2023-01-31 清华大学 基于sketch的大流检测方法和装置
CN112787950A (zh) * 2021-01-28 2021-05-11 西安交通大学 一种公平网络流量管控方法及装置
CN112787950B (zh) * 2021-01-28 2022-07-12 西安交通大学 一种公平网络流量管控方法及装置
CN112688837A (zh) * 2021-03-17 2021-04-20 中国人民解放军国防科技大学 基于时间滑动窗口的网络测量方法与装置
CN113297430B (zh) * 2021-05-28 2022-08-05 北京大学 基于Sketch的高性能任意部分键测量方法和系统
CN113297430A (zh) * 2021-05-28 2021-08-24 北京大学 基于Sketch的高性能任意部分键测量方法和系统
CN114339829A (zh) * 2021-12-10 2022-04-12 清华大学 一种基于丢包类型识别的吞吐补偿方法和装置
CN114339829B (zh) * 2021-12-10 2024-04-19 清华大学 一种基于丢包类型识别的吞吐补偿方法和装置

Also Published As

Publication number Publication date
CN103647670B (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
CN103647670A (zh) 一种基于sketch的数据中心网络流量分析方法
JP7039685B2 (ja) トラフィック測定方法、デバイス、およびシステム
Estan et al. New directions in traffic measurement and accounting
CN102130800B (zh) 基于数据流行为分析的网络访问异常检测装置及方法
US8028055B2 (en) Optimal combination of sampled measurements
US20100054128A1 (en) Near Real-Time Alerting of IP Traffic Flow to Subscribers
CN113132180B (zh) 一种面向可编程网络的协作式大流检测方法
Zhuang et al. Data collection with accuracy-aware congestion control in sensor networks
CN108293200B (zh) 设备吞吐量确定
CN112688837B (zh) 基于时间滑动窗口的网络测量方法与装置
CN115102907B (zh) 一种基于小流过滤的活跃大流精确识别方法和系统
US20190288930A1 (en) Delay measurement method of network node device, apparatus, and network node device
CN116055362A (zh) 基于时间窗口的两级哈希-Sketch网络流量测量方法
CN111641531B (zh) 一种基于dpdk的数据包分发和特征提取方法
Canini et al. Per flow packet sampling for high-speed network monitoring
Zhang et al. Identifying elephant flows in internet backbone traffic with bloom filters and LRU
CN109952743B (zh) 用于低内存和低流量开销大流量对象检测的系统和方法
Wu et al. A novel call admission control policy using mobility prediction and throttle mechanism for supporting QoS in wireless cellular networks
CN102893654B (zh) 移动网络小区的拥塞检测方法和装置
Højgaard-Hansen et al. Reducing communication overhead by scheduling tcp transfers on mobile devices using wireless network performance maps
US10812601B2 (en) Method and system for signaling and radio connection optimization over a cellular network
CN115426201B (zh) 一种面向网络靶场的数据采集方法和系统
KR100842213B1 (ko) 통신망 내에서 사용자의 요청 정보 예측을 통한 정보전달장치 및 방법
US7873689B2 (en) Distributed set-expression cardinality estimation
Oruganti et al. Analyzing robust active queue management schemes: a comparative study of predictors and controllers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant