CN109861881B - 一种基于三层Sketch架构的大象流检测方法 - Google Patents
一种基于三层Sketch架构的大象流检测方法 Download PDFInfo
- Publication number
- CN109861881B CN109861881B CN201910067412.XA CN201910067412A CN109861881B CN 109861881 B CN109861881 B CN 109861881B CN 201910067412 A CN201910067412 A CN 201910067412A CN 109861881 B CN109861881 B CN 109861881B
- Authority
- CN
- China
- Prior art keywords
- stream
- buffer layer
- vote
- sketch
- hash
- 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.)
- Active
Links
- 241000406668 Loxodonta cyclotis Species 0.000 title claims abstract description 64
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000005259 measurement Methods 0.000 claims abstract description 27
- 238000003780 insertion Methods 0.000 claims description 35
- 230000037431 insertion Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 19
- 239000000284 extract Substances 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims description 5
- 238000003491 array Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 230000015654 memory Effects 0.000 abstract description 15
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000000691 measurement method Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于三层Sketch架构的大象流检测方法,属于计算机网络技术领域。本发明首先获取网络流量数据,然后对获取的实时或离线的网络流量数据进行解析,将解析得到的网络流量数据的五元组信息作为Sketch的输入。接着设计了一种三层Sketch架构,通过哈希操作和特定的置换方法,对输入的网络信息进行统计和测量。最后根据查询三层Sketch架构而得到测量结果,并将结果与预设的大象流阈值进行比较,从而实现大象流的检测任务。本发明对已有的大象流检测方法进行创新,其优势在于不增加内存消耗的情况下可以大大提高大象流检测的准确度。
Description
技术领域
本发明属于计算机网络技术领域,更具体地说,涉及一种基于三层Sketch架构的大象流检测方法。
背景技术
如今,互联网已经成为人们日常生活中不可或缺的一部分,互联网流量增长速度飞快,截至2018年,每年全球的互联网流量已达到了1.6ZB。随着网络流量的飞速增长,对网络进行有效管理变得愈发困难,其根本原因是我们无法全面的了解网络行为。因此,网络测量作为监控、认知和掌握网络行为的重要方式,引起了研究人员的广泛关注,使得网络测量成为近几年的研究热点。
在网络测量所包含的众多技术中,大象流检测属于一项关键性技术,在拥塞控制、网络容量规划、网络异常检测、故障排除和流量工程等方面有着广泛的应用。所谓大象流一般是指流大小超过给定阈值的流,或者是在测量间隔中占总网络流量百分比达到特定值的流。例如,DDos攻击之类的大规模网络异常事件往往可被视为大象流,有效的大象流检测方法便有助于网络异常的及时发现。
传统的大象流检测方法大多是基于数据包采样的。但是,数据包采样会丢失一些信息,导致大象流检测的准确度不高。一些研究表明,数据包采样不足以进行细粒度测量。最近,基于Sketch的数据流统计算法被广泛应用于网络测量,如流大小估算,大象流检测和流数量估算等。广泛使用Sketch的关键原因是,与采样方法相比Sketch具有更高的准确度。
虽然研究人员已经在Sketch方法方面做出了重大贡献,但是现有方法在实际大象流检测中依然不能有效地工作。因为当网络出现DDoS攻击,网络拥塞和扫描等问题时,现有Sketch方法的准确性会随着流量的变化而产生波动,从而显著降低大象流检测性能。
最新提出的Elastic Sketch虽然可以适应当前的流量变化,但是该方法在内存消耗和检测准确度方面仍有提升的空间。Elastic Sketch中包含heavy和light两部分,其中heavy部分存有数据包的流ID,可以准确记录流的数据包数量;light部分不记录数据包的流ID,只能粗略估计流的数据包数量。进入的数据包先通过哈希操作将信息存到heavy中,发生哈希碰撞时,根据一定的计算会将某个流从heavy部分移除,然后通过哈希操作并使用CM Sketch的增量操作方式将移除的流存到light中。若有过多的流(尤其是大流)从heavy中移除,并通过哈希操作存到light中,就会使大象流检测变得不准确。而想要提高ElasticSketch的准确度,则需要增加内存。但是大象流检测一般是依附于交换机、路由器等网络设备,这些网络设备上的内存是极为珍贵的资源,如果采用这种增大内存的方法来提高准确度会导致内存不足,进而影响原网络设备的功能。
综上,现有大象流检测方法仍有很大的改善空间,为此,本发明在Elastic Sketch方法基础上进行了创新,设计一种基于三层Sketch架构的大象流检测方法,可以在不需要增加内存的情况下提高大象流检测的准确度。
发明内容
为了克服上述不足,本发明提出了一种基于三层Sketch架构的大象流检测方法,目的是在不增加内存消耗的情况下提高大象流检测的准确度。为此,首先我们设计了缓冲层,缓冲层可以准确地记录流的数据包数量,同时能够很大程度地避免heavy将大流移除后存到light中,并减少访问不能准确测量的light的次数,以此来降低网络测量的误差。然后,我们提出由heavy部分,缓冲层和light部分构成的一种基于三层Sketch架构的大象流检测方法,实现在不增加内存使用的情况下提高网络测量和大象流检测的准确度。图1显示的是本发明的整体流程图。
为了达到上述目的,本发明的技术方案:
一种基于三层Sketch架构的大象流检测方法,步骤如下:
步骤一、网络流量数据采集:采集实时或离线的网络流量数据;网络流量数据包括计算机网络中数据流的特性和变化情况;
步骤二、网络数据解析:对步骤一采集的实时或离线的网络流量数据进行解析,将解析后的网络流量数据的数据包头部信息作为sketch的输入;
步骤三、Sketch构建:构建三层Sketch架构,包括heavy部分、缓冲层和light部分;通过哈希操作和置换方法,对步骤二解析后的网络流量数据进行统计和测量;
步骤四、大象流检测:根据查询步骤三得到的测量结果,实现大象流的检测。
所述步骤一中,网络流量数据采集的方法包括Tstat、WireShark。
所述步骤二中,解析方法包括:QPA、NetFlow;所述的网络流量数据的数据包头部信息为五元组,其格式为:源IP地址、源端口号、目的IP地址、目的端口号和协议。
所述步骤三中:
(1)heavy部分
heavy部分与哈希函数h(.)相关联的哈希表,heavy部分中的每个桶记录的流的信息为:流ID,vote+,vote-和标志;其中:vote+记录了属于此流的数据包数量;vote-记录了经过哈希函数h(.)匹配到这个桶的其他流的数据包的数量;标志指示了heavy部分是否曾经移除过这个流的一部分数据包;
插入过程:给定一个流ID为f的传入数据包,将其哈希到桶H[h(f)%B],其中,h(f)表示哈希函数h(.)对f进行计算得到的哈希值;%表示取余运算;B表示heavy部分中的桶数量;当f匹配f1时,则增加vote+;否则,增加vote-,并根据vote+和vote-的值决定是否驱逐f1;f1表示heavy部分的桶中原来记录的流的ID;
插入过程具体包括四种情况:
情况1:桶是空的;将(f,1,F,0)插入其中,其中F表示桶中没有流被移除;插入结束;
情况2:f=f1;只将vote+增加1;
情况3:f不等于f1;vote-加1后,当vote-<λ*vote+时,将(f,1)移除,准备插入缓冲层中;其中,λ是预定义的阈值;
情况4:f不等于f1;vote-加1后,当vote->=λ*vote+时,将流f1移除,准备插入缓冲层中;并将桶设置为(f,1,T,1)来记录流f的信息;T表示该桶中的流被移除过;因此在该情况下,标志被设置为T;
(2)缓冲层
缓冲层是一个线性哈希表,与哈希函数p(.)相关联;缓冲层中的每个桶记录每个流的流ID和该流的数据包数量count;
插入过程:对于从heavy部分收到将要传入的流ID为f的数据包以及数据包数量val;缓冲层首先要提取数据包的流ID,再将其哈希到桶B[p(f)%num],其中,p(f)表示哈希函数p(.)对f进行计算得到的哈希值;%表示取余运算;num表示缓冲层中的桶数量;具体来说,有三种情况:
情况1:桶是空的;将(f,val)插入这个桶,插入结束;
情况2:f=f8;则将count增加val;
情况3:f不等于f8;则将(f8,count)从缓冲层移除,准备插入light;然后将(f,val)记录到这个桶;该情况分为两种策略:
第一种策略:判断从缓冲层移除的流f8在heavy部分的标志,当被标记为T,则选择light部分的插入方式一;当被标记为F,则选择light部分的插入方式二;
第二种策略:除了要判断流f8在heavy部分的标志之外,还需要判断流f8的大小count是否大于预设的阈值,当count大于预设的阈值同时流f8被标记为F,则选择light部分的插入方式二;否则,将流f8以插入方式一插入light;
(3)light部分
light部分是一个CM Sketch,由d个数组(L1,L2,...,Ld)组成;每个数组与一个哈希函数相关联,并由w个计数器组成;
插入过程:对于从缓冲层收到将要传入的流ID为f的数据包以及数据包数量count;
方式一:light部分首先提取这个数据包f的流ID,再计算d个哈希函数来定位每个数组中的一个哈希计数器,然后将d个哈希计数器的值都递增count;
方式二:将d个哈希计数器的值与count进行比较,只记录较大的那个值。
所述步骤四的具体查询过程为:
(1)heavy部分的查询过程
对于不在heavy部分的流,由后面的缓冲层和light部分返回其大小;对于heavy部分的所有流f,有两种情况:1)f的标志为F,它的大小是相应的vote+,没有误差;2)f的标志是T,需要将vote+、缓冲层和light部分的查询结果相加;
(2)缓冲层的查询过程
对于不在缓冲层的流,由后面的light部分返回其大小;对于缓冲层中的所有流f,用哈希函数p(.)来定位到线性哈希表中的一个桶后,返回这个桶记录的值;
(3)light部分的查询过程
首先提取要查询的流的ID,再计算d个哈希函数来定位每个数组中的哈希计数器,获取d个哈希计数器后,返回d个哈希计数器记录的最小值;
(4)将heavy部分、缓冲层和light部分的查询结果相加作为最终的查询结果;
(5)当某个流的大小大于设定的阈值,则将这个流识别为大象流。
本方法区别于已有方法的特色在于:
(1)本发明提出了一种基于三层Sketch架构的大象流检测方法,由heavy部分,缓冲层和light部分组成。其中,缓冲层可以对流的数据包数量进行准确记录。因此,基于三层Sketch架构的大象流检测方法能够很大程度地避免heavy将大流移除后存到light中导致的测量误差。该方法可以实现在不增加内存使用的情况下提高大象流检测的准确度。而在保证相同的准确度时,本发明提出的基于三层Sketch架构的大象流检测方法,需要的内存小于现有的其他方法。
(2)当缓冲层中发生哈希碰撞时,本发明提出了两种将流从缓冲层移除并插入light部分的策略。第一种策略是判断从缓冲层移除的流是否曾在heavy部分被标记过,然后选择light部分的插入方式。第二种策略除了要进行第一种策略的判断之外,还需要判断从缓冲层移除的流的大小是否大于预设的阈值,然后再选择light部分的插入方式。与其他大象流检测方法相比,本发明中使用这两种策略的基于三层Sketch架构的大象流检测方法均能提高大象流检测的准确度。
与现有的大象流检测方法相比,本发明的有益效果为:
(1)加入缓冲层后,本发明的大象流检测方法与其他检测方法相比,在使用相同内存大小时,可以实现更高的流大小估计的准确度,进而能够有效并准确的实现大象流检测这一测量任务,可以帮助网络运营商做出正确的决策,保证网络的正常运行。
(2)与其他测量方法相比,要实现相同的大象流检测准确度,本发明的基于三层Sketch架构的大象流检测方法需要使用的内存更小。对于网络测量任务主要面向的内存很小的交换机、路由器等网络设备,本发明可以避免为了提高准确度导致这些网络设备内存不足,进而保证这些网络设备的其他功能可以正常使用。
附图说明
图1为本发明的整体流程图。
图2为本发明的基于三层Sketch架构的大象流检测方法的结构图。
具体实施方式
下面对本发明的实施方式进行详细说明。
一种基于三层Sketch架构的大象流检测方法,参照图1,具体为:
(1)网络流量数据采集
网络流量采集主要是对计算机网络中数据流的特性和变化情况进行监测和收集,以掌握整个网络的流量特性。网络流量采集不是简单地将几个网络设备端口的流量镜像发给网络测量方法,而是要建立一个覆盖全面、合理有效的流量采集网络,这样的流量采集才能为网络测量方法提供有效的、有价值的网络流量信息。网络流量数据采集中可以通过一些现有的方法和工具来采集网络流量数据。
(2)网络数据解析
首先,在该过程中,需要对从网络流量数据采集得到的实时或离线的网络流量数据进行解析,将这些网络流量数据解析后,我们可以得到网络流量的数据包头部的相关信息,即五元组,其格式为:源IP地址、源端口号、目的IP地址、目的端口号和协议。然后,将五元组信息作为Sketch的输入。
(3)Sketch构建
在本发明中,Sketch是一种基于三层Sketch架构的网络测量方法,负责为大象流检测任务提供必不可少的信息。如图2所示,Sketch由三部分组成,分别是heavy部分,缓冲层和light部分。其中:
第一部分:
heavy部分是与哈希函数h(.)相关联的哈希表。heavy部分中的每个桶记录的流的信息为:流ID,vote+,vote-和标志。其中:vote+记录了属于此流的数据包数量。vote-记录了经过哈希函数h(.)匹配到这个桶的其他流的数据包的数量。标志指示了heavy部分是否曾经移除过这个流的一部分数据包。由于heavy部分记录了流ID,可以实现准确测量。
插入过程:给定一个流ID为f的传入数据包,我们将其哈希到桶H[h(f)%B],其中B表示heavy部分中的桶数量。如果f匹配f1,增加vote+。否则,增加vote-并根据vote+和vote-的值决定是否驱逐f1。
具体来说,有四种情况:
情况1:桶是空的。将(f,1,F,0)插入其中,其中F表示桶中没有流被移除。插入结束。
情况2:f=f1。只将vote+增加1。
情况3:f不等于f1。vote-加1后,若vote-<λ*vote+(λ是预定义的阈值,例如,λ=8)。将(f,1)移除,准备插入缓冲层中。
情况4:f不等于f1。vote-加1后,若vote->=λ*vote+,将流f1移除,准备插入缓冲层中。并将桶设置为(f,1,T,1)来记录流f的信息。注意,在这种情况下,标志被设置为T(真),因为在流f被记录到heavy部分之前,可能将流f的一部分数据包传到了后面的缓冲层。
第二部分:
缓冲层是一个简单的线性哈希表,与哈希函数p(.)相关联。缓冲层中的每个桶记录每个流的流ID和该流的数据包数量(count)。缓冲层记录了流ID,可以实现准确测量。
插入过程:对于从heavy部分收到将要传入的流ID为f的数据包以及数据包数量val。缓冲层首先要提取数据包的流ID,再将其哈希到桶B[p(f)%num],其中num表示缓冲层中的桶数量。具体来说,有三种情况:
情况1:桶是空的。将(f,val)插入这个桶,插入结束。
情况2:f=f8。则将count增加val。
情况3:f不等于f8。则将(f8,count)从缓冲层移除,准备插入light。然后将(f,val)记录到这个桶。
在情况3中,分为两种策略:
第一种策略是判断从缓冲层移除的流f8在heavy部分的标志,若被标记为T,则选择light部分的插入方式一;若被标记为F,则选择light部分的插入方式二。
第二种策略除了要判断流f8在heavy部分的标志之外,还需要判断流f8的大小count是否大于预设的阈值,只有count大于预设的阈值同时流f8被标记为F,才会选择light部分的插入方式二。否则,将流f8以插入方式一插入light。
第三部分:
light部分类似于一个CM Sketch,由d个数组(L1,L2,...,Ld)组成。每个数组与一个哈希函数相关联,并由w个计数器组成。由于light部分不记录流ID,只记录计数器中的值,所以只能粗略测量,造成测量结果不准确。
插入过程:对于从缓冲层收到将要传入的流ID为f的数据包以及数据包数量count。
方式一:light部分首先提取这个数据包的流ID,再计算d个哈希函数来定位每个数组中的一个计数器,然后将d个计数器(我们称之为哈希计数器)的值都递增count。
方式二:将d个哈希计数器的值与count进行比较,只记录较大的那个值。
显而易见,根据由heavy部分,缓冲层和light部分构成的基于Sketch的网络测量方法的插入过程,可得如下结论:
1)缓冲层的存在可以显著减少网络测量过程中对只能粗略测量的light部分的插入次数。因为Elastic Sketch中所有从heavy部分移除的流的数据包,都要通过哈希操作存到light部分。而在本发明的网络测量方法中,所有从heavy部分移除的流的数据包,都会先记录在能准确测量的缓冲层中。在缓冲层中,会对同一个流的数据包进行一定程度地聚合,然后将聚合后的流插入到light部分,大大减少了对只能粗略测量的light部分的插入次数。因此测量的准确度会大大提高,进而会提高大象流检测的准确度。
例如:从heavy部分移除了8个数据包的流ID分别为:f1,f2,f3,f1,f3,f1,f2,f1。Elastic Sketch中需要更新light部分8次。加入缓冲层后,缓冲层会将8个流ID聚合成3个独特的流ID,这些流ID具有单独的聚合频率:(f1,4),(f2,2),(f3,2),然后缓冲层发生冲突后,才会将聚合结果移除到light部分。这样light部分就只发生3次更新。
2)缓冲层的存在可以避免heavy部分移除了一些大流而造成测量误差变大,影响大象流检测的准确度。在Elastic Sketch中,若从heavy部分移除了大流,那么这个大流存到light部分的某个计数器后,会导致匹配到这个计数器的所有小流都被过高估计,导致最终的测量结果不准确。而加入缓冲层后,从heavy部分移除的大流会先存到记录流ID的缓冲层中,因而可以很大程度上避免对上述小流的过高估计,提高测量的准确度。
(4)大象流检测
对网络测量中对流的记录进行查询,并根据查询得到的测量结果以及设置的大象流阈值,实现大象流检测的任务。
查询过程:
heavy部分的查询过程:对于不在heavy部分的流,由后面的缓冲层和light部分返回其大小。对于heavy部分的所有流f,有两种情况:1)f的标志为F。它的大小是相应的vote+,没有误差。2)f的标志是T。我们需要将vote+、缓冲层和light部分的查询结果加起来。
缓冲层的查询过程:对于不在缓冲层的流,由后面的light部分返回其大小。对于缓冲层中的所有流f,用哈希函数p(.)来定位到线性哈希表中的一个桶后,返回这个桶记录的值。
light部分的查询过程:查询类似于插入,获取d个哈希计数器后,返回d个哈希计数器记录的最小值。
最后,将heavy部分,缓冲层和light部分的查询结果加起来作为最终的查询结果。
根据在网络测量中查询到的最终测量结果(流大小的估计值)以及提前设定好的大象流阈值,可以进行大象流检测:若某个流的大小大于设定的阈值,则将这个流识别为大象流。
以上所述仅表达了本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。
Claims (8)
1.一种基于三层Sketch架构的大象流检测方法,其特征在于,步骤如下:
步骤一、网络流量数据采集:采集实时或离线的网络流量数据;网络流量数据包括计算机网络中数据流的特性和变化情况;
步骤二、网络数据解析:对步骤一采集的实时或离线的网络流量数据进行解析,将解析后的网络流量数据的数据包头部信息作为sketch的输入;
步骤三、Sketch构建:构建三层Sketch架构,包括heavy部分、缓冲层和light部分;通过哈希操作和置换方法,对步骤二解析后的网络流量数据进行统计和测量;
步骤四、大象流检测:根据查询步骤三得到的测量结果,实现大象流的检测。
2.根据权利要求1所述的一种基于三层Sketch架构的大象流检测方法,其特征在于,所述步骤三中:
(1)heavy部分
heavy部分与哈希函数h(.)相关联的哈希表,heavy部分中的每个桶记录的流的信息为:流ID,vote+,vote-和标志;其中:vote+记录了属于此流的数据包数量;vote-记录了经过哈希函数h(.)匹配到这个桶的其他流的数据包的数量;标志指示了heavy部分是否曾经移除过这个流的一部分数据包;
插入过程:给定一个流ID为f的传入数据包,将其哈希到桶H[h(f)%B],其中,h(f)表示哈希函数h(.)对f进行计算得到的哈希值;%表示取余运算;B表示heavy部分中的桶数量;当f匹配f1时,则增加vote+;否则,增加vote-,并根据vote+和vote-的值决定是否驱逐f1;f1表示heavy部分的桶中原来记录的流的ID;
插入过程具体包括四种情况:
情况1:桶是空的;将(f,1,F,0)插入其中,其中F表示桶中没有流被移除;插入结束;
情况2:f=f1;只将vote+增加1;
情况3:f不等于f1;vote-加1后,当vote-<λ*vote+时,将(f,1)移除,准备插入缓冲层中;其中,λ是预定义的阈值;
情况4:f不等于f1;vote-加1后,当vote->=λ*vote+时,将流f1移除,准备插入缓冲层中;并将桶设置为(f,1,T,1)来记录流f的信息;T表示该桶中的流被移除过;因此在该情况下,标志被设置为T;
(2)缓冲层
缓冲层是一个线性哈希表,与哈希函数p(.)相关联;缓冲层中的每个桶记录每个流的流ID和该流的数据包数量count;
插入过程:对于从heavy部分收到将要传入的流ID为f的数据包以及数据包数量val;缓冲层首先要提取数据包的流ID,再将其哈希到桶B[p(f)%num],其中,p(f)表示哈希函数p(.)对f进行计算得到的哈希值;%表示取余运算;num表示缓冲层中的桶数量;具体来说,有三种情况:
情况1:桶是空的;将(f,val)插入这个桶,插入结束;
情况2:f=f8;则将count增加val;
情况3:f不等于f8;则将(f8,count)从缓冲层移除,准备插入light;然后将(f,val)记录到这个桶;该情况分为两种策略:
第一种策略:判断从缓冲层移除的流f8在heavy部分的标志,当被标记为T,则选择light部分的插入方式一;当被标记为F,则选择light部分的插入方式二;
第二种策略:除了要判断流f8在heavy部分的标志之外,还需要判断流f8的大小count是否大于预设的阈值,当count大于预设的阈值同时流f8被标记为F,则选择light部分的插入方式二;否则,将流f8以插入方式一插入light;
(3)light部分
light部分是一个CM Sketch,由d个数组(L1,L2,...,Ld)组成;每个数组与一个哈希函数相关联,并由w个计数器组成;
插入过程:对于从缓冲层收到将要传入的流ID为f的数据包以及数据包数量count;
方式一:light部分首先提取这个数据包f的流ID,再计算d个哈希函数来定位每个数组中的一个哈希计数器,然后将d个哈希计数器的值都递增count;
方式二:将d个哈希计数器的值与count进行比较,只记录较大的那个值。
3.根据权利要求1或2所述的一种基于三层Sketch架构的大象流检测方法,其特征在于,所述步骤四的具体查询过程为:
(1)heavy部分的查询过程
对于不在heavy部分的流,由后面的缓冲层和light部分返回其大小;对于heavy部分的所有流f,有两种情况:1)f的标志为F,它的大小是相应的vote+,没有误差;2)f的标志是T,需要将vote+、缓冲层和light部分的查询结果相加;
(2)缓冲层的查询过程
对于不在缓冲层的流,由后面的light部分返回其大小;对于缓冲层中的所有流f,用哈希函数p(.)来定位到线性哈希表中的一个桶后,返回这个桶记录的值;
(3)light部分的查询过程
首先提取要查询的流的ID,再计算d个哈希函数来定位每个数组中的哈希计数器,获取d个哈希计数器后,返回d个哈希计数器记录的最小值;
(4)将heavy部分、缓冲层和light部分的查询结果相加作为最终的查询结果;
(5)当某个流的大小大于设定的阈值,则将这个流识别为大象流。
4.根据权利要求1或2所述的一种基于三层Sketch架构的大象流检测方法,其特征在于,所述步骤一中,网络流量数据采集的方法包括Tstat、WireShark。
5.根据权利要求3所述的一种基于三层Sketch架构的大象流检测方法,其特征在于,所述步骤一中,网络流量数据采集的方法包括Tstat、WireShark。
6.根据权利要求1、2或5所述的一种基于三层Sketch架构的大象流检测方法,其特征在于,所述步骤二中,解析方法包括:QPA、NetFlow;
所述的网络流量数据的数据包头部信息为五元组,其格式为:源IP地址、源端口号、目的IP地址、目的端口号和协议。
7.根据权利要求3所述的一种基于三层Sketch架构的大象流检测方法,其特征在于,所述步骤二中,解析方法包括:QPA、NetFlow;
所述的网络流量数据的数据包头部信息为五元组,其格式为:源IP地址、源端口号、目的IP地址、目的端口号和协议。
8.根据权利要求4所述的一种基于三层Sketch架构的大象流检测方法,其特征在于,所述步骤二中,解析方法包括:QPA、NetFlow;
所述的网络流量数据的数据包头部信息为五元组,其格式为:源IP地址、源端口号、目的IP地址、目的端口号和协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910067412.XA CN109861881B (zh) | 2019-01-24 | 2019-01-24 | 一种基于三层Sketch架构的大象流检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910067412.XA CN109861881B (zh) | 2019-01-24 | 2019-01-24 | 一种基于三层Sketch架构的大象流检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109861881A CN109861881A (zh) | 2019-06-07 |
CN109861881B true CN109861881B (zh) | 2021-11-19 |
Family
ID=66895973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910067412.XA Active CN109861881B (zh) | 2019-01-24 | 2019-01-24 | 一种基于三层Sketch架构的大象流检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109861881B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535825B (zh) * | 2019-07-16 | 2020-08-14 | 北京大学 | 一种特征网络流的数据识别方法 |
CN110830322B (zh) * | 2019-09-16 | 2021-07-06 | 北京大学 | 一种基于概率测量数据结构Sketch的网络流量测量方法和系统 |
CN110912767B (zh) * | 2019-10-25 | 2022-03-25 | 电子科技大学 | 一种网络流量的单点测量方法 |
CN111262756B (zh) * | 2020-01-20 | 2022-05-06 | 长沙理工大学 | 一种高速网络大象流精确测量方法及装置 |
CN111782700B (zh) * | 2020-08-05 | 2023-08-18 | 中国人民解放军国防科技大学 | 基于双层结构的数据流频次估计方法、系统及介质 |
CN111835599B (zh) * | 2020-08-05 | 2022-03-22 | 中国人民解放军国防科技大学 | 一种基于SketchLearn的混合网络测量方法、装置及介质 |
CN114584493A (zh) * | 2020-11-30 | 2022-06-03 | 华为技术有限公司 | 数据流测量的方法和装置 |
CN112822077B (zh) * | 2021-02-23 | 2022-12-09 | 西安交通大学 | 数据中心网络中全网流量测量方法、系统及丢包检测方法 |
CN112688837B (zh) * | 2021-03-17 | 2021-06-08 | 中国人民解放军国防科技大学 | 基于时间滑动窗口的网络测量方法与装置 |
CN113259263B (zh) * | 2021-04-29 | 2022-11-22 | 积至(海南)信息技术有限公司 | 一种深度报文检测集群中的数据包调度方法 |
CN113746700B (zh) * | 2021-09-02 | 2023-04-07 | 中国人民解放军国防科技大学 | 一种基于概率采样的大象流快速检测方法及系统 |
CN113890840A (zh) * | 2021-09-29 | 2022-01-04 | 深信服科技股份有限公司 | 流量异常检测方法、装置、电子设备和存储介质 |
CN114020471B (zh) * | 2021-11-11 | 2023-09-01 | 浙江大学 | 一种基于草图的轻量级大象流检测方法及平台 |
CN116132335A (zh) * | 2021-11-15 | 2023-05-16 | 华为技术有限公司 | 一种识别流的方法和装置 |
CN114866322B (zh) * | 2022-05-06 | 2023-06-13 | 清华大学 | 一种网络异常流量检测方法和装置 |
CN115766528B (zh) * | 2022-11-14 | 2024-03-26 | 西南科技大学 | 一种Top-K大象流的检测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179039A (zh) * | 2012-10-25 | 2013-06-26 | 四川省电力公司信息通信公司 | 一种有效过滤正常网络数据包的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5536891B2 (ja) * | 2009-09-01 | 2014-07-02 | エヌイーシー ヨーロッパ リミテッド | ネットワークのモニタリング方法およびモニタリング機能を含むネットワーク |
US10608992B2 (en) * | 2016-02-26 | 2020-03-31 | Microsoft Technology Licensing, Llc | Hybrid hardware-software distributed threat analysis |
-
2019
- 2019-01-24 CN CN201910067412.XA patent/CN109861881B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179039A (zh) * | 2012-10-25 | 2013-06-26 | 四川省电力公司信息通信公司 | 一种有效过滤正常网络数据包的方法 |
Non-Patent Citations (2)
Title |
---|
《Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication》;Yang T, Jiang J, Liu P, et al.;《Elastic sketch: Adaptive and fast network-wide measurements》;20180831;全文 * |
大流识别方法综述;夏靖波等;《控制与决策》;20130615(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109861881A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109861881B (zh) | 一种基于三层Sketch架构的大象流检测方法 | |
US6473400B1 (en) | Computation of traffic flow by scaling sample packet data | |
CN111262756B (zh) | 一种高速网络大象流精确测量方法及装置 | |
Yoon et al. | Fit a compact spread estimator in small high-speed memory | |
CN102025563B (zh) | 基于哈希冲突补偿的网络大流识别方法 | |
CN112688837B (zh) | 基于时间滑动窗口的网络测量方法与装置 | |
CN113839835B (zh) | 一种基于小流过滤的Top-k流精确监控系统 | |
US9992081B2 (en) | Scalable generation of inter-autonomous system traffic relations | |
CN115102907A (zh) | 一种基于小流过滤的活跃大流精确识别方法和系统 | |
CN115776449B (zh) | 列车以太网通信状态监测方法及系统 | |
CN108259426A (zh) | 一种DDoS攻击检测方法及设备 | |
CN116055362A (zh) | 基于时间窗口的两级哈希-Sketch网络流量测量方法 | |
CN110351166B (zh) | 一种基于流量统计特性的网络级细粒度流测量方法 | |
KR100522464B1 (ko) | 네트워크 트래픽 측정 시스템 및 방법과 그 프로그램을기록한 기록매체 | |
CN109952743B (zh) | 用于低内存和低流量开销大流量对象检测的系统和方法 | |
CN101834763A (zh) | 高速网络环境下多类型大流并行测量方法 | |
CN117692369A (zh) | 一种过滤大流和小流的精细化网络流量测量方法 | |
CN111200542B (zh) | 一种基于确定性替换策略的网络流量管理方法及系统 | |
CN117220958A (zh) | 一种高速网络场景下基于sketch的DDoS攻击检测方法 | |
CN106130817B (zh) | 一种国内自治域边界判定方法 | |
US11265237B2 (en) | System and method for detecting dropped aggregated traffic metadata packets | |
CN114884834A (zh) | 一种低开销的Top-k网络流高精度提取架构及方法 | |
CN118018440A (zh) | 一种低开销的持续不频繁流精确识别架构及方法 | |
CN108616420B (zh) | 基于网络设备缓存信息传输延时序列提取平均延时的方法 | |
US8842690B2 (en) | System, method, and media for network traffic measurement on high-speed routers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |