用于分析数据流的方法和系统技术方案

技术编号:14872037 阅读:118 留言:0更新日期:2017-03-21 11:32
本发明专利技术涉及用于分析数据流的方法,包括以下步骤:a)提取所述数据流的分组的分组信息;b)基于所提取的分组信息确定所述分组的状态和所述数据流的状态,以及当所述状态指示所述分组是失序的时,对所述分组进行存储以用于随后检测;以及c)基于检测规则来检测所述分组和/或所存储的分组,其中,针对所述检测规则中的至少一个与所提取的分组信息的部分匹配,临时地存储所述分组的分组检测的结果,以及其中,当已经存储的分组与已经检测的分组是按顺序的时,对已经存储的分组进行检测,以及其中,针对所述检测规则中的至少一个的全部匹配,执行预定动作并删除所存储的结果。本发明专利技术还涉及用于分析数据流的系统。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于分析数据流的方法。本专利技术还涉及用于分析数据流的系统。虽然适用于任何分析方法,但是本专利技术将关于深度分组检测和深度流检测来描述。
技术介绍
一般地,深度分组检测使得能够分析(例如经由TCP/IP发送的)数据分组的应用层内容,以检测其是否包含从签名数据库获取的样式(pattern),比如内容字符串、常规表达或短型修正符等。然而,当样式扩展到相同流的多个分组上时(比如图1中所示的示例),对一个分组的内容的分析可能不会匹配完全表达。为了克服这一问题,常规方法通过重组连续分组来对整个流进行重构以使它们按顺序(in-order),然后对所重构的流进行深度分组检测,并且还查找整个流中的匹配(这也被称为“深度流检测(DFI)”)。然而,缺点之一在于,由于必须在检测前对每个流进行全部重构,所以对大流量应用这一方法是不可行的。针对每个穿过链路的流,需要流重构链(例如,软件实现的线程),从而耗尽计算资源。另一缺点在于,当重组所述流时,必须显式地保持被重构的每个流的状态,从而耗尽存储器资源。在所述流的整个寿命期间保留这些按流的资源,即使所述流在其寿命期间经历了某些非活动状态也是如此。例如,在非专利文献A.Kortebi,L.Muscariello,S.Oueslati,J.Roberts,“Evaluatingthenumberofactiveflowsinaschedulerrealizingfairstatisticalbandwidthsharing,”ACMSIGMETRICS2005或非专利文献C.Hu,Y.Tang,X.Chen,andB.Liu,“Per-flowQueueingbyDynamicQueueSharing,”ProceedingsofIEEEINFOCOM,Anchorage,Alaska,2007中,示出了在给定时间窗期间呈现的分组级别活动性在几百毫秒到几秒之间的流的数量显著地小于正在处理的流的数量。这意味着,如果在实践中高速链路共享总数为一百万的流,则在给定时间的活动流的数量的量级是几千,因此大量的存储器用于非活动的流。此外,在非专利文献“Beyondbloomfilters:fromapproximatemembershipcheckstoapproximatestatemachines(SIGCOMM06)”,GeorgeVarghese等(http://cseweb.ucsd.edu/~varghese/PAPERS/sigcomm06a.pdf\\)中,示出了用于流量分析的D-left表,然而,其中保存了流状态信息,并且使用插入/删除操作来更新流的状态。在非专利文献“Bouma2-AQuasi-Stateless,TunableMultipleString-MatchAlgorithm”(http://arxiv.org/abs/1209.4554)中,示出了准无状态字符串匹配算法。
技术实现思路
因此,本专利技术的目标在于,提供在计算资源方面更高效的用于分析数据流的方法和系统。本专利技术的目标还在于,提供在存储器使用/存储器资源方面更高效的用于分析数据流的方法和系统。本专利技术的目标还在于,提供不需要针对每个流进行重构或为每个流保持状态信息的用于分析数据流的方法和系统。本专利技术的目标还在于,提供使得能够分析与常规方法和系统相比数量更多的流的用于分析数据流的方法和系统。通过权利要求1的方法和权利要求13的系统来实现上述目标。在权利要求1中,限定了用于分析数据流的方法。根据权利要求1,所述方法的特征在于,包括以下步骤:a)提取所述数据流的分组的分组信息;b)基于所提取的分组信息确定所述分组的状态和所述数据流的状态,以及当所述状态指示所述分组是失序的时,对所述分组进行存储以用于随后检测;以及c)基于检测规则来检测所述分组和/或所存储的分组,其中,针对所述检测规则中的至少一个与所提取的分组信息的部分匹配,临时地存储所述分组的分组检测的结果,以及其中,当已经存储的分组与已经检测的分组是按顺序的时,对已经存储的分组进行检测;以及针对所述检测规则中的至少一个的全部匹配,执行预定动作并删除所存储的结果。在权利要求13中,限定了一种用于分析数据流的系统,所述系统优选地执行根据权利要求1-12中的任一项所述的方法。根据权利要求13,所述系统的特征在于包括:提取装置,操作用于提取所述数据流的分组的分组信息;状态装置,操作用于基于所提取的分组信息确定所述分组的状态和所述数据流的状态;存储装置,操作用于当所述状态指示所述分组是失序的时,对所述分组进行存储以用于随后检测;以及检测装置,操作用于基于检测规则来检测所述分组和/或所存储的分组,其中,针对所述检测规则中的至少一个与所提取的分组信息的部分匹配,临时地存储所述分组的分组检测的结果,以及其中,当已经存储的分组与已经检测的分组是按顺序的时,对已经存储的分组进行检测;以及针对所述检测规则中的至少一个的全部匹配,执行预定动作并删除所存储的结果。根据本专利技术,已经认识到,可以减小在检测分组时的存储器占用空间。这是因为,针对部分匹配,临时地存储分组检测的结果,并且当分组与已经检测的分组是按顺序的时检测所述分组,而不必为了之后的重构而保存所述流的每个分组。根据本专利技术,还已经认识到,实现对数据流的进行中(on-the-fly)的检测。连续分组位于相同流内允许按流检测,而无需在此之前对流进行重组。根据本专利技术,还认识到,不需要保持针对被分析的每个流的状态。根据本专利技术,还认识到,针对每个流只需要保持关于分组的相应顺序(例如,序号)的状态。根据本专利技术,还认识到,一旦接收到属于该流的分组,便执行分组和/或流检测。根据本专利技术,还认识到,能够实现简单且低成本的实施方式。换言之,只在需要时才存储流信息。只针对失序分组的流或在进行检测时只出现部分匹配的流存储相关信息。针对将要分析的大多数数据流,分组是在进行中分析的,并且不必为了随后分析而存储。在以下将描述其他特征、优点和优选实施例。根据优选实施例,为了根据步骤b)确定所述状态,执行以下步骤:b1)基于所提取的信息检查所述分组是否与已经接收的分组相关,并且如果不相关,则将所述分组的状态设置为失序;以及b2)基于所提取的信息检查所述分本文档来自技高网
...

