资源可控制的网络流监测方法

文档序号:7644876阅读:129来源:国知局
专利名称:资源可控制的网络流监测方法
技术领域
本发明涉及一种用于测量网络流的方法,尤其涉及一种资源可控制的网络流监测方法。
背景技术
网络流在网络中应用非常广泛,基于网络流的行为分析和异常检测是热点研究问题,在IETF组织中有二个工作组专门研究网络流的有关问题,实时流测量工作组RTFM和网络流信息输出工作组IPFIX,他们的工作是建立网络流测量的相关通用标准。由于互联网的“更大、更快、突变”的特性,使得基于抽样、数据流算法等近似测量技术成为目前网络流测量的重点研究问题。
网络流测量领域的抽样技术相关研究主要体现为2001年Nick Duffield认为重尾流在网络中占的比重较小而对流的统计估计影响较大,因而提出基于流大小的不等概率抽样,其缺点也是要分析通过测量点的所有报文。2002年,UCSD大学的Christian Estan等通过多层过滤机制实现重尾流估计的全报文过滤的抽样机制,实际是一种流估计技术,该方法的问题是所有报文要进行多次哈希运算。2003年Nick Duffield通过SYN报文估计流数进行了有关流分布研究,但最终只能估计TCP流,而不能估计其它类型的流。同年在IMC会议上,Nicolas Hohn重点分析比较了基于报文抽样和基于流抽样两种抽样方法的优缺点,但没有给出具体的流抽样方法。2006年Raspall等人提出了一个基于Sample & Hold算法的S3算法,S3算法比原有的算法能更精确地检测出高速网络重尾流。同年Ribeiro提出使用报文序列号和SYN等信息,并设计最大似然估计器进行报文抽样流分布估计。
由于网络流数据具有重要应用和研究价值,现代路由器中都提供了网络流测量功能,如Cisco路由器中提供了NetFlow功能,NetFlow在路由器中提供了网络流测量功能,由于路由器难以提供足够的资源测量所有通过其的所有网络流,Cisco在NetFlow基础上增加了抽样功能,抽样的NetFlow可以通过抽取部分网络流量进行网络流测量,但是在测量过程中NetFlow的测量抽样概率需要用户调整,另外无法适应网络流量的突变情况。Estan提出了具有自适应抽样能力的NetFlow,该NetFlow算法能够适应网络流量的突变情况,但最终不能充分发挥路由器的测量资源,测量精度较低,在网络流重抽样过程中也消耗较多的CPU资源,因此设计更有效、更精确的自适应抽样算法就更为重要。
网络测量和流量分析领域也是国内的研究热点,但与国外的研究相比,国内高校也在网络测量领域进行了一定的研究工作,但相应的研究成果仍较少,主要集中在,东南大学研究网络流量测量中的哈希算法、网络流超时机制、TCP链接参数和TCP的动态平衡性等网络流量测量和分析技术。北京邮电大学在IP网络的带宽测量和流测量中基于测量缓冲区的时间分层分组抽样方面做出了一定的贡献。
综上所述目前研究大规模高速网络下的网络流检测和分析技术是一个研究趋势,特别在DDoS/DoS(Denial of Service)和蠕虫等异常网络流量检测技术中,分布式协同的测量技术、实时网络流及流数的数据流算法和抽样等近似测量技术、以及基于网络流行为特征的异常监测技术等都已是网络测量的热点研究技术问题。本课题研究将为新一代高速互联网的实时流量检测、安全管理提供重要的理论依据和技术支持。

