掌桥专利:专业的专利平台
掌桥专利
首页

一种面向资源约束环境的百万数据流top-k测量方法

文献发布时间:2023-06-19 19:27:02


一种面向资源约束环境的百万数据流top-k测量方法

技术领域

本发明属于网络测量领域,具体涉及一种资源约束下的百万数据流top-k测量方法。

背景技术

测量top-k大象流,是高速网络流量测量任务中一项基础且关键性的任务。所谓大象流一般是指流大小超过给定阈值的流,或者是在测量间隔中占总网络流量百分比达到特定值的流。通常,高速链路上的网络流量被视为一组流序列,并且符合重尾分布模型:80%的网络流量由20%的流量组成,其余80%的流量仅占网络流量的20%。换言之,大象流的测量可以很好地表示网络真实特性。运营商或者网络空间安全监管部门,可以通过对大象流的测量来分析流量的不同统计特征,进而实现对高质量运营服务(如QoS管理、QoE改善等)的提供、网络异常的检测、网络拥塞的控制、DDoS攻击的检测等。

然而,网络链路速率与网络流量数据规模与日俱增,给网络流量测量任务带来了诸如极高计算资源、存储资源等方面的更多技术挑战。例如,OC-3072(160Gbps)技术已经逐渐成熟,100Gbps以太网链路已经开始应用于大型数据中心以及园区网中,400Gbps以太网硬件设备已经开始量产。目前,针对高速网络的流量测量解决方案,主要集中于利用高性能专用硬件(如TCAM、ASIC等)、利用抽样技术和利用数据流技术。

现有测量top-k大象流方法主要依托于高速流量测量技术,即基于抽样方法或基于数据流方法。其中,基于抽样的top-k大象流测量方法,通常是通过抽取部分有“代表性”的数据包,然后使用概率理论推算出网络总体流量的特征。其中,最典型的应用是Cisco提出并使用的SampledNetFlow方法,以及Sample and hold方法。但是,这两种粗粒度的大象流识别方法的准确性取决于流存储器的大小,无法适用于高速网络中的大象流识别。

基于数据流方法的top-k大象流测量方法,通常有admit-all-count-some策略和count-all策略。admit-all-count-some策略通常是假设假设每一个新的输入流都是大象流,并剔除现有记录中最小的,为新输入的大象流腾出空间。但实际情况下,大多数流都是老鼠流,这样的假设会导致严重的错误,尤其是在内存不足的情况下。count-all策略主要基于Sketch方法来实现,但这些解决方案不节省内存,尤其需要更多的内存来扫描整个计数器空间,并对元素进行排序,以响应top-k查询。另一方面,由于流量大小是未知的,几乎现有的方法都是将计数器的bit大小设置成一个很大的长度。因此这些解决方案不具有内存效率,难以应对资源约束下的百万数据流的测量需求。

综上,在大流量和使用的小片上存储器的限制下,实现精度方面受到严重限制,设计准确快速的算法来在线识别大象流量变得越来越具有挑战性。

发明内容

针对以上问题,本发明提出一种资源约束下的百万数据流top-k测量方法,该方法能够在硬件资源受限的情况下,完成网络测量任务中top-k大象流的测量任务。该发明的核心问题是利用有限的资源实现对百万数据流的top-k测量任务,并保证一定的精确度。该方法的具体步骤分为u-level多级抽样模块、较小长度bit计数器组成的查找器Finder和流标签记录模块。当测量开始时,在待测量的网络环境中进行流量的分组级处理;u-level多级抽样模块根据初始抽样阈值θ和设定好的u值,生成u个抽样概率;当Finder中流标识对应的计数器计数陆续达到第1级计数区间~第u级计数区间时,启用相应级别对应的抽样概率继续处理到达的分组,并根据抽样的结果来判断该分组是否更新Finder中对应位置的计数器;流标识记录模块在记录流标识时,根据当前计数值及时更新和记录top-k大象流信息。本发明可用于各类型网络环境中,为网络服务运营商和网络监管部门提高服务质量、异常检测、攻击检测等测量任务提供依据。

