CN102308554A - 捕获具有最大数量小流的主机的系统和方法 - Google Patents

捕获具有最大数量小流的主机的系统和方法 Download PDF

Info

Publication number
CN102308554A
CN102308554A CN2010800071011A CN201080007101A CN102308554A CN 102308554 A CN102308554 A CN 102308554A CN 2010800071011 A CN2010800071011 A CN 2010800071011A CN 201080007101 A CN201080007101 A CN 201080007101A CN 102308554 A CN102308554 A CN 102308554A
Authority
CN
China
Prior art keywords
mrow
msub
main frame
stream
counter
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.)
Granted
Application number
CN2010800071011A
Other languages
English (en)
Other versions
CN102308554B (zh
Inventor
施新刚
邱达民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinese University of Hong Kong CUHK
Original Assignee
Chinese University of Hong Kong CUHK
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chinese University of Hong Kong CUHK filed Critical Chinese University of Hong Kong CUHK
Publication of CN102308554A publication Critical patent/CN102308554A/zh
Application granted granted Critical
Publication of CN102308554B publication Critical patent/CN102308554B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • H04L43/024Capturing of monitoring data by sampling by adaptive sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了捕获具有最大数量小流的主机的系统和方法。系统可以包括:过滤器(10),被配置为对来自所述多个主机的流进行抽样,并移除不满足限制的流;跟踪器(20),被配置为记录针对每个主机的第一估计流计数,并且根据所述第一估计流计数从所述多个主机中确定第一组主机;以及估计器(30),被配置为确定针对所述第一组主机中的每个主机的第二估计流计数,并且基于所述第二估计流计数从所述第一组主机中选择第二组主机。

Description

捕获具有最大数量小流的主机的系统和方法
相关申请的交叉引用
本申请要求2009年2月6日提交的第61/150,698号美国临时申请的权益,其整体以引用方式并入本文。
技术领域
本申请涉及捕获网络中的具有最大数量小流的主机的系统和方法。
背景技术
对于管理网络和研究应用层上的主机行为(包括检测DDoS攻击、蠕虫传播、点对点热点和瞬时拥塞)而言,高效且准确地识别在一段时间间隔内建立大量流的主机是非常重要的。以前的工作都不能在非常高的链路速度(例如,10到40Gbps)下高效且准确地识别具有最大数量流的主机。
考虑寻找建立了大量流的主机的情况,图1示出了一个场景:本地ISP网络中的主机通过高速链路与全球互联网中的其他主机进行通信。如图所示,主机3与多个主机通信,它可能是非常热门的Web服务器,也可能正在发起或受到分布式拒绝服务攻击(DDoS)攻击。网络管理中需要快速且有效地识别网络中的这类主机,并且知道这种情况何等严重。
已经有很多工作致力于流量统计测量,用于网络管理、安全及其演变。来自主机的流量大小分布和流量矩阵可以用于网络流量工程。发现数据量较大的流有助于计费和计数。流层通信模式可以进一步揭示每个主机的应用层行为。
通常,与安全有关的问题对数据量较小的流更感兴趣。例如,扫描端口或地址的主机通常只向每个受害人发送极少量的数据包,从而保持小的开销并且降低被检测的机会。SYN泛洪DDoS攻击通常在每个攻击流中只包含一个SYN数据包,并且应答ACK报文被忽略。新出现的TCP攻击使用许多低速率TCP会话来用尽受害人的资源,在小的时间间隔内,这些TCP流也可以视作小流。P2P应用往往需要和一些服务器或其他同级节点通信,以定期交换控制信息,这些控制消息通常包含少量数据包。
目前,本领域中在检测具有大量小流的主机的方面存在一些问题。
发明内容
在一个方面,用于从多个主机中捕获具有最大数量小流的主机的系统可以包括:
过滤器,被配置为对来自所述多个主机的流进行抽样,并移除不满足限制的流;
跟踪器,被配置为记录针对每个主机的第一估计流计数,并且根据所述第一估计流计数从所述多个主机中确定第一组主机;以及
估计器,被配置为确定针对所述第一组主机中的每个主机的第二估计流计数,并且基于所述第二估计流计数从所述第一组主机中选择第二组主机。
在另一方面,用于从多个主机中捕获具有最大数量小流的主机的方法包括:
在预定的时间间隔内,对来自所述多个主机的多个数据包进行抽样;
基于抽样出的数据包,确定每个主机的计数和计数错误之间的差异;
基于确定的差异对所述多个主机进行排序以识别出第一组主机;
对所述第一组主机中的每一个主机的流计数进行估计;以及
从所述第一组主机中选择出第二组主机,作为所述具有最大数量小流的主机。
附图说明
图1是示出现有技术中主机之间通信场景的图;
图2是示例性示出根据本申请一个实施方式的系统架构的框图;
图3是示例性示出根据本申请一个实施方式的图2的过滤器的框图;
图4是示例性示出根据本申请一个实施方式的图2的跟踪器的框图;
图5示例性示出根据本申请一个实施方式的图2的系统的数据结构;
图6是示出使用图2的过滤器的典型场景的图;
图7是示例性示出根据本申请一个实施方式的图2的估计器的框图;
图8是示例性示出根据本申请一个实施方式的对图2的估计器进行更新的流程图的框图;
图9是示例性示出根据本申请一个实施方式的单报文流计数估计算法的流程图的框图;
图10是示出使用图2的过滤器的典型场景的另一示图;
图11示出了根据本申请一个实施方式的过滤器中计数器的映射;以及
图12示出了图5所示的估计器中计数器的排列。
具体实施方式
下文中,将参照附图和实施方式对实施方式进行具体描述。
为了描述,首先给出以下定义。
扫描者被定义为主机或主机上的端口,作为与其他主机或端口通信的“用户”。在本申请中,用户ID可以是来自IP地址,或是来自IP地址与端口号二者的组合,处理这两种情况时几乎没有区别。下文中,使用前一种情况来解释本申请的实施方式。
被定义为数据包中字段的组合,这里的字段例如IP地址、端口、TCP标志位、甚至数据包内容。不同的应用可能对不同的字段感兴趣,并且这些字段的唯一组合形成流ID。在本申请中,考虑的流的大小i,这里i是小整数,代表流中数据报文的个数。这种流被称为小流。为了便于讨论,大小为1的流(简称为单报文流)被用于描述本申请的实施方式。
扫描者或用户的小流的数量可能是很大的。当且仅当其小流计数高于阈值,并且计数排名处于前列时,我们称其为具有最大数量小流的扫描者。虽然发现小流计数超过阈值的所有用户可能是有用的,但在实践中很难找到非常合适的阈值对用户进行分类。例如,在任意给定一个阈值的情况下,识别出的用户往往不是过多就是过少。从另一角度而言,只考虑计数排名最高的用户可能面临的问题是,如果所有用户都只有少量的小流,那么找到的结果也没有特别的意义。因此,在本申请中,这两个条件被结合在一起,而且阈值是否精确并不那么重要。
图2示意性示出了根据本发明的实施方式用于确定具有最大数量小流的主机(top host)的系统1000。如图所示,系统1000包括过滤器10、跟踪器20和估计器30。过滤器10被配置为对来自多个主机的流进行抽样,并去除在确定的时间间隔内不能满足第一限制的流,这将在下文中讨论。跟踪器20配置有用于记录每个主机的第一估计流计数的数据结构,并被配置为根据估计的流计数从多个主机中确定第一组主机(例如,前2k个主机)。估计器30被配置为为每个确定的主机确定第二估计流计数,并且基于确定的第二流计数从确定的主机中选择第二组主机(例如,前k个主机)。k是小数值,例如10或20,这对于网络管理和安全是最有用的。
1.过滤器10
如图3所示,过滤器10配置有抽样单元101、确定单元102、以及计数单元103。抽样单元101操作以对到达的数据包进行抽样并且基于数据包的流ID f通过以下等式对Vf的值进行计算:
Vf=h(f)              1)
其中,h( )是均匀散列函数,其可以计算例如32位的散列结果。
多个计数器被设置在计数单元103中,并且在数学上被表示为数组c[1 … m],其中每个计数器具有2位。确定单元102操作以确定计算出的Vf是否小于预定的抽样阈值T1。如果是,计数单元103则检查数组c[1 … m]是否应该更新,这将在下面详细讨论。如果不是,那么将这个数据包丢弃。如果预定的抽样率是r并且h( )的输出范围从1到H,那么T1应该被设置为rH,从而每1/r个流中被抽样一个流。抽样率r应该与链路速度成反比。例如,在高速链路上,诸如OC768,r可以设置为1/16,而在速度低于OC48的链路上,r可以设置为1。
开始抽样时,c[1 … m]的所有计数器被设置为零,使得数组c[1 …m]中的每个计数器可以记录到3。相同流f的数据包可以映射到相同位置l=hm(f),其中hm( )可以计算范围从1到m的散列结果,而且在实施中可以是h( )的前缀。元素c[l]被用于记录已经映射到这个位置的数据包的数量。具体地,使用ct表示当抽样到第t个抽样数据包(假设该数据包来自主机s)时在过滤器10中的计数器。如果ct[l]≤1,那么计数单元103设置ct+1[l]=ct[l]+1。
当考虑不大于q个数据包的小流时,若ct[l]≤q,则计数单元103设置ct+1[l]=ct[l]+1,而且每个计数器需要至少
Figure BPA00001417883600051
位,其中
Figure BPA00001417883600052
是指不小于x的最小整数
2.跟踪器20
参考图4,跟踪器20保持散列表201和最小堆202。散列表201中节点的键是主机ID(即,参数s),而且散列表201中的节点的值是该节点在最小堆202中的相应位置。如图5所示,最小堆202中的节点有三个字段:它的主机ID、它的计数(count)(不必是整数)、以及它的可能的计数错误err。最小堆202中s的count和err作为s的流计数的粗略估计。在最小堆202中,为z个不同的主机最多保存z个节点。最小堆202中count和err也可以为了有效实施而表示为两个数组count[1…z]和err[1…z]。
计数器的数量z应该被设置为
Figure BPA00001417883600053
其中,|A|是主机的数量,n是流的总数,T是阈值,使得具有超过T个单报文流的主机被认为可能是“具有最大数量小流的”。对于每次更新,最坏情况下的处理时间为O(log z)。由于z非常小,所以散列表201可以存储在具有O(1)性能的TCAM中。针对严格的时间要求,过滤器10中的抽样可以降低处理开销。
如图4所示,跟踪器20还提供有用于对计数单元103中的计数值的变化进行检测的检测单元203。具体地,当计数单元103中的c[l](其中,l=hm(f))改变时,在最小堆202中count字段可以相应地更新。具体地,对于通过过滤器10触发的针对主机s的每次更新,如果s没有保持在表201和最小堆202的ID字段中,那么,最小堆202和表201中具有最小count(用min表示此值)的ID被替换为s,最小堆202中相应count如下被更新,并且相应的err设置为errs=min。然而,如果s已经保持在表201和最小堆202的ID字段中,那么只有s的count(即,counts)如下被更新。
当具有主机ID s和流ID f的第t个抽样数据包到达时,考虑计数单元103中当前的ct[hm(f)]值:
如果ct[hm(f)]=0,则 count s = count s + m y 0 ( t ) × ( y 1 ( t ) y 0 ( t ) + 1 )
如果ct[hm(f)]=1,则 count s = count s - m y 0 ( t ) - - - ( 2 )
其中,m表示过滤器10中计数器的数量,y0(t)和y1(t)分别是ct中具有值0和1的计数器的数量。这里,计数的值是主机s的流计数。
以图6作为实施例,对于2位计数值,因为对于估计单报文流计数而言只有0和1是有用的,所以使用2已经可以代表任意大于1的值,而3则不需要被使用。灰色方块表示已经到达的数据包,具有字符的方块表示即将到来的数据包。不同的灰度水平或字符表示不同的流。虽然都是各自所属流中的第一个数据包,但是A1和E1看到值0,而B1和D1则看到值1,C1则看到值2。对于每个流的第二个数据包,B2将看到值2,而E2将看到值1。
当考虑不大于q个数据包的小流时,等式2)应该相应改变为:
如果ct[hm(f)]=i且i≤q,那么counts=counts+Ui,q(t)      3)
其中,Ui,q(t)通过i,q,y0(t),…,yq(t),m确定。而且过滤器10中的计数器应该是至少位,其中指不小于x的最小整数。用于计算Ui,q(t)的精确公式被提供为数学证明中的等式8)。
如图4所示,跟踪器20还包括选择单元204。选择单元204被配置为基于估计的流计数以降序或升序对所有主机(即,counts的s)进行排序。在排序的主机中单报文流计数最大的2k个主机被单元204识别为潜在的具有最大数量小流的传播者,其中k是整数。虽然在理论上,k可以从1到主机的总数中选择,但是当涉及网络管理和安全时,仅考虑k是很小常数(例如,10或20)的情况。
具有用于过滤器10和跟踪器20的数据结构的详细架构在如图5中示出,其中,为了清晰起见而省略其中的某些单元。
3.估计器20
估计器30用于从例如由跟踪器20识别的单报文流计数最大的2k个潜在具有最大数量小流的传播者中选择例如具有最大数量小流的的k个主机。如图7所示,估计器30包括计数器301,其配置有w×d个计数单元(d列,每列具有w个计数单元),每个计数单元由2位表示。所有的计数单元都初始化为零。除了计数器301,估计器30还包括检测单元302、选择单元303和更新单元304。
检测单元302、选择单元303和更新单元304协作以更新第一计数器301中的计数单元。图8示出了根据本发明的一个实施方式的第一计数器301的更新。在步骤S801,当来自主机s的数据包到达(注意,不同于过滤器10中数据包是抽样后的,这里是未抽样的)时,检测单元302操作以检测跟踪器20中是否存在s,并且检测s的粗略流计数(即,跟踪器20的最小堆202中的counts-errs)是否高于估计阈值T2。当检测单元302检测到跟踪器20的最小堆202中存在s并且counts-errs高于T2时,在步骤S802中,使用例如3个散列函数h1(s)、h2(s)、h3(s)来通过以下规则从d列中选择3列计数单元:
columnss=hi(s)   其中i=1至3          4)
其中,columnss表示所选择的输入参数是主机ID s的计数单元的列。在这个实施方式中,出于示例性目的,这3个列标记为Mh1(s)、Mh2(s)和Mh3(s)
在步骤S803中,选择单元303操作以从选择的3列(Mh1(s)、Mh2(s)和Mh3(s))中选择在同一层次上的一行计数单元。具体地,l=hw(f)用来表示选择的计数单元的行的位置,其中hw( )可以计算范围从1到w的散列结果,而且在实施中可以是h( )的前缀。这样三个计数单元
Figure BPA00001417883600071
就被选出了。
在步骤S804中,对于来自s的具有流ID f的新数据包而言,更新单元304操作以如下设置3个选择的计数单元。
对于i=1至3,
如果 M h i ( s ) [ l ] < = 1 , 那么 M h i ( s ) [ l ] = M h i ( s ) [ l ] + 1 - - - 5 )
当考虑不大于q个数据包的小流时,等式5)应该相应改变为:
如果 M h i ( s ) [ l ] < = q , 那么 M h i ( s ) [ l ] = M h i ( s ) [ l ] + 1 - - - 6 )
估计器30中的每个计数单元应该是至少
Figure BPA00001417883600085
位,其中
Figure BPA00001417883600086
是指不小于x的最小整数。
再次参照图7,估计器3可以进一步包括估计单元305。估计单元305被配置以估计选择的2k个主机的流计数。
图9示出了估计单元305的估计处理。在这个示例性实施例中,考虑主机s所映射到的3列
Figure BPA00001417883600087
并将它们标记为M1、M2和M3(S901)。然后,在步骤S902中,计算M12、M13、M23和M123,其中M12[l]=M1[l]+M2[l]、M13[l]=M1[l]+M3[l]、M23[l]=M2[l]+M3[l]、而且M123[l]=M1[l]+M2[l]+M3[l],1≤l≤w。在步骤S903中,确定M12、M13、M23和M123中是否有任何一个溢出(如果没有值为0的计数单元则溢出)。如果是,则不能使用它们进行估算,然后在步骤S904中,使用来自跟踪器20的(counts-errs)/r作为主机s的流计数。否则,在步骤S905,通过以下规则计算临时估计的流动计数St:
St=(|M1|+|M2|+|M3|-|M12|-|M13|-|M23|+|M123|)/3,        7)
其中,|MA|=w×(MA中具有值1的计数器的数量)/(MA中具有值0的计数器的数量),而且r是抽样单元101的抽样率。
在步骤S906中,将St加上T2/r,其结果被用作主机s的估计的流计数。
当考虑不大于q数据包的小流时,等式7)应该相应地改变。用于计算|MA|和St的精确公式被提供为数学证明中的等式9)至15)。
再次参考图7,估计器30可以进一步包括输出单元306。估计单元306被配置为基于为主机估计的流计数以降序或升序对主机ID进行分类,并从具有最大数量小流的的2k个主机中选择出具有最大数量小流的的k个主机。
如上面提到的,跟踪器20中的计数器数量z应该被设置为其中|A|是主机的数量,n是流的总数。通过忽略对y0和y1进行散列计算和更新的时间,可以看出对于每个抽样的流(1/r个中抽样出一个,其中r是抽样率),最多只有前两个数据包可导致对过滤器10和跟踪器20进行更新,其中每次更新最多需要在过滤器10上进行一次读和一次写,以及在跟踪器20上的1+log(z)次的读/写。对于少数的流(通过检测单元302的流),其每个数据包需要在跟踪器20上进行一次读以及在估计器30上进行3次读/写。总内存为2m+240z+2dw位(对于具有不大于q个数据包的小流而言,所需的内存为
Figure BPA00001417883600092
位)。
对于实际情况,诸如n=220和|A|=20K,设置r=1/16、m=222、c=2000、w=4096以及d=1024,这种情况下需要的内存为1148KB,用SRAM实现是可负担的,并且更新速度可以保持在高达40Gbps。实际中识别出的20个具有最大数量小流的扫描者几乎总是正确的,并且流计数估计的平均相对误差为3%。使用更多的内存可以带来更好的性能。
更重要的是,本文使用的系统和算法可以在具有大量主机和流的非常高速的链路上执行,例如速率为10Gbps至40Gbps、1M的流以及20万个主机的情况下,这是发生在ISP骨干网的真实情况。
在主机具有非常大量的流(例如,大于w ln(w)个流)的情况下,估计器30可能被填满,我们只使用由跟踪器20所提供的计数器。
以上,已经对系统1000和系统中组成部分的协作进行讨论。现在,如下将给出对上述一些等式的一些数学支持。
1.对公式2)和3)的数学支持
考虑m个计数器的数组,并使用yk(t)和cj(t)分别明确表示在第t个数据包达到之前具有值k的计数器的数量以及第j个计数器的值。如图10所示,第t个数据包B1看到的计数器值为2。灰色正方形表示在B1之前已经达到的数据包,具有字符的正方形表示即将到来的数据包,不同的图案或字符表示不同的流。为了清晰起见,我们省略了将流映射到计数器的均匀散列函数。
首先注意的是,任何数据包看到的计数器的值与其前面数据包的到达顺序无关。用
Figure BPA00001417883600101
表示一组流,并且用fx表示流f的第x个数据包。还用et表示在所有数据包之中的第t个数据包,其看到的值为vt,所以事件“et=fx”(简称“et=fx”)表示“第t个数据包是流f的第x个数据包,并且
Figure BPA00001417883600103
”。现在,给出与这一事件的概率有关的一些定理。
定理1.假设第t个数据包et是某个流的第x个数据包,那么et看到的计数器值为z的条件概率是:
Pr ( v t = z | e t = f x ) = 0 , if z < x - 1 ; y / m , if z &GreaterEqual; x - 1 and x = 1 ; p , if z &GreaterEqual; x - 1 and x > 1 ;
其中y=yz-x+1(t)是这个数据包到达之前,值为z-x+1的计数器的数量,(y-1)/m≤p≤(y+1)/m,并且具有高概率地p=y/m。具体地,对于x=1,即,对于每个流的第一个数据包,Pr(vt=z|et=f1)=yz(t)/m。
定理1的证明:
(1)由于和et属于同一流的前面的x-1数据包映射到相同位置,所以z至少是x-1,因此当z<x-1时该概率始终为零。
(2)对于x=1,这意味着et是某个流的第一数据包,因为映射位置是一致的且与任何前面的数据包无关,因此它看到值z的概率仅仅是在当时具有值z的计数器的百分比,即,yz(t)=m。
(3)然而,对于x>1,Bx的映射依赖于B1,而且该概率不是简单的yz(t)/m。注意B1,B2,…映射到的计数器,如图11所示。由于散列函数值的冲突,可能有一些其他流(灰色方块)映射到该计数器。
在第一行中,第t个数据包Bx是流B的第x个数据包,而且它看到计数器值z′。由于总是可以重新排列其前面的数据包,而不改变计数器值,因此,可以寻找特定的顺序,以助于计算z′=z的概率。具体地,将这个数据包之前的、属于同一流的所有前面的x-1个数据包重排,如图11的第二行所示。然后,流B的第一数据包B1将看到为z′-x+1的计数器值,如第三行所示。对于这个具体的重新排列,我们有Pr(vt=z|et=fx)=Pr(ch(f)(t-x+1)=z-x+1|et=fx),即,Bx看到值z的概率等于B1看到z-x+1的概率。应该注意的是,在这个重新排序后,所有其他计数器保持不变。因此,如果在第一行和第二行中在Bx(第t个数据包)达到之前存在y=yz-x+1(t)个值为z-x+1的计数器,那么在第三行中在B1达到之前一定存在至少y-1个且至多y+1个值为z-x+1的计数器,因为除了B1(或Bx)映射到的计数器以外,没有其他计数器会改变其值。也就是说(y-1)/m≤Pr(cj(t-x+1)=z-x+1|et=fx)≤(y+1)/m,因此(y-1)/m≤p≤(y+1)/m。而且具有高概率地,p=y/m。
然后,第t个数据包是某个流的第q个数据包的概率可以重写为:
定理2.Pr(et=fq)可以分解为 Pr ( e t = f q ) &ap; &Sigma; i = 0 q - 1 Pr ( v t = i ) &times; Y i , q ( t ) , 其中,Yi,q(t)是m/y0(t)、y1(t)/y0(t)、y2(t)/y0(t)、…、yq-i-1(t)/y0(t)的固定多项表达式。
定理2的证明:通过归纳法证明。
(1)对于q=1,因为Pr(vt=0,et=f1)=Pr(vt=0),因此有
Pr ( e t = f 1 ) = Pr ( v t = 0 , e t = f 1 ) Pr ( v t = 0 | e t = f 1 ) = Pr ( v t = 0 ) &times; m y 0 ( t ) ,
所以对于q=1定理成立。
(2)对于q>1,有
Pr ( e t = f q ) = Pr ( v t = q - 1 , e t = f q ) Pr ( v t = q - 1 | e t = f q )
&ap; Pr ( v t = q - 1 ) - &Sigma; x = 1 q - 1 Pr ( v t = q - 1 , e t = f x ) y 0 ( t ) / m
= Pr ( v t = q - 1 ) - &Sigma; x = 1 q - 1 Pr ( v t = q - 1 | e t = f x ) &times; Pr ( e t = f x ) y 0 ( t ) / m
&ap; Pr ( v t = q - 1 ) &times; m y 0 ( t ) - &Sigma; x = 1 q - 1 Pr ( e t = f x ) &times; y q - x ( t ) y 0 ( t ) ,
其中,将Pr(vt=z|et=fx)近似为yz-x+1(t)/m。通过归纳,该定理对任何q都成立。
通过将期望值应用到定理2,得到
推论1. E ( I ( e t = f q ) ) &ap; &Sigma; i = 0 q - 1 E ( I ( v t = i ) ) &times; Y i , q ( t ) .
Yi,q(t)的确切表达式是固定的,并且可以预先计算。具体地,对于q=1和2,有
E(I(et=f1))=E(I(vt=0))×m/y0(t),
E ( I ( e t = f 2 ) ) &ap; E ( I ( v t = 1 ) ) y 0 ( t ) / m - E ( I ( v t = 0 ) ) y 0 ( t ) / m &times; y 1 ( t ) y 0 ( t ) .
现在,利用这些信息来对具体的流进行计数。只具有一个数据包的流的数量是:
n 1 = E ( n 1 )
= E ( &Sigma; t I ( e t = f 1 ) - &Sigma; t I ( e t = f 2 ) )
= &Sigma; t E ( I ( e t = f 1 ) ) - &Sigma; t E ( I ( e t = f 2 ) )
&ap; &Sigma; t ( ( y 1 ( t ) y 0 ( t ) + 1 ) &times; E ( I ( v t = 0 ) ) y 0 ( t ) / m )
- &Sigma; t E ( I ( v t = 1 ) ) y 0 ( t ) / m
= E [ &Sigma; t : v t = 0 ( ( y 1 ( t ) y 0 ( t ) + 1 ) &times; m y 0 ( t ) ) - &Sigma; t : v t = 1 m y 0 ( t ) ] ,
现在将n1分解成y0(t)、y1(t)和v(t)的表达式,其中y0(t)、y1(t)和v(t)都是可观察到的:具有值0和1的计数器的数量、以及数据包et看到的值。由于期望值的无偏性,得到以下结论:
结论1.如果第t个数据包看到的计数器值为0,那么将单报文流计数加上如果如果其看到的计数器值为1,那么从单报文流计数中减去
Figure BPA00001417883600128
这个程序提供了对单报文流计数的渐近的无偏估计, n ^ 1 = &Sigma; t : v t = 0 ( ( y 1 ( t ) y 0 ( t ) + 1 ) &times; m y 0 ( t ) ) - &Sigma; t : v t = 1 m y 0 ( t ) . 而且这正是在等式2)中使用的公式。
现在,对于最多具有q个数据包的流,有
&Sigma; k = 1 q n k = E ( &Sigma; k = 1 q n k )
= E ( &Sigma; t I ( e t = f 1 ) - &Sigma; t I ( e t = f q + 1 ) )
= &Sigma; t E ( I ( e t = f 1 ) ) - &Sigma; t E ( I ( e t = f q + 1 ) ) .
使用推论1,进一步得到
&Sigma; k = 1 q n k = &Sigma; t &Sigma; i = 0 q ( E ( I ( v t = i ) ) &times; U i , q ( t ) )
= E ( &Sigma; i = 0 q &Sigma; t : v t = i U i , q ( t ) ) ,
其中Yi,q(t)是m/y0(t)、y1(t)/y0(t)、y2(t)/y0(t)、…、yq-i-1(t)/y0(t)的固定多项表达式。同样,可以得出计算小流的结论:
结论2.渐近地,具有不大于q个数据包的小流的数量n1~q可以通过将看到的计数器值为i(i≤q)的那些数据包的Ui,q(t)累加来进行无偏估计。也就是说, n ^ 1 ~ q = &Sigma; i = 0 q &Sigma; t : v t = i U i , q ( t ) . 这正是在等式3)中使用的公式。
在这里,方差也是m/y0(t)和yi(t)/y0(t)的多项式。具体地,当对单报文流进行计数时,方差是
&Sigma; t : e t = f 1 [ ( ( y 1 ( t ) y 0 ( t ) + 1 ) 2 + y 1 ( t ) y 0 ( t ) ) &times; m y 0 ( t ) - 1 ] + &Sigma; t : e t = f 2 ( m y 0 ( t ) - 1 ) .
因此,如果计数器的至少一半是空的,即,y0(t)≥m/2≥yi(t),
Figure BPA00001417883600133
那么可以推导出方差的上限。每个计数器只需要
Figure BPA00001417883600134
位,因为只需要记录到q+1。
Yi,q(t)和Ui,q(t)的公式可以从定理2得到,为:
Y q - 1 , q = m y 0 ,
Y q - 2 , q = - 1 &times; [ Y q - 1 , q &times; y 1 y 0 ] ,
Y q - 3 , q = - 1 &times; [ Y q - 2 , q &times; y 1 y 0 + Y q - 1 , q &times; y 2 y 0 ] ,
Y q - i , q = - 1 &times; [ &Sigma; j = 1 i - 1 Y q - ( i - j ) , q &times; y j y 0 ] ,
Y 0 , q = - 1 &times; [ &Sigma; j = 1 q - 1 Y j , q &times; y j y 0 ] .
U0,q=m/y0-Y0,q+1
Ui,q=-Yi,q+1,1≤i≤q.                     8)
这些将被用在检测单元203中的等式3)中。
2.对等式7)的数学支持
首先要对计数单元301中的一列计数器进行分析。对于这一数学分析,仍然使用m表示计数器的数量,而在系统模块的说明书中则使用w表示这个数量。在此之后,将分析对三列计数器的结合。
2.1单列计数器
在用所有数据包对一列计数器进行更新后,使用c1,…,cm表示计数器的值(而在系统模块的说明书中,使用Mx[i]表示计数器的值)。使用yk表示值为k的计数器的数量。此外,使用n代表总的流计数,并使用nk表示恰好有k个数据包的流的数量。
现在考虑值为0的计数器c[l],这意味着没有流映射到位置l。这个概率被预计为而值为1的计数器的概率是 n 1 1 1 m ( 1 - 1 m ) n 1 - 1 ( 1 - 1 m ) &Sigma; i &GreaterEqual; 2 n i &ap; n 1 m e - n / m . 理论上,有:
引理1.当n和m同时接近无穷大时(limm→∞n2/m),
limm→∞E(y0)=me,limm→∞E(y1)=n1e
其中α=limm→∞n/m。此外,y0和y1分别是E(y0)和E(y1)的MLE(最大似然估计)。
引理1的证明:考虑两个命题中y0和y1的极限分布。
命题1.当n、n1和m同时趋向于无穷大时,如果λ0和λ1保持有界,那么y0和y1的极限分布都收敛于泊松分布,并且期望值分别收敛于 &lambda; 0 = me - n m &lambda; 1 = n 1 e - n m , 证明如下:
在文献中已经证明,对于n个球、m个缸的情况,令pn,m(t)是恰好t个缸为空的概率,那么,pn,m(t)收敛于参数为
Figure BPA00001417883600145
的泊松分布,如果n和m倾向于无穷大,那么
Figure BPA00001417883600146
仍然有界。如果具有n个流和m个计数器,那么在见到所有数据包之后,空计数器将与缸模型中的空缸完全一样,因此y0也收敛于泊松分布。
下面给出对于y1的证明概要。设qn,m(t)是在看到所有数据包之后存在t个值为1的计数器的概率,那么,相应的数据包只能来自n1个单报文流,并且
q n , m ( t ) = t ! n 1 t m t ( m - t ) n - t &times; q n - t , m - t ( 0 ) m n .
取缩写为 R n , m ( v ) = v ! n 1 v m v &times; ( m - v ) n - v m n , 并使用包含和排除规则,可以得到 q n , m ( 0 ) = &Sigma; v = 0 m ( - 1 ) v R n , m ( v ) .
因为 ( m - v ) v ( 1 - v m ) n < v ! m v ( 1 - v m ) n < m v ( 1 - v m ) n , 而且 ( n 1 - v m - v ) v < v ! n 1 v ( m - v ) v < ( n 1 m - v ) v , 所以将两个不等式相乘可以得到: ( n 1 - v m - v ) v m v ( 1 - v m ) n + v < v ! R n , m ( v ) < ( n 1 m - v ) v m v ( 1 - v m ) n .
而且,因为 t < - log ( 1 - t ) < t 1 - t , 得到 e - t 1 - t < 1 - t < e - t , 所以
( m n 1 - v m - v e - n + v m - v ) v = ( n 1 - v m - v ) v m v ( e - v / m 1 - v / m ) n + v <
v ! R n , m ( v ) < ( n 1 m - v ) v m v ( e - v m ) n = ( m n 1 m - v e - n m ) v .
对于每个固定的v,左侧和右侧的极端比例趋于1,所以如果n和m增加而且
Figure BPA00001417883600151
被限制为有限区间0<a<λ<b,那么, 0 < &lambda; v v ! - R n , m ( v ) &RightArrow; 0 . 如果λ趋向于0,那么 0 < &lambda; v v ! - R n , m ( v ) &RightArrow; 0 也成立。因此可以得到 R n , m ( v ) ~ &lambda; v v ! . 这样 e - &lambda; - q n , m ( 0 ) = &Sigma; v = 0 &infin; ( - 1 ) v { &lambda; v v ! - R n , m ( v ) } 趋向于0,因此qn,m(0)~e,这也意味着qn-t,m-t(0)~e,而且 q n , m ( t ) = R n , m ( t ) &times; q n - t , m - t ( 0 ) ~ &lambda; t t ! e - &lambda; .
命题2.当n、n1和m同时趋向于无穷大时,如果
Figure BPA00001417883600158
不保持有界,但是
Figure BPA00001417883600159
Figure BPA000014178836001510
有界,那么y0和y1的极限分布都收敛于正态分布,并且
lim m &RightArrow; &infin; E ( y 0 ) = me - &alpha; , lim m &RightArrow; &infin; var ( y 0 ) = me - &alpha; ( 1 - e - &alpha; ( 1 + &alpha; ) ) ,
lim m &RightArrow; &infin; E ( y 1 ) = n 1 e - &alpha; , lim m &RightArrow; &infin; var ( y 1 ) = n 1 e - &alpha; ( 1 - &alpha; 1 e - &alpha; ( - 1 + 1 &alpha; 1 + &alpha; ) ) . .
y0的情况仍然与缸模型相同,y1的情况可以基于以下定理3进行证明。定理3在“H.Geiringer,On the probability theory of arbitrarilylinked events(任意相连事件的概率论),Annals of MathematicalStatistics(统计学纪事),9(4):260-271,1938”中已证明。
定理3.设p1,p2,…,pm是m个事件E1,E2,…,Em的概率,pij是Ei和Ej同时发生的概率,pijk是Ei,Ej,Ek同时发生的概率,p12…m是E1,E2,…,Em同时发生的概率。希望确定m个事件中的x个事件发生的概率Pm(x)。考虑x的累积分布函数(CDF)
Figure BPA000014178836001515
的收敛情况。将Vm(x)中的x的均值表示为
Figure BPA000014178836001516
而且将Vm(x)中的x的方差表示为
S m ( 0 ) = 1 , S m ( 1 ) = &Sigma; i 1 . . . n p i , S n ( 2 ) = &Sigma; i , j 1 . . . n p i j ,
S n ( 3 ) = &Sigma; i , j , k 1 . . . n p ijk , . . . , S m ( m ) = p 12 . . . m . .
假设引入不连续变量z=0,1,2,…,m的函数:
g m ( z ) = z + 1 a m S m ( z + 1 ) S m ( z ) ,
并且设置z=amu,其中u被视为区间从0到ε(ε>0)的连续变量。如果hm(u)=gm(z)满足下面条件:
1)如果m足够大时,hm(u)则允许在区间(0,ε)中进行每一阶求导。
2)如果u=0,那么hm(u)的一阶导数具有极限,对于m→∞,该极限不等于-1。
3)如果u在区间(0,ε)中,那么对于每个k,
Figure BPA00001417883600161
的k阶导数均保持低于与m无关的边界Nk
那么,Pn(x)的渐近行为朝向正态分布收敛,即
lim m &RightArrow; &infin; V m ( a m + ys m 2 ) = 1 &pi; &Integral; - &infin; y e - x 2 dx , 并且 lim m &RightArrow; &infin; s m 2 a m = 1 + h m &prime; ( 0 ) . .
现在遵循定理3,有 S m ( z ) = m z n 1 z z ! &times; ( m - z ) n - z m n ,
g m ( z ) = z + 1 a m &times; m z + 1 n 1 z + 1 ( z + 1 ) ! m z n 1 z z ! &times; ( m - ( z + 1 ) ) n - ( z + 1 ) ( m - z ) n - z
= z + 1 mn 1 ( 1 m ) 1 ( 1 - 1 m ) n - 1 &times; m z + 1 n 1 z + 1 ( z + 1 ) ! m z n 1 z z !
&times; ( m - ( z + 1 ) ) n - ( z + 1 ) ( m - z ) n - z
= m - z m &times; n 1 - z n 1 &times; m n ( m - 1 ) n - 1 &times;
( m - ( z + 1 ) ) n - ( z + 1 ) ( m - z ) n - z
= m - z m &times; n 1 - z n 1 &times;
[ ( 1 - z + 1 m ( 1 - z m ) ( 1 - 1 m ) ) m&alpha; &times; ( 1 - 1 m ) ( 1 - z m ) z ( 1 - z + 1 m ) z + 1 ] .
将其加上
Figure BPA000014178836001612
并引入新的变量
Figure BPA000014178836001613
那么,因为am具有m的数量级,所以得到
h &OverBar; m ( v ) = g m ( z ) = ( 1 - v ) &alpha; 1 - v &alpha; 1 &times;
[ ( 1 - 1 m ( 1 - v ) 1 - 1 m ) m&alpha; &times; 1 - 1 m 1 - v - 1 m &times; ( 1 - 1 m ( 1 - v ) ) - mv ] .
可以很容易地看到,如果ε<1,那么定理3)中的条件1)和3)是满足的,因为
Figure BPA000014178836001616
的第k阶导数只包含(1-v)的有理表达式和
Figure BPA000014178836001617
的正次方,而且
lim m &RightArrow; &infin; ( d h &OverBar; m ( v ) dv ) v = 0
= lim m &RightArrow; &infin; { - 1 - 1 &alpha; 1 + [ - &alpha; 1 - 1 m + 1 1 - 1 m - m log ( 1 - 1 m ) ] }
= 1 - 1 &alpha; 1 - &alpha; ,
因此
lim m &RightArrow; &infin; ( dh m ( u ) du ) v = 0 = lim m &RightArrow; &infin; ( d h &OverBar; m ( v ) dv ) v = 0 &times; lim m &RightArrow; &infin; a m m
= &alpha; 1 e - &alpha; ( 1 - 1 &alpha; 1 - &alpha; ) . .
g ( &alpha; 1 ) = &alpha; 1 e - &alpha; ( 1 - 1 &alpha; 1 - &alpha; ) , 需要证明g(α1)>-1,如在定理3的条件2)中所述。
f ( &alpha; ) = &alpha; e - &alpha; ( 1 - 1 &alpha; - &alpha; ) = e - &alpha; ( - &alpha; 2 + &alpha; - 1 ) , 则其导数f′(α)=e(α-1)(α-2),因此在α=0,1,2处得到局部最大/最小值(由于α>0)且f′(1)=f′(2)=0。由于f″(α)=-e2-5α+5)、f″(1)<0且f″(2)>0,因此在α=0或2处可以得到最小值。由于f(0)=-1且f(2)=-3e-2,而且α>0,因此得到f(α)>-1。
此时,g(α1)-f(α)=e(α-α1)(α-1),由于α1≤α,因此如果α≥1,那么可以得到g(α1)≥f(α)>-1。如果α<1,即,0<α1≤α<1。此时,g(α1)=e(1-α)α1-e>-e>-1。
因此,最终得到 lim m &RightArrow; &infin; h m &prime; = g ( &alpha; 1 ) > - 1 , 并因而可以得出结论:y1收敛于正态分布且 lim m &RightArrow; &infin; s m 2 a m = 1 - &alpha; 1 e - &alpha; ( - 1 + 1 &alpha; 1 + &alpha; ) . 通过简单操作,即可得到命题2中所述的结果。
利用命题1和2,已经证明了引理1,因为样本均值是泊松分布或正态分布的期望值的最大似然估计(MLE)。
引理2.单报文流的数量n1可以通过MLE渐近无偏地估算。方差大约是
Figure BPA000014178836001711
其中α1=limm→∞n1/m。
引理2的证明:一步一步地证明四个命题。
命题1.两个变量y0和y1渐近独立。
考虑对到达数据包进行这样的一种重新排序,使得大小大于1的全部流都在任何单报文流到达之前。由于这种重新排序不会改变计数器值的分布,因此将得到相同的概率。假设在任何单报文流到达之前,恰好有k个计数器保持为空。那么,只有映射到这k个计数器的那些单报文流才能够使计时器的值为0或1,因为其他m-k个计数器的值至少为2。假设n1′个单报文流映射到这k个计数器中,那么这是经典的占用问题,其中恰好y0个计数器具有值0,恰好y1个计数器具有值1。在这种经典的占用问题中,当n1/m不为1附近时,y0和y1的系数几乎可以忽略(根据“Random Allocation(随机分配)”,等式(9)),并且,由于在大多数情况下,y1和y0是正态的而且它们的联合分布是多元正态的,因此对于任何给定的k,y1和y0都是渐近地条件无关的,从而y1和y0是渐近独立的。
命题2.渐近地,是n1的最大似然估计(MLE)。
由引理1可知 lim m &RightArrow; &infin; E ( y 1 ) E ( y 0 ) = n 1 m , 即, n 1 = m &times; lim m &RightArrow; &infin; E ( y 1 ) E ( y 0 ) . 因为如果
Figure BPA00001417883600184
分别是变量X1,X2,…,Xt的MLE,而且函数τ(X1,X2,…,Xt)是(X1,X2,…,Xt)的参数空间的变换,那么,
Figure BPA00001417883600185
是τ(X1,X2,…,Xt)的MLE,而且通过引理1,y0和y1分别是E(y0)和E(y1)的MLE,从而得到
Figure BPA00001417883600186
是n1的MLE。
命题3.估计量
Figure BPA00001417883600187
是渐近无偏的。
将f(X)通过泰勒级数展开,假如f是三次可微而且X的均值和方差是有限的,那么将得到:
E [ f ( X ) ] = E [ f ( E ( X ) ) + [ X - E ( X ) ] f &prime; ( E ( X ) )
+ [ X - E ( X ) ] 2 2 f &prime; &prime; ( E ( X ) ) + . . . ]
&ap; E [ f ( E ( X ) ) ] + [ [ X - E ( X ) ] f &prime; ( E ( X ) ) ]
+ E [ [ X - E ( X ) ] 2 2 f &prime; &prime; ( E ( X ) ) ]
= f ( E ( X ) ) + var ( X ) 2 f &prime; &prime; ( E ( X ) ) .
因此,对于 f ( y 0 ) = 1 y 0 , E ( 1 y 0 ) &ap; 1 E ( y 0 ) + var ( y 0 ) E 3 ( y 0 ) . . 由于y0和y1是两个独立的随机变量,因此
E ( n ^ 1 ) = m &times; E ( y 1 ) &times; E ( 1 y 0 )
&ap; m &times; E ( y 1 ) &times; ( 1 E ( y 0 ) + var ( y 0 ) E 3 ( y 0 ) )
= m &times; n 1 e - &alpha; &times; ( 1 me - &alpha; + me - &alpha; ( 1 - e - &alpha; ( 1 + &alpha; ) ) ( me - &alpha; ) 3 )
= n 1 ( 1 + ( 1 - e - &alpha; ( 1 + &alpha; ) ) me - &alpha; )
= n 1 + n 1 ( 1 - e - &alpha; ( 1 + &alpha; ) ) me - &alpha; .
由于 lim m &RightArrow; &infin; bias ( n ^ 1 n 1 ) = lim m &RightArrow; &infin; e &alpha; - ( 1 + &alpha; ) m = 0 , 所以
Figure BPA00001417883600197
是渐近无偏的。
命题4.渐近地, var ( n ^ 1 ) &ap; ( e &alpha; - 2 &alpha; ) n 1 2 m + ( e &alpha; - 1 ) n 1 .
同样,利用泰勒展开,
var[f(X)]=var[f(E(X))+[X-E(X)]f′(E(X))+…]
         ≈[f′(E(X))]2var(X),
