负载自适应的网络数据流流量测量方法.pdf

上传人:柴****2 文档编号:4336632 上传时间:2018-09-14 格式:PDF 页数:10 大小:3.06MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210323629.0

申请日:

2012.09.04

公开号:

CN102833134A

公开日:

2012.12.19

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04L 12/26申请公布日:20121219|||实质审查的生效IPC(主分类):H04L 12/26申请日:20120904|||公开

IPC分类号:

H04L12/26

主分类号:

H04L12/26

申请人:

中国人民解放军理工大学

发明人:

张进; 黄清杉; 赵文栋; 吴泽民; 彭来献; 田畅

地址:

210007 江苏省南京市南京御道街标营2号32信箱

优先权:

专利代理机构:

南京苏高专利商标事务所(普通合伙) 32204

代理人:

柏尚春

PDF下载: PDF下载
内容摘要

本发明公开了一种负载自适应的网络数据流流量测量方法,该方法包括:存储区组织的方法:将整个存储区划分为若干个等长的块,每块又划分为若干个等长的桶,每个桶设置一个桶负载计数器,桶中存放有若干条数据流的流指纹和流量计数器;流量值更新的方法:在测量周期开始时,将所有的桶负载计数器、流指纹和流量计数器初始化为0;然后,每到达一个数据包,根据其流标识,计算其流指纹,进行指纹匹配;流量值查询的方法:根据待查询的数据流的流标识,计算其流指纹,进行指纹匹配,得到相应的流量计数器的值,通过这三个步骤,完成数据流的流量测量过程,其新颖之处是采用了动态的数据流指纹收缩机制,在负载较轻时,尽可能扩大数据流指纹的长度,从而降低测量误差。

权利要求书

1.一种负载自适应的网络数据流流量测量方法,其特征在于该方法包括存储区组织、流量值更新和流量值查询这三个步骤;存储区组织的方法是:将整个存储区划分为若干个等长的块,每块又划分为若干个等长的桶,每个桶设置一个桶负载计数器,桶中存放有若干条数据流的流指纹和流量计数器;流量值更新的方法是:在测量周期开始时,将所有的桶负载计数器、流指纹和流量计数器初始化为0;然后,每到达一个数据包,根据其流标识,计算其流指纹,进行指纹匹配,若匹配成功,则将相应的流量计数器增加1,若匹配失败,则将该数据流插入到存储区中,并将该数据流所插入的桶的桶负载计数器增加1;流量值查询的方法是:根据待查询的数据流的流标识,计算其流指纹,进行指纹匹配,得到相应的流量计数器的值,通过存储区组织、流量值更新和流量值查询这三个步骤,完成数据流的流量测量过程。2.按照权利要求1所述的负载自适应的网络数据流流量测量方法,其特征在于计算流指纹通过哈希函数实现,哈希函数的输入为数据流的流标识,输出为流指纹;输出流指纹的长度为每个桶中所能够存放的最长流指纹的长度。3.按照权利要求1或2所述的负载自适应的网络数据流流量测量方法,其特征在于将数据流插入到存储区中的具体步骤是如下:首先,根据该数据流的流标识,计算其流指纹;然后,假设存储区划分为d个块,则通过d次哈希运算,分别在每个块中选择一个桶,并从中选择一个负载最轻的桶作为插入该数据流的目标桶;接着,根据目标桶的负载情况,为新插入的数据流分配指纹空间,若桶负载为a,桶的最大指纹空间为b比特,则为新插入的数据流分配指纹空间为b/(a+1)比特;最后,设置该数据流的流量计数器为1;其中a 、b、d均为正整数。4.按照权利要求1、2所述的负载自适应的网络数据流流量测量方法,其特征在于指纹匹配的具体步骤是如下:首先,根据该数据流的流标识,计算其流指纹;然后,假设存储区划分为d个块,则通过d次哈希运算,确定该数据流可能插入的所有d个桶;接着,依次在各个桶中查找流指纹,判断是否存在和当前数据流指纹匹配的流指纹,若有,则匹配成功,否则,则匹配失败。5.根据按照权利要求4所述的负载自适应的网络数据流流量测量方法,其特征在于在桶中查找流指纹的具体步骤如下:首先,根据桶负载情况,确定合适的指纹匹配长度,若桶负载为a,桶的最大指纹空间为b,则取待查找的流指纹的前b/a比特作为比对字段;然后,将待查找的流指纹的比对字段和桶中的流指纹进行逐个比对,若发现一致的,则查找成功。

说明书

负载自适应的网络数据流流量测量方法

技术领域

本发明是一种具有良好负载适应性的数据流流量测量方法,属于计算机网络
技术领域。

背景技术

计费管理、业务控制、网络异常检测以及网络安全监测等网络管理工作要求
对网络流量进行统计和分析。随着网络数据率的飞速提升,若直接对原始的网络
流量进行逐包的分析处理,又因其代价极高而不易实施;而数据流级的网络流量
在所包含的信息量和所需处理的数据量之间达到了良好平衡。数据流指的是一组
具有相同流标识,并且相邻两者的到达时间间隔不超过某一上限的一组数据包的
集合。不同的应用可以定义不同的流标识,一般采用熟知的五元组(<源IP地址,
目的IP地址,协议类型,源端口号,目的端口号>)作为流标识。对各条数据流
的流标识、到达时间、结束时间以及流量大小等信息进行记录,这一过程称为流
测量。当前,流测量已经被Cisco、Juniper等主流的网络设备制造商所支持;
IETF专门成立了IPFIX工作组,进行流测量相关标准的制定。

如何准确测量各条数据流的流量,这是流测量的难点。在高速骨干网链路中,
由于报文到达间隔极短,且并发数据流的数目巨大,完全准确的测量各条数据流
的流量,其代价极高。相对而言,近似测量则具有更好的性能代价比。近似测量
的结果存在一定的误差。在实现测量算法时,通常根据最大负载为测量算法分配
存储资源。然而,对实测网络流量的分析结果表明,流量负载在不同的测量周期
内的变化较大,并且在大部分时间内,负载均小于最大值。现有的近似测量算法,
主要有计数型布鲁姆过滤器[1](Counting Bloom Filter,CBF)和d-left计数
型布鲁姆过滤器[2](d-left Counting Bloom Filter,dlCBF),对于负载适应
性问题缺乏考虑,当实际负载小于最大值时,均不能够充分利用已分配资源,尽
可能的降低测量误差。

参考文献

[1]L.Fan,P.Cao,J.Almeida,and A.Z.Broder.Summary Cache:a Scalable 
Wide-area Web Cache Sharing Protocol[J].IEEE/ACM Transactions on 
Networking,2000,8(3):281-293.

[2]A.Pagh,R.Pagh,and S.Rao.An Optimal Bloom Filter Replacement[C].
In:Proc.of the Sixteenth Annual ACM-SIAM Workshop on Discrete Algorithms,
Maryland,2005,823-829.

发明内容

技术问题:针对现有的数据流流量的近似测量方法负载适应性差的问题,
本发明给出了一种具有良好负载适应性的负载自适应的网络数据流流量测量方
法。在满负载时,本方法的测量误差和现有方法一致;在非满负载状态下,本方
法可以充分利用已分配资源,有效的降低测量误差。

技术方案:现有的数据流流量的近似测量方法主要是基于CBF和dlCBF
实现。已有的研究成果表明,dlCBF的空间效率优于CBF。在dlCBF中,测量误
差的大小主要取决于元素指纹的长短。dlCBF采用固定长度的元素指纹,因而
dlCBF的测量误差对于网络流量负载不敏感。本发明给出了一种元素指纹折半收
缩的d-left计数型布鲁姆过滤器(Binary-Shrinking d-left Counting Bloom 
Filter,BSdlCBF)。在满负载时,BSdlCBF的测量误差和dlCBF一致;在轻负载
时,BSdlCBF能充分利用存储空间,扩大元素指纹的长度,从而比dlCBF能更有
效的降低测量误差。

本发明的负载自适应的网络数据流流量测量方法包括存储区组织、流量值更
新和流量值查询这三个步骤;

存储区组织的方法是:将整个存储区划分为若干个等长的块,每块又划分为
若干个等长的桶,每个桶设置一个桶负载计数器,桶中存放有若干条数据流的流
指纹和流量计数器;

流量值更新的方法是:在测量周期开始时,将所有的桶负载计数器、流指纹
和流量计数器初始化为0;然后,每到达一个数据包,根据其流标识,计算其流
指纹,进行指纹匹配,若匹配成功,则将相应的流量计数器增加1,若匹配失败,
则将该数据流插入到存储区中,并将该数据流所插入的桶的桶负载计数器增加
1;