发明内容
本发明提供一种能够提高网络流的估计精度并能减少系统测量资源消耗的资源可控制的网络流监测方法。
本发明采用如下技术方案一种资源可控制的网络流监测方法第一步设置测量参数设置一个大小为k的二维数组作为流缓冲M,设置一个流缓冲淘汰开始阀值R,设置一个流缓冲淘汰结束阀值T,设置一个大小为d的二维数组作为流分布缓冲D,
设置预抽样比率n,流抽样比率r,测量开始时间t1和测量结束时间t2,流分布缓冲大小d必须大于r,上述预抽样比率n及流抽样比率r均为自然数,设置预抽样比率变量x=0,流抽样比率变量y=0;第二步预抽样过程当一个报文到达测量器,累加预抽样比率变量x=x+1,如果预抽样比率变量x小于预抽样比率n,x<n,则这个报文没有被抽样,进到第十四步;如果预抽样比率变量x等于预抽样比率n,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1,进入第三步;第三步报文更新抽样判断在流缓冲M中查找该报文的流记录,如果流缓冲M中有该报文的流记录,则进入第四步更新该报文的流记录,如果流缓冲M中没有该报文的流记录,则进入第五步;第四步更新流记录设更新前该流记录大小为i,则更新后大小为i+1;如果i小于流分布缓冲大小d,则D[i]=D[i]-1,如果i大于或等于流分布缓冲大小d,则流分布缓冲D保留不变;如果i+1<d,则D[i+1]=D[i+1]+1,如果i+1大于或等于d,则流分布缓冲D保留不变。进入第十四步;第五步流抽样过程如果流抽样比率变量y是流抽样比率r的p倍,p是自然数,即y=p*r,设置y=0,在流缓冲M中增加该报文的流记录,并设置该报文的流记录的初始值为r,同时更改流分布缓冲D[r]=D[r]+1,进入第六步;如果流抽样比率变量y大于p*r,同时小于(p+1)*r,p是大于或等于0的正整数,设置y=y-p*r,进入第十四步;第六步流淘汰判断如果流缓冲M中的流记录数量超过流缓冲淘汰开始阀值R,则进入第七步;如果流缓冲M中的流数量没有超过流缓冲淘汰开始阀值R,则进入第十四步;第七步设置流淘汰大小阀值初始值设置流淘汰大小阀值m的初始值,流淘汰大小阀值初始值为流抽样比率r加1,即m=r+1,进入第八步;第八步计算淘汰流数量如果流的长度i小于m,其抽样概率为i/m,如果流的长度i大于或等于m,其抽样概率为1,计算淘汰流数量S=Σi=1m-1D[i](1-i/m),]]>式中流淘汰大小阀值为m,长度为i的流数量为D[i],则流缓冲M中流淘汰理论数量为S,如果S大于或等于流缓冲淘汰结束阀值T,进入第十步,否则进入第九步;第九步更新流淘汰大小阀值m累加流淘汰大小阀值m=m+1,进入第八步;第十步设置淘汰初始随机值使用伪随机函数生成一个随机值random,其中random大于等于0,小于1,从流缓冲M中查找第一条流记录,进入第十一步;第十一步流抽样淘汰判断设流缓冲中一个流的长度为i,如果i<m,则进入第十二步,如果流的长度i大于或等于m,则该流记录保持不变,进入第十三步;第十二步流抽样淘汰过程累加random=random+i/m,如果random小于1,该流未被抽样,从流缓冲M中删除该流记录,D[i]=D[i]-1,则进入第十三步,如果random大于或等于1,random=random-1,该流被抽样,将该流缓冲M中该流的记录值改为m,D[i]=D[i]-1,D[m]=D[m]+1,其中D[i]为长度为i的流数量,D[m]为长度为m的流的流数量,进入第十三步;第十三步查找流缓冲中下一流记录查找流缓冲M中下一流记录,如果流缓冲M中查找到下一个流记录,进入第十一步,流缓冲M中流记录查找结束后,将流抽样比率r设定为流淘汰大小阀值m,r=m,进入第十四步;第十四步测量结束判断如果当前时刻大于或等于测量时间区间的测量结束时间t2,停止测量,输出流缓冲M中的流数据信息,否则返回第二步。
与现有技术相比,本发明具有如下优点(1)能够在同一个测量时间粒度内采用不同的抽样比率,实现网络流自适应抽样测量,并发挥测量系统的使用效率;(2)使用不等概率淘汰流策略,使得在同样的测量资源内实现更高精度的抽样;(3)采用多抽样模块,进而使得系统可以控制不同系统资源的消耗。