因此,
var ( 1 y 0 ) &ap; [ - 1 E 2 ( y 0 ) ] 2 var ( y 0 ) = var ( y 0 ) E 4 ( y 0 ) .
对于独立的随机变量A和B,将有
var(AB)=var(A)E2(B)+var(B)E2(A)+var(A)var(B),
所以
var ( y 1 y 0 ) = var ( y 1 ) E 2 ( 1 y 0 ) + var ( 1 y 0 ) E 2 ( y 1 ) + var ( y 1 ) var ( 1 y 0 )
&ap; var ( y 1 ) [ 1 E ( y 0 ) + var ( y 0 ) E 3 ( y 0 ) ] 2
+ var ( y 0 ) E 4 ( y 0 ) E 2 ( y 1 ) + var ( y 1 ) var ( y 0 ) E 4 ( y 0 )
= var ( y 1 ) E 2 ( y 0 ) [ 1 + 3 var ( y 0 ) E 2 ( y 0 ) + ( var ( y 0 ) E 2 ( y 0 ) ) 2 ]
+ var ( y 0 ) E 2 ( y 0 ) E 2 ( y 1 ) E 2 ( y 0 ) .
通过设 M = var ( y 0 ) E 2 ( y 0 ) = e &alpha; - 1 - &alpha; m ~ O ( 1 m ) , 得到
var ( y 1 y 0 ) &ap; var ( y 1 ) var ( y 0 ) M ( 1 + 3 M + M 2 ) + E 2 ( y 1 ) E 2 ( y 0 ) M
&ap; [ var ( y 1 ) var ( y 0 ) + E 2 ( y 1 ) E 2 ( y 0 ) ] &times; M ,
var ( n ^ 1 ) = m 2 &times; var ( y 1 y 0 )
&ap; m 2 &times; [ var ( y 1 ) var ( y 0 ) + E 2 ( y 1 ) E 2 ( y 0 ) ] &times; e &alpha; - 1 - &alpha; m
= m ( e &alpha; - 1 - &alpha; ) &times; [ &alpha; 1 ( 1 + &alpha; 1 - &alpha; 1 &alpha; + &alpha; e &alpha; - 1 - &alpha; ) + &alpha; 1 2 ]
= m &times; [ ( e &alpha; - 2 &alpha; ) &alpha; 1 2 + ( e &alpha; - 1 ) &alpha; 1 ]
= ( e &alpha; - 2 &alpha; ) n 1 2 m + ( e &alpha; - 1 ) n 1 .
所以,如果n1非常小的,那么方差也很小,如果n1很大,那么相对标准误差是
stderr ( n ^ 1 ) = var ( n ^ 1 n 1 ) &ap; e &alpha; - 2 &alpha; m + e &alpha; - 1 n 1 ,
在将m保持为足够大的情况下,对于具有较大单报文流数量(n1)的的扫描者而言,这确保了估计结果的相对标准误差很小,因此我们使用该单列计数器作为估计模块中的基本结构。
引理3.对于小流的数量的估计,可以使用下面的迭代等式来一步一步地估算n1,n2,…,nq
n ^ q = m &times; ( y q y 0 - &Sigma; i = 1 | B q | - 1 ( &Pi; d = 1 q - 1 ( n ^ d / m ) &beta; i ( d ) &beta; i ( d ) ! ) ) - - - 9 )
引理3的证明:使用Bq来表示恰好具有q个数据包的一组不同的流组模式,并使用βi(1≤i≤|Bq|)表示Bq中特定的流组模式,因此在βi(1≤i≤|Bq|)中共存在q个数据包,而且值为q的计数器将对应于某个βi。假设βi由βi(1)个大小为1的流、βi(2)个大小为2的流、…、βi(q)个大小为q的流组成,而且所有流的大小都不大于q,可以记为:
βi=<βi(1),βi(2),…,βi(q),0,…>
并将它们排序:β1=<q,0,…,0,0,…>对应于q个大小为1的流,β2=<q-2,1,0,…,0,0,…>对应于q-2个大小为1的流和1个大小为2的流,而且
Figure BPA000014178836002010
(第q个元素为1)对应于1个大小为q的流。将值为x的计数器的数量由yx表示,而且将大小为x的流的数量由nx表示,当m很大时,有
Figure BPA00001417883600211
其中流模式βi出现的概率Pr(βi)是 &Pi; d = 1 q C n d &beta; i ( d ) ( 1 m ) &beta; i ( d ) ( 1 - 1 m ) n d - &beta; i ( d ) &Pi; d > q ( 1 - 1 m ) n d .
然后,通过简单的操作,得到
E ( y q ) m &ap; E ( y 0 ) m [ &Sigma; i = 1 | B q | - 1 ( &Pi; d = 1 q - 1 ( n d / m ) &beta; i ( d ) &beta; i ( d ) ! ) + n q m ] ,
从而 n q &ap; m &times; ( E ( y q ) E ( y 0 ) - &Sigma; i = 1 | B q | - 1 ( &Pi; d = 1 q - 1 ( n d / m ) &beta; i ( d ) &beta; i ( d ) ! ) ) , 其中Bq是可以预先计算的。
2.2将三列计数器相结合
当考虑估计单元305时,使用了三列计数器。通过上述数学分析,每一列可以用来估计映射到该列的所有主机的总的小流计数。现在分析如何将它们进行结合,以对映射到这三列的主机的小流计数进行估计。
用M1,M2和M3表示三个单列计数器,并且用S1,S2和S3表示映射到它们的相应流。用|Mi|k表示从Mi中估计的、具有k个数据包的流的数量,|Si|k是Si中具有k个数据包的流的确切数量,|Mi|k是对|Si|k的估计。特别地,我们用k=0表示计算全部流的数量。因此,可以使用上述公式9)将|Si|k的估计计算为
Figure BPA00001417883600215
将三列相结合的理由是,虽然一台以上主机可以映射到每一列,但是一台以上主机同时映射到相同的三列的概率非常小。因此,可以使用|S1∩S2∩S3|k作为映射到这三列的主机的、具有k个数据包的流的数量。
现在讨论对三组(S1,S2和S3)和相应的列(M1,M2和M3)的操作。辅助符号是Sii=Si-Sj-Sk,Sij=(Si∩Sj)-Sl,和S=Si∩Sj∩Sl,其中i、j、l是1、2、3的排列,如图12所示。还用Mi+Mj(Mi+Mj+Ml)表示按计数器逐个相加,使得对于1≤i≤m有(Mi+Mj)[i]=Mi[i]+Mj[i]((Mi+Mj+Ml)[i]=Mi[i]+Mj[i]++Ml[i]。注意的是,当把两列计数器加到一起时,某些数据包被计数了两次。而当把三列计数器加到一起时时,某些数据包被计数了两次,某些数据包则被计数了三次。
情况1:对于k=0,有
Figure BPA00001417883600223
所以,
Figure BPA00001417883600224
Figure BPA00001417883600225
Figure BPA00001417883600226
= | M 1 | 0 + | M 2 | 0 + | M 3 | 0
- | M 1 + M 2 | 0 - | M 2 + M 3 | 0 - | M 1 + M 3 | 0
+ | M 1 + M 2 + M 3 | 0 . - - - 10 )
情况2:对于k=6x+1或k=6x+5的流大小,有
Figure BPA000014178836002210
Figure BPA000014178836002211
Figure BPA000014178836002212
所以,
Figure BPA000014178836002213
- | M 1 + M 2 | k - | M 2 + M 3 | k - | M 1 + M 3 | k
+ | M 1 + M 2 + M 3 | k ) &times; 1 3 . - - - 11 )
情况3:对于k=6x+2或k=6x+4的流大小,有
Figure BPA000014178836002216
Figure BPA000014178836002217
Figure BPA000014178836002218
Figure BPA000014178836002219
所以,
Figure BPA000014178836002221
- | M 1 + M 2 | k - | M 2 + M 3 | k - | M 1 + M 3 | k
Figure BPA000014178836002223
其中,|S|k/2可以从之前的计算中推导出。
情况4:对于k=6x+2的流大小,有
Figure BPA00001417883600231
Figure BPA00001417883600232
所以,
Figure BPA00001417883600234
- | M 1 + M 2 | k - | M 2 + M 3 | k - | M 1 + M 3 | k
Figure BPA00001417883600236
其中,|S|k/3可以从之前的计算中推导出。
情况5:对于k=6x(x>0)的流大小,有
Figure BPA00001417883600238
Figure BPA00001417883600239
Figure BPA000014178836002310
Figure BPA000014178836002311
所以,
Figure BPA000014178836002312
- | M 1 + M 2 | k - | M 2 + M 3 | k - | M 1 + M 3 | k
Figure BPA000014178836002314
其中,|S|k/2和|S|k/3可以从之前的计算中推导出。
最后,当对具有不大于q数据包的流的数量进行估计时,需要将k等于从1至q的
Figure BPA000014178836002315
加在一起,即,
特殊情况是当k=1时,使用公式11),得到
St=(|M1|1+|M2|1+|M3|1-|M1+M2|1-|M2+M3|1-|M1+M3|1+|M1+M2+M3|1)/3。
将其与引理2中使用单列计数器对单报文流数量进行估计的方法向结合,即可得到步骤905中使用的方程7)。
通过上面的描述和实施方式说明了本发明,但是本发明并不限于此。根据本文的公开,本领域技术人员可以进行各种修改和改变,这些修改和改变将落入本发明的范围内。

