CN104734905A - 检测数据流的方法及装置 - Google Patents
检测数据流的方法及装置 Download PDFInfo
- Publication number
- CN104734905A CN104734905A CN201310721863.3A CN201310721863A CN104734905A CN 104734905 A CN104734905 A CN 104734905A CN 201310721863 A CN201310721863 A CN 201310721863A CN 104734905 A CN104734905 A CN 104734905A
- Authority
- CN
- China
- Prior art keywords
- stream
- data flow
- threshold
- packet
- data
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种检测数据流的方法,涉及通信领域,用于解决现有技术中当网络链路较为拥塞时,大流检测的漏检率较高的问题。本发明提供的方法包括:对数据流的数据包数目和流字节数进行累计;当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。本发明适用于通信领域,用于进行数据流检测,识别出大流。
Description
技术领域
本发明涉及通信领域,尤其涉及一种检测数据流的方法及装置。
背景技术
随着通信业务的发展,通信网络中传输的数据流越来越多;在数据流的传输过程中,往往需要交换机或路由器对数据流进行流量管理。大流(ElephantFlow,大象流)是指传输数据量足够大的数据流;由于大流传输数据量非常大、且占用较大带宽,所以流量管理主要是针对大流进行管理。为了实现流量管理,需要进行大流检测,从多个数据流中识别出大流。
现有技术中,主要采用基于平均吞吐率统计的大流检测方法:当接收到一个数据包时,查看是否存在该数据包对应的流记录;若存在,则对该数据包对应的数据流的流量进行累计,并计算该数据流从开始统计到当前时刻的平均吞吐率;若不存在,则建立该数据包对应的流记录,并对该数据包对应的数据流进行流量统计;当所述数据流的平均吞吐率达到预设阈值时,将该数据流确定为大流。
在采用上述方法进行大流检测的过程中,至少存在如下问题:当多个大流流经同一条较为拥塞的网络链路时,所述多个大流的传输速度会降低,使得所述多个大流的平均吞吐率处于一个较低的水平,无法准确识别出大流,导致大流检测的漏检率较高。
发明内容
本发明的实施例提供一种检测数据流的方法及装置,能够解决现有技术中当网络链路较为拥塞时,大流检测的漏检率较高的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种检测数据流的方法,所述方法包括:
对数据流的数据包数目和流字节数进行累计;
当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。
结合第一方面,在第一种可能的实现方式中,所述当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流,包括:
当所述数据包数目达到第一阈值时,根据所述数据包数目和流字节数计算所述数据流的数据包平均大小;
当所述数据包平均大小达到第二阈值时,将所述数据流确定为大流。
结合第一方面,在第二种可能的实现方式中,所述对数据流的数据包数目和流字节数进行累计,包括:
建立数据流统计表,所述数据流统计表中包括多项数据流条目,所述数据流条目包括数据包数目、累计字节数、以及流标识;
当接收到新数据包时,确定该数据包的流标识,并根据该数据包的大小对所述流标识对应的数据流条目进行更新。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述数据流条目还包括流类型标识,所述流类型标识用于表征数据流是否为大流;
所述当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流之后,还包括:
对所述数据流的流类型标识进行修改,以表征所述数据流为大流。
结合第一方面,在第四种可能的实现方式中,所述对数据流的数据包数目和流字节数进行累计之前,还包括:
根据历史数据流的流信息确定所述第一阈值和第二阈值。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述根据历史数据流的流信息确定所述第一阈值和第二阈值,包括:
建立所述历史数据流中数据包数目的分布直方图,将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值;
建立所述历史数据流中数据包平均大小的分布直方图,将所述数据包平均大小的分布直方图中波谷位置对应的数据包平均大小值确定为所述第二阈值。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述建立所述历史数据流中数据包数目的分布直方图之后,还包括:
对所述数据包数目的分布直方图进行平滑滤波,以使得平滑滤波后的数据包数目的分布直方图存在单一波谷;
和/或
对所述数据包平均大小的分布直方图进行平滑滤波,以使得平滑滤波后的数据包平均大小的分布直方图存在单一波谷。
结合第一方面的第五种或第六种可能的实现方式,在第七种可能的实现方式中,所述将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值,包括:
当所述数据包数目的分布直方图中波谷位置对应的数据包数目值为一个区间值时,确定所述区间值中的最小值为所述第一阈值。
第二方面,本发明实施例提供了一种检测数据流的装置,所述装置包括:
累计单元,用于对数据流的数据包数目和流字节数进行累计;
确定单元,用于当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。
结合第二方面,在第一种可能的实现方式中,所述确定单元包括:
计算模块,用于当所述数据包数目达到第一阈值时,根据所述数据包数目和流字节数计算所述数据流的数据包平均大小;
判定模块,用于当所述数据包平均大小达到第二阈值时,将所述数据流确定为大流。
结合第二方面,在第二种可能的实现方式中:
所述累计单元具体用于,建立数据流统计表,所述数据流统计表中包括多项数据流条目,所述数据流条目包括数据包数目、累计字节数、以及流标识;当接收到新数据包时,确定该数据包的流标识,并根据该数据包的大小对所述流标识对应的数据流条目进行更新。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述累计单元建立的所述数据流条目还包括流类型标识,所述流类型标识用于表征数据流是否为大流;
所述确定单元还用于,将所述数据流确定为大流之后,对所述数据流的流类型标识进行修改,以表征所述数据流为大流。
结合第二方面,在第四种可能的实现方式中,所述装置还包括:
阈值设定单元,用于根据历史数据流的流信息确定所述第一阈值和第二阈值。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中:
所述阈值设定单元,具体用于建立所述历史数据流中数据包数目的分布直方图,将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值;建立所述历史数据流中数据包平均大小的分布直方图,将所述数据包平均大小的分布直方图中波谷位置对应的数据包平均大小值确定为所述第二阈值。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述阈值设定单元还包括:
滤波模块,用于在建立所述历史数据流中数据包数目的分布直方图之后,对所述数据包数目的分布直方图进行平滑滤波,以使得平滑滤波后的数据包数目的分布直方图存在单一波谷;
和/或
所述滤波模块,还用于对所述数据包平均大小的分布直方图进行平滑滤波,以使得平滑滤波后的数据包平均大小的分布直方图存在单一波谷。
结合第二方面的第五种或第六种可能的实现方式,在第七种可能的实现方式中:
所述阈值设定单元,具体用于当所述数据包数目的分布直方图中波谷位置对应的数据包数目值为一个区间值时,确定所述区间值中的最小值为所述第一阈值。
本发明实施例提供的检测数据流的方法及装置,对数据流的数据包数目和流字节数进行累计;当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。由于对于一个数据流来说,该数据流的数据包数目和数据包平均大小不会受到网络链路拥塞状况的影响,所以采用本发明实施例提供的检测数据流的方法及装置,在对数据流进行检测时不会受到网络链路拥塞情况的干扰,能够准确的从多个数据流中识别出大流,提高大流检测的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的检测数据流的方法流程示意图;
图2为本发明实施例二提供的检测数据流的方法流程示意图;
图3为本发明实施例二提供的确定第一阈值的流程示意图;
图4为本发明实施例二提供的数据包数目的分布直方图;
图5为本发明实施例二提供的确定第二阈值的流程示意图;
图6为本发明实施例二提供的数据包平均大小的一个分布直方图;
图7为本发明实施例二提供的数据包平均大小的另一个分布直方图;
图8为本发明实施例二提供的一种应用实例的示意图;
图9为本发明实施例二提供的另一种应用实例的示意图;
图10为本发明实施例三提供的一个检测数据流的装置的结构框图;
图11为本发明实施例三提供的另一个检测数据流的装置的结构框图;
图12为本发明实施例三提供的另一个检测数据流的装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种检测数据流的方法,如图1所示,所述方法包括
101、对数据流的数据包数目和流字节数进行累计。
本实施例提供的方法可以由交换机、路由器等网络设备实现,也可以由网络设备中的功能模块实现,但不仅限于此。具体的,本实施例中,网络设备分别对每个数据流的数据包数目和流字节数进行累计。例如,网络设备对N个数据流(为了便于描述,可以记作:数据流1、数据流2、……数据流N)进行传输;当网络设备接收到一个新的数据包(将该数据包的大小为x字节)时,根据该数据包的报文头确定该数据包所属的数据流(例如该数据包所属的数据流为数据流1),则数据流1的数据包数目累计增加1,流字节数累计增加x。
102、当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。
由于大流传输的数据量较大、且每个数据包的大小受到网络协议MTU(Maximum Transmission Unit,最大传输单元)的限制,所以大流的数据包数目会大于一般数据流(非大流)的数据包数目;同时,在大多数的传输协议中(例如,TCP-Transmission Control Protocol,传输控制协议),大流是以MTU的大小来传输数据包的,所以大流的数据包平均大小大于一般数据流的数据包平均大小。通过预先设定第一阈值和第二阈值,对数据流进行检测,可以从多个数据流中识别出大流。
本发明实施例提供的检测数据流的方法,对数据流的数据包数目和流字节数进行累计;当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。由于对于一个数据流来说,该数据流的数据包数目和数据包平均大小不会受到网络链路拥塞状况的影响,所以采用本发明实施例提供的检测数据流的方法,在对数据流进行检测时不会受到网络链路拥塞情况的干扰,能够准确的从多个数据流中识别出大流,提高大流检测的准确率。
实施例二
在图1所示实施例的基础上,本实施例进一步提供了一种检测数据流的方法。如图2所示,本实施例提供的方法包括:
201、网络设备建立数据流统计表,所述数据流统计表中包括多项数据流条目,所述数据流条目包括数据包数目、累计字节数、以及流标识。
202、当所述网络设备接收到新数据包时,确定该数据包的流标识,并根据该数据包的大小对所述流标识对应的数据流条目进行更新。
在本实施例中,可以将数据包中的五元组信息作为该数据对应数据流的流标识。步骤202中的“对所述流标识对应的数据流条目进行更新”是指对所述流条目中的数据包数目、累计字节数进行累计。
关于步骤202,本实施例提供了一种具体实施方式以供参考,具体如下:
S1、网络设备接收数据包,从所述数据包中提取五元组信息<IPsrc,IPdst,Ptsrc,Ptdst,Protocol>作为流标识。
其中,所述IPsrc为源IP(Internet Protocol,互联网协议)地址,所述IPdst为目的IP地址,所述Ptsrc为源端口号,所述Ptdst为目的端口号,所述Protocol为传输层协议类型。
S2、所述网络设备检测所述数据流统计表中是否存在所述流标识对应的流条目信息;若是,执行S4;若否,执行S3。
S3、所述网络设备以所述数据包的五元组信息作为流标识新建流条目,并根据所述数据包的大小确定新建流条目信息中数据包数目、累计字节数的初始值。
S4、所述网络设备根据所述数据包的大小,对所述流标识对应的流条目信息中的数据包数目、累计字节数进行累加。
通过以上步骤S1-S4,当网络设备接收到数据包后,可以对数据流统计表中相应的数据流条目进行更新
作为一种优化方案,所述数据流条目还包括流类型标识,所述流类型标识用于表征数据流是否为大流。为了便于理解,本发明实施例提供一种数据流统计表的示意图以供参考,如表一所示:
表一:
流标识(五元组) | 累计数据包数目 | 累计字节数 | 流类型标识 |
<IPA,IPB,PtA,PtB,TCP> | P0 | B0 | unknown |
<IPC,IPD,PtC,PtD,UDP> | P1 | B1 | big |
… | … | … | … |
在表一中,每一行记载的信息即为一项完整的数据流条目信息。其中,流类型标识为“big”表示该数据流为大流。可选的,当一个数据流的流类型标识为“big”时,表示网络设备已经确定该数据流为大流。
203、所述网络设备监测数据流的数据包数目(即所述流标识对应的数据包数目项)是否达到预设第一阈值;若是,执行步骤204;若否,则结束对所述数据包的处理。
204、所述网络设备根据所述数据包数目和流字节数计算所述数据流的数据包平均大小,判断所述数据包平均大小是否达到预设第二阈值;若是,执行步骤205;若否,则结束对所述数据包的处理。
值得说明的是,由于数据包数目达到第一阈值、数据包平均大小达到第二阈值是确定一个数据流为大流的必要条件,在数据包数目未达到第一阈值的情况下、计算数据包平均大小有可能是徒劳的。步骤203-204中,网络设备在确定数据包数目达到所述第一阈值后,才会开始计算数据包平均大小。采用这样的方法,在数据包数目未达到所述第一阈值的情况下,无需计算数据包平均大小,能够降低网络设备的负荷,降低网络设备的功耗。
需要强调的是,步骤203-204也可以替换为如下实施方式:网络设备同时对数据流的数据包数目和数据包平均大小进行统计。具体的,网络设备在为一个数据流建立流条目之后,立即开始计算该数据流的数据包平均大小;也就是说,在数据包数目达到所述第一阈值之前,就对数据包平均大小进行计算。采用这样的方法,在确定数据包数目达到第一阈值之后,可以直接调取数据包平均大小与第二阈值进行比较,确定相应数据流是否为大流。与步骤203-204相比,采用这样的方法,能够缩短大流检测时间,较为快速的识别出大流。
205、所述网络设备将所述数据流确定为大流,将所述数据流的流标识由“unknown”修改为“big”。
通过步骤205,可以实现对数据流的检测,识别出哪些数据流是大流,从而便于网络设备对大流进行调度,避免多个大流通过一个拥塞链路传输造成网络拥塞的问题。
需要强调的是,通过对网络中的数据包传输情况进行统计,发现存在如下3点特征:
1、大流总是以MTU大小来传输大量数据包;也就是说,大流中几乎每个数据包的大小均与MTU的大小相同,同时,由于大流要传输的数据量很大,所以大流的数据包数目也比较大。值得说明的是,当网络链路较为拥塞时,大流中连续数据包的传输间隔可能会增大,但是大流的数据包数目和数据包平均大小不会受到影响。
2、网络中所传输数据包的数据包大小呈现两极分布,一极是低于100字节的小数据包(主要是小数据流产生),另一极是接近MTU的大数据包(主要是大流产生)。
3、网络中的每个数据流包含的数据包数目呈现两极分布,一极是包含少量数据包的小数据流,另一极是包含大量数据包的大流。
基于以上描述,通过图2所示的方法,通过检测数据包数目和数据包平均大小,可以有效的检测出大流。同时,由于大流的数据包数目和数据包平均大小不会受到网络链路拥塞的影响,所以图2所示的方法在各种网络环境下都能具备较好的稳定性。
通过以上描述可知,本实施例提供的方法中,所述第一阈值和第二阈值是两个非常关键的参数,它们的取值对大流检测结果有着重要影响。为了确定所述第一阈值和第二阈值,可以采用如下几种方法:方法一、根据经验值设定所述第一阈值和第二阈值;方法二、通过网络Trace离线分析获得合适的阈值;方法三,根据网络的在线统计数据动态计算阈值。其中,方法二和方法三主要区别在于前者采用的是特定的历史数据并且离线分析,而后者采用当前网络中动态统计数据并在线分析,它们在处理数据确定阈值的方法上可以相同,也可以不同。
优选的,除了上述三种设定第一阈值和第二阈值的方法,本实施例还提供了一种基于历史数据流的流信息确定所述第一阈值和第二阈值的方法,具体如下:
S1、建立历史数据流中数据包数目的分布直方图,将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值;
考虑到数据包数目的分布直方图可能存在多个波谷位置,为了提高第一阈值的合理性,在建立所述历史数据流中数据包数目的分布直方图之后,可以对所述数据包数目的分布直方图进行平滑滤波,以使得平滑滤波后的数据包数目的分布直方图存在单一波谷。
值得说明的是,当采用图2所示方法来检测数据流时,大流检测时间为:统计对应数据流的数据包数目达到第一阈值时所消耗的时间。所以,为了提高大流检测速度,优选的,当所述数据包数目的分布直方图中波谷位置对应的数据包数目值为一个区间值时,确定所述区间值中的最小值为所述第一阈值。
S2、建立所述历史数据流中数据包平均大小的分布直方图,将所述数据包平均大小的分布直方图中波谷位置对应的数据包平均大小值确定为所述第二阈值。
考虑到数据包平均大小的分布直方图可能存在多个波谷位置,为了提高第二阈值的合理性,在建立所述历史数据流中数据包平均大小的分布直方图之后,可以对所述数据包平均大小的分布直方图进行平滑滤波,以使得平滑滤波后的数据包平均大小的分布直方图存在单一波谷。
为了便于理解,本实施例结合具体实例对上述第一阈值的确定方法进行举例说明,如图3所示,包括:
301、网络设备统计历史数据流信息,建立数据包数目的分布直方图。
具体的,所述数据包数目的分布直方图是位于不同数据包数目区间的数据流的数量的统计直方图,即横坐标为不同的数据包数目区间,纵坐标为数据包数目位于某一区间的数据流的数量。
图4是数据包数目的分布直方图的一个简单示例。如图4所示,横坐标为数据包数目区间,依次为(0,10],(10,20],(20,40],…,(1280,2560],(2560,无穷大),纵坐标为数据包数目位于相应区间的数据流的数量。
302、网络设备将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值。
例如,图4所示直方图中仅包括一个波谷,所以可以直接选取波谷位置对应的数据包数目作为所述第一阈值。如图4所示,数据包数目81-1280间的取值均可以作为所述第一阈值。优选的,可以确定81为所述第一阈值,这样可以提高大流检测的速度。
为了便于理解,本实施例结合具体实例对上述第二阈值的确定方法进行举例说明,如图5所示,包括:
501、网络设备统计历史数据流信息,建立数据包平均大小的分布直方图。
具体的,所述数据包平均大小的分布直方图是位于不同数据包平均大小区间的数据流的数量的统计直方图,即横坐标为不同的数据包平均大小区间,纵坐标为数据包平均大小位于某一区间的数据流的数量。
图6是数据包平均大小的分布直方图的一个简单示例。如图6所示,横坐标为不同数据包平均大小的区间(横坐标的单位为:字节),依次为(0,125],(125,250],(250,375],…,(1125,1250],(1250,1500](图6中,假设传输链路的MTU为1500字节),纵坐标为数据包平均大小位于相应区间的数据流的数量。
502、网络设备将所述数据包平均大小的分布直方图中波谷位置对应的数据包平均大小确定为所述第二阈值。
例如,图6所示直方图中包括两个波谷,为了使第二阈值的取值更加合理,可以对图6所示直方图进行一次平滑滤波,得到图7所示的直方图。图7中的直方图仅包括一个波谷,可以选取图7中波谷位置对应的数据包平均大小作为所述第二阈值。如图7所示,数据包平均大小751-1000间的取值均可以作为所述第二阈值,例如,可以选取875字节作为所述第二阈值。
通过图3和图5所示方法可以确定第一阈值和第二阈值。
如图8所示,本实施例提供的检测数据流的方法的一个应用实例是:作为交换机或路由器中功能模块(即图8中的大流检测模块),对大流进行检测,并将结果信息提供给等价多路径路由模块。等价多路径路由模块可以根据大流信息,将大流分配到不同输出端口,从而有效地避免大流冲突,提高网络传输性能。系统框图如图8所示。
如图9所示,本实施例提供的检测数据流的方法的另一个应用实例是:配合OpenFlow技术实现全局的大流调度和管理。大流检测模块在各OpenFlowSwitch(OpenFlow交换机)中检测大流,OpenFlow Controller(OpenFlow控制器)通过拉取各交换机中的大流信息对大流进行全局的调度和管理,避免大流冲突,提高网络传输性能。
实施例三
本发明实施例提供了一种检测数据流的装置,能够实现实施一、实施例二提供的检测数据流的方法。
如图10所示,本实施例提供的检测数据流的装置100包括:
累计单元1001,用于对数据流的数据包数目和流字节数进行累计;
确定单元1002,用于当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。
进一步的,如图11所示,所述确定单元1002包括:
计算模块10021,用于当所述数据包数目达到第一阈值时,根据所述数据包数目和流字节数计算所述数据流的数据包平均大小;
判定模块10022,用于当所述数据包平均大小达到第二阈值时,将所述数据流确定为大流。
具体的,所述累计单元1001用于建立数据流统计表,所述数据流统计表中包括多项数据流条目,所述数据流条目包括数据包数目、累计字节数、以及流标识;当接收到新数据包时,确定该数据包的流标识,并根据该数据包的大小对所述流标识对应的数据流条目进行更新。
优选的,所述累计单元1001建立的所述数据流条目还包括流类型标识,所述流类型标识用于表征数据流是否为大流;
所述确定单元1002还用于,将所述数据流确定为大流之后,对所述数据流的流类型标识进行修改,以表征所述数据流为大流;
如图11所示,所述装置还包括:
阈值设定单元1003,用于根据历史数据流的流信息确定所述第一阈值和第二阈值。
所述阈值设定单元1003,具体用于建立所述历史数据流中数据包数目的分布直方图,将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值;建立所述历史数据流中数据包平均大小的分布直方图,将所述数据包平均大小的分布直方图中波谷位置对应的数据包平均大小值确定为所述第二阈值。
进一步的,如图12所示,所述阈值设定单元1003还包括:
滤波模块10031,用于在建立所述历史数据流中数据包数目的分布直方图之后,对所述数据包数目的分布直方图进行平滑滤波,以使得平滑滤波后的数据包数目的分布直方图存在单一波谷;
和/或
所述滤波模块10031,还用于对所述数据包平均大小的分布直方图进行平滑滤波,以使得平滑滤波后的数据包平均大小的分布直方图存在单一波谷。
具体的,所述阈值设定单元1003用于当所述数据包数目的分布直方图中波谷位置对应的数据包数目值为一个区间值时,确定所述区间值中的最小值为所述第一阈值。
本发明实施例提供的检测数据流的装置,对数据流的数据包数目和流字节数进行累计;当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。由于对于一个数据流来说,该数据流的数据包数目和数据包平均大小不会受到网络链路拥塞状况的影响,所以采用本发明实施例提供的检测数据流的装置,在对数据流进行检测时不会受到网络链路拥塞情况的干扰,能够准确的从多个数据流中识别出大流,提高大流检测的准确率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种检测数据流的方法,其特征在于,包括:
对数据流的数据包数目和流字节数进行累计;
当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。
2.根据权利要求1所述的方法,其特征在于,所述当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流,包括:
当所述数据包数目达到第一阈值时,根据所述数据包数目和流字节数计算所述数据流的数据包平均大小;
当所述数据包平均大小达到第二阈值时,将所述数据流确定为大流。
3.根据权利要求1所述的方法,其特征在于,所述对数据流的数据包数目和流字节数进行累计,包括:
建立数据流统计表,所述数据流统计表中包括多项数据流条目,所述数据流条目包括数据包数目、累计字节数、以及流标识;
当接收到新数据包时,确定该数据包的流标识,并根据该数据包的大小对所述流标识对应的数据流条目进行更新。
4.根据权利要求3所述的方法,其特征在于,所述数据流条目还包括流类型标识,所述流类型标识用于表征数据流是否为大流;
所述当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流之后,还包括:
对所述数据流的流类型标识进行修改,以表征所述数据流为大流。
5.根据权利要求1所述的方法,其特征在于,所述对数据流的数据包数目和流字节数进行累计之前,还包括:
根据历史数据流的流信息确定所述第一阈值和第二阈值。
6.根据权利要求5所述的方法,其特征在于,所述根据历史数据流的流信息确定所述第一阈值和第二阈值,包括:
建立所述历史数据流中数据包数目的分布直方图,将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值;
建立所述历史数据流中数据包平均大小的分布直方图,将所述数据包平均大小的分布直方图中波谷位置对应的数据包平均大小值确定为所述第二阈值。
7.根据权利要求6所述的方法,其特征在于,所述建立所述历史数据流中数据包数目的分布直方图之后,还包括:
对所述数据包数目的分布直方图进行平滑滤波,以使得平滑滤波后的数据包数目的分布直方图存在单一波谷;
和/或
对所述数据包平均大小的分布直方图进行平滑滤波,以使得平滑滤波后的数据包平均大小的分布直方图存在单一波谷。
8.根据权利要求6或7所述的方法,其特征在于,所述将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值,包括:
当所述数据包数目的分布直方图中波谷位置对应的数据包数目值为一个区间值时,确定所述区间值中的最小值为所述第一阈值。
9.一种检测数据流的装置,其特征在于,包括:
累计单元,用于对数据流的数据包数目和流字节数进行累计;
确定单元,用于当所述数据包数目达到第一阈值、且所述数据流的数据包平均大小达到第二阈值时,将所述数据流确定为大流。
10.根据权利要求9所述的装置,其特征在于,所述确定单元包括:
计算模块,用于当所述数据包数目达到第一阈值时,根据所述数据包数目和流字节数计算所述数据流的数据包平均大小;
判定模块,用于当所述数据包平均大小达到第二阈值时,将所述数据流确定为大流。
11.根据权利要求9所述的装置,其特征在于:
所述累计单元具体用于,建立数据流统计表,所述数据流统计表中包括多项数据流条目,所述数据流条目包括数据包数目、累计字节数、以及流标识;当接收到新数据包时,确定该数据包的流标识,并根据该数据包的大小对所述流标识对应的数据流条目进行更新。
12.根据权利要求11所述的装置,其特征在于,所述累计单元建立的所述数据流条目还包括流类型标识,所述流类型标识用于表征数据流是否为大流;
所述确定单元还用于,将所述数据流确定为大流之后,对所述数据流的流类型标识进行修改,以表征所述数据流为大流。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
阈值设定单元,用于根据历史数据流的流信息确定所述第一阈值和第二阈值。
14.根据权利要求13所述的装置,其特征在于:
所述阈值设定单元,具体用于建立所述历史数据流中数据包数目的分布直方图,将所述数据包数目的分布直方图中波谷位置对应的数据包数目值确定为所述第一阈值;建立所述历史数据流中数据包平均大小的分布直方图,将所述数据包平均大小的分布直方图中波谷位置对应的数据包平均大小值确定为所述第二阈值。
15.根据权利要求14所述的装置,其特征在于,所述阈值设定单元还包括:
滤波模块,用于在建立所述历史数据流中数据包数目的分布直方图之后,对所述数据包数目的分布直方图进行平滑滤波,以使得平滑滤波后的数据包数目的分布直方图存在单一波谷;
和/或
所述滤波模块,还用于对所述数据包平均大小的分布直方图进行平滑滤波,以使得平滑滤波后的数据包平均大小的分布直方图存在单一波谷。
16.根据权利要求14或15所述的装置,其特征在于:
所述阈值设定单元,具体用于当所述数据包数目的分布直方图中波谷位置对应的数据包数目值为一个区间值时,确定所述区间值中的最小值为所述第一阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310721863.3A CN104734905B (zh) | 2013-12-24 | 2013-12-24 | 检测数据流的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310721863.3A CN104734905B (zh) | 2013-12-24 | 2013-12-24 | 检测数据流的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104734905A true CN104734905A (zh) | 2015-06-24 |
CN104734905B CN104734905B (zh) | 2018-05-11 |
Family
ID=53458360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310721863.3A Active CN104734905B (zh) | 2013-12-24 | 2013-12-24 | 检测数据流的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104734905B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376178A (zh) * | 2015-12-07 | 2016-03-02 | 北京邮电大学 | 一种数据传输的方法和装置 |
CN106209669A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向sdn数据中心网络最大概率路径流调度方法及装置 |
CN109245959A (zh) * | 2018-09-25 | 2019-01-18 | 华为技术有限公司 | 统计活跃流数目的方法、网络设备和系统 |
CN111865808A (zh) * | 2019-04-25 | 2020-10-30 | 华为技术有限公司 | 一种数据流控制方法及装置 |
CN113079102A (zh) * | 2020-01-03 | 2021-07-06 | 中国移动通信有限公司研究院 | 一种大象流多分级调度方法及装置、设备、存储介质 |
TWI763261B (zh) * | 2021-01-19 | 2022-05-01 | 瑞昱半導體股份有限公司 | 數據流分類裝置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299242A (zh) * | 2008-06-13 | 2008-11-05 | 腾讯科技(深圳)有限公司 | 一种人体肤色检测中阈值的确定方法及装置 |
CN101459546A (zh) * | 2007-12-11 | 2009-06-17 | 华为技术有限公司 | 对等节点流量的识别方法和装置 |
CN101505314A (zh) * | 2008-12-29 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 一种p2p数据流的识别方法、装置和系统 |
CN101800707A (zh) * | 2010-04-22 | 2010-08-11 | 华为技术有限公司 | 建立流转发表项的方法及数据通信设备 |
CN101834763A (zh) * | 2010-06-25 | 2010-09-15 | 山东大学 | 高速网络环境下多类型大流并行测量方法 |
US20120131222A1 (en) * | 2010-11-22 | 2012-05-24 | Andrew Robert Curtis | Elephant flow detection in a computing device |
US20120287791A1 (en) * | 2011-05-13 | 2012-11-15 | Kang Xi | Balancing load in a network, such as a data center network, using flow based routing |
-
2013
- 2013-12-24 CN CN201310721863.3A patent/CN104734905B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459546A (zh) * | 2007-12-11 | 2009-06-17 | 华为技术有限公司 | 对等节点流量的识别方法和装置 |
CN101299242A (zh) * | 2008-06-13 | 2008-11-05 | 腾讯科技(深圳)有限公司 | 一种人体肤色检测中阈值的确定方法及装置 |
CN101505314A (zh) * | 2008-12-29 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 一种p2p数据流的识别方法、装置和系统 |
CN101800707A (zh) * | 2010-04-22 | 2010-08-11 | 华为技术有限公司 | 建立流转发表项的方法及数据通信设备 |
CN101834763A (zh) * | 2010-06-25 | 2010-09-15 | 山东大学 | 高速网络环境下多类型大流并行测量方法 |
US20120131222A1 (en) * | 2010-11-22 | 2012-05-24 | Andrew Robert Curtis | Elephant flow detection in a computing device |
US20120287791A1 (en) * | 2011-05-13 | 2012-11-15 | Kang Xi | Balancing load in a network, such as a data center network, using flow based routing |
Non-Patent Citations (2)
Title |
---|
张艺濒: "TCP与UDP网络流量对比分析研究", 《计算机研究与应用》 * |
李臻: "大业务流识别方法研究综述", 《计算机应用技术》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376178A (zh) * | 2015-12-07 | 2016-03-02 | 北京邮电大学 | 一种数据传输的方法和装置 |
CN105376178B (zh) * | 2015-12-07 | 2019-03-15 | 北京邮电大学 | 一种数据传输的方法和装置 |
CN106209669A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向sdn数据中心网络最大概率路径流调度方法及装置 |
CN106209669B (zh) * | 2016-06-30 | 2019-06-07 | 中国人民解放军国防科学技术大学 | 面向sdn数据中心网络最大概率路径流调度方法及装置 |
CN109245959A (zh) * | 2018-09-25 | 2019-01-18 | 华为技术有限公司 | 统计活跃流数目的方法、网络设备和系统 |
CN109245959B (zh) * | 2018-09-25 | 2021-09-03 | 华为技术有限公司 | 统计活跃流数目的方法、网络设备和系统 |
US11489774B2 (en) | 2018-09-25 | 2022-11-01 | Huawei Technologies Co., Ltd. | Method and system for counting quantity of active flows and network device |
CN111865808A (zh) * | 2019-04-25 | 2020-10-30 | 华为技术有限公司 | 一种数据流控制方法及装置 |
CN111865808B (zh) * | 2019-04-25 | 2022-05-13 | 华为技术有限公司 | 一种数据流控制方法及装置 |
CN113079102A (zh) * | 2020-01-03 | 2021-07-06 | 中国移动通信有限公司研究院 | 一种大象流多分级调度方法及装置、设备、存储介质 |
TWI763261B (zh) * | 2021-01-19 | 2022-05-01 | 瑞昱半導體股份有限公司 | 數據流分類裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN104734905B (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104734905A (zh) | 检测数据流的方法及装置 | |
JP4774357B2 (ja) | 統計情報収集システム及び統計情報収集装置 | |
US10237192B2 (en) | Apparatus and system for optimizing communication networks | |
US7782796B2 (en) | Method for generating an annotated network topology | |
WO2013150438A1 (en) | Congestion control and resource allocation in split architecture networks | |
CN102724123B (zh) | 网络流量控制方法及控制装置 | |
Zhang et al. | Efficient flow detection and scheduling for SDN-based big data centers | |
WO2017005037A1 (zh) | 流量的控制、控制处理方法及装置、终端 | |
US9350669B2 (en) | Network apparatus, performance control method, and network system | |
CN103647670A (zh) | 一种基于sketch的数据中心网络流量分析方法 | |
CN109155760A (zh) | 利用固定报头大小进行分组路径记录 | |
US11038953B1 (en) | Dynamic egress traffic steering for large scale cloud network | |
CN116545936B (zh) | 拥塞控制方法、系统、装置、通信设备及存储介质 | |
CN105791151A (zh) | 一种动态流量控制方法,及装置 | |
CN108259364A (zh) | 一种网络拥塞确定方法及装置 | |
CN106452941A (zh) | 网络异常的检测方法及装置 | |
CN103973591A (zh) | 一种智能网络流量拥塞解决方法 | |
CN102316483B (zh) | 一种EVDO系统中保证应用业务QoS的方法及装置 | |
CN110071843B (zh) | 一种基于流路径分析的故障定位方法及装置 | |
CN108768738B (zh) | 基于cdn网络技术的快速自适应网络带宽检测方法 | |
CN102801586B (zh) | QoS粒度与精度的自动化测试方法及装置 | |
CN108494625A (zh) | 一种网络性能分析系统 | |
CN112702221B (zh) | Bgp异常路由监测方法和装置 | |
CN111901237B (zh) | 源路由选路方法及系统、相关设备及计算机可读存储介质 | |
CN101958843A (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 |