图1是资源可控制网络流的测量流程图。
图2不等概率抽样算法。
图3资源可控制的网络流监测方法步骤图。
具体实施例方式
一种资源可控制的网络流监测方法,参照图1及图3,第一步设置测量参数设置一个大小为k的二维数组作为流缓冲M,设置一个流缓冲淘汰开始阀值R,设置一个流缓冲淘汰结束阀值T,设置一个大小为d的二维数组作为流分布缓冲D,设置预抽样比率n,流抽样比率r,测量开始时间t1和测量结束时间t2,流分布缓冲大小d必须大于r,上述预抽样比率n及流抽样比率r均为自然数,设置预抽样比率变量x=0,流抽样比率变量y=0;第二步预抽样过程当一个报文到达测量器,累加预抽样比率变量x=x+1,如果预抽样比率变量x小于预抽样比率n,x<n,则这个报文没有被抽样,进到第十四步;如果预抽样比率变量x等于预抽样比率n,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1,进入第三步;第三步报文更新抽样判断在流缓冲M中查找该报文的流记录,如果流缓冲M中有该报文的流记录,则进入第四步更新该报文的流记录,如果流缓冲M中没有该报文的流记录,则进入第五步;第四步更新流记录设更新前该流记录大小为i,则更新后大小为i+1;如果i小于流分布缓冲大小d,则D[i]=D[i]-1,如果i大于或等于流分布缓冲大小d,则流分布缓冲D保留不变;如果i+1<d,则D[i+1]=D[i+1]+1,如果i+1大于或等于d,则流分布缓冲D保留不变。进入第十四步;第五步流抽样过程如果流抽样比率变量y是流抽样比率r的p倍,p是自然数,即y=p*r,设置y=0,在流缓冲M中增加该报文的流记录,并设置该报文的流记录的初始值为r,同时更改流分布缓冲D[r]=D[r]+1,进入第六步;如果流抽样比率变量y大于p*r,同时小于(p+1)*r,p是大于或等于0的正整数,设置y=y-p*r,进入第十四步;第六步流淘汰判断如果流缓冲M中的流记录数量超过流缓冲淘汰开始阀值R,则进入第七步;如果流缓冲M中的流数量没有超过流缓冲淘汰开始阀值R,则进入第十四步;第七步设置流淘汰大小阀值初始值设置流淘汰大小阀值m的初始值,流淘汰大小阀值初始值为流抽样比率r加1,即m=r+1,进入第八步;第八步计算淘汰流数量流缓冲M中每个流的被抽样概率由图2的不等概率抽样算法定义,如果流的长度i小于m,其抽样概率为i/m,如果流的长度i大于或等于m,其抽样概率为1,计算淘汰流数量S=Σi=1m-1D[i](1-i/m),]]>式中流淘汰大小阀值为m,长度为i的流数量为D[i],则流缓冲M中流淘汰理论数量为S,如果S大于或等于流缓冲淘汰结束阀值T,进入第十步,否则进入第九步;第九步更新流淘汰大小阀值m累加流淘汰大小阀值m=m+1,进入第八步;第十步设置淘汰初始随机值使用伪随机函数生成一个随机值random,其中random大于等于0,小于1,从流缓冲M中查找第一条流记录,进入第十一步;第十一步流抽样淘汰判断设流缓冲中一个流的长度为i,如果i<m,则进入第十二步,如果流的长度大于或等于m,则该流记录保持不变,进入第十三步;第十二步流抽样淘汰过程累加random=random+i/m,如果random小于1,该流未被抽样,从流缓冲M中删除该流记录,D[i]=D[i]-1,则进入第十三步,如果random大于或等于1,random=random-1,该流被抽样,将该流缓冲M中该流的记录值改为m,D[i]=D[i]-1,D[m]=D[m]+1,其中D[i]为长度为i的流数量,D[m]为长度为m的流的流数量,进入第十三步;第十三步查找流缓冲中下一流记录查找流缓冲M中下一流记录,如果流缓冲M中查找到下一个流记录,进入第十一步,流缓冲M中流记录查找结束后,将流抽样比率r设定为流淘汰大小阀值m,r=m,进入第十四步;第十四步测量结束判断如果当前时刻大于或等于测量时间区间的测量结束时间t2,停止测量,输出流缓冲M中的流数据信息,否则返回第二步。
下面举一实例,对本发明的具体实施方案作一详细说明一种资源可控的网络流测量方法设一个报文序列A B C A D E E A B C F E A B C C A B E A H A B B C F E1(第一步)设置测量参数设置流缓冲M,流分布缓冲D,流分布缓冲大小为d=10,预抽样比率n=2,流抽样比率r=2,流缓冲淘汰开始阀值R=2,流缓冲淘汰结束阀值T=1,测量开始时间t1=1和结束时间t2=10,设置预抽样比率变量x=0,流抽样比率变量y=0,测量时间开始t1=1进入2(第二步)。
2(第二步)预抽样过程报文A到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x小于预抽样比率n,x<n,则这个报文没有被抽样,进到3(第十四步);3(第十四步)测量结束判断当前时刻为1,小于测量结束时间t2=20,返回4(第二步)。
4(第二步)预抽样过程当报文B到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x等于预抽样比率n=2,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=1,进入5(第三步);5(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文的流记录,则进入6(第五步);6(第五步)流抽样过程流抽样比率变量y为1,y大于0*2,同时小于(0+1)*2=2,p=0是大于等于0的正整数,设置y=y-p*r=1-0*2=1,进入7(第十四步)7(第十四步)测量结束判断当前测量时刻为2,小于测量时间区间的时间结束t2=20,返回8(第二步);8(第二步)预抽样过程当报文C到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x小于预抽样比率n=2,则这个报文没有被抽样,进到9(第十四步);9(第十四步)测量结束判断当前测量时刻为3,小于测量时间区间的时间结束t2=20,返回10(第二步);10(第二步)预抽样过程当报文A到达测量器,累加预抽样比率变量x=x+1=2,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=2,进入11(第三步);11(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文的流记录,则进入12(第五步);12(第五步)流抽样过程如果流抽样比率变量y=2是流抽样比率r=2的1倍,1是大于等于0的正整数,即y=p*r=1*2,设置y=0,在流缓冲M中增加该流记录,并设置该流记录的初始值为2,同时更改流分布缓冲D[2]=D[2]+1=1,进入13(第六步);13(第六步)流淘汰判断当前流缓冲M中的流数量为1,没有超过流缓冲淘汰开始阀值R=2,则进入14(第十四步);14(第十四步)测量结束判断当前测量时刻为4,小于测量时间区间的时间结束t2=20,返回15(第二步);15(第二步)预抽样过程报文D到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x小于预抽样比率n=2,x<n,则这个报文没有被抽样,则到16(第十四步);16(第十四步)测量结束判断当前测量时刻为5,小于测量时间区间的时间结束t2=20,返回17(第二步);17(第二步)预抽样过程当报文E到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x等于预抽样比率n=2,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=1,进入18(第三步);18(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文的流记录,则进入19(第五步);19(第五步)流抽样过程当前流抽样比率变量y=1,大于0*2=0,同时小于(0+1)*2=2,0是大于等于0的正整数,设置y=1-0*2=1,进入20(第十四步);20(第十四步)测量结束判断当前测量时刻为6,小于测量时间区间的时间结束t2=20,返回21(第二步);21(第二步)预抽样过程当一个报文E到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x=1小于预抽样比率n=2,则这个报文没有被抽样,进到22(第十四步);22(第十四步)测量结束判断当前测量时刻为7,小于测量时间区间的时间结束t2=20,返回23(第二步);23(第二步)预抽样过程当一个报文A到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x等于预抽样比率n=2,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=2,进入24(第三步);24(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中有该流记录,则进入25(第四步)更新该流记录;25(第四步)更新流记录设更新前流A记录大小为2,则更新后大小为2+1=3;k=2小于流分布缓冲大小d=10,则D[2]=D[2]-1=1-1=0,k+1=2+1=3<d=10,则D[3]=D[3]+1=1,进入26(第十四步)。
26(第十四步)测量结束判断当前测量时刻为8,小于测量时间区间的时间结束t2=20,返回27(第二步);27(第二步)预抽样过程当一个报文B到达测量器,累加预抽样比率变量x=x+1=1,如果预抽样比率变量x小于预抽样比率n=2,x<n,则这个报文没有被抽样,进到28(第十四步);28(第十四步)测量结束判断当前测量时刻为9,小于测量时间区间的时间结束t2=20,返回29(第二步);29(第二步)预抽样过程当一个报文C到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x等于预抽样比率n=2,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=3,进入30(第三步);30(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文的流记录,则进入31(第五步);31(第五步)流抽样过程流抽样比率变量y大于1*2=2,同时小于(1+1)*2=4,1是大于等于0的正整数,设置y=y-p*r=3-1*2=1,进入32(第十四步);32(第十四步)测量结束判断当前测量时刻为10,小于测量时间区间的时间结束t2=20,返回33(第二步);33(第二步)预抽样过程当一个报文F到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x=1小于预抽样比率n=2,x<n,则这个报文没有被抽样,进到34(第十四步);34(第十四步)测量结束判断当前测量时刻为11,小于测量时间区间的时间结束t2=20,返回35(第二步);35(第二步)预抽样过程当一个报文E到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x=2等于预抽样比率n=2,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=2,进入36(第三步);36(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文的流记录,则进入37(第五步);37(第五步)流抽样过程流抽样比率变量y=2是流抽样比率r=2的1倍,1是大于等于0的正整数,即y=p*r=1*2,设置y=0,在流缓冲M中增加该流记录,并设置该流记录的初始值为r=2,同时更改流分布缓冲D[2]=D[2]+1=1,进入38(第六步);38(第六步)流淘汰判断当前流缓冲M中的流记录有A和E两个,数量没有流缓冲淘汰开始阀值R,则进入39(第十四步);39(第十四步)测量结束判断当前测量时刻为12,小于测量时间区间的时间结束t2=20,返回40(第二步);40(第二步)预抽样过程当一个报文A到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x=1小于预抽样比率n=2,x<n,则这个报文没有被抽样,进到41(第十四步);41(第十四步)测量结束判断当前测量时刻为13,小于测量时间区间的时间结束t2=20,返回42(第二步);42(第二步)预抽样过程当一个报文B到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x=2等于预抽样比率n=2,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=1,进入43(第三步);
43(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文B的流记录,则进入44(第五步);44(第五步)流抽样过程流抽样比率变量y=1,流抽样比率变量y大于p*r=0*2=0,同时小于(p+1)*r=(0+1)*2=2,p是大于等于0的正整数,设置y=y-p*r=1-0*2=1,进入45(第十四步);45(第十四步)测量结束判断当前测量时刻为14,小于测量时间区间的时间结束t2=20,返回46(第二步);46(第二步)预抽样过程当一个报文C到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x=1小于预抽样比率n=2,x<n,则这个报文没有被抽样,进到47(第十四步);47(第十四步)测量结束判断当前测量时刻为15,小于测量时间区间的时间结束t2=20,返回48(第二步);48(第二步)预抽样过程当一个报文C到达测量器,累加预抽样比率变量x=x+1=1+1=2,预抽样比率变量x=2等于预抽样比率n=2,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=1+1=2,进入49(第三步);49(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文的流记录,则进入50(第五步);50(第五步)流抽样过程流抽样比率变量y=2是流抽样比率r=2的1倍,1是大于等于0的正整数,即y=p*r=1*2,设置y=0,在流缓冲M中增加该流记录,并设置该流记录的初始值为r=2,同时更改流分布缓冲D[2]=D[2]+1=2,进入51(第六步);51(第六步)流淘汰判断流缓冲M中当前有流记录3条,流A=3,流E=2,流C=2,流缓冲M中的流记录数量3超过流缓冲淘汰开始阀值R=2,则进入52(第七步);52(第七步)设置流淘汰大小阀值初始值设置流淘汰大小阀值m的初始值,流淘汰大小阀值初始值为流抽样比率r加1,即m=r+1=2+1=3,进入53(第八步);53(第八步)计算淘汰流数量S=Σi=1m-1D[i](1-i/m),]]>公式中流淘汰大小阀值为m=3,长度为i的流数量为D[i],长度为1的流数量D[1]=0,长度为2的流数量为D[2]=2,长度为3的流数量为D[3]=1,则流缓冲M中流淘汰理论数量为S=[D[1](1-1/3)+D[2](1-2/3)]=(0*(1-1/3)+2(1-2/3))=2/3,S=2/3小于流缓冲淘汰结束阀值T=1,进入54(第九步);54(第九步)更新流淘汰大小阀值m累加流淘汰大小阀值m=m+1=3+1=4,进入55(第八步);55(第八步)计算淘汰流数量S=Σi=1m-1D[i](1-i/m),]]>公式中流淘汰大小阀值为m=4,长度为i的流数量为D[i],长度为1的流数量D[1]=0,长度为2的流数量为D[2]=2,长度为3的流数量为D[3]=1,则流缓冲M中流淘汰理论数量为S=[D[1](1-1/4)+D[2](1-2/4)+D[3](1-3/4)]=
=(0+1+1/4)=1.25,S=1.25大于流缓冲淘汰结束阀值T=1,进入56(第十步);56(第十步)设置淘汰初始随机值使用伪随机函数生成一个随机值random,其中random大于等于0,小于1,设随机函数生成的random=0.5,目前流缓冲M中有3条流记录,流A=3,流E=2,流C=2,查找第一条流记录A,进入57(第十一步);57(第十一步)流抽样淘汰判断设流缓冲M中流A的长度为3,如果3<4,则进入58(第十二步);58(第十二步)流抽样淘汰过程累加random=random+k/m=0.5+3/4=1.25,random=1.25大于等于1,设置random=random-1=1.25-1=0.25,该流被抽样,将该流缓冲M中该流A的记录值改为m=4,D[3]=D[3]-1=0,D[4]=D[4]+1=1,其中D[3]为长度为3的流数量,D[4]为长度为4的流的流数量,进入59(第十三步);
59(第十三步)查找流缓冲中下一流记录查找流缓冲M中下一流记录流E=2,进入60(第十一步);60(第十一步)流抽样淘汰判断流缓冲M中一个流E的长度为2,如果2<m=4,则进入61(第十二步);61(第十二步)流抽样淘汰过程累加random=random+k/m=0.25+2/4=0.75,random=0.75小于1,该流未被抽样,从流缓冲M中删除该流记录,D[2]=D[2]-1=1,则进入62(第十三步);62(第十三步)查找流缓冲中下一流记录查找流缓冲M中下一流记录流C,进入63(第十一步);63(第十一步)流抽样淘汰判断流缓冲M中一个流C的长度为2,2<m=4,则进入64(第十二步);64(第十二步)流抽样淘汰过程累加random=random+k/m=0.75+2/4=1.25,random=1.25大于等于1,设置random=random-1=1.25-1=0.25,该流被抽样,将该流缓冲M中该流的记录值改为m=4,D[2]=D[2]-1=0,D[4]=D[4]+1=2,其中D[2]为长度为2的流数量,D[4]为长度为4的流的流数量,进入65(第十三步);65(第十三步)查找流缓冲中下一流记录查找流缓冲M中下一流记录,流缓冲M中流记录查找结束,设置新的流抽样比率r等于流淘汰大小阀值m=4,r=m=4,进入66(第十四步);66(第十四步)测量结束判断当前测量时刻为16,小于测量时间区间的时间结束t2=20,返回67(第二步);67(第二步)预抽样过程当一个报文A到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x=1小于预抽样比率n=2,x<n,则这个报文没有被抽样,进到68(第十四步);68(第十四步)测量结束判断当前测量时刻为17,小于测量时间区间的时间结束t2=20,返回69(第二步);69(第二步)预抽样过程当一个报文B到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x=2等于预抽样比率n=2,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=1,进入70(第三步);70(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,流缓冲M中没有该报文的流记录,则进入71(第五步);71(第五步)流抽样过程如果流抽样比率变量y=1大于p*r=0*4=0,同时小于(p+1)*r=(0+1)*4=4,p=0是大于等于0的正整数,设置y=y-p*r=1-0*4=1,进入72(第十四步);72(第十四步)测量结束判断当前测量时刻为18,小于测量时间区间的时间结束t2=20,返回73(第二步);73(第二步)预抽样过程当一个报文E到达测量器,累加预抽样比率变量x=x+1=1,预抽样比率变量x=1小于预抽样比率n=2,x<n,则这个报文没有被抽样,进到74(第十四步);74(第十四步)测量结束判断当前测量时刻为19,小于测量时间区间的时间结束t2=20,返回75(第二步);75(第二步)预抽样过程当一个报文A到达测量器,累加预抽样比率变量x=x+1=2,预抽样比率变量x=2等于预抽样比率n=2,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1=2,进入76(第三步);76(第三步)报文更新抽样判断在流缓冲M中查找该报文的流记录,如果流缓冲M中有该流记录,则进入77(第四步)更新该流记录;77(第四步)更新流记录更新前该流A记录大小为4,则更新后大小为4+1=5;4小于流分布缓冲大小10,则D[4]=D[4]-1=1,k+1=5<d=10,则D[5]=D[5]+1=1,进入78(第十四步);78(第十四步)测量结束判断当前测量时刻为20,等于测量时间区间的时间结束t2=20,停止测量,输出流缓冲M中的流数据信息;目前流缓冲M中的信息为流A=5,流C=4。
权利要求
1.一种资源可控制的网络流监测方法,其特征在于第一步设置测量参数设置一个大小为k的二维数组作为流缓冲M,设置一个流缓冲淘汰开始阀值R,设置一个流缓冲淘汰结束阀值T,设置一个大小为d的二维数组作为流分布缓冲D,设置预抽样比率n,流抽样比率r,测量开始时间t1和测量结束时间t2,流分布缓冲大小d必须大于r,上述预抽样比率n及流抽样比率r均为自然数,设置预抽样比率变量x=0,流抽样比率变量y=0;第二步预抽样过程当一个报文到达测量器,累加预抽样比率变量x=x+1,如果预抽样比率变量x小于预抽样比率n,x<n,则这个报文没有被抽样,进到第十四步;如果预抽样比率变量x等于预抽样比率n,x=n,这个报文被抽样,设置预抽样比率变量x=0,将流抽样比率变量y累加1,y=y+1,进入第三步;第三步报文更新抽样判断在流缓冲M中查找该报文的流记录,如果流缓冲M中有该报文的流记录,则进入第四步更新该报文的流记录,如果流缓冲M中没有该报文的流记录,则进入第五步;第四步更新流记录设更新前该流记录大小为i,则更新后大小为i+1;如果i小于流分布缓冲大小d,则D[i]=D[i]-1,如果i大于或等于流分布缓冲大小d,则流分布缓冲D保留不变;如果i+1<d,则D[i+1]=D[i+1]+1,如果i+1大于或等于d,则流分布缓冲D保留不变。进入第十四步;第五步流抽样过程如果流抽样比率变量y是流抽样比率r的p倍,p是自然数,即y=p*r,设置y=0,在流缓冲M中增加该报文的流记录,并设置该报文的流记录的初始值为r,同时更改流分布缓冲D[r]=D[r]+1,进入第六步;如果流抽样比率变量y大于p*r,同时小于(p+1)*r,p是大于或等于0的正整数,设置y=y-p*r,进入第十四步;第六步流淘汰判断如果流缓冲M中的流记录数量超过流缓冲淘汰开始阀值R,则进入第七步;如果流缓冲M中的流数量没有超过流缓冲淘汰开始阀值R,则进入第十四步;第七步设置流淘汰大小阀值初始值设置流淘汰大小阀值m的初始值,流淘汰大小阀值初始值为流抽样比率r加1,即m=r+1,进入第八步;第八步计算淘汰流数量如果流的长度i小于m,其抽样概率为i/m,如果流的长度i大于或等于m,其抽样概率为1,计算淘汰流数量S=Σi=1m-1D[i](1-i/m),]]>式中流淘汰大小阀值为m,长度为i的流数量为D[i],则流缓冲M中流淘汰理论数量为S,如果S大于或等于流缓冲淘汰结束阀值T,进入第十步,否则进入第九步;第九步更新流淘汰大小阀值m累加流淘汰大小阀值m=m+1,进入第八步;第十步设置淘汰初始随机值使用伪随机函数生成一个随机值random,其中random大于等于0,小于1,从流缓冲M中查找第一条流记录,进入第十一步;第十一步流抽样淘汰判断设流缓冲中一个流的长度为i,如果i<m,则进入第十二步,如果流的长度i大于或等于m,则该流记录保持不变,进入第十三步;第十二步流抽样淘汰过程累加random=random+i/m,如果random小于1,该流未被抽样,从流缓冲M中删除该流记录,D[i]=D[i]-1,则进入第十三步,如果random大于或等于1,random=random-1,该流被抽样,将该流缓冲M中该流的记录值改为m,D[i]=D[i]-1,D[m]=D[m]+1,其中D[i]为长度为i的流数量,D[m]为长度为m的流的流数量,进入第十三步;第十三步查找流缓冲中下一流记录查找流缓冲M中下一流记录,如果流缓冲M中查找到下一个流记录,进入第十一步,流缓冲M中流记录查找结束后,将流抽样比率r设定为流淘汰大小阀值m,r=m,进入第十四步;第十四步测量结束判断如果当前时刻大于或等于测量时间区间的测量结束时间t2,停止测量,输出流缓冲M中的流数据信息,否则返回第二步。
全文摘要
本发明公开了一种资源可控制的网络流监测方法第一步设置测量参数;第二步预抽样过程;第三步报文更新抽样判断;第四步更新流记录;第五步流抽样过程;第六步流淘汰判断;第七步设置流淘汰大小阀值初始值;第八步计算淘汰流数量;第九步更新流淘汰大小阀值m;第十步设置淘汰初始随机值;第十一步流抽样淘汰判断;第十二步流抽样淘汰过程;第十三步查找流缓冲中下一流记录;第十四步测量结束判断。本发明能够在一个测量时间粒度内采用不同的抽样比率,实现网络流自适应抽样测量;使用不等概率淘汰流策略,在同样的测量资源内实现更高精度的抽样;采用多抽样模块,使系统可以控制不同系统资源的消耗优点。
文档编号H04L12/26GK101051999SQ20071002221
公开日2007年10月10日 申请日期2007年5月9日 优先权日2007年5月9日
发明者程光, 吴桦, 龚俭, 丁伟 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1