CN114205253A - 一种基于小流过滤的活跃大流精确检测架构及方法 - Google Patents
一种基于小流过滤的活跃大流精确检测架构及方法 Download PDFInfo
- Publication number
- CN114205253A CN114205253A CN202111532827.3A CN202111532827A CN114205253A CN 114205253 A CN114205253 A CN 114205253A CN 202111532827 A CN202111532827 A CN 202111532827A CN 114205253 A CN114205253 A CN 114205253A
- Authority
- CN
- China
- Prior art keywords
- flow
- stream
- hash
- active
- flows
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了本发明提供一种基于小流过滤的活跃大流精确检测架构及方法,包括:小流过滤器,用于过滤网络中的大部分小流,减小资源开销,并降低哈希冲突率;活跃大流检测器,用于提取网络中的活跃大流,提高活跃大流识别的精度。本发明方法使用周期更新的思想构建小流过滤器,在降低了资源开销的同时,也保证了过滤器能持续有效过滤小流。同时,基于Hopscotch Hashing算法构建活跃大流检测器,降低哈希冲突的同时,通过LRU策略筛除掉不活跃的流,从而精确识别网络中的Top‑k流。
Description
技术领域
本发明涉及网络测量领域,具体涉及一种基于小流过滤的活跃大流精确检测架构及方法。
背景技术
随着世界互联程度的提高,网络数据流量呈现爆炸式的指数级增长,使得网络管理的难度大大增加。于是,在云和数据中心的现代网络管理中,网络测量是必不可少的。管理员通过确定各种流量统计数据,比如活跃大流来推断关键行为,并使用测量的流量统计数据来形成诸如流量工程、性能诊断以及入侵防御等管理操作的基础。根据活跃大流提取的技术需求,当前大流提取技术主要为数据流方法。目前,数据流方法能够保证不错的测量准确性,但是花费的资源开销较大。本发明采用先对小流过滤再对网络活跃大流进行检测的思想,但该思想存在以下两个问题。
(1)小流过滤的失效性问题
当前传统小流过滤技术对网络数据流量进行过滤的方法容易导致过滤器发生失效问题。这是因为随着数据流量的不断增加,过滤器中的大部分计数器很快就会达到存满的状态,此时即使是一条小流,也不会被过滤掉。这使得过滤层会发生失效的问题,进而严重影响后续活跃大流检测的精度。因此解决小流过滤的失效性问题是活跃大流检测中的一个关键问题。
(2)活跃大流检测的精度问题
当前活跃大流检测技术主要是基于Sketch等数据结构,但是由于其存在哈希冲突,当多条流映射到同一个位置时,导致小流可将活跃大流踢除,这就可能导致小流被误判为活跃大流,从而降低活跃大流检测的精度。因此如何精确提取活跃大流是一个决定性问题。
对比文件:CN111262756A公开了一种高速网络大象流精确测量方法及架构,基于Sketch的过滤器,能够对数据包中的小流进行过滤,以降低计算和空间开销,提高大流测量的准确率;基于Cuckoo哈希的提取器,能够降低大流被踢除的概率,既节省了存储资源又提高了大流测量的准确率。该对比文件方案基于Sketch的过滤器的设计存在过滤失效问题,基于Cuckoo哈希的提取器又存在着准确率不高的问题。
发明内容
本发明要解决的技术问题是设计一种基于Sketch,且能按周期进行更新的数据结构作为过滤层。首先,通过过滤网络流量中的大部分小流,避免过滤器因为失效无法有效处理网络流量中的小流。然后,基于Hopscotch Hashing算法设计了一种多候选位置的活跃大流检测结构,通过LRU策略筛除掉不活跃的流,共同组成一种基于小流过滤的活跃大流精确检测架构及方法。
为了解决上述技术问题,本发明采用以下技术方案:
本发明提供一种基于小流过滤的活跃大流精确检测架构及方法,包括:
小流过滤层,通过过滤层将大量的小流过滤,并且用按周期进行更新的方法定期对过滤层进行清理,使得在后续的提取活跃大流检测过程中降低小流带来的哈希冲突,提高活跃大流检测的精度;
活跃大流检测层,基于Hopscotch Hashing算法设计了一种活跃大流检测结构,然后通过一定范围的线性探测使得每条传入流可以映射到多个候选位置,进而显著降低网络流之间的哈希冲突率,通过LRU策略筛除掉不活跃的流,从而提高活跃大流检测的精度;
所述小流过滤层,用于小流过滤的过滤层,通过设置阈值来过滤小流,其中计数器counter表示映射到当前位置流的包数量,标志位值flag表示对应计数器值在上一周期时候达到阈值;
所述活跃大流检测层,基于分段哈希的活跃大流检测层,利用分段哈希算法存储大流,其中存储的内容字段是签名值sig,计数器值count和时间clock。签名值sig表示存储流的信息,计数器值count表示存储流的包数量,时间clock表示存储流的可能剩余时间。
本发明方法还提供一种基于上述架构的方法,包括:
所述小流过滤层首先在插入过程中,先判断对应的最小标志位值是否达到阈值,若未达到,此时再判断对应最小的计数器值是否达到阈值,若也未达到,则只更新最小的计数器值;若两者中有其一达到,在更新最小的计数器值的同时该流会放行到活跃大流检测层。当传入的包数量到达一定的个数时,标志本周期的结束,这时根据计数器值更新对应的标志位值,并将计数器的值全部清零,此时进入下一个。这样做可以定期清理过滤器且对活跃大流不产生影响;
所述活跃大流检测层首先通过哈希函数计算得到哈希值,然后通过哈希值对活跃大流检测器进行一定范围的线性探测,线性探测会对应到哈希表中的数个哈希桶,每个桶包含多个槽。在插入过程中先检查所有哈希桶,查看是否有一个槽包含此流。如果存在此流,则更新对应槽的计数器值和时间,插入完成;如果不存在此流,若哈希槽中有一个是空的,则将其插入到这个空的哈希槽中,插入完成。在踢除机制上,若槽中存在时间为0的流,则用此流将其替换。
进一步的,所述高效方法包括如下操作:
1、流过滤方法;
通过小流过滤器对每条传入流进行过滤,若达到阈值则放行至活跃大流检测器,若未达到阈值则直接丢弃,其中每条流均只存储包数量;
2、流检测方法;
通过活跃大流检测器对传入流进行存储,根据存储流的流标识进行判断,该传入流是否已经被大流存储器存储,其中每条流均存储流签名,包数量,时间。
3、流替换方法;
当传入流的映射位置已满,且满足替换条件,传入流会对已存储的哈希冲突流进行替换,其中每条流均存储流签名,包数量,时间。
4、流输出方法;
活跃大流检测器则并行遍历所有哈希桶中的槽,找出时间大于时间阈值,并且包数量大于指定阈值的流,依次输出流的id、包数量。
本发明的有益效果在于:
1、本专利提出了一种基于周期更新的小流过滤方法,设计了支持周期更新的紧凑型Sketch作为过滤器,通过过滤网络中的大量小流,可以显著降低资源开销,同时用周期更新的思想清理过滤器的计数器,避免过滤器因为失效无法有效处理网络中的小流,最后也降低了小流发生哈希冲突被误判成活跃大流的概率,显著提高活跃大流检测的精度。
2、本专利提出了一种基于Hopscotch Hashing算法的活跃大流检测方法。通过一定范围的线性探测,使每条传入流都有数个候选哈希桶,每一个桶包含多个槽,并能存入其中任意一个哈希桶的空槽中,极大降低了哈希冲突率。当所有候选哈希桶已满时,会通过LRU策略替换掉不活跃的流,这样可以使得每次尽可能踢除不活跃流,而使活跃大流保存在哈希桶中,因此提高了活跃大流检测的精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法一种基于小流过滤的活跃大流精确检测架构的原理图。
图2是本发明方法中的小流过滤器结构图。
图3是本发明方法中活跃大流检测器结构图。
图4是本发明方法中流过滤方法流程图。
图5是本发明方法中流检测方法流程图。
图6是本发明方法中流替换方法流程图。
图7是本发明方法中流输出方法流程图。
具体实施方式
为了更好地阐述该发明的内容,下面通过具体实施例对本发明进一步的验证。特在此说明,实施例只是为更直接地描述本发明,它们只是本发明的一部分,不能对本发明构成任何限制。
如图1所示,本发明实施例提供一种基于小流过滤的活跃大流精确检测架构及方法,包括:
所述小流过滤层首先在插入过程中,先判断对应的最小标志位值是否达到阈值,若未达到,此时再判断对应最小的计数器值是否达到阈值,若也未达到,则只更新最小的计数器值;若两者中有其一达到,在更新最小的计数器值的同时该流会放行到活跃大流检测层。当传入的包数量到达一定的个数时,标志周期一的结束,这时根据计数器值更新对应的标志位值,并将计数器的值全部清零,此时进入周期二。这样做可以定期清理过滤器且对活跃大流的影响微乎其微。如图2所示;
所述活跃大流检测层首先通过哈希函数计算得到哈希值,然后通过哈希值对活跃大流检测器进行一定范围的线性探测,线性探测会对应到哈希表中的数个哈希桶,每个桶包含4个槽。在插入过程中先检查所有哈希桶,查看是否有一个槽包含此流。如果存在此流,则更新对应槽的计数器值和时间,插入完成;如果不存在此流,若哈希槽中有一个是空的,则将其插入到这个空的哈希槽中,插入完成。在踢除机制上,若槽中存在时间为0的流,则用此流将其替换。如图3所示。
当交换机接收到某个数据包p时,首先解析其首部重要字段,如:源/目的IP地址、源/目的MAC地址、源/目的端口号、IP协议类型等,进而提取流关键字fid;之后,数据包进入第一层,即小流过滤器对小流进行过滤;最后,通过过滤器的数据包进入第二层,即活跃大流检测器完成流量信息统计;
本实施例还提供一种基于上述架构的方法,包括以下步骤:
1、流过滤方法;
如图3所示,以传入包数量达到预定阈值为标志,当接收到某个数据包p时,先通过过滤层对数据包进行相关处理;
判断flagmin是否等于1,若等于1,使countermin自加1的同时,该流进入流检测过程;若反之,进一步判断countermin是否达到阈值,若达到,该流进入流检测过程;若没达到,将countermin自增1;
判断此时的传入包数量是否达到阈值,若没有达到,操作结束;若达到,则根据计数器值counteri更新对应的标志位值,若计数器值counteri达到阈值,则对应的标志位值flagi为1。否则,标志位值flagi为0,之后将所有计数器值counteri重置为0,操作结束。
2、流检测方法;
首先,解析数据包首部重要字段,提取流关键字fid;之后,利用哈希函数将流关键字fid生成连接签名值sig,再通过分段哈希函数Hash计算出32位的哈希值,并均分为n段,每段对应w个哈希表上的一个位置;
首先将所有槽内的clock值减1,并行查找n个候选哈希桶,当哈希桶中存在该流(Bj[indexj].sig==sig),将该流的计数器count加1,生存时间clock重置为最大值,流检测过程结束;
当哈希桶不存在该流且其对应位置是空时(Bj[indexj][i].sig==0),将连接签名值,计数器值,最大时间clock(sig,1,clock)写入空槽,流检测过程结束;
当哈希桶中都有流且不是该流时,新建待替换缓存项item,进入流替换过程。
3、流替换方法;
首先,输入待替换缓存项item的流关键字fid和连接签名值sig;
计算出待缓存项item的n个候选哈希桶位置Bj[indexj],然后,取出所有候选桶中的时间clock,比较找出时间最小的值Cmin及其对应的槽位置(Bj[indexj][i]),判断Cmin是否小于规定的生存时间;
若小于,将该槽的流信息清空后,将待缓存项item中的流信息写入该哈希桶(sig,1,clock),操作结束。
若未达到,则删除待缓存替换项item,操作结束。
4、流输出方法;
首先,活跃大流检测器并行遍历所有哈希桶中的槽,然后从大到小依次输出所有流的id、包数量和时间,操作结束。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所述技术领域的技术人员可以所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (6)
1.一种基于小流过滤的活跃大流精确检测架构及方法,其特征在于,包括:
小流过滤层,通过过滤层将大量的小流过滤,并且用按周期进行更新的方法定期对过滤层进行清理,使得在后续的提取活跃大流检测过程中降低小流带来的哈希冲突率,提高活跃大流检测的精度;
活跃大流检测层,基于Hopscotch Hashing算法设计了一种活跃大流检测结构,使得每条传入流可以映射到多个候选位置,进而显著降低网络流之间的哈希冲突率,通过LRU策略筛除掉不活跃的流,从而提高活跃大流检测的精度;
所述小流过滤层,用于小流过滤的过滤层,通过设置阈值来过滤小流,其中计数器count表示映射到当前位置流的包数量,标志位值flag表示对应计数器值在上一周期时候达到阈值;
所述活跃大流检测层,基于分段哈希的活跃大流检测层,利用分段哈希算法存储大流,其中存储的内容字段是签名值sig,计数器值count和时间clock,签名值sig表示存储流的信息,计数器值count表示存储流的包数量,时间clock表示存储流的可能剩余时间。
2.一种基于权利要求1所述架构的方法,其特征在于,包括以下步骤:
所述小流过滤层首先在插入过程中,先判断对应的最小标志位值是否达到阈值,若未达到,此时再判断对应最小的计数器值是否达到阈值,若也未达到,则只更新最小的计数器值;若两者中有其一达到,在更新最小的计数器值的同时该流会放行到活跃大流检测层,当传入的包数量到达一定的个数时,标志本周期的结束,这时根据计数器值更新对应的标志位值,并将计数器的值全部清零,此时进入下一个,这样做可以定期清理过滤器且对活跃大流不产生影响;
所述活跃大流检测层首先通过哈希函数计算得到哈希值,然后通过哈希值对活跃大流检测器进行一定范围的线性探测,线性探测会对应到哈希表中的数个哈希桶,每个桶包含多个槽,在插入过程中先检查所有哈希桶,查看是否有一个槽包含此流。如果存在此流,则更新对应槽的计数器值和时间,插入完成;如果不存在此流,若哈希槽中有一个是空的,则将其插入到这个空的哈希槽中,插入完成,在踢除机制上,若槽中存在时间为0的流,则用此流将其替换。
3.根据权利要求2所述的方法,其特征在于,所述高效方法包括以下操作:
a、流过滤方法;
通过小流过滤器对每条传入流进行过滤,若达到阈值则放行至活跃大流检测器,若未达到阈值则直接丢弃,其中每条流均只存储包数量;
b、流检测方法;
通过活跃大流检测器对传入流进行存储,根据存储流的流标识进行判断,该传入流是否已经被大流存储器存储,其中每条流均存储流标识,包数量,时间;
c、流替换方法;
当传入流的映射位置已满,且满足替换条件,传入流会对已存储的哈希冲突流进行替换,其中每条流均存储流标识,包数量,时间;
d、流输出方法;
活跃大流检测器则并行遍历所有哈希桶中的槽,找出时间大于时间阈值,并且包数量大于指定阈值的流,依次输出流的id、包数量。
4.根据权利要求3所述的方法,其特征在于,本专利提出了一种基于周期更新的小流过滤方法,设计了支持周期更新的紧凑型Sketch作为过滤器,通过过滤网络中的大量小流,可以显著降低资源开销,同时用周期更新的思想清理过滤器的计数器,避免过滤器因为失效无法有效处理网络中的小流,最后也降低了小流发生哈希冲突被误判成活跃大流的概率,显著提高活跃大流检测的精度。
5.根据权利要求3所述的方法,其特征在于,本专利提出了一种基于HopscotchHashing算法的活跃大流检测方法,通过一定范围的线性探测,使每条传入流都有数个候选哈希桶,每一个桶包含多个槽,并能存入其中任意一个哈希桶的空槽中,极大降低了哈希冲突率。
6.根据权利要求3所述的方法,其特征在于,当所有候选哈希桶已满时,本专利会通过LRU策略替换掉不活跃的流,这样可以使得每次尽可能踢除不活跃流,而使活跃大流保存在哈希桶中,因此提高了活跃大流检测的精度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111532827.3A CN114205253A (zh) | 2021-12-15 | 2021-12-15 | 一种基于小流过滤的活跃大流精确检测架构及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111532827.3A CN114205253A (zh) | 2021-12-15 | 2021-12-15 | 一种基于小流过滤的活跃大流精确检测架构及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114205253A true CN114205253A (zh) | 2022-03-18 |
Family
ID=80653909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111532827.3A Pending CN114205253A (zh) | 2021-12-15 | 2021-12-15 | 一种基于小流过滤的活跃大流精确检测架构及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114205253A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102907A (zh) * | 2022-06-17 | 2022-09-23 | 长沙理工大学 | 一种基于小流过滤的活跃大流精确识别方法和系统 |
CN115378850A (zh) * | 2022-08-31 | 2022-11-22 | 济南大学 | 一种基于Sketch的加密流量在线分析方法及系统 |
CN115460111A (zh) * | 2022-07-26 | 2022-12-09 | 西安电子科技大学 | 基于HINOC协议的Top-k流的统计方法及其系统 |
-
2021
- 2021-12-15 CN CN202111532827.3A patent/CN114205253A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102907A (zh) * | 2022-06-17 | 2022-09-23 | 长沙理工大学 | 一种基于小流过滤的活跃大流精确识别方法和系统 |
CN115102907B (zh) * | 2022-06-17 | 2024-01-26 | 长沙理工大学 | 一种基于小流过滤的活跃大流精确识别方法和系统 |
CN115460111A (zh) * | 2022-07-26 | 2022-12-09 | 西安电子科技大学 | 基于HINOC协议的Top-k流的统计方法及其系统 |
CN115378850A (zh) * | 2022-08-31 | 2022-11-22 | 济南大学 | 一种基于Sketch的加密流量在线分析方法及系统 |
CN115378850B (zh) * | 2022-08-31 | 2023-10-31 | 济南大学 | 一种基于Sketch的加密流量在线分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114205253A (zh) | 一种基于小流过滤的活跃大流精确检测架构及方法 | |
US10097464B1 (en) | Sampling based on large flow detection for network visibility monitoring | |
US9979624B1 (en) | Large flow detection for network visibility monitoring | |
CN109861881B (zh) | 一种基于三层Sketch架构的大象流检测方法 | |
US10536360B1 (en) | Counters for large flow detection | |
US7894358B2 (en) | Detection of heavy users of network resources | |
CN111131084B (zh) | 一种QoS感知的OpenFlow流表查找方法 | |
US9485155B2 (en) | Traffic analysis of data flows | |
CN101827073B (zh) | 跟踪片段数据流 | |
US10003515B1 (en) | Network visibility monitoring | |
CN111262756A (zh) | 一种高速网络大象流精确测量方法及架构 | |
CN110535825B (zh) | 一种特征网络流的数据识别方法 | |
CN113839835B (zh) | 一种基于小流过滤的Top-k流精确监控系统 | |
CN115102907B (zh) | 一种基于小流过滤的活跃大流精确识别方法和系统 | |
CN115604154A (zh) | 一种支持流量抖动的网络大流弹性测量方法 | |
EP2530873B1 (en) | Method and apparatus for streaming netflow data analysis | |
Qi et al. | Cuckoo counter: A novel framework for accurate per-flow frequency estimation in network measurement | |
Li et al. | Ladderfilter: Filtering infrequent items with small memory and time overhead | |
CN111200542B (zh) | 一种基于确定性替换策略的网络流量管理方法及系统 | |
CN114884834A (zh) | 一种低开销的Top-k网络流高精度提取架构及方法 | |
CN113965492A (zh) | 一种数据流统计方法及装置 | |
CN111835599A (zh) | 一种基于SketchLearn的混合网络测量方法、装置及介质 | |
CN114710444B (zh) | 基于塔型摘要和可驱逐流表的数据中心流量统计方法和系统 | |
CN113810298A (zh) | 一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法 | |
CN113872883A (zh) | 一种基于小流过滤的高精度大象流识别架构 |
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 |