【技术保护点】
一种用于分析数据流(F)的方法,其特征在于,所述方法包括以下步骤:a)提取所述数据流(F)的分组(P1、P2、P3、P4、P5、P6)的分组信息;b)基于所提取的分组信息确定所述分组(P1、P2、P3、P4、P5、P6)的状态和所述数据流(F)的状态,以及当所述状态指示所述分组是失序的时,对所述分组进行存储以用于随后检测;以及c)基于检测规则来检测所述分组(P1、P2、P3、P4、P5、P6)和/或所存储的分组(P1、P2、P3、P4、P5、P6),其中,针对所述检测规则中的至少一个与所提取的分组信息的部分匹配,临时地存储所述分组(P1、P2、P3、P4、P5、P6)的分组检测的结果,以及当已经存储的分组与已经检测的分组(P1、P2、P3、P4、P5、P6)是按顺序的时,对已经存储的分组进行检测,以及针对所述检测规则中的至少一个的全部匹配,执行预定动作并删除所存储的结果。

【技术特征摘要】
【国外来华专利技术】1.一种用于分析数据流(F)的方法,
其特征在于,所述方法包括以下步骤:
a)提取所述数据流(F)的分组(P1、P2、P3、P4、P5、P6)的
分组信息;
b)基于所提取的分组信息确定所述分组(P1、P2、P3、P4、P5、
P6)的状态和所述数据流(F)的状态,以及当所述状态指示所述分组
是失序的时,对所述分组进行存储以用于随后检测;以及
c)基于检测规则来检测所述分组(P1、P2、P3、P4、P5、P6)和
/或所存储的分组(P1、P2、P3、P4、P5、P6),其中,针对所述检测
规则中的至少一个与所提取的分组信息的部分匹配,临时地存储所述分
组(P1、P2、P3、P4、P5、P6)的分组检测的结果,以及当已经存储
的分组与已经检测的分组(P1、P2、P3、P4、P5、P6)是按顺序的
时,对已经存储的分组进行检测,以及针对所述检测规则中的至少一个
的全部匹配,执行预定动作并删除所存储的结果。
2.根据权利要求1所述的方法,其特征在于,为了根据步骤
b)确定所述状态(ST),执行以下步骤:b1)基于所提取的信息,检
查所述分组(P1、P2、P3、P4、P5、P6)是否与已经接收的分组
(P1、P2、P3、P4、P5、P6)相关,并且如果不相关,则将所述分组
的状态设置为失序;以及b2)基于所提取的信息,检查所述分组
(P1、P2、P3、P4、P5、P6)是否与已经观测到的流(F)匹配。
3.根据权利要求1所述的方法,其特征在于,为了确定分组
(P1、P2、P3、P4、P5、P6)的状态(ST),对所述分组(P1、P2、
P3、P4、P5、P6)应用至少一个概率滤波器(S-BF、C-BF),优选为
一对布隆滤波器。
4.根据权利要求1-2中的任一项所述的方法,其特征在于,步
骤c)包括:执行深度分组检测(DFA、DPI)。
5.根据权利要求1-3中的任一项所述的方法,其特征在于,在
步骤c)中,一旦不匹配,则丢弃所述分组(P1、P2、P3、P4、P5、

\tP6)。
6.根据权利要求1-5中的任一项所述的方法,其特征在于,在
步骤b)中确定副本分组(P3),并且在步骤c)之前丢弃,优选地在
步骤b2)中确定所述副本分组(P3)。
7.根据权利要求1-6中的任一项所述的方法,其特征在于,针
对所存储的状态信息和/或针对所存储的失序分...

【专利技术属性】
技术研发人员:毛里齐奥·杜斯萨韦里奥·尼科利尼霍里·皮兹埃罗理查德·鲍里罗米歇尔·欧罗朱塞佩·比安基
申请(专利权)人:NEC欧洲有限公司
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1