流量值查询的方法是:根据待查询的数据流的流标识,计算其流指纹,进行
指纹匹配,得到相应的流量计数器的值,通过存储区组织、流量值更新和流量值
查询这三个步骤,完成数据流的流量测量过程。

计算流指纹通过哈希函数实现,哈希函数的输入为数据流的流标识,输出为
流指纹;输出流指纹的长度为每个桶中所能够存放的最长流指纹的长度。

将数据流插入到存储区中的具体步骤是如下:首先,根据该数据流的流标识,
计算其流指纹;然后,假设存储区划分为d个块,则通过d次哈希运算,分别在
每个块中选择一个桶,并从中选择一个负载最轻的桶作为插入该数据流的目标
桶;接着,根据目标桶的负载情况,为新插入的数据流分配指纹空间,若桶负载
为a,桶的最大指纹空间为b比特,则为新插入的数据流分配指纹空间为b/(a+1)
比特;最后,设置该数据流的流量计数器为1;其中a、b、d均为正整数。

指纹匹配的具体步骤是如下:首先,根据该数据流的流标识,计算其流指纹;
然后,假设存储区划分为d个块,则通过d次哈希运算,确定该数据流可能插入
的所有d个桶;接着,依次在各个桶中查找流指纹,判断是否存在和当前数据流
指纹匹配的流指纹,若有,则匹配成功,否则,则匹配失败。

在桶中查找流指纹的具体步骤如下:首先,根据桶负载情况,确定合适的指
纹匹配长度,若桶负载为a,桶的最大指纹空间为b,则取待查找的流指纹的前
b/a比特作为比对字段;然后,将待查找的流指纹的比对字段和桶中的流指纹进
行逐个比对,若发现一致的,则查找成功。

有益效果:与现有的测量方法相比,在满负载时,本发明所提出的方法的
测量误差和现有方法一致;但是,在轻负载时,本发明所提出的方法的测量误差
明显低于现有方法。图1为负载率分别为2.5/3、2/3、1.5/3以及1/3时,dlCBF
和BSdlCBF的测量错误概率的比较结果。图2为采用真实网络流量数据时,dlCBF
和BSdlCBF的测量错误概率的比较结果。所采用的流量数据的各个周期内数据流
的数目如图3所示。由图1和图2可见,在满负载时,dlCBF和BSdlCBF的测量
错误概率较为接近;但是,随着负载率的下降,BSdlCBF的测量错误概率的下降
速度明显快于dlCBF。在轻负载时,BSdlCBF的测量错误概率比dlCBF低数个数
量级。可见,与现有的流量测量方法相比,本发明所提出的流量测量方法在负载
适应性方面具有明显的优势。

附图说明

图1、不同负载率下,dlCBF和BSdlCBF的测量错误概率比较,

图2、采用真实网络流量时dlCBF和BSdlCBF的测量错误概率比较,

图3、真实网络流量中各个测量周期内数据流的数目,

图4、dlCBF的结构示意图,

图5、不同桶负载下,BSdlCBF和dlCBF的桶空间利用情况对比,

图6、BSdlCBF的查询过程,

图7、BSdlCBF的更新过程。

具体实施方式

下面分别从BSdlCBF的组成结构、流量更新过程和流量查询过程这三个方
面,详细说明本发明所提出的流量测量方法的具体实施方式。

1)BSdlCBF的组成结构

为了说明BSdlCBF的组成结构,首先对dlCBF的结构作一描述。dlCBF是在
d-left哈希表的基础上进行设计的。d-left哈希表将存储区等分为d个块,每
块又划分为若干个相同容量的桶。不妨将各个块看作桶向量(Bucket Vector),
从左向右,依次记作BV1,BV2,…,BVd。例如,图4中的d-left哈希表的存储区
划分为4个块,每块5个桶,每桶深度为4。当插入元素e 时,由d个独立的哈
希函数计算元素e在各个块中的桶地址,分别记作h1(e),h2(e),…,hd(e)。然后,
将e插入到BV1(h1(e)),BV2(h2(e)),…,BVd(hd(e))中负载最轻的那个桶中。如
果存在多个负载最轻的桶,则选择最左边那个。例如,图4中,将元素e插入到
桶BV1[4]中。遵循上述选择策略,可使得各个桶的负载较为平均,从而各个桶在
平均负载的基础上,再增加一个较小的额外桶空间,即可保证桶的溢出概率极低,
因而获得较高的空间效率。采用d-left哈希函数构建dlCBF时,在每个桶单元
中存放数据流的指纹和流量计数器,如图4所示。每到达一个报文P时,首先取
得其流标识f,计算其流指纹,并将其指纹与桶BV1(h1(f)),BV2(h2(f)),…,
BVd(hd(f))中已有指纹进行匹配。如果匹配上,则将相应的桶单元的流量计数
器增加1,若有多个桶单元同时匹配上,则随机选择一个单元,将其流量计数器
增加1;如果没有匹配上,则按照上文说明的d-left哈希函数的插入选择策略,
将数据流f插入到BV1(h1(f)),BV2(h2(f)),…,BVd(hd(f))中负载最轻的、最左
边的桶中去,并将其流量计数器设为1。数据流指纹的长度影响着dlCBF的查询
错误概率,指纹长度越长,则出现错误匹配的概率越低。

BSdlCBF和dlCBF类似,同样基于d-left哈希表进行设计。与dlCBF不同
的是,BSdlCBF采用变长的流指纹。当负载较轻时,BSdlCBF采用较长的流指纹;
随着负载率的增加,元素指纹的长度逐渐缩短。为了实现的方便,BSdlCBF中元
素指纹采用折半收缩的策略,如图5所示。需要指出的是,在BSdlCBF中,插入
到各个桶中的数据流指纹和流量计数器的起始位置和dlCBF不同。BSdlCBF中,
每个桶均设置有负载计数器,以记录当前已经插入到桶中的数据流的数目。

2)流量查询过程

BSdlCBF查询操作的处理流程如图6所示。首先,对于所到达的数据包p,
提取其流标识F;然后,对流标识F作d个并行的哈希运算,得到可能存放有F
的流量计数的d个桶的桶地址A1~Ad,同时,还需进行一次哈希运算,以根据流
标识F计算流指纹fp;随后,读取桶单元B(A1)~B(Ad)的内容以及其桶负载计数,
并将fp与桶B(A1)~B(Ad)中的流指纹进行匹配。若匹配命中,则返回对应的流
量计数C(F);若匹配没有命中,则返回0。

设单位指纹长度为l比特,桶深为b,要求b恰好为2的正整数次幂。对于
每条数据流f,BSdlCBF生成b个l比特的元素指纹Ff[1:b]。设在查询时,桶负
载为i,则在进行数据流指纹匹配时,只需取Ff[1:b]的前L(i)个单位指纹
Ff[1:L(i)]作为匹配对象。L(i)由下列式子计算获得


此时,桶单元中的流指纹每L(i)个单位指纹作为一组,和Ff[1:L(i)]进行匹配。

3)流量更新过程

BSdlCBF更新操作的处理流程如图7所示。更新操作时,首先需要进行一次
查询操作,以取得待更新的数据流的当前流量计数值。若查询结果C(F)为0,则
表明数据流F的流量计数尚未被插入到BSdlCBF中;此时需要将数据流插入到
BSdlCBF中,设置C(F)=1,并更新桶负载计数器。若查询结果C(F)>0,则仅仅
需要更新C(F)即可。

设数据流F的流量计数器可能存放于B(A1)~B(Ad)中。在插入数据流F时,
将F放置于B(A1)~B(Ad)中负载最轻的那个桶中,不妨设为B(Ak)。设F为插入
到B(Ak)中的第i(1≤i≤b)条数据流,则数据流F的流指纹和流量计数器的起始
地址由下列式子给出


从A(i)开始L(i)个单元中存放数据流F的流指纹。