Claims (22)

1.用于从多个主机中捕获具有最大数量小流的主机的系统,包括:
过滤器(10),被配置为对来自所述多个主机的流进行抽样,并移除不满足限制的流;
跟踪器(20),被配置为记录针对每个主机的第一估计流计数,并且根据所述第一估计流计数从所述多个主机中确定第一组主机;以及
估计器(30),被配置为确定针对所述第一组主机中的每个主机的第二估计流计数,并且基于所述第二估计流计数从所述第一组主机中选择第二组主机。
2.如权利要求1所述的系统,其中所述过滤器(10)进一步包括:
抽样单元(101),被配置为对所述流的到达数据包进行抽样并且将被抽样的每个数据包映射到与所述到达数据包的流ID相关联的值;
计数单元(103),被配置有多个用于对映射的值进行记录的计数器;以及
确定单元(102),被配置为基于所述映射的值确定所述流是否满足所述限制,如果不满足则移除所述流。
3.如权利要求2所述的系统,其中所述限制被设置使得当所述值大于预定抽样阈值时,所述确定单元(102)移除与所述值相关联的所述流,当所述值不大于所述预定抽样阈值时,所述确定单元(102)触发所述计数单元(103)更新所述计数单元(103)中的所述计数器。
4.如权利要求2所述的系统,其中所述计数单元(103)用于通过以下规则更新所述计数单元(103)中的所述计数器:
如果所述多个计数器中与所述映射的值相关联的计数器的值不大于q,那么所述计数器将加1,
其中,q表示用户指定的参数,用于表征具有不大于q个数据包的流为小流。
5.如权利要求2所述的系统,其中所述跟踪器中的数据结构包括:
散列表(201),具有多个节点;以及
最小堆(202),
所述散列表(201)中每个节点的键是主机ID,所述散列表(201)中每个节点的值是所述节点在所述最小堆(202)中的位置。
6.如权利要求5所述的系统,其中所述最小堆(202)中的每个节点包括主机ID字段、计数字段和计数错误字段,而且
所述跟踪器(20)进一步包括检测单元(203),所述检测单元(203)被配置以对所述计数单元(103)中计数器的变化进行检测,从而更新所述最小堆(202)中的计数字段和计数错误字段。
7.如权利要求6所述的系统,其中所述检测单元(203)进一步被配置以通过以下规则更新所述最小堆(202)中的计数字段:
如果ct[hm(f)]=i且i≤q,则counts=counts+Ui,q(t)
其中,Ui,q(t)通过以下规则定义:
Y q - 1 , q = m y 0 ,
Y q - 2 , q = - 1 &times; [ Y q - 1 , q &times; y 1 y 0 ] ,
Y q - 3 , q = - 1 &times; [ Y q - 2 , q &times; y 1 y 0 + Y q - 1 , q &times; y 2 y 0 ] ,
Y q - i , q = - 1 &times; [ &Sigma; j = 1 i - 1 Y q - ( i - j ) , q &times; y j y 0 ] ,
Y 0 , q = - 1 &times; [ &Sigma; j = 1 q - 1 Y j , q &times; y j y 0 ] .
U0,q=m/y0-Y0,q+1
Ui,q=-Yi,q+1,1≤i≤q.
其中,yi表示所述计数单元(103)中具有值i的计数器的数量,
q表示用户指定的参数,用于表征具有不大于q个数据包的流为小流,
m表示所述计数单元(103)中计数器的数量,
ct[hm(f)]是所述计数单元(103)中与具有ID f的流相关联的计数器的值,
counts表示所述最小堆(202)中与具有ID s的主机相关联的计数器的值。
8.如权利要求1所述的系统,其中所述跟踪器(20)进一步包括:
选择单元(204),被配置以根据所述第一估计流计数从所述多个主机中确定所述第一组主机,其中所述第一估计流计数是基于接收的数据包根据每个主机的计数和计数错误之差确定的。
9.如权利要求1所述的系统,其中所述估计器(30)进一步包括:
多个计数单元(301),被配置以记录所述第一组主机的流计数的信息;
更新单元(304),被配置以对所述多个计数单元上的所述信息进行更新。
10.如权利要求9所述的系统,其中所述估计器(30)进一步包括:
选择单元(303),被配置以从所述多个计数单元中选择三个计数单元,以及
更新单元(304),被进一步配置以通过下式对选择的计数单元进行更新:
对于i等于1至3,
如果 M h i ( s ) [ h w ( f ) ] < = q , M h i ( s ) [ h w ( f ) ] = M h i ( s ) [ h w ( f ) ] + 1
其中,
Figure FPA00001417883500033
是以从所述多个计数单元(301)中选择的计数单元,q表示用户指定的参数,用于表征具有不大于q个数据包的流为小流。
11.如权利要求10所述的系统,其中所述估计器(30)进一步包括:
估计单元(305),被配置以基于所述选择的计数单元的数量来估计确定的所述第一组主机的流计数。
12.用于从多个主机中捕获具有最大数量小流的主机的方法,包括:
在预定的时间间隔内,对来自所述多个主机的多个数据包进行抽样;
基于抽样出的数据包,确定每个主机的计数和计数错误之间的差异;
基于确定的差异对所述多个主机进行排序以识别出第一组主机;
对所述第一组主机中的每一个主机的流计数进行估计;以及
从所述第一组主机中选择出第二组主机,作为所述具有最大数量小流的主机。
13.如权利要求12所述的方法,其中所述估计进一步包括:
计算多个计数单元中的多个总和;
确定是否有任意的总和溢出;
如果是,则基于确定的所述差异和抽样率r来估计所述流计数,
否则,基于所述多个计数单元中的计数、计算出的总和、所述抽样率r、以及用于滤除非具有最大数量小流的主机的阈值T2来估计所述流计数。
14.用于捕获具有最大数量小流的主机的系统,包括:
流过滤器,被配置为测试来自多个主机的流中的数据包是否满足预定的限制;
跟踪器,被配置为基于所述测试获得具有估计的流计数的多个候选主机;
估计器,被配置为从所述多个候选主机中选择并输出所述具有最大数量小流的主机,并输出所选择的主机。
15.如权利要求14所述的系统,其中所述流过滤器进一步包括被配置为对待处理的流进行抽样的抽样模块。
16.如权利要求14所述的系统,其中所述估计器进一步被配置为输出根据所述估计的流计数进行排序的所述选择的主机。
17.用于捕获具有最大数量小流的主机的方法,包括:
测试来自多个主机之一的流中的数据包是否满足预定的限制;
基于所述测试,获得具有估计的流计数的多个候选主机;
从所述候选主机中选择多个具有最大数量小流的主机,并更新所述具有最大数量小流的主机的估计的流计数;以及
输出所选择的具有最大数量小流的主机。
18.如权利要求17所述的方法,在所述测试之前,进一步包括:
对所述流进行抽样;以及
如果所述流不满足预定的限制,则移除所述流。
19.如权利要求17所述的方法,其中所述输出包括:
输出根据所述估计的流计数进行排序的所述选择的主机。
20.用于捕获具有最大数量小流的主机的系统,包括:
用于对来自多个主机的流中的数据包是否满足预定的限制进行测试的装置;
用于基于所述测试获得具有估计的流计数的多个候选主机的装置;
用于从所述候选主机中选择所述具有最大数量小流的主机并输出所选择的主机的装置。
21.如权利要求20所述的系统,其中用于测试的装置进一步包括:
用于对流进行抽样的装置。
22.如权利要求20所述的系统,其中用于选择和输出的装置被配置为输出根据所述估计的流计数进行排序的所述选择的主机。
CN201080007101.1A 2009-02-06 2010-02-05 捕获具有最大数量小流的主机的系统和方法 Expired - Fee Related CN102308554B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15069809P 2009-02-06 2009-02-06
US61/150,698 2009-02-06
PCT/CN2010/070553 WO2010088861A1 (en) 2009-02-06 2010-02-05 System and method for catching top hosts