为实现本发明的目的,本发明的技术方案如下:一种资源约束下的百万数据流top-k测量方法,利用较小长度bit计数器组成的查找器Finder、u-level多级抽样模块和流标签记录模块,可以获得资源约束环境下百万数据流的top-k测量结果,该方法包括以下步骤:

步骤(1)在待测量的网络环境中以及相应测量任务下,基于u-level多级抽样模块对到达的分组进行基于流的抽样处理,用于判断该分组是否加入较小长度bit计数器组成的查找器Finder中;

步骤(2)使用Hash映射和Finder对待测流进行测量计数,随着该流ID的计数增加,当计数到达下一级计数区间,返回步骤(1)生成下一级抽样概率,更新抽样概率,并继续步骤(2);

步骤(3)流标签记录模块根据Finder的更新结果来动态记录当前top-k元素及其计数,记录新元素的流标识及其当前计数结果,或淘汰剔除信息表中确定淘汰的元素;

步骤(4)测量结束,输出top-k流标识信息列表。

进一步的,所述步骤(1)具体包含如下子步骤:

(1.1)确定抽样初始阈值θ、抽样级别u和单个计数器bit位数n;

(1.2)计算第1级抽样概率p

(1.3)从第2级开始,选定i∈[1,u-1],i∈N*,N*为正整数集。计算第i+1级抽样概率:p

进一步的,所述步骤(2)具体包含如下子步骤:

(2.1)根据测量需求中所能容忍的最大误差δ,根据公式

(2.2)根据有限内存资源总量和每个计数器固定的大小n,和Hash函数的个数,确定每个Hash函数拥有的计数器个数w;

(2.3)对于到达的分组,解析分组中的信息(如IP地址对、五元组信息等),该信息被Hash函数处理后,作为当前分组所属流的流ID;

(2.4)在Finder中查询该流ID,如果流ID不存在,则直接更新Finder,并在Hash散列到的节点处,计数器加1,如果存在,进入步骤(2.5);

(2.5)抽样处理,对于Finder中已经有记录的流ID进行抽样处理,使用步骤(1)所生成的抽样概率,如果抽中该分组,则加入Finder并更新Finder,如果没有抽中则直接转发当前分组;

(2.6)对于已存在的流ID,在更新一次计数之后,判断当前计数大小,若超过第1级阈值,则返回步骤(1),计算下一级抽样概率,根据新的抽样概率执行步骤(2.3)~步骤(2.5);

(2.7)直到该流ID的计数处于第u级区间时,计算出第u级抽样概率后,不再更新抽样概率;

(2.8)若该流ID的计数已经到达2

(2.9)每次Finder被更新,则将当前流ID及其计数值传入流标签记录模块,更新流标签记录模块中的信息存储表。

进一步的,所述步骤(3)具体包含如下子步骤:

(3.1)确定top-k任务的大小k值,分配用于记录top-k流标识符的空间;

(3.2)判断加入计数器的流ID是否存在于记录表中,如果存在,更新计数;若不存在,转步骤(3.3);

(3.3)判断此时记录表中元素总数是否大于k,如果小于,则直接插入新元素及其数量;否则,转步骤(3.4);

(3.4)判断新元素的计数是否大于原有信息表中最小的,如果是,则删除最小的,加入该新元素;否则,不处理。

进一步的,所述步骤(4)中,在测量任务结束时,将步骤(3)中的最终结果输出,得到最终的top-k大象流测量结果列表。

与现有技术相比,本发明具有如下优点和有益效果:

(1)本发明提出了一种面向资源约束环境的百万数据流top-k测量方法,可以在资源受限约束的情况下,精确有效地对百万数据流进行top-k大象流测量。可用于各类型网络环境中,为网络服务运营商和网络监管部门提高服务质量、异常检测、攻击检测等测量任务提供依据。