负载自适应的网络数据流流量测量方法.pdf_第1页
第1页 / 共10页
负载自适应的网络数据流流量测量方法.pdf_第2页
第2页 / 共10页
负载自适应的网络数据流流量测量方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《负载自适应的网络数据流流量测量方法.pdf》由会员分享,可在线阅读,更多相关《负载自适应的网络数据流流量测量方法.pdf(10页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102833134 A (43)申请公布日 2012.12.19 C N 1 0 2 8 3 3 1 3 4 A *CN102833134A* (21)申请号 201210323629.0 (22)申请日 2012.09.04 H04L 12/26(2006.01) (71)申请人中国人民解放军理工大学 地址 210007 江苏省南京市南京御道街标营 2号32信箱 (72)发明人张进 黄清杉 赵文栋 吴泽民 彭来献 田畅 (74)专利代理机构南京苏高专利商标事务所 (普通合伙) 32204 代理人柏尚春 (54) 发明名称 负载自适应的网络数据流流量测量方法 (57)。

2、 摘要 本发明公开了一种负载自适应的网络数据流 流量测量方法,该方法包括:存储区组织的方法: 将整个存储区划分为若干个等长的块,每块又划 分为若干个等长的桶,每个桶设置一个桶负载计 数器,桶中存放有若干条数据流的流指纹和流量 计数器;流量值更新的方法:在测量周期开始时, 将所有的桶负载计数器、流指纹和流量计数器初 始化为0;然后,每到达一个数据包,根据其流标 识,计算其流指纹,进行指纹匹配;流量值查询的 方法:根据待查询的数据流的流标识,计算其流 指纹,进行指纹匹配,得到相应的流量计数器的 值,通过这三个步骤,完成数据流的流量测量过 程,其新颖之处是采用了动态的数据流指纹收缩 机制,在负载较轻。

3、时,尽可能扩大数据流指纹的长 度,从而降低测量误差。 (51)Int.Cl. 权利要求书1页 说明书4页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 4 页 附图 4 页 1/1页 2 1.一种负载自适应的网络数据流流量测量方法,其特征在于该方法包括存储区组织、 流量值更新和流量值查询这三个步骤; 存储区组织的方法是:将整个存储区划分为若干个等长的块,每块又划分为若干个 等长的桶,每个桶设置一个桶负载计数器,桶中存放有若干条数据流的流指纹和流量计数 器; 流量值更新的方法是:在测量周期开始时,将所有的桶负载计数器、流指纹和流量计数 器初始化。

4、为0;然后,每到达一个数据包,根据其流标识,计算其流指纹,进行指纹匹配,若 匹配成功,则将相应的流量计数器增加1,若匹配失败,则将该数据流插入到存储区中,并将 该数据流所插入的桶的桶负载计数器增加1; 流量值查询的方法是:根据待查询的数据流的流标识,计算其流指纹,进行指纹匹配, 得到相应的流量计数器的值,通过存储区组织、流量值更新和流量值查询这三个步骤,完成 数据流的流量测量过程。 2.按照权利要求1所述的负载自适应的网络数据流流量测量方法,其特征在于计算流 指纹通过哈希函数实现,哈希函数的输入为数据流的流标识,输出为流指纹;输出流指纹的 长度为每个桶中所能够存放的最长流指纹的长度。 3.按照。

5、权利要求1或2所述的负载自适应的网络数据流流量测量方法,其特征在于将 数据流插入到存储区中的具体步骤是如下:首先,根据该数据流的流标识,计算其流指纹; 然后,假设存储区划分为d个块,则通过d次哈希运算,分别在每个块中选择一个桶,并从中 选择一个负载最轻的桶作为插入该数据流的目标桶;接着,根据目标桶的负载情况,为新插 入的数据流分配指纹空间,若桶负载为a,桶的最大指纹空间为b比特,则为新插入的数据 流分配指纹空间为b/(a+1)比特;最后,设置该数据流的流量计数器为1;其中a 、b、d均为 正整数。 4.按照权利要求1、2所述的负载自适应的网络数据流流量测量方法,其特征在于指纹 匹配的具体步骤是。

6、如下:首先,根据该数据流的流标识,计算其流指纹;然后,假设存储区 划分为d个块,则通过d次哈希运算,确定该数据流可能插入的所有d个桶;接着,依次在各 个桶中查找流指纹,判断是否存在和当前数据流指纹匹配的流指纹,若有,则匹配成功,否 则,则匹配失败。 5.根据按照权利要求4所述的负载自适应的网络数据流流量测量方法,其特征在于在 桶中查找流指纹的具体步骤如下:首先,根据桶负载情况,确定合适的指纹匹配长度,若桶 负载为a,桶的最大指纹空间为b,则取待查找的流指纹的前b/a比特作为比对字段;然后, 将待查找的流指纹的比对字段和桶中的流指纹进行逐个比对,若发现一致的,则查找成功。 权 利 要 求 书CN。

7、 102833134 A 1/4页 3 负载自适应的网络数据流流量测量方法 技术领域 0001 本发明是一种具有良好负载适应性的数据流流量测量方法,属于计算机网络技术 领域。 背景技术 0002 计费管理、业务控制、网络异常检测以及网络安全监测等网络管理工作要求对网 络流量进行统计和分析。随着网络数据率的飞速提升,若直接对原始的网络流量进行逐包 的分析处理,又因其代价极高而不易实施;而数据流级的网络流量在所包含的信息量和所 需处理的数据量之间达到了良好平衡。数据流指的是一组具有相同流标识,并且相邻两者 的到达时间间隔不超过某一上限的一组数据包的集合。不同的应用可以定义不同的流标 识,一般采用熟。

8、知的五元组()作为流标识。对各条数据流的流标识、到达时间、结束时间以及流量大小等信息进行 记录,这一过程称为流测量。当前,流测量已经被Cisco、Juniper等主流的网络设备制造商 所支持;IETF专门成立了IPFIX工作组,进行流测量相关标准的制定。 0003 如何准确测量各条数据流的流量,这是流测量的难点。在高速骨干网链路中,由于 报文到达间隔极短,且并发数据流的数目巨大,完全准确的测量各条数据流的流量,其代价 极高。相对而言,近似测量则具有更好的性能代价比。近似测量的结果存在一定的误差。在 实现测量算法时,通常根据最大负载为测量算法分配存储资源。然而,对实测网络流量的分 析结果表明,流。

9、量负载在不同的测量周期内的变化较大,并且在大部分时间内,负载均小于 最大值。现有的近似测量算法,主要有计数型布鲁姆过滤器1(Counting Bloom Filter, CBF)和d-left计数型布鲁姆过滤器2(d-left Counting Bloom Filter,dlCBF),对于 负载适应性问题缺乏考虑,当实际负载小于最大值时,均不能够充分利用已分配资源,尽可 能的降低测量误差。 0004 参考文献 0005 1L.Fan,P.Cao,J.Almeida,and A.Z.Broder.Summary Cache:a Scalable Wide-area Web Cache Shari。

10、ng ProtocolJ.IEEE/ACM Transactions on Networking,2000,8(3):281-293. 0006 2A.Pagh,R.Pagh,and S.Rao.An Optimal Bloom Filter ReplacementC. In:Proc.of the Sixteenth Annual ACM-SIAM Workshop on Discrete Algorithms,Maryl and,2005,823-829. 发明内容 0007 技术问题:针对现有的数据流流量的近似测量方法负载适应性差的问题,本发明 给出了一种具有良好负载适应性的负载自适应的。

11、网络数据流流量测量方法。在满负载时, 本方法的测量误差和现有方法一致;在非满负载状态下,本方法可以充分利用已分配资源, 有效的降低测量误差。 说 明 书CN 102833134 A 2/4页 4 0008 技术方案:现有的数据流流量的近似测量方法主要是基于CBF和dlCBF实现。已 有的研究成果表明,dlCBF的空间效率优于CBF。在dlCBF中,测量误差的大小主要取决 于元素指纹的长短。dlCBF采用固定长度的元素指纹,因而dlCBF的测量误差对于网络 流量负载不敏感。本发明给出了一种元素指纹折半收缩的d-left计数型布鲁姆过滤器 (Binary-Shrinking d-left Coun。

12、ting Bloom Filter,BSdlCBF)。在满负载时,BSdlCBF的 测量误差和dlCBF一致;在轻负载时,BSdlCBF能充分利用存储空间,扩大元素指纹的长度, 从而比dlCBF能更有效的降低测量误差。 0009 本发明的负载自适应的网络数据流流量测量方法包括存储区组织、流量值更新和 流量值查询这三个步骤; 0010 存储区组织的方法是:将整个存储区划分为若干个等长的块,每块又划分为若干 个等长的桶,每个桶设置一个桶负载计数器,桶中存放有若干条数据流的流指纹和流量计 数器; 0011 流量值更新的方法是:在测量周期开始时,将所有的桶负载计数器、流指纹和流 量计数器初始化为0;然。

13、后,每到达一个数据包,根据其流标识,计算其流指纹,进行指纹匹 配,若匹配成功,则将相应的流量计数器增加1,若匹配失败,则将该数据流插入到存储区 中,并将该数据流所插入的桶的桶负载计数器增加1; 0012 流量值查询的方法是:根据待查询的数据流的流标识,计算其流指纹,进行指纹匹 配,得到相应的流量计数器的值,通过存储区组织、流量值更新和流量值查询这三个步骤, 完成数据流的流量测量过程。 0013 计算流指纹通过哈希函数实现,哈希函数的输入为数据流的流标识,输出为流指 纹;输出流指纹的长度为每个桶中所能够存放的最长流指纹的长度。 0014 将数据流插入到存储区中的具体步骤是如下:首先,根据该数据流。

14、的流标识,计算 其流指纹;然后,假设存储区划分为d个块,则通过d次哈希运算,分别在每个块中选择一个 桶,并从中选择一个负载最轻的桶作为插入该数据流的目标桶;接着,根据目标桶的负载情 况,为新插入的数据流分配指纹空间,若桶负载为a,桶的最大指纹空间为b比特,则为新插 入的数据流分配指纹空间为b/(a+1)比特;最后,设置该数据流的流量计数器为1;其中a、 b、d均为正整数。 0015 指纹匹配的具体步骤是如下:首先,根据该数据流的流标识,计算其流指纹;然 后,假设存储区划分为d个块,则通过d次哈希运算,确定该数据流可能插入的所有d个桶; 接着,依次在各个桶中查找流指纹,判断是否存在和当前数据流指。

15、纹匹配的流指纹,若有, 则匹配成功,否则,则匹配失败。 0016 在桶中查找流指纹的具体步骤如下:首先,根据桶负载情况,确定合适的指纹匹配 长度,若桶负载为a,桶的最大指纹空间为b,则取待查找的流指纹的前b/a比特作为比对字 段;然后,将待查找的流指纹的比对字段和桶中的流指纹进行逐个比对,若发现一致的,则 查找成功。 0017 有益效果:与现有的测量方法相比,在满负载时,本发明所提出的方法的测量误差 和现有方法一致;但是,在轻负载时,本发明所提出的方法的测量误差明显低于现有方法。 图1为负载率分别为2.5/3、2/3、1.5/3以及1/3时,dlCBF和BSdlCBF的测量错误概率的 比较结果。

16、。图2为采用真实网络流量数据时,dlCBF和BSdlCBF的测量错误概率的比较结 说 明 书CN 102833134 A 3/4页 5 果。所采用的流量数据的各个周期内数据流的数目如图3所示。由图1和图2可见,在满 负载时,dlCBF和BSdlCBF的测量错误概率较为接近;但是,随着负载率的下降,BSdlCBF的 测量错误概率的下降速度明显快于dlCBF。在轻负载时,BSdlCBF的测量错误概率比dlCBF 低数个数量级。可见,与现有的流量测量方法相比,本发明所提出的流量测量方法在负载适 应性方面具有明显的优势。 附图说明 0018 图1、不同负载率下,dlCBF和BSdlCBF的测量错误概率。

17、比较, 0019 图2、采用真实网络流量时dlCBF和BSdlCBF的测量错误概率比较, 0020 图3、真实网络流量中各个测量周期内数据流的数目, 0021 图4、dlCBF的结构示意图, 0022 图5、不同桶负载下,BSdlCBF和dlCBF的桶空间利用情况对比, 0023 图6、BSdlCBF的查询过程, 0024 图7、BSdlCBF的更新过程。 具体实施方式 0025 下面分别从BSdlCBF的组成结构、流量更新过程和流量查询过程这三个方面,详 细说明本发明所提出的流量测量方法的具体实施方式。 0026 1)BSdlCBF的组成结构 0027 为了说明BSdlCBF的组成结构,首先。