Publications (2)

Publication Number Publication Date
CN102308554A true CN102308554A (zh) 2012-01-04
CN102308554B CN102308554B (zh) 2014-03-12

Family

ID=42541685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080007101.1A Expired - Fee Related CN102308554B (zh) 2009-02-06 2010-02-05 捕获具有最大数量小流的主机的系统和方法

Country Status (4)

Country Link
US (1) US9112771B2 (zh)
CN (1) CN102308554B (zh)
HK (1) HK1163390A1 (zh)
WO (1) WO2010088861A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521376A (zh) * 2018-04-02 2018-09-11 湘潭大学 软件定义网络中基于属性相似性的流表设计方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015056332A1 (ja) 2013-10-17 2015-04-23 株式会社日立製作所 ストレージ装置及び制御方法
CN105306436B (zh) 2015-09-16 2016-08-24 广东睿江云计算股份有限公司 一种异常流量检测方法
CN110912767B (zh) * 2019-10-25 2022-03-25 电子科技大学 一种网络流量的单点测量方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249214A1 (en) * 2004-05-07 2005-11-10 Tao Peng System and process for managing network traffic
CN1744532A (zh) * 2004-06-04 2006-03-08 朗迅科技公司 按流业务量的估计
CN1901545A (zh) * 2006-07-17 2007-01-24 北京邮电大学 用于高速网络超连接主机检测中的流抽样装置和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560198B1 (en) * 1997-11-07 2003-05-06 Telcordia Technologies, Inc. Method and system for stabilized random early detection using packet sampling
US6061331A (en) * 1998-07-28 2000-05-09 Gte Laboratories Incorporated Method and apparatus for estimating source-destination traffic in a packet-switched communications network
US7681235B2 (en) * 2003-05-19 2010-03-16 Radware Ltd. Dynamic network protection
US7936699B2 (en) * 2006-07-07 2011-05-03 Nec Corporation Estimation method, device, and program, and network measuring system
US7768921B2 (en) * 2006-10-30 2010-08-03 Juniper Networks, Inc. Identification of potential network threats using a distributed threshold random walk
JP4734223B2 (ja) * 2006-11-29 2011-07-27 アラクサラネットワークス株式会社 トラヒック分析装置および分析方法
US8289851B2 (en) * 2007-04-30 2012-10-16 Alcatel Lucent Lightweight bandwidth-management scheme for elastic traffic
US7733805B2 (en) * 2007-07-25 2010-06-08 Brocade Communications Systems, Inc. Method and apparatus for determining bandwidth-consuming frame flows in a network
US7764625B2 (en) * 2008-06-10 2010-07-27 At&T Intellectual Property I, L.P. Algorithms and estimators for summarization of unaggregated data streams
CN102150394B (zh) * 2008-09-30 2014-06-18 香港中文大学 确定发出最多数据流的主机的系统与方法
US7924739B2 (en) * 2008-12-22 2011-04-12 At&T Intellectual Property I, L.P. Method and apparatus for one-way passive loss measurements using sampled flow statistics
KR101519623B1 (ko) * 2010-12-13 2015-05-12 한국전자통신연구원 오탐률을 줄이기 위한 분산 서비스 거부 공격 탐지 장치 및 방법, 분산 서비스 거부 공격 탐지 및 방어 장치
US20120290711A1 (en) * 2011-05-12 2012-11-15 Fluke Corporation Method and apparatus to estimate application and network performance metrics and distribute those metrics across the appropriate applications, sites, servers, etc

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249214A1 (en) * 2004-05-07 2005-11-10 Tao Peng System and process for managing network traffic
CN1744532A (zh) * 2004-06-04 2006-03-08 朗迅科技公司 按流业务量的估计
CN1901545A (zh) * 2006-07-17 2007-01-24 北京邮电大学 用于高速网络超连接主机检测中的流抽样装置和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521376A (zh) * 2018-04-02 2018-09-11 湘潭大学 软件定义网络中基于属性相似性的流表设计方法