(2)本发明包括设计了一种u-level多级抽样模块,它可以通过初始采样阈值θ、测量对象的计数大小和抽样级别u,生成多级的流抽样概率。缓解了较小长度bit计数器组成的查找器Finder对流的计数存储,也从一定程度上减少了老鼠流的记录。

(3)本发明包括设计了一种可以使用较小长度bit计数器组成的查找器Finder对流的计数存储,避免传统方法中使用固定较长长度bit计数器而造成的内存空间浪费,提高测量精度。

(4)本发明包括设计了一种流标识记录模块,以弥补现有的top-k测量方法通常无法恢复流ID和其他信息的缺陷。

(5)本发明提出的面向资源约束环境的百万数据流top-k测量方法,可以应用于各类型网络中,且适用于不同的测度,具有较好的应用前景。

附图说明

图1为面向资源约束环境的百万数据流top-k测量方法的框架;

图2为top-k测量方法的流程图;

图3为较小长度bit计数器组成的查找器Finder及流的Hash映射;

图4为流标签记录模块方法流程。

具体实施方式:

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。

实施例:本发明提供的一种面向资源约束环境的百万数据流top-k测量方法,其结构框架如图1所示,包括如下步骤:

(1)在待测量的网络环境中以及相应测量任务下,基于u-level多级抽样模块对到达的分组进行基于流的抽样处理,用于判断该分组是否加入较小长度bit计数器组成的查找器Finder中。

本步骤具体过程如下:

(1.1)确定抽样初始阈值θ=100、抽样级别u=3和单个计数器bit位数n=8;

(1.2)计算第1级抽样概率p

(1.3)从第2级开始,选定i∈[1,2],i∈N,计算第i+1级抽样概率:p

(2)使用Hash映射和Finder对待测流进行测量计数,随着该流ID的计数增加,当计数到达下一级计数区间,返回步骤(1)生成下一级抽样概率,更新抽样概率,并继续步骤(2)。

本步骤具体过程如图2所示,相关描述如下:

(2.1)根据测量需求中所能容忍的最大误差δ=0.05,即可承受的准确率需要保证在95%以上,根据公式

(2.2)内存资源总量限制为1Mbit,根据有限和每个计数器固定的大小8bit,和Hash函数的个数3,确定每个Hash函数拥有的计数器个数w;

(2.3)对于到达的分组,解析分组中的五元组信息,该信息被Hash函数处理后,作为当前分组所属流f

(2.4)在Finder中查询该流f

(2.5)根据f

(2.6)对于已存在的流ID,在更新一次计数之后,判断当前计数大小,若超过第2级阈值63,则返回步骤(1),计算下一级抽样概率p

(2.7)直到该流ID的计数处于第3级区间(大于127,不大于255)时,计算出第3级抽样概率p

(2.8)若该流ID的计数已经到达255,则不再处理该流ID对应的分组,该流直接视为top-k大象流。

(2.9)每次Finder被更新,则将当前流ID及其计数值传入流标签记录模块,更新流标签记录模块中的信息存储表。

(3)流标签记录模块根据Finder的更新结果来动态记录当前top-k元素及其计数,记录新元素的流标识及其当前计数结果,或淘汰剔除信息表中确定淘汰的元素;

本步骤具体过程如图4所示,相关描述如下:

(3.1)确定top-k任务的大小k=100值,分配用于记录top-100流标识符的空间,五元组占用104bit,共占用10400bit≈10.2kbit;

(3.2)判断加入计数器的流ID是否存在于记录表中,如果存在,更新计数。若不存在,转步骤(3.3);

(3.3)判断此时记录表中元素总数是否大于100,如果小于,则直接插入新元素及其数量;否则,转步骤(3.4);

(3.4)判断新元素的计数是否大于原有信息表中最小的,如果是,则删除最小的,加入该新元素;否则,不处理。

(4)在测量任务结束时,将步骤(3)中的最终结果输出,得到最终的top-100大象流测量结果列表。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

技术分类

06120115916895