CN104219110A - 一种数据包抽样方法及装置 - Google Patents

一种数据包抽样方法及装置 Download PDF

Info

Publication number
CN104219110A
CN104219110A CN201410497168.8A CN201410497168A CN104219110A CN 104219110 A CN104219110 A CN 104219110A CN 201410497168 A CN201410497168 A CN 201410497168A CN 104219110 A CN104219110 A CN 104219110A
Authority
CN
China
Prior art keywords
flow
stream
packet
counter
long
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
CN201410497168.8A
Other languages
English (en)
Other versions
CN104219110B (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.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
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 PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN201410497168.8A priority Critical patent/CN104219110B/zh
Publication of CN104219110A publication Critical patent/CN104219110A/zh
Application granted granted Critical
Publication of CN104219110B publication Critical patent/CN104219110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据包抽样方法及装置,方法包括:判断用户发出的数据包所属的流量是否为大流,若是,采用哈希计数器对数据包所属流量进行流长计数,若否,采用基于内容寻址的计数器进行流长计数,判断基于内容寻址的计数器中数据包所属流量流长是否超过预设阀值,若是,将其中数据包所属流量及对应流长一并迁移至哈希计数器中,同时更新布鲁姆过滤器,参考预设的与流长成反比的抽样概率函数,计算数据包的抽样概率,并依据该抽样概率确定数据包是否被抽取。本申请提供方法,对数据包归属的流量进行大小流的判断,对于包含数据包较多的大流,其抽样概率将会小于包括较少数据包的小流的抽样概率,实现了大流和小流数据包的公平抽样。

Description

一种数据包抽样方法及装置
技术领域
本申请涉及网络通信技术领域,更具体地说,涉及一种数据包抽样方法及装置。
背景技术
三网融合是指现有的电信网络、计算机网络及广播电视网络相互融合,逐渐形成一个统一的网络***。伴随着三网融合的推进,大量视频业务的引入和新型高带宽业务的不断出现,用户对网络服务质量的要求也越来越高。
面向融合网络,用户流量的测量与分析,尤其是在用户流长(网络流所包含的数据包的个数)统计方面,具有重要意义,它是开展融合网络管控工作的前提和基础,能够为网络流量计费、负载均衡、异常检测等工作提供必须的分析数据,从而确保用户服务质量及网络安全运行。
但是,现有的流量数据包抽样方法针对不同的流量采用相同的抽样函数,而不同的流量有大流、小流之分,大流包含的数据包比小流所包含的数据包更多,采用相同抽样函数时将会造成抽取的数据包绝大部分是大流包含的数据包,因此不能够很好的体现出小流的特性,造成大流、小流的不公平抽样。
发明内容
有鉴于此,本申请提供了一种数据包抽样方法及装置,用于解决现有抽样方法针对大流和小流采用相同抽样函数从而造成不公平抽样的问题。
为了实现上述目的,现提出的方案如下:
一种数据包抽样方法,包括:
采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流,若是,采用哈希计数器对所述数据包所属流量进行流长计数,若否,采用基于内容寻址的计数器对所述数据包所属流量进行流长计数,其中所述流长为流量包含的数据包的个数;
判断基于内容寻址的计数器中所述数据包所属流量的流长是否超过预设阀值,若是,将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中,同时更新所述布鲁姆过滤器各个比特位的值;
参考预设的与流长成反比的抽样概率函数,利用所述数据包所属流量的流长计算所述数据包的抽样概率;
依据所述抽样概率及预设抽样概率参考值,确定所述数据包是否被抽取。
优选地,所述采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流,包括:
提取所述数据包所属流量的流标识;
利用预设的k个哈希函数,将所述流标识映射到k个比特位;
判断所述布鲁姆过滤器中所述k个比特位的值是否均为1,若是,则确定所述数据包所属流量为预设的大流。
优选地,所述采用哈希计数器对所述数据包所属流量进行流长计数,包括:
利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第一地址;
将所述第一地址中记录的与所述流标识对应流量的流长加1。
优选地,所述采用基于内容寻址的计数器对所述数据包所属流量进行流长计数,包括:
判断所述基于内容寻址的计数器中是否记录有所述流标识对应流量的流长,若是,则将记录的所述流标识对应流量的流长值加1,否则,在所述基于内容寻址的计数器中增加一项,记录所述流标识,并设定与该流标识对应流量的流长为1。
优选地,所述将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中,包括:
利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第二地址;
将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述第二地址中。
优选地,所述更新所述布鲁姆过滤器各个比特位的值包括:
利用所述预设的k个哈希函数,分别对所述流标识进行哈希运算,得到k个布鲁姆过滤器的比特位位置;
将所述k个布鲁姆过滤器的比特位位置的值设置为1。
优选地,所述抽样概率函数为:
P(i)=1/(1+ε2i)
其中,ε是预设值,i为所述数据包所属流量的流长。
一种数据包抽样装置,包括:
大流判断单元,用于采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流;
大流计数单元,用于在所述大流判断单元的判断结果为是时,采用哈希计数器对所述数据包所属流量进行流长计数,其中所述流长为流量包含的数据包的个数;
小流计数单元,用于在所述大流判断单元的判断结果为否时,采用基于内容寻址的计数器对所述数据包所属流量进行流长计数;
流长判断单元,用于判断基于内容寻址的计数器中所述数据包所属流量的流长是否超过预设阀值;
迁移单元,用于在所述流长判断单元的判断结果为是时,将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中;
更新单元,用于在所述流长判断单元的判断结果为是时,更新所述布鲁姆过滤器各个比特位的值;
抽样概率计算单元,用于参考预设的与流长成反比的抽样概率函数,利用所述数据包所属流量的流长计算所述数据包的抽样概率;
抽样确定单元,用于依据所述抽样概率及预设抽样概率参考值,确定所述数据包是否被抽取。
优选地,所述大流判断单元包括:
流标识提取单元,用于提取所述数据包所属流量的流标识;
哈希处理单元,用于利用预设的k个哈希函数,将所述流标识映射到k个比特位;
比特位值判断单元,用于判断所述布鲁姆过滤器中所述k个比特位的值是否均为1;
大流确定单元,用于在所述比特位值判断单元的判断结果为是时,确定所述数据包所属流量为预设的大流。
优选地,所述大流计数单元包括:
地址计算单元,用于利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第一地址;
流长更新单元,用于将所述第一地址中记录的与所述流标识对应流量的流长加1。
从上述的技术方案可以看出,本申请实施例提供的数据包抽样方法,采用布鲁姆过滤器判断用户发出的数据包所属的流量是否为预设的大流,若是,采用哈希计数器对所述数据包所属流量进行流长计数,若否,采用基于内容寻址的计数器对所述数据包所属流量进行流长计数,其中所述流长为流量包含的数据包的个数,判断基于内容寻址的计数器中所述数据包所属流量的流长是否超过预设阀值,若是,将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中,同时更新所述布鲁姆过滤器各个比特位的值,参考预设的与流长成反比的抽样概率函数,利用所述数据包所属流量的流长计算所述数据包的抽样概率,依据所述抽样概率及预设抽样概率参考值,确定所述数据包是否被抽取。本申请提供方法,对数据包归属的流量进行大小流的判断,并统计各个流量的流长,最后利用与流长成反比的抽样概率函数来确定该数据包是否被抽样选取,对于包含数据包较多的大流,其抽样概率将会小于包括较少数据包的小流的抽样概率,实现了大流和小流数据包的公平抽样。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种数据包抽样方法流程图;
图2为本申请实施例公开的一种判断数据包所属流量是否为大流的方法流程图;
图3为本申请实施例公开的采用哈希计数器对数据包所属流量进行流长计数的方法流程图;
图4为本申请实施例公开的采用基于内容寻址的计数器对数据包所属流量进行流长计数的方法流程图;
图5为本申请实施例公开的计数器迁移方法流程图;
图6为本申请实施例公开的一种布鲁姆过滤器更新方法流程图;
图7为本申请实施例公开的一种数据包抽样装置结构示意图;
图8为本申请实施例公开的一种大流判断单元的结构示意图;
图9为本申请实施例公开的一种大流计数单元的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请实施例公开的一种数据包抽样方法流程图。
如图1所示,该方法包括:
步骤S100、采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流,若是,执行步骤S110,否则执行步骤S120;
具体地,初始状态下布鲁姆过滤器是无法识别任何大流的,需要通过基于内容寻址的计数器来进行流量流长的判断,进而将流长超过预设阀值的流量确定为大流,然后更新布鲁姆过滤器,使之以后能够识别此类流量为大流。随着不断的更新,布鲁姆过滤器逐渐能够识别绝大部分的大流。
步骤S110、采用哈希计数器对所述数据包所属流量进行流长计数;
具体地,流长即指一个流量所包含的数据包的个数。每个数据包均携带了其所属流量的流标识,一个流量对应一个流标识。流标识可以前期自行设定,不同格式的流标识具有不同的提取方式。在布鲁姆过滤器识别出一个属于大流的数据包之后,由哈希计数器来对该数据包所属流量进行流长计数,如果该流量是一个全新的之前未识别的流量,则新建一条记录,记录该流量对应流长为1。随后若再次发现该流量所包含的数据包时,对应更新该流量的流长。
步骤S120、采用基于内容寻址的计数器对所述数据包所属流量进行流长计数;
同理的,在布鲁姆过滤器判断一个数据包所属流量为小流时,由基于内容寻址的计数器来进行流长计数。基于内容寻址的计数器中记录了每个流标识对应流量的流长。若发现一个数据包所属的流量的流标识未记录在该计数器中,则为新发现的这种流标识新增记录条目,并设置其流长为1。
步骤S130、判断基于内容寻址的计数器中所述数据包所属流量的流长是否超过预设阀值,若是,执行步骤S140,否则执行步骤S150;
步骤S140、将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中,同时更新所述布鲁姆过滤器各个比特位的值;
具体地,对于基于内容寻址的计数器来说,其记录的与各个流标识对应的流长值,若发现某一时刻某一个流标识对应的流长值超过了预设阀值,则可以认为该流标识对应的流量实质上是一个大流,因此需要将基于内容寻址的计数器中该条记录迁移到哈希计数器中。并且,同时应该利用发现的这个大流来更新布鲁姆过滤器各个比特位的值,使得下次再接收到该流标识的数据包时能够直接被布鲁姆过滤器所判定为大流。
步骤S150、参考预设的与流长成反比的抽样概率函数,利用所述数据包所属流量的流长计算所述数据包的抽样概率;
步骤S160、依据所述抽样概率及预设抽样概率参考值,确定所述数据包是否被抽取。
具体地,我们预先设定了抽样概率函数,该抽样概率函数与流长成反比,也即一个数据包所属的流量的流长越大,该数据包被抽取的概率就越小。最后,比较计算出来的抽样概率和预设抽样概率参考值,若计算得到的抽样概率大于预设抽样概率参考值,则确定该数据包被抽取,否则不抽取该数据包。
本申请实施例提供的数据包抽样方法,对数据包归属的流量进行大小流的判断,并统计各个流量的流长,最后利用与流长成反比的抽样概率函数来确定该数据包是否被抽样选取,对于包含数据包较多的大流,其抽样概率将会小于包括较少数据包的小流的抽样概率,实现了大流和小流数据包的公平抽样。
需要说明的是,上述抽样概率函数可以表示为:
P(i)=1/(1+ε2i)
其中,ε是预设值,用于表征用户可接受的误差概率,i为所述数据包所属流量的流长。上述函数引入倒数运算,使得抽样概率对大流而言呈现较小值,而小流抽样概率为较大值。
参见图2,图2为本申请实施例公开的一种判断数据包所属流量是否为大流的方法流程图。
如图2所示,上述步骤S100具体包括:
步骤S200、提取所述数据包所属流量的流标识;
每一个数据包均携带有该数据包所属的流量的流标识。此步骤中我们可以从数据包中提取出该流标识。
步骤S210、利用预设的k个哈希函数,将所述流标识映射到k个比特位;
步骤S220、判断所述布鲁姆过滤器中所述k个比特位的值是否均为1,若是,则执行步骤S230,否则执行步骤S240;
步骤S230、确定所述数据包所属流量为预设的大流。
步骤S240、确定所述数据包所属流量为预设的小流。
具体地,布鲁姆过滤器是由一个0-1向量和k个哈希函数构成。在初始时,布鲁姆过滤器的所有位均为0,说明还没有大流被识别。随着基于内容寻址的计数器识别出大流,对布鲁姆过滤器进行更新,将某些比特位的值置为1。
在接收到一个数据包时,利用k个哈希函数对流标识进行哈希计算,得到k个比特位。判断布鲁姆过滤器中上述k个比特位的数值是否全部为1,如果是则代表该数据包所属的流量是大流,否则为小流。
参见图3,图3为本申请实施例公开的采用哈希计数器对数据包所属流量进行流长计数的方法流程图。
如图3所示,该方法包括:
步骤S300、利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第一地址;
具体地,哈希计数器进行计数时,首先对当前流标识进行哈希计算,得到哈希计数器中的第一地址。一个流标识经过哈希计算后会对应一个地址,有可能多个流标识共同对应同一地址。
步骤S310、将所述第一地址中记录的与所述流标识对应流量的流长加1。
计算得到第一地址后,查看该第一地址中是否有计数记录,如果有,则代表之前已经对该流标识有过流长记录,此时将流长值加1即可。如果在第一地址中没有发现任何计数记录,则意味着对于该流标识为首次发现其属于大流,因此在确定的第一地址中添加该流标识,并将其流长值设置为1。
进一步,参见图4,图4为本申请实施例公开的采用基于内容寻址的计数器对数据包所属流量进行流长计数的方法流程图。
如图4所示,该方法包括:
步骤S400、判断所述基于内容寻址的计数器中是否记录有所述流标识对应流量的流长,若是,则执行步骤S410,否则执行步骤S420;
步骤S410、将记录的所述流标识对应流量的流长值加1;
步骤S420、在所述基于内容寻址的计数器中增加一项,记录所述流标识,并设定与该流标识对应流量的流长为1。
本实施例中,对于布鲁姆过滤器识别出的小流数据包,由基于内容寻址的计数器进行流长计数。
基于内容寻址的计数器可以采用TCAM+SRAM的方式实现,在TCAM中存储流标识,在SRAM中存储统计的流长。TCAM地址与SRAM地址之间一一映射,保证每个小流都有一个专门的计数器。
若发现一个流标识没有记录在TCAM中,则在TCAM中新增一条记录,并在SRAM中记录与该新增流标识对应的流长。
进一步,参见图5,图5为本申请实施例公开的计数器迁移方法流程图。如图5所示,上述步骤S140具体包括:
步骤S500、利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第二地址;
步骤S510、将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述第二地址中。
在发现基于内容寻址的计数器中某一个流标识对应的流量的流长超过阈值时,根据该流标识进行步骤S500的哈希运算,得到哈希计数器中的第二地址。将基于内容寻址的计数器中的超阈值的流长、表征数据包所属流量的流标识一同迁移至第二地址中。
在进行计数器的迁移的同时,还需要对布鲁姆过滤器进行更新。参见图6,图6为本申请实施例公开的一种布鲁姆过滤器更新方法流程图。
如图6所示,该方法包括:
步骤S600、利用所述预设的k个哈希函数,分别对所述流标识进行哈希运算,得到k个布鲁姆过滤器的比特位位置;
步骤S610、将所述k个布鲁姆过滤器的比特位位置的值设置为1。
利用上述过程实现了对布鲁姆过滤器的更新,将哈希运算得到的k个比特位的数值置为1,使得后续能够识别出此流标识的流量为大流。
下面对本申请实施例提供的数据包抽样装置进行描述,下文描述的数据包抽样装置与上文描述的数据包抽样方法可相互对应参照。
参见图7,图7为本申请实施例公开的一种数据包抽样装置结构示意图。
如图7所示,该装置包括:
大流判断单元71,用于采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流;
大流计数单元72,用于在所述大流判断单元71的判断结果为是时,采用哈希计数器对所述数据包所属流量进行流长计数,其中所述流长为流量包含的数据包的个数;
小流计数单元73,用于在所述大流判断单元71的判断结果为否时,采用基于内容寻址的计数器对所述数据包所属流量进行流长计数;
流长判断单元74,用于判断基于内容寻址的计数器中所述数据包所属流量的流长是否超过预设阀值;
迁移单元75,用于在所述流长判断单元74的判断结果为是时,将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中;
更新单元76,用于在所述流长判断单元74的判断结果为是时,更新所述布鲁姆过滤器各个比特位的值;
抽样概率计算单元77,用于参考预设的与流长成反比的抽样概率函数,利用所述数据包所属流量的流长计算所述数据包的抽样概率;
抽样确定单元78,用于依据所述抽样概率及预设抽样概率参考值,确定所述数据包是否被抽取。
可选的,图8示例了本申请实施例公开的大流判断单元的一种可选结构,如图8所示,大流判断单元71包括:
流标识提取单元711,用于提取所述数据包所属流量的流标识;
哈希处理单元712,用于利用预设的k个哈希函数,将所述流标识映射到k个比特位;
比特位值判断单元713,用于判断所述布鲁姆过滤器中所述k个比特位的值是否均为1;
大流确定单元714,用于在所述比特位值判断单元713的判断结果为是时,确定所述数据包所属流量为预设的大流。
可选的,图9示例了本申请实施例公开的大流计数单元的一种可选结构,如图9所示,大流计数单元72可以包括:
地址计算单元721,用于利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第一地址;
流长更新单元722,用于将所述第一地址中记录的与所述流标识对应流量的流长加1。
本申请实施例提供的数据包抽样装置,对数据包归属的流量进行大小流的判断,并统计各个流量的流长,最后利用与流长成反比的抽样概率函数来确定该数据包是否被抽样选取,对于包含数据包较多的大流,其抽样概率将会小于包括较少数据包的小流的抽样概率,实现了大流和小流数据包的公平抽样。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据包抽样方法,其特征在于,包括:
采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流,若是,采用哈希计数器对所述数据包所属流量进行流长计数,若否,采用基于内容寻址的计数器对所述数据包所属流量进行流长计数,其中所述流长为流量包含的数据包的个数;
判断基于内容寻址的计数器中所述数据包所属流量的流长是否超过预设阀值,若是,将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中,同时更新所述布鲁姆过滤器各个比特位的值;
参考预设的与流长成反比的抽样概率函数,利用所述数据包所属流量的流长计算所述数据包的抽样概率;
依据所述抽样概率及预设抽样概率参考值,确定所述数据包是否被抽取。
2.根据权利要求1所述的数据包抽样方法,其特征在于,所述采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流,包括:
提取所述数据包所属流量的流标识;
利用预设的k个哈希函数,将所述流标识映射到k个比特位;
判断所述布鲁姆过滤器中所述k个比特位的值是否均为1,若是,则确定所述数据包所属流量为预设的大流。
3.根据权利要求2所述的数据包抽样方法,其特征在于,所述采用哈希计数器对所述数据包所属流量进行流长计数,包括:
利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第一地址;
将所述第一地址中记录的与所述流标识对应流量的流长加1。
4.根据权利要求2所述的数据包抽样方法,其特征在于,所述采用基于内容寻址的计数器对所述数据包所属流量进行流长计数,包括:
判断所述基于内容寻址的计数器中是否记录有所述流标识对应流量的流长,若是,则将记录的所述流标识对应流量的流长值加1,否则,在所述基于内容寻址的计数器中增加一项,记录所述流标识,并设定与该流标识对应流量的流长为1。
5.根据权利要求4所述的数据包抽样方法,其特征在于,所述将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中,包括:
利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第二地址;
将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述第二地址中。
6.根据权利要求4所述的数据包抽样方法,其特征在于,所述更新所述布鲁姆过滤器各个比特位的值包括:
利用所述预设的k个哈希函数,分别对所述流标识进行哈希运算,得到k个布鲁姆过滤器的比特位位置;
将所述k个布鲁姆过滤器的比特位位置的值设置为1。
7.根据权利要求1所述的数据包抽样方法,其特征在于,所述抽样概率函数为:
P(i)=1/(1+ε2i)
其中,ε是预设值,i为所述数据包所属流量的流长。
8.一种数据包抽样装置,其特征在于,包括:
大流判断单元,用于采用布鲁姆过滤器,判断用户发出的数据包所属的流量是否为预设的大流;
大流计数单元,用于在所述大流判断单元的判断结果为是时,采用哈希计数器对所述数据包所属流量进行流长计数,其中所述流长为流量包含的数据包的个数;
小流计数单元,用于在所述大流判断单元的判断结果为否时,采用基于内容寻址的计数器对所述数据包所属流量进行流长计数;
流长判断单元,用于判断基于内容寻址的计数器中所述数据包所属流量的流长是否超过预设阀值;
迁移单元,用于在所述流长判断单元的判断结果为是时,将基于内容寻址的计数器中记录的所述数据包所属流量及对应流长一并迁移至所述哈希计数器中;
更新单元,用于在所述流长判断单元的判断结果为是时,更新所述布鲁姆过滤器各个比特位的值;
抽样概率计算单元,用于参考预设的与流长成反比的抽样概率函数,利用所述数据包所属流量的流长计算所述数据包的抽样概率;
抽样确定单元,用于依据所述抽样概率及预设抽样概率参考值,确定所述数据包是否被抽取。
9.根据权利要求8所述的数据包抽样装置,其特征在于,所述大流判断单元包括:
流标识提取单元,用于提取所述数据包所属流量的流标识;
哈希处理单元,用于利用预设的k个哈希函数,将所述流标识映射到k个比特位;
比特位值判断单元,用于判断所述布鲁姆过滤器中所述k个比特位的值是否均为1;
大流确定单元,用于在所述比特位值判断单元的判断结果为是时,确定所述数据包所属流量为预设的大流。
10.根据权利要求9所述的数据包抽样装置,其特征在于,所述大流计数单元包括:
地址计算单元,用于利用第一预设哈希函数对所述流标识进行哈希计算,得到哈希计数器中的第一地址;
流长更新单元,用于将所述第一地址中记录的与所述流标识对应流量的流长加1。
CN201410497168.8A 2014-09-25 2014-09-25 一种数据包抽样方法及装置 Active CN104219110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410497168.8A CN104219110B (zh) 2014-09-25 2014-09-25 一种数据包抽样方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410497168.8A CN104219110B (zh) 2014-09-25 2014-09-25 一种数据包抽样方法及装置

Publications (2)

Publication Number Publication Date
CN104219110A true CN104219110A (zh) 2014-12-17
CN104219110B CN104219110B (zh) 2017-12-12

Family

ID=52100265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410497168.8A Active CN104219110B (zh) 2014-09-25 2014-09-25 一种数据包抽样方法及装置

Country Status (1)

Country Link
CN (1) CN104219110B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177513A (zh) * 2019-12-31 2020-05-19 北京百度网讯科技有限公司 异常访问地址的确定方法、装置、电子设备及存储介质
US11805034B1 (en) 2016-12-07 2023-10-31 Reservoir Labs, Inc. Systems and methods for detecting large network flows

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237079A1 (en) * 2006-03-30 2007-10-11 Alcatel Binned duration flow tracking
CN101119246A (zh) * 2007-09-20 2008-02-06 杭州华三通信技术有限公司 数据包抽样统计的方法及装置
CN101459560A (zh) * 2009-01-09 2009-06-17 中国人民解放军信息工程大学 长流的识别方法、数据流量的测量方法及其设备
CN102882798A (zh) * 2012-09-04 2013-01-16 中国人民解放军理工大学 面向骨干网流量分析的统计计数方法
CN103078754A (zh) * 2012-12-29 2013-05-01 大连环宇移动科技有限公司 一种基于计数型bloom filter的网络数据流统计方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237079A1 (en) * 2006-03-30 2007-10-11 Alcatel Binned duration flow tracking
CN101119246A (zh) * 2007-09-20 2008-02-06 杭州华三通信技术有限公司 数据包抽样统计的方法及装置
CN101459560A (zh) * 2009-01-09 2009-06-17 中国人民解放军信息工程大学 长流的识别方法、数据流量的测量方法及其设备
CN102882798A (zh) * 2012-09-04 2013-01-16 中国人民解放军理工大学 面向骨干网流量分析的统计计数方法
CN103078754A (zh) * 2012-12-29 2013-05-01 大连环宇移动科技有限公司 一种基于计数型bloom filter的网络数据流统计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11805034B1 (en) 2016-12-07 2023-10-31 Reservoir Labs, Inc. Systems and methods for detecting large network flows
CN111177513A (zh) * 2019-12-31 2020-05-19 北京百度网讯科技有限公司 异常访问地址的确定方法、装置、电子设备及存储介质
CN111177513B (zh) * 2019-12-31 2023-10-31 北京百度网讯科技有限公司 异常访问地址的确定方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104219110B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
US11627517B2 (en) Network provisioning
CN101075911B (zh) 统计信息收集***及统计信息收集装置
CN103346922B (zh) 基于sdn的确定网络状态的控制器及其确定方法
US10778588B1 (en) Load balancing for multipath groups routed flows by re-associating routes to multipath groups
US20200186465A1 (en) Multi-site telemetry tracking for fabric traffic using in-band telemetry
EP3361703B1 (en) Load balancing method, related device and system
CN103702360B (zh) 一种确定业务接入端口的数据流速的方法及装置
CN107959625A (zh) 具有动态流卸载能力的虚拟路由器
KR20140051447A (ko) 통신 네트워크들에 대한 클라우드 컴퓨팅 강화 게이트웨이
CN105745870A (zh) 从用于检测大流量的串行多级过滤器去除头部过滤器以便清除流量以实现延长操作
US10038609B2 (en) Network traffic analysis
CN104965573B (zh) 一种数据中心的批量部署方法及装置
CN103973589A (zh) 网络流量分类方法及装置
CN102611626A (zh) 网络流量解析***及方法
CN106095850A (zh) 一种数据处理方法及设备
CN104219110A (zh) 一种数据包抽样方法及装置
WO2017084642A1 (zh) 统计bgp团体属性或扩展团体属性流量值的方法及设备
CN102904826B (zh) 流量负载分担的方法及设备
CN117312296B (zh) 一种多平台协作的数据处理方法
CN114401516A (zh) 一种基于虚拟网络流量分析的5g切片网络异常检测方法
CN107241251B (zh) 多路can报文实时接收的软件实现方法
CN104113510A (zh) 虚拟桌面***及其消息数据的传输方法
US10263807B2 (en) Hierarchical statistics acceleration
TW201429193A (zh) 對資料封包進行分析以選擇連線路徑之連線方法
CN104202407A (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
GR01 Patent grant
GR01 Patent grant