Also Published As

Publication number Publication date
WO2010088861A1 (en) 2010-08-12
US9112771B2 (en) 2015-08-18
CN102308554B (zh) 2014-03-12
HK1163390A1 (en) 2012-09-07
US20120030348A1 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
EP3304823B1 (en) Method and apparatus for computing cell density based rareness for use in anomaly detection
Min et al. A performance model for wormhole-switched interconnection networks under self-similar traffic
Duch et al. Scaling of fluctuations in traffic on complex networks
Duffield1 et al. Network delay tomography from end-to-end unicast measurements
Bonald et al. A recursive formula for multirate systems with elastic traffic
CN103647670B (zh) 一种基于sketch的数据中心网络流量分析方法
CN110166464B (zh) 一种内容中心网络兴趣泛洪攻击的检测方法及系统
CN102150394A (zh) 确定发出最多数据流的主机的系统与方法
CN109753797B (zh) 针对流式图的密集子图检测方法及系统
CN102308554B (zh) 捕获具有最大数量小流的主机的系统和方法
CN103838803A (zh) 一种基于节点Jaccard相似度的社交网络社团发现方法
Valverde et al. Internet’s critical path horizon
Li et al. Modelling and robust stability of networked control systems with packet reordering and long delay
Li et al. Distributed state estimation for stochastic discrete-time sensor networks with redundant channels
Lawrence et al. Maximum likelihood estimation of internal network link delay distributions using multicast measurements
Liu et al. Tomogravity space based traffic matrix estimation in data center networks
Shukla et al. Iso-Failure in Web Browsing using Markov Chain Model and Curve Fitting Analysis
Remiche Compliance of the token-bucket model with Markovian traffic
Chen et al. Measurement of large-scale BGP events: Definition, detection, and analysis
Dán et al. On the effects of the packet size distribution on FEC performance
Zhang et al. SDN enhanced tomography for performance profiling in cloud network
Nie et al. A reconstructing approach to end‐to‐end network traffic based on multifractal wavelet model
Papadopoulos et al. Performance preserving network downscaling
Filasiak et al. On the testing of network cyber threat detection methods on spam example
CN105471639B (zh) 基于中位数的网络流量熵值估算方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1163390

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1163390

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140312

Termination date: 20210205