18、对dlCBF的结构作一描述。dlCBF是在 d-left哈希表的基础上进行设计的。d-left哈希表将存储区等分为d个块,每块又划分 为若干个相同容量的桶。不妨将各个块看作桶向量(Bucket Vector),从左向右,依次记作 BV 1 ,BV 2 ,BV d 。例如,图4中的d-left哈希表的存储区划分为4个块,每块5个桶,每桶 深度为4。当插入元素e 时,由d个独立的哈希函数计算元素e在各个块中的桶地址,分别 记作h 1 (e),h 2 (e),h d (e)。然后,将e插入到BV 1 (h 1 (e),BV 2 (h 2 (e),BV d (h d (e)中负 载最轻的那个桶中。如果。

19、存在多个负载最轻的桶,则选择最左边那个。例如,图4中,将元 素e插入到桶BV 1 4中。遵循上述选择策略,可使得各个桶的负载较为平均,从而各个桶在 平均负载的基础上,再增加一个较小的额外桶空间,即可保证桶的溢出概率极低,因而获得 较高的空间效率。采用d-left哈希函数构建dlCBF时,在每个桶单元中存放数据流的指纹 和流量计数器,如图4所示。每到达一个报文P时,首先取得其流标识f,计算其流指纹,并 将其指纹与桶BV 1 (h 1 (f),BV 2 (h 2 (f),BV d (h d (f)中已有指纹进行匹配。如果匹配上,则 将相应的桶单元的流量计数器增加1,若有多个桶单元同时匹配上,则随机。

20、选择一个单元, 将其流量计数器增加1;如果没有匹配上,则按照上文说明的d-left哈希函数的插入选择 策略,将数据流f插入到BV 1 (h 1 (f),BV 2 (h 2 (f),BV d (h d (f)中负载最轻的、最左边的桶 中去,并将其流量计数器设为1。数据流指纹的长度影响着dlCBF的查询错误概率,指纹长 度越长,则出现错误匹配的概率越低。 0028 BSdlCBF和dlCBF类似,同样基于d-left哈希表进行设计。与dlCBF不同的是, BSdlCBF采用变长的流指纹。当负载较轻时,BSdlCBF采用较长的流指纹;随着负载率的增 加,元素指纹的长度逐渐缩短。为了实现的方便,BSd。

21、lCBF中元素指纹采用折半收缩的策略, 说 明 书CN 102833134 A 4/4页 6 如图5所示。需要指出的是,在BSdlCBF中,插入到各个桶中的数据流指纹和流量计数器的 起始位置和dlCBF不同。BSdlCBF中,每个桶均设置有负载计数器,以记录当前已经插入到 桶中的数据流的数目。 0029 2)流量查询过程 0030 BSdlCBF查询操作的处理流程如图6所示。首先,对于所到达的数据包p,提取其 流标识F;然后,对流标识F作d个并行的哈希运算,得到可能存放有F的流量计数的d个 桶的桶地址A 1 A d ,同时,还需进行一次哈希运算,以根据流标识F计算流指纹fp;随后,读 取桶单元。

22、B(A 1 )B(A d )的内容以及其桶负载计数,并将fp与桶B(A 1 )B(A d )中的流指纹 进行匹配。若匹配命中,则返回对应的流量计数C(F);若匹配没有命中,则返回0。 0031 设单位指纹长度为l比特,桶深为b,要求b恰好为2的正整数次幂。对于每条数 据流f,BSdlCBF生成b个l比特的元素指纹F f 1:b。设在查询时,桶负载为i,则在进行 数据流指纹匹配时,只需取F f 1:b的前L(i)个单位指纹F f 1:L(i)作为匹配对象。L(i) 由下列式子计算获得 0032 0033 此时,桶单元中的流指纹每L(i)个单位指纹作为一组,和F f 1:L(i)进行匹配。 003。

23、4 3)流量更新过程 0035 BSdlCBF更新操作的处理流程如图7所示。更新操作时,首先需要进行一次查询操 作,以取得待更新的数据流的当前流量计数值。若查询结果C(F)为0,则表明数据流F的流 量计数尚未被插入到BSdlCBF中;此时需要将数据流插入到BSdlCBF中,设置C(F)=1,并更 新桶负载计数器。若查询结果C(F)0,则仅仅需要更新C(F)即可。 0036 设数据流F的流量计数器可能存放于B(A 1 )B(A d )中。在插入数据流F时,将F 放置于B(A 1 )B(A d )中负载最轻的那个桶中,不妨设为B(A k )。设F为插入到B(A k )中的 第i(1ib)条数据流,则数据流F的流指纹和流量计数器的起始地址由下列式子给出 0037 0038 从A(i)开始L(i)个单元中存放数据流F的流指纹。 说 明 书CN 102833134 A 1/4页 7 图1 图2 说 明 书 附 图CN 102833134 A 2/4页 8 图3 图4 说 明 书 附 图CN 102833134 A 3/4页 9 图5 图6 说 明 书 附 图CN 102833134 A 4/4页 10 图7 说 明 书 附 图CN 102833134 A 10 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1