An elephant flow detection method based on three-tier Sketch architecture belongs to the field of computer network technology. The invention first obtains network traffic data, then parses the acquired real-time or offline network traffic data, and takes the five-tuple information of the parsed network traffic data as Sketch input. Secondly, a three-tier Sketch architecture is designed. The input network information is counted and measured by hashing operation and specific replacement method. Finally, the measurement results are obtained by querying the three-tier Sketch architecture, and the results are compared with the preset elephant flow threshold, so as to realize the elephant flow detection task. The invention innovates the existing elephant flow detection method, and has the advantage that the accuracy of elephant flow detection can be greatly improved without increasing memory consumption.
【技术实现步骤摘要】
一种基于三层Sketch架构的大象流检测方法
本专利技术属于计算机网络
,更具体地说,涉及一种基于三层Sketch架构的大象流检测方法。
技术介绍
如今,互联网已经成为人们日常生活中不可或缺的一部分,互联网流量增长速度飞快,截至2018年,每年全球的互联网流量已达到了1.6ZB。随着网络流量的飞速增长,对网络进行有效管理变得愈发困难,其根本原因是我们无法全面的了解网络行为。因此,网络测量作为监控、认知和掌握网络行为的重要方式,引起了研究人员的广泛关注,使得网络测量成为近几年的研究热点。在网络测量所包含的众多技术中,大象流检测属于一项关键性技术,在拥塞控制、网络容量规划、网络异常检测、故障排除和流量工程等方面有着广泛的应用。所谓大象流一般是指流大小超过给定阈值的流,或者是在测量间隔中占总网络流量百分比达到特定值的流。例如,DDos攻击之类的大规模网络异常事件往往可被视为大象流,有效的大象流检测方法便有助于网络异常的及时发现。传统的大象流检测方法大多是基于数据包采样的。但是,数据包采样会丢失一些信息,导致大象流检测的准确度不高。一些研究表明,数据包采样不足以进行细粒度测量。最近,基于Sketch的数据流统计算法被广泛应用于网络测量,如流大小估算,大象流检测和流数量估算等。广泛使用Sketch的关键原因是,与采样方法相比Sketch具有更高的准确度。虽然研究人员已经在Sketch方法方面做出了重大贡献,但是现有方法在实际大象流检测中依然不能有效地工作。因为当网络出现DDoS攻击,网络拥塞和扫描等问题时,现有Sketch方法的准确性会随着流量的变化而产生波动 ...
【技术保护点】
1.一种基于三层Sketch架构的大象流检测方法,其特征在于,步骤如下:步骤一、网络流量数据采集:采集实时或离线的网络流量数据;网络流量数据包括计算机网络中数据流的特性和变化情况;步骤二、网络数据解析:对步骤一采集的实时或离线的网络流量数据进行解析,将解析后的网络流量数据的数据包头部信息作为sketch的输入;步骤三、Sketch构建:构建三层Sketch架构,包括heavy部分、缓冲层和light部分;通过哈希操作和置换方法,对步骤二解析后的网络流量数据进行统计和测量;步骤四、大象流检测:根据查询步骤三得到的测量结果,实现大象流的检测。
【技术特征摘要】
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部分的...
【专利技术属性】
技术研发人员:齐恒,赵柯妍,李克秋,王军晓,
申请(专利权)人:大连理工大学,
类型:发明
国别省市:辽宁,21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。