CN109952743A - 用于低内存和低流量开销大流量对象检测的系统和方法 - Google Patents
用于低内存和低流量开销大流量对象检测的系统和方法 Download PDFInfo
- Publication number
- CN109952743A CN109952743A CN201680090667.2A CN201680090667A CN109952743A CN 109952743 A CN109952743 A CN 109952743A CN 201680090667 A CN201680090667 A CN 201680090667A CN 109952743 A CN109952743 A CN 109952743A
- Authority
- CN
- China
- Prior art keywords
- stream
- data packet
- identification
- sketch map
- forwarding surface
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
Abstract
本发明涉及一种用于识别通信网络中多条数据包流中的多条大流量对象(heavy‑hitter,简称HH)流的标识和大小的系统和方法。在每台路由设备处,根据可调整的过滤规则在可调整的基于略图的表格入口处过滤所述数据包流,提供基于略图的计数器用于检测所述已过滤数据包流中的候选HH流,所述候选HH流是具有误报的实际HH流。在组合中,在每台路由设备处提供转发面计数器,用于根据可调整的转发面监控规则从数据包流集合中采集转发面计数器。控制器以迭代的方式调整相应的监控规则,并基于所述候选HH流和所述转发面计数器对每条HH流进行识别估计,直至获得最终估计。
Description
技术领域
本发明涉及一种用于监控通信网络中的最大数据包流的系统和方法,尤其涉及一种用于检测和识别大流量对象流的系统和方法。
背景技术
网络监控在网络管理中起着至关重要的作用。它提供了有关通常用于流量计费、流量工程、负载均衡或异常检测的网络流量的一些信息。
如图1所示,传统的网络监控系统100可以包括探测器和采集器,所述探测器在本地采集统计数据并且单独嵌入到诸如路由器等相应网络设备中,所述采集器聚合由不同探测器报告的所有信息并分析或计算从所述网络管理系统的不同探测器本地采集的统计数据。
所述网络监控系统的目标之一是检测并跟踪最大数据流的集合,在文献中通常称为大流量对象(heavy-hitter,简称HH)。例如,该组数据流可以定义为第一大流或具有吞吐量大于预定阈值的流。识别这些数据流有助于了解消耗大部分资源的用户(例如,应用程序或终端用户)并决定是否应对自身应用特殊处理,例如使用负载均衡器或使用专用路由。
在最简单的实现方式中,检测所述最大流量需要监控每条流量,然后过滤最大流量。然而,由于流量呈爆炸式增长且监控资源有限(例如,设备内存以及所述探测器与所述采集器之间的数据面容量),单独监控每条流量具有挑战性,效率低下甚至不可行。其中一种不切实际的解决方案包括使用为每条流量设置计数器并报告最大条目的表格。遗憾的是,所述网络设备的访问存储器速度不足以维持这种数据结构。另一种不切实际的解决方案是将整个流量复制到所述采集器。然而,由于所述路由器与所述采集器之间的数据面的容量限制,在大多数情况下无法导出该流量。
因此,必须在网络设备上应用低复杂度、低内存流采样技术,以便克服这种资源限制。
最常用的流量监控技术是数据包采样。数据包采样规定将P个原始数据包中的一个报告给所述采集器,然后由所述采集器计算流量统计数据。该技术会在所述探测器与所述采集器之间产生大量信令流量,所述信令流量按监控时间窗期间流动的数据包数量排序。此外,这种采样技术相对于基于略图的方法精度较低。实际上,它具有相同的精度(用ε表示),所采用的基于略图的算法单独使用比任何其它数据包采样技术(O(1/ε2)的空间)更少的内存(O(1/ε)的空间),例如,可参见:Graham Cormode,“用于近似查询处理的略图技术”,近似查询处理概要:样本、直方图、小波和略图,数据库基础和趋势,NOW出版社,2011年。
作为数据包采样的替代方案,已引入高级流技术(也称为略图流算法),以有效地计算数据流上的统计数据。其中一种略图技术(也称为计数最小略图)尤其旨在通过有限的内存(即,内存大小远远小于数据包流的总数)来跟踪流的大小,以便可以使用它来检测HH。所述计数最小略图包括一张表格,所述表格的单元格包含聚合流大小。它利用哈希函数将所述流映射到所述表格的单元格中,并且仅使用不同于简单计数器表格的次线性空间,代价是高估流大小。为检测HH,在每条流量探测器内部实现所述计数最小略图。因此,HH列表被直接报告给所述监控采集器,并且在所述路由器与所述采集器之间的控制面上产生非常低的信令流量。实际上,计数最小略图以所检测到的HH数量的顺序生成一定量的信令流量。此外,它需要的内存非常小,因为表格大小远小于流的总量。缺点是:通过构造,它总是高估流的大小,并且经常导致误报,即,被错误检测为HH的小流量。然而,对于给定的精度水平,基于略图的算法(例如,计数最小略图)通常使用比所述数据包采样技术更少的内存,如在以下论文中所公开:Graham Cormode,“用于近似查询处理的略图技术”,近似查询处理概要:样本、直方图、小波和略图,《数据库基础和趋势》,NOW publishers,2011年。另一种用于估计HH的基于略图的算法是所谓的节省空间,其保持有限大小的表格来存储估计的大流量。观察到流时,如果它已经存储在表格中,则其计数器递增,否则具有最小计数器的流将被替换,并且即使在这种情况下,其计数器也递增,如在以下论文中所公开:AhmedMetwally,Divyakant Agrawal,Amr El Abbadi,“数据流中出现频繁的前k个元素的高效计算”,ICDT’05,第10届国际数据库理论会议汇刊,第398-412页,施普林格柏林海德堡(2005年)。然而,节省空间算法也系统地高估了流的大小。
文献中已经提出了几种基于流的监控技术,其中包括流采样。这些基于流的技术计算有限数量的选定数据包流集合,并向所述采集器报告相关统计数据。然而,由于要监控的流集合数量有限,因此在粗略或较小的覆盖范围内未考虑大部分所述数据包流。所述数据包可以使用名为IPFIX(表示IP数据流信息输出)的监控协议聚合成流,而截断的数据包可以使用采样流(sampled flow,简称sFlow)协议输出。
采集有关流集合的统计数据的另一种方法是利用所述路由器中的数据包转发系统的现有计数器,例如三态内容寻址存储器(ternary content-addressable memory,简称TCAM)计数器。实际上,每当数据包命中转发表的条目时,会针对该特定条目更新计数器。用于路由的其它条目只能配置为计算流集合的统计数据。与上述流算法类似,可以从生成非常低的信令流量以报告给所述采集器中受益。更具体地说,所述信令流量按所述交换机中设置的转发面规则数量排序。尽管如此,所计算的统计数据(即,流计数器)非常准确,但是参考所述流集合。然而,转发面规则通常设置在高能耗的存储器上,例如TCAM,它们的尺寸受到严格的限制。这就需要设置适用于许多不同流的规则。因此,所述采集器必须解决高度不确定的系统,以分解流量并估计HH,这通常会导致非常大的估计误差,如以下论文所公开:Mehdi Malboubi等人,“基于智能SDN的流量(de)聚合和测量范式(Intelligent SDNbased traffic(de)aggregation and measurement paradigm,简称iSTAMP)”,2014年IEEE计算机通信国际会议。另一种可能性是:只要有望进行流集合,即可通过将计数器分配给子流来分解流,参见以下论文:Masoud Moshref等人,“DREAM:软件定义测量的动态资源分配”,计算机协会数据通信特别兴趣小组(SIGCOMM)2014。然而,这种方法受到汇聚速率慢的影响,并且消耗了大量宝贵的转发面资源,因为在每次分解流时都需要设置新的监控规则。
发明内容
因此,本发明的目的在于提供一种用于识别通信网络中多条数据包流中的多条大流量对象流的系统和方法,借助所述系统和方法,可以根据路由设备上的内存大小和控制面板信令容量,使用少量资源来获得准确的大流量对象监控。
该目标是通过独立权利要求的特征来实现的。根据从属权利要求、说明书以及附图,本发明的其它实施例是显而易见的。
根据第一方面,本发明涉及一种用于识别通信网络中多条数据包流中的多条大流量对象(heavy-hitter,简称HH)流的系统。所述系统包括控制器和至少一台路由设备。所述控制器用于接收来自用户的多条HH流的识别请求,以迭代的方式执行所述多条HH流中的每条HH流的识别估计,为响应所接收的请求向所述用户发送所述多条HH流中的每条HH流的最终识别估计。所述至少一台路由设备用于沿着所述通信网络路由所述多条数据包流,从所述控制器接收启动计数器采集的请求以响应从所述用户处接收的所述多条HH流的识别请求。每台路由设备包括:包滤波器,用于根据可调整的过滤规则在可调整的基于略图的表格入口处过滤所述多条数据包流;基于略图的计数器,用于检测所述多条已过滤数据包流中的多条候选HH流;转发面计数器,用于根据可调整的转发面监控规则从所述多条数据包流中的数据包流集合中采集多个转发面计数器。其中,所述控制器基于多条所述候选HH流和所述多个转发面计数器对所述多条HH流中的每条HH流进行识别估计。
因此,所述略图实体和所述转发面计数器可以共同用于在单独采用时提高各自的精度。此外,从每台路由设备向所述控制器发送的信息与候选HH流的数量成比例,所述候选HH流的数量远远小于数据包流的总数,这可以提高估计精度并根据内存大小使用少量资源。在定义方面,所述候选HH流可以视为第一大流或速率大于预定阈值的流,所述基于略图的表格可以视为数据库,其大小远远小于该组数据包流并包括所检测的候选HH流的大小估计值,所述数据包流集合可以视为具有交换机上设置的相同转发规则的流。在这方面,应该注意的是,由于每条规则存在一个计数器,因此所述交换机无法区分同一集合中的流。
根据所述第一方面,在所述系统的第一种实现方式中,所述控制器基于所述多条HH流中的每条HH流的估计识别调整所述过滤规则和所述转发面监控规则。
因此,所述控制器可以更准确地执行所述迭代调整或更新过程。
根据所述第一方面的第一种实现方式,在所述系统的第二种实现方式中,在每次估计每条HH流的识别后,由所述控制器以迭代的方式对所述过滤规则和所述转发面监控规则执行调整,直至达到由所述用户确定的预定迭代次数,所述多条HH流中的每条HH流的最终识别估计将在达到所述预定迭代次数之后获得。
因此,所述用户可以通过设置最大迭代次数来控制每条HH流的识别估计精度,并且还可以相对于单次估计测量(即,没有迭代)来提高估计精度。
根据所述第一方面的第一种或第二种实现方式,在所述系统的第三种实现方式中,通过在由所述用户确定的预定时间窗期间应用基于略图的算法来调整所述过滤规则。
因此,可以在算法上控制每条HH流的检测精度,并且还可以相对于所述过滤规则的瞬时调整来提高检测精度。
根据所述第一方面的前述实现方式中的任意一种实现方式,在所述系统的第四种实现方式中,通过拆分所述多条数据包流和/或将转发面计数器分配到数据包流的选择,来调整所述转发面监控规则。
因此,可以提高监控粒度。
根据所述第一方面的前述实现方式中的任意一种实现方式,在所述系统的第五种实现方式中,所述控制器根据流量特征通过调整所述基于略图的表格的配置参数来调整所述基于略图的表格。
因此,可以实现对所述基于略图的表格的优化。
根据所述第一方面的第五种实现方式,在所述系统的第六种实现方式中,基于所述多条数据包流的大小分布的估计偏度,通过调整所述基于略图的表格的大小来调整所述基于略图的表格的配置参数。
因此,可以实现对所述基于略图的表格的增强优化。
根据所述第一方面或所述第一方面的前述实现方式中的任意一种实现方式,在所述系统的第七种实现方式中,使用截断或低秩估计来减少所述多条已过滤数据包流中的多条候选HH流。
因此,不需要估计所述候选HH流的总和,这可以提高每条HH流的检测精度并节省内存。
根据所述第一方面或所述第一方面的前述实现方式中的任意一种实现方式,在所述系统的第八种实现方式中,所述多条候选HH流由所述至少一台路由设备维持。
因此,可以降低所述系统的复杂性。特别地,可以通过节省空间的方式维持所述多条候选HH流,例如通过堆结构。
根据所述第一方面或所述第一方面的前述实现方式中的任意一种实现方式,在所述系统的第九种实现方式中,所述多条HH流中的每条HH流的识别与其各自的标识和大小相关。
因此,所述识别不仅与标识相关,而且与大小相关,其是可配置参数。
根据所述第一方面或所述第一方面的前述实现方式中的任意一种实现方式,在所述系统的第十种实现方式中,每条HH流定义为大小大于所述多条数据包流的大小之和除以由所述用户确定的预定数量的流,定义为属于所述多条数据包流中前N条最大流的流(其中N是由所述用户确定的预定数量),或定义为大小大于由所述用户定义的预定阈值的流。
因此,所述用户可以配置数据包流的大小以定义HH流。
根据所述第一方面或所述第一方面的前述实现方式中的任意一种实现方式,在所述系统的第十一种实现方式中,每台路由设备为路由器或交换机。
因此,所述系统可以在软件定义网络(software-defined networking,简称SDN)架构中实现。
上述目的也是根据第二方面实现的。
根据第二方面,本发明涉及一种用于识别通信网络中多条数据包流中的多条大流量对象(heavy-hitter,简称HH)流的方法。所述方法包括:接收来自用户的多条HH流的识别请求;启动计数器采集以响应所接收的所述多条HH流的识别请求;以迭代的方式执行所述多条HH流中的每条HH流的识别估计;为响应所接收的请求向所述用户发送每条HH流的最终识别估计。启动计数器采集的步骤包括:根据可调整的过滤规则过滤所述多条数据包流;检测所述多条已过滤数据包流中的多条候选HH流;根据可调整的转发面监控规则从所述多条数据包流中的数据包流集合中采集多个转发面计数器。对所述多条HH流中的每条HH流执行识别估计的步骤基于多条所述候选HH流和所述多个转发面计数器。
根据所述第二方面,在所述方法的第一种实现方式中,所述方法包括以下步骤:在每次估计每条HH流的识别后,以迭代的方式调整所述过滤规则和所述转发面监控规则,直至达到预定迭代次数,所述多条HH流中的每条HH流的最终识别估计将在达到所述预定迭代次数之后获得。
上述目的也是根据第三方面实现的。
根据第三方面,本发明涉及一种计算机程序,包括用于在计算机上运行时,执行根据第二方面或第二方面的第一种实现方式所述的方法的程序代码。
因此,所述方法可通过自动和重复的方式执行。
所述计算机程序可以由上述系统执行。所述系统可以可编程的方式布置,以执行所述计算机程序。
更具体地说,应该注意的是,可以基于具有分立硬件组件的分立硬件电路、集成芯片或芯片模块的布置,或者基于由存储在存储器中、写在计算机可读介质上或从网络(例如,互联网)中下载的软件例程或程序控制的信号处理设备或芯片,来实现上述装置。
此外,还应当理解的是,本发明的优选实施例也可以是从属权利要求或上述实施例与相应独立权利要求的任意组合。
结合以下描述的实施例,本发明的这些和其它方面将会显而易见、清晰易懂。
附图说明
在本发明的以下详述部分中,将结合附图中所示的示例性实施例来更详细地解释本发明,其中:
图1示出了网络监控系统100的传统框图,其中探测器嵌入到路由器中;
图2示出了本发明实施例提供的网络监控系统200的示意性框图;
图3示出了本发明实施例提供的控制器和单个交换机之间示例性通信情形中的网络监控系统300的示意性框图;
图4示出了本发明实施例提供的用于识别多条数据包流中的多条HH流的流程图;
图5示出了本发明实施例提供的估计数据包流大小分布偏度的示意图;
图6示出了本发明实施例提供的网络监控系统300的信令(Sg1、C1、C2)的示意性框图。
相同的附图标记用于相同的或至少功能等同的特征。
具体实施方式
图2示出了本发明实施例提供的网络监控系统200的示意性框图。所述网络监控系统200包括诸如软件定义网络(software-defined networking,简称SDN)控制器的控制器以及K台路由设备中的至少一台路由设备(编号从1到K)。每台路由设备可以是交换机或交换机的一部分,例如路由器。所述控制器来自用户(例如,应用程序或终端用户)的请求并将其回复发送给所述用户。尽管图2描绘了集中控制器架构,其中所述控制器与每台路由设备通信,反之亦然,但是应该注意的是,本发明的网络监控系统200也可以扩展到分布式控制器架构,其中每个控制器与每台相应的路由设备通信,反之亦然。
图3示出了本发明实施例提供的控制器和单个交换机之间示例性通信情形中的网络监控系统300的示意性框图。因此,通过使K等于一,即K=1,直接从所述网络监控系统200中推导出所述网络监控系统300。从图3中可以看出,所述路由设备包括数据面和转发面。所述数据面内提供了一种应用特定流量采样模块,例如略图实体(如计数最小略图),它基于成为基于略图的表格的表格,该表格是一个大小远远小于数据包流总数的数据库。提供所述应用特定流量采样模块的目的在于以低内存和低控制面开销提供具有误报(误报是指报告为HH流但实际上并不是HH流的流)的候选大流量对象(heavy-hitter,简称HH)流列表。已在路由器或交换机中实现的转发面包括转发面计数器,其用于通过实现三态内容寻址存储器(ternary content-addressable memory,简称TCAM)等来检索有关数据包流集合的统计数据,也称为转发面计数值(Y)。为响应来自用户(例如,应用程序或终端用户)的HH流识别请求,所述控制器用于基于其本身以及所述路由设备的数据面和转发面,根据标识和大小来提供每条HH流的估计标识。
在第一个里程碑中,本发明可以使用基于略图的方案压缩有关数据面内的数据包流的任何信息,这是因为,由于存在内存约束和/或限制,与每条单独数据包流相关的统计数据无法全部存储在存储器中。在这种程度上,到达所述交换机的任何数据包流的大小都由所述略图更新,因为它使用的存储单元数量比数据包流的实际数量少。尽管使用有损压缩,但所述略图具有有效限制压缩噪声的优点。
在第二个里程碑中,本发明允许所述控制器利用从所述交换机内部的略图实体发出的信息,即,有关一组所报告HH的信息,以便在所述转发面上定义适当的监控规则。具体而言,所述略图实体包括基于略图的计数器,由于受有损压缩的影响,该计数器经常高估所述数据包流的大小。借助所述基于草图的计数器,所述交换机将检测实际的HH流以及误报,误报是指报告为HH流但实际上并不是HH流的流。所述交换机将所述转发面技术采集的转发面计数值(Y)以及所检测的具有误报的HH流发送到所述控制器,然后所述控制器可根据标识和大小对所述HH流进行识别估计。基于所得到的估计,所述控制器发送新调整的监控规则,指出应该聚合哪些流和/或应该针对所述交换机的转发面直接监控哪些流。此外,所述控制器可以根据流量状况向所述交换机的数据面发送反馈信息,以便修改基于略图的表格的配置参数(例如,大小)。例如,所述控制器可以根据所述数据包流的大小分布偏度是小还是大来决定增大还是减小所述基于略图的表格的大小。最后,所述控制器向所述交换机发送新调整的过滤规则,这将过滤掉在所述略图计算中考虑的特定数据包流。例如,如果数据包流是HH流,则从基于略图的表格中将其过滤掉,并通过适当调整所述转发面来进行显式监控。此外,还可以在所述数据面内提供用于确定所述数据包流的大小分布偏度的偏度检测器,以便改进对所述HH流的识别估计。例如,所述控制器可以根据所述数据包流的大小分布偏度是小还是大来决定增大还是减小所述基于略图的表格的大小。
图4示出了本发明实施例提供的用于识别多条数据包流中的多条HH流的流程图。
在步骤S0中,所述用户(例如,应用程序或终端用户)向所述控制器发送所述多条HH流的识别请求,所述识别与所述标识和大小相关。每条HH流定义为大小大于所述多条数据包流的大小之和除以由所述用户确定的预定数量(k)的流,定义为属于所述多条数据包流中前N条最大流的流(其中N是由所述用户确定的预定数量),或定义为大小大于由所述用户定义的预定阈值(S)的流。
在步骤S1中,所述控制器向每台路由设备(例如,交换机或路由器)发送所接收的请求,以便启动基于略图的计数器采集。
在步骤S2中,根据由所述控制器维护和更新的过滤规则,在基于略图的表格入口处过滤所述多条数据包流。更具体地说,这些过滤规则将从所述基于略图的表格中过滤掉一些特定数据包流,即先前已报告为HH流并根据由所述控制器维护和更新的转发面规则(例如TCAM规则)通过适当调整所述转发面来进行显式监控的流。因此,这些特定数据包流不会参与基于略图的表格构造,例如计数最小略图表。
在步骤S3中,每台路由设备采集并向所述控制器发送所述转发面计数值(Y)以及从所述基于略图的表格中提取的候选HH流(其为具有误报的HH流)。更具体地说,通过应用所述转发面规则(例如,所述TCAM规则),每个转发面计数器从所述数据包流集合中采集所述转发面计数值(Y),其存储在向量Y中。此外,通过在由所述用户确定的预定时间窗期间(例如,L秒期间)应用基于略图的算法(例如,计数最小(count-min,简称CM)略图算法),每个基于略图的计数器采集基于略图的计数器。所述CM略图基于一张表格,即基于略图的表格,其大小远远小于数据包流的总数。每当属于流(表示为f)的数据包到达时,对于所述基于略图的表格第i行,将不同的哈希函数hi(f)应用于f,表示为CM(i,hi(f))的相应计数器的增量等于所述数据包大小。然后,将所述数据包流的大小估算为与所述哈希函数相关的计数器中的最小值,即估算为miniCM(i,hi(f))。除此之外,在采用堆结构形式的每个交换机中保存一份潜在或候选HH流(表示为HH UΔ’t)的列表。然后,所述交换机将向所述控制器发送所述向量Y和候选或潜在HH流(HH UΔ’t)的列表。
在步骤S4中,所述控制器基于步骤S3中的信息推断所述HH流(表示为:HH UΔt)及其估计大小(表示为:)。更具体地说,所述控制器通过对以下系统的求解来对每条HH流进行识别估计:Y=AX,其中Y是与总测量流大小相关的向量,A是路由矩阵,X是与实际流大小相关的向量。应该注意的是,由于所述向量Y的长度明显小于所述向量X的长度,因此该问题高度欠定。为提高所述HH流的检测精度,还将利用每张基于略图的表格中的信息。特别地,由所述基于CM略图的计数器向所述控制器报告的候选或潜在HH流列表包括所述实际HH流以及一些误报(Δ’t),即HH UΔ’t。因此,可以过滤掉不包含在所述一组流HHUΔ’t中的所有流量。因此,本发明并非视图估计整个向量X,而是将估计限制为子向量所述子向量仅包含与所述一组流HH UΔ’t对应的坐标,以求解相应的系统:可以使用截断或低秩估计(例如,截断最小二乘估计)来有效地求解此类系统。因此,可以减少所述候选或潜在HH流,并且可以由所述控制器实现根据标识和大小进行的每条HH流的识别估计。
在步骤S5中,所述控制器基于在步骤S4中推断的HH流(即,HH UΔt)向每个交换机发送新的转发面监控规则和新的过滤规则。这一调整过程是在每次估计每条HH流的识别之后可以重复多次直至达到由所述用户确定的预定迭代次数(T)的更新过程,每条HH流的最终识别估计将在达到所述预定迭代次数(T)之后获得。更具体地说,所述控制器能够将所述转发面规则(例如,所述TCAM规则)分配给前述特定数据包流,即先前报告为HH流的流。在存在大量聚合的情况下,应该注意的是,可以拆分TCAM中的转发面规则,以提高所述监控粒度。另一个选择是:所述控制器应用过滤规则来确定能够为CM略图做出贡献的流。最后,所述控制器可以根据流量状况决定增大还是减小所述基于略图的表格的大小。
在步骤S6中,所述控制器向所述用户发送推断出的HH流的标识及其估计大小。
在可选步骤S7中,可以估计所述数据包流的大小分布偏度,以改进在步骤S4中执行的HH流的识别估计并调整步骤S3中的基于略图的表格的配置参数。例如,所述控制器可以根据所述数据包流的大小分布偏度是小还是大来决定增大还是减小所述基于略图的表格的大小。参考图5,可以通过以下方式进行所述偏度估计:使用两个不同欠采样因子k1和k2对所述数据包流进行欠采样,然后借助以下论文中所公开的略图算法通过相应的去重计数模块计算不同元素的数量:P.Flajolet等人,“Hyperloglog:近最优基数估计算法分析”,《DMTCS汇刊1》,2008年。最后,每个所得到的元素数量D(T1)和D(T2)的比率将产生估计的数据包流的大小分布偏度。
图6示出了本发明实施例提供的网络监控系统300的信令(Sg1、C1、C2)的示意性框图。根据图6并结合图4中的流程图可以看出,所述控制器(例如,SDN控制器)可以包括接口(例如,应用程序编程接口(application programming interface,简称API)),所述接口允许与步骤S0和S6中的用户交换控制消息(Sg1),还可以与步骤S3和S5中的路由设备交换命令消息(C1、C2)。例如,所述接口可以利用OpenFlow协议或简单网络管理协议(simplenetwork management protocol,简称SNMP)来实现。
因此,所述用户通过发送请求识别所述多条HH流的控制信号(Sg1),经由所述接口(例如,北向API)在步骤S0中与所述控制器通信;而所述控制器通过所述接口(例如,所述北向API)发回通知所推断HH流的标识及其估计大小的控制信号(Sg1),在步骤S6中与所述用户通信。
就其本身而言,所述路由设备通过发送通知所述转发面计数值(Y)的第一命令信号(C1)以及通知从所述基于略图的表格中提取的候选HH流的第二命令信号(C2),经由所述接口(例如,所述南向API)在步骤S3中与所述控制器通信。作为响应,所述控制器通过所述第一命令信号(C1)发送所述新转发面监控规则并通过所述第二命令信号(C2)发送所述新过滤规则,经由所述接口(例如,所述南向API)在步骤S5中与所述路由设备通信。
最后,略图实体(即,包滤波器、基于略图的计数器、基于略图的表格)和每台路由设备内的转发面计数器的组合以及由本发明提供的控制器执行的更新或调整过程可以根据每台路由设备上的内存和控制面信令(Sg1、C1、C2)容量使用更少的资源来准确检测和识别所述HH流。对于所述传统数据包采样,通过从每台路由设备向所述控制器发送与所述HH流数量成比例的信息,对本发明是有益的。对于单独采用的基于略图的采样,本发明通过减少由于所述基于略图的采样和所述转发面计数器过程的组合导致的误报发生次数来提高估计精度。对于利用单独采用的转发面计数器且数据包流的数量较大(即,许多未知变量)并且由于功率和成本限制导致数据包流集合数量减少(即,等式更少)的方法,本发明具有以下将估计限制为具有误报的一组HH流这一优势,所述HH流的数量明显小于数据包流的总数,这可以提高估计精度并根据内存大小利用少量资源。
总之,本发明涉及一种用于识别通信网络中多条数据包流中的多条大流量对象(heavy-hitter,简称HH)流的标识和大小的系统和方法。在每台路由设备处,根据可调整的过滤规则在可调整的基于略图的表格入口处过滤所述数据包流,提供基于略图的计数器用于检测所述已过滤数据包流中的候选HH流,所述候选HH流是具有误报的实际HH流。在组合中,在每台路由设备处提供转发面计数器,用于根据可调整的转发面监控规则从数据包流集合中采集转发面计数器。控制器以迭代的方式调整相应的监控规则,并基于所述候选HH流和所述转发面计数器对每条HH流进行识别估计,直至获得最终估计。因此,通过所述略图实体、所述转发面计数器以及由所述控制器执行更新过程的组合,本发明提供了以下优势:根据所述路由设备上的内存大小以及控制面信令容量使用少量资源来准确监控所述HH流,从而降低了复杂性。
虽然已经在附图和上文描述中对本发明进行详细的说明和描述,但此类说明和描述将视为说明性或示例性的说明和描述,且不具有限制性。本发明不限于所公开的实施例。通过阅读本发明,其它修改对于本领域的技术人员而言将是显而易见的。这些修改可能涉及本领域熟知的其它特征并且可以替代或补充本文中描述的特征。
在此结合各种实施例描述了本发明。但本领域技术人员通过实践本发明,研究附图、本发明以及所附的权利要求,能够理解并获得公开实施例的其它变体。在权利要求书中,词语“包括”不排除其它元素或步骤,不定冠词“一”不排除多个。单个处理器或其它单元可满足权利要求中描述的几项的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能被有效地使用。计算机程序可存储/分发到合适的介质上,例如与其它硬件一起或者作为其它硬件的部分提供的光存储介质或者固态介质,还可以以其它形式例如通过因特网或者其它有线或无线电信系统分发。
尽管已经参考本发明的特定特征和实施例描述了本发明,但是明显在不脱离本发明的精神和范围的情况下可以制定本发明的各种修改和组合。说明书和附图仅被视为所附权利要求书所定义的本发明的说明并且考虑落于本说明书的范围内的任何和所有修改、变体、组合或均等物。
Claims (15)
1.一种用于识别通信网络中多条数据包流中的多条大流量对象(heavy-hitter,简称HH)流的系统,其特征在于,所述系统包括:
控制器,用于接收来自用户的多条HH流的识别请求,以迭代的方式执行所述多条HH流中的每条HH流的识别估计,为响应所接收的请求向所述用户发送所述多条HH流中的每条HH流的最终识别估计;
至少一台路由设备,用于沿着所述通信网络路由所述多条数据包流,从所述控制器接收启动计数器采集的请求以响应从所述用户处接收的所述多条HH流的识别请求,其中,每台路由设备包括:
包滤波器,用于根据可调整的过滤规则在可调整的基于略图的表格入口处过滤所述多条数据包流;
基于略图的计数器,用于检测所述多条已过滤数据包流中的多条候选HH流;
转发面计数器,用于根据可调整的转发面监控规则从所述多条数据包流中的数据包流集合中采集多个转发面计数值(Y),
其中,所述控制器基于多条所述候选HH流和所述多个转发面计数值(Y)对所述多条HH流中的每条HH流进行识别估计。
2.根据权利要求1所述的系统,其特征在于,所述控制器基于所述多条HH流中的每条HH流的估计识别调整所述过滤规则和所述转发面监控规则。
3.根据权利要求2所述的系统,其特征在于,在每次估计每条HH流的识别后,由所述控制器以迭代的方式对所述过滤规则和所述转发面监控规则执行调整,直至达到由所述用户确定的预定迭代次数(T),所述多条HH流中的每条HH流的最终识别估计将在达到所述预定迭代次数(T)之后获得。
4.根据权利要求2或3所述的系统,其特征在于,通过在由所述用户确定的预定时间窗(L)期间应用基于略图的算法来调整所述过滤规则。
5.根据权利要求2至4中任一项所述的系统,其特征在于,通过拆分所述多条数据包流和/或将转发面计数器分配到数据包流的选择,来调整所述转发面监控规则。
6.根据上述权利要求中任一项所述的系统,其特征在于,所述控制器根据流量特征通过调整所述基于略图的表格的配置参数来调整所述基于略图的表格。
7.根据权利要求6所述的系统,其特征在于,基于所述多条数据包流的大小分布的估计偏度,通过调整所述基于略图的表格的大小来调整所述基于略图的表格的配置参数。
8.根据上述权利要求中任一项所述的系统,其特征在于,使用截断或低秩估计来减少所述多条已过滤数据包流中的多条候选HH流。
9.根据上述权利要求中任一项所述的系统,其特征在于,所述多条候选HH流由所述至少一台路由设备维持。
10.根据上述权利要求中任一项所述的系统,其特征在于,所述多条HH流中的每条HH流的识别与其各自的标识和大小相关。
11.根据上述权利要求中任一项所述的系统,其特征在于,每条HH流定义为大小大于所述多条数据包流的大小之和除以由所述用户确定的预定数量(k)的流,定义为属于所述多条数据包流中前N条最大流的流(其中N是由所述用户确定的预定数量),或定义为大小大于由所述用户定义的预定阈值(S)的流。
12.根据上述权利要求中任一项所述的系统,其特征在于,每台路由设备为路由器或交换机。
13.一种用于识别通信网络中多条数据包流中的多条大流量对象(heavy-hitter,简称HH)流的方法,其特征在于,所述方法包括:
接收来自用户的多条HH流的识别请求;
启动计数器采集以响应所接收的所述多条HH流的识别请求;
以迭代的方式执行所述多条HH流中的每条HH流的识别估计;
为响应所接收的请求向所述用户发送每条HH流的最终识别估计;
其中:
启动计数器采集包括:
根据可调整的过滤规则过滤所述多条数据包流;
检测所述多条已过滤数据包流中的多条候选HH流;
根据可调整的转发面监控规则从所述多条数据包流中的数据包流集合中采集多个转发面计数值(Y);
对所述多条HH流中的每条HH流执行的识别估计基于多条所述候选HH流和所述多个转发面计数值(Y)。
14.根据权利要求13所述的方法,其特征在于,包括:
在每次估计每条HH流的识别后,以迭代的方式调整所述过滤规则和所述转发面监控规则,直至达到预定迭代次数(T),所述多条HH流中的每条HH流的最终识别估计将在达到所述预定迭代次数(T)之后获得。
15.一种计算机程序,其特征在于,包括用于在计算机上运行时,执行根据权利要求13至14中任一项所述的方法的程序代码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2016/079921 WO2018103825A1 (en) | 2016-12-06 | 2016-12-06 | System and method for low memory and low traffic overhead heavy-hitter detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109952743A true CN109952743A (zh) | 2019-06-28 |
CN109952743B CN109952743B (zh) | 2021-02-09 |
Family
ID=57542995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680090667.2A Active CN109952743B (zh) | 2016-12-06 | 2016-12-06 | 用于低内存和低流量开销大流量对象检测的系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109952743B (zh) |
WO (1) | WO2018103825A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535825A (zh) * | 2019-07-16 | 2019-12-03 | 北京大学 | 一种特征网络流的数据识别方法 |
CN110955685A (zh) * | 2019-11-29 | 2020-04-03 | 北京锐安科技有限公司 | 一种大数据基数估计方法、系统、服务器和存储介质 |
CN112367217A (zh) * | 2020-10-20 | 2021-02-12 | 武汉大学 | 一种面向软件定义网络的协作式大流检测方法及系统 |
CN113992541A (zh) * | 2021-09-11 | 2022-01-28 | 西安电子科技大学 | 网络流量测量方法、系统、计算机设备、存储介质及应用 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050131946A1 (en) * | 2003-04-09 | 2005-06-16 | Philip Korn | Method and apparatus for identifying hierarchical heavy hitters in a data stream |
US20070136285A1 (en) * | 2005-12-13 | 2007-06-14 | Lucent Technologies Inc. | Method and apparatus for globally approximating quantiles in a distributed monitoring environment |
US7437385B1 (en) * | 2004-01-23 | 2008-10-14 | At&T Corp. | Methods and apparatus for detection of hierarchical heavy hitters |
CN101741646A (zh) * | 2009-12-11 | 2010-06-16 | 东南大学 | 基于数组链表的大流量网络地址前缀检测方法 |
CN102752216A (zh) * | 2012-07-13 | 2012-10-24 | 中国科学院计算技术研究所 | 一种识别动态特征应用流量的方法 |
CN103731416A (zh) * | 2013-12-11 | 2014-04-16 | 清华大学 | 一种基于网络流量的协议识别方法和系统 |
CN104796336A (zh) * | 2014-01-20 | 2015-07-22 | 华为技术有限公司 | 一种配置、下发流表项的方法及装置 |
-
2016
- 2016-12-06 CN CN201680090667.2A patent/CN109952743B/zh active Active
- 2016-12-06 WO PCT/EP2016/079921 patent/WO2018103825A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050131946A1 (en) * | 2003-04-09 | 2005-06-16 | Philip Korn | Method and apparatus for identifying hierarchical heavy hitters in a data stream |
US7437385B1 (en) * | 2004-01-23 | 2008-10-14 | At&T Corp. | Methods and apparatus for detection of hierarchical heavy hitters |
US20070136285A1 (en) * | 2005-12-13 | 2007-06-14 | Lucent Technologies Inc. | Method and apparatus for globally approximating quantiles in a distributed monitoring environment |
CN101741646A (zh) * | 2009-12-11 | 2010-06-16 | 东南大学 | 基于数组链表的大流量网络地址前缀检测方法 |
CN102752216A (zh) * | 2012-07-13 | 2012-10-24 | 中国科学院计算技术研究所 | 一种识别动态特征应用流量的方法 |
CN103731416A (zh) * | 2013-12-11 | 2014-04-16 | 清华大学 | 一种基于网络流量的协议识别方法和系统 |
CN104796336A (zh) * | 2014-01-20 | 2015-07-22 | 华为技术有限公司 | 一种配置、下发流表项的方法及装置 |
Non-Patent Citations (1)
Title |
---|
MINLAN YU, LAVANYA JOSE,RUI MIAO: ""Software Defined Traffic Measurement with OpenSketch"", 《10TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535825A (zh) * | 2019-07-16 | 2019-12-03 | 北京大学 | 一种特征网络流的数据识别方法 |
CN110535825B (zh) * | 2019-07-16 | 2020-08-14 | 北京大学 | 一种特征网络流的数据识别方法 |
CN110955685A (zh) * | 2019-11-29 | 2020-04-03 | 北京锐安科技有限公司 | 一种大数据基数估计方法、系统、服务器和存储介质 |
CN112367217A (zh) * | 2020-10-20 | 2021-02-12 | 武汉大学 | 一种面向软件定义网络的协作式大流检测方法及系统 |
CN113992541A (zh) * | 2021-09-11 | 2022-01-28 | 西安电子科技大学 | 网络流量测量方法、系统、计算机设备、存储介质及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN109952743B (zh) | 2021-02-09 |
WO2018103825A1 (en) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106250905B (zh) | 一种结合高校建筑结构特征的实时能耗异常检测方法 | |
CN109952743A (zh) | 用于低内存和低流量开销大流量对象检测的系统和方法 | |
CN109347668A (zh) | 一种服务质量评估模型的训练方法及装置 | |
Laiymani et al. | Adaptive data collection approach for periodic sensor networks | |
CN110011876B (zh) | 一种基于强化学习的Sketch的网络测量方法 | |
CN109359385A (zh) | 一种服务质量评估模型的训练方法及装置 | |
CN112149873B (zh) | 一种基于深度学习的低压台区线损合理区间预测方法 | |
CN103869192B (zh) | 智能电网线损检测方法和系统 | |
CN105163326A (zh) | 一种基于无线网络话务特征的小区聚类方法和系统 | |
CN110149239B (zh) | 一种基于sFlow的网络流量监控方法 | |
CN106899448A (zh) | 适用于网络状态及性能测量的一体化动态赋权评估方法 | |
CN108650649B (zh) | 适用于无线传感器网络的异常数据检测方法 | |
CN109033513A (zh) | 电力变压器故障诊断方法与电力变压器故障诊断装置 | |
CN106912067A (zh) | 一种基于模糊神经网络的wsn无线通信模块故障诊断方法 | |
CN109063885A (zh) | 一种变电站异常量测数据预测方法 | |
Song et al. | Real-time anomaly traffic monitoring based on dynamic k-NN cumulative-distance abnormal detection algorithm | |
CN109034232A (zh) | 城市规划条件核实成果报告的自动化输出系统及控制方法 | |
CN105071963A (zh) | 一种面向大数据互联网的多业务流量估计方法 | |
CN102546286A (zh) | 一种在线检测网络共享拥塞路径的方法 | |
CN108966169A (zh) | 针对农田土壤的重金属污染分析预警系统 | |
CN104821854B (zh) | 一种基于随机集的多主用户多维频谱感知方法 | |
CN109963292A (zh) | 投诉预测的方法、装置、电子设备和存储介质 | |
CN109039797A (zh) | 基于强化学习的大流检测方法 | |
Santolamazza et al. | Evaluation of machine learning techniques to enact energy consumption control of compressed air generation in production plants | |
Kreuger et al. | Scalable in-network rate monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |