掌桥专利:专业的专利平台
掌桥专利
首页

基于SDN的流量堆叠分析方法、系统和计算机可读存储介质

文献发布时间:2023-06-19 12:11:54


基于SDN的流量堆叠分析方法、系统和计算机可读存储介质

技术领域

本发明涉及网络流量分析领域,更具体地说,涉及一种基于SDN的流量堆叠分析方法、系统和计算机可读存储介质。

背景技术

随着网络的应用越来越广泛,其规模也随之日渐增长,并已经从千兆网络增长到万兆网络,再到今天已经规模部署的25G/100G网络。网络中承载的业务也越来越丰富。企业需要及时的了解到网络中承载的业务,及时的掌握网络流量特征,以便使网络带宽配置最优化,及时解决网络性能问题。同时,当网络发生异常时,需要及时进行异常溯源。目前市面现有产品采用的解决方式包括:一是只对报文头部进行分析,二是采用分布式部署。

只对报文头部进行分析,可以满足流量的数据统计,但不足之处时,无法对内容进行分析,发现有问题但不知出现问题的原因。而采用分布式的部署,不但部署不方便,无法对流量的精确统计分析,而且存在重复计算,重复分析,漏分析的情形。

发明内容

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于SDN的流量堆叠分析方法、系统和计算机可读存储介质,不但能够对超高速流量进行深入分析,还能够对流量内容进行实时准确的分析。

本发明解决其技术问题所采用的技术方案是:构造一种基于SDN的流量堆叠分析方法,包括以下步骤:

S1、采用Map模块根据网络数据的当前堆叠会话流量和各个分析节点的节点负载能力计算所述各个分析节点的流量分配策略,并通过SDN网络控制器基于所述流量分配策略向所述各个所述分析节点分发对应流量的网络数据;

S2、所述各个分析节点分别接收分发的对应流量的网络数据并对其进行统计分析,然后上报统计分析结果;

S3、采用Reduce模块定时汇总所述各个分析节点的所述统计分析结果,并对汇总内容进行汇总分析以获取总流量分析结果。

在本发明所述的基于SDN的流量堆叠分析方法中,步骤S1进一步包括以下步骤:

S11、采用Map模块根据所述各个分析节点的当前负载情况生成包括所述各个分析节点的节点负载能力的节点负载能力表,并将各个分析节点按照其节点负载能力由大到小的顺序排序后放入节点列表;

S12、采用Map模块分析所述网络数据以获取其全部会话信息的所述当前堆叠会话流量,并将各个会话信息按照其会话三元组流量由大到小的顺序排序后放入流量列表;

S13、采用Map模块按照顺序从所述节点列表中依次取出分析节点,根据所述分析节点的节点负载能力计算出需要负载的流量大小,并根据所述分析节点的负载流量限额按照顺序依次从所述流量列表中取出会话信息加载到所述分析节点直到遍历全部会话信息,然后将所述分析节点放入所述节点列表重新进行排序;

S14、采用Map模块重复执行步骤S11-S13直至全部会话信息加载完毕。

在本发明所述的基于SDN的流量堆叠分析方法中,步骤S12进一步包括以下步骤:

S121、采用Map模块根据所述网络数据的详细信息将其划分成不同的流数据包,并对不同的流数据包进行独立的数据统计;

S122、采用Map模块根据每个流数据包的详细信息分析出全部的会话信息以及其会话流量;

S123、采用Map模块将各个会话信息按照其会话三元组流量由大到小的顺序排序后放入流量列表。

在本发明所述的基于SDN的流量堆叠分析方法中,所述详细信息包括目标IP地址、目标端口、源IP地址、协议号和服务条款,所述会话三元组流量包括源IP地址、目标IP地址和目标端口三元组流量。

在本发明所述的基于SDN的流量堆叠分析方法中,在步骤S11中,基于所述分析节点的CPU频率、内存总量、CPU频率比重系数和内存总量比重系数计算每个所述分析节点的节点负载能力。

在本发明所述的基于SDN的流量堆叠分析方法中,步骤S3进一步包括以下步骤:

S31、定时汇总各个分析节点的所述统计分析结果;

S32、对所述统计分析结果进行关联、分析和汇总以获得所述总流量分析结果;

S33、对所述总流量分析结果进行可视化处理并保存。

本发明解决其技术问题所采用的技术方案是:构造一种基于SDN的流量堆叠分析系统,包括:多个分析节点、Map模块、SDN网络控制器和Reduce模块;

所述Map模块用于根据网络数据的当前堆叠流量和各个分析节点的节点负载能力计算所述各个分析节点的流量分配策略,并通过SDN网络控制器基于所述流量分配策略向所述各个所述分析节点分发对应流量的网络数据;

所述各个分析节点分别接收分发的对应流量的网络数据并对其进行统计分析,然后上报统计分析结果;

所述Reduce模块用于定时汇总所述各个分析节点的所述统计分析结果,并对汇总内容进行汇总分析以获取总流量分析结果。

在本发明所述的基于SDN的流量堆叠分析系统中,所述Map模块进一步用于执行以下步骤:

S1、根据所述各个分析节点的当前负载情况生成包括所述各个分析节点的节点负载能力的节点负载能力表,并将各个分析节点按照其节点负载能力由大到小的顺序排序后放入节点列表;

S2、分析所述网络数据以获取其全部会话信息的会话流量,并将各个会话信息按照其会话三元组流量由大到小的顺序排序后放入流量列表;

S3、按照顺序从所述节点列表中依次取出分析节点,根据其节点负载能力计算出需要负载的流量大小,并根据所述分析节点的负载流量限额按照顺序依次从所述流量列表中取出会话信息加载到所述分析节点直到遍历全部会话信息,然后将所述分析节点放入所述节点列表重新进行排序;

重复执行前述步骤S1-S3直至全部会话信息加载完毕。

在本发明所述的基于SDN的流量堆叠分析系统中,所述Reduce模块进一步用于:定时汇总各个分析节点的所述统计分析结果;对所述统计分析结果进行关联、分析和汇总以获得所述总流量分析结果;对所述总流量分析结果进行可视化处理并保存。

本发明解决其技术问题所采用的另一技术方案是:构造一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于SDN的流量堆叠分析方法。

实施本发明的基于SDN的流量堆叠分析方法、系统和计算机可读存储介质,通过采用基于MapReduce的SDN的流量堆叠分析,能够对数据中心处的100G及100G以上超高速流量进行深入分析,不仅能发现问题,同时对流量的内容进行深度分析,发现产生问题的深层原因。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明的基于SDN的流量堆叠分析方法的第一优选实施例的流程图;

图2是本发明的基于SDN的流量堆叠分析方法的第二优选实施例的网络数据流量分发的步骤的流程图;

图3A示出了根据图2所示的优选实施例的各个分析节点的硬件配置;

图3B示出了在进行网络数据流量分发之前的各个分析节点的CPU频率和内存总量;

图3C示出了各个分析节点的节点负载能力的节点负载能力表;

图4是本发明的基于SDN的流量堆叠分析方法的第三优选实施例的结果汇总的步骤的流程图;

图5是本发明的基于SDN的流量堆叠分析系统的第一优选实施例的原理框图;

图6是图5所示的SDN的流量堆叠分析系统的时序图。

具体实施方式

为了使本发明的目标、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

软件定义网络(SDN)可对底层的硬件设施进行虚拟化,通过控制器进行全网集中管理,实现网络统一配置。可见,通过提供网络明确定义的编程接口,SDN 实现了应用程序与网络硬件动态和灵活的集中交互,从而满足大数据应用体系架构实时集中配置的需求。

Map-Reduce是一种面向大规模海量数据并行计算的应用体系框架,计算任务分为Map和Reduce两种操作,并将计算工作分划给大量的机器。Reduce采用了计算节点/控制节点(slave/master)架构,计算节点集成数据存储单元(数据节点)和计算任务跟踪器这两个应用程序,以完成存储本节点数据和执行Map-Reduce作业的功能。控制节点集成目录单元、二级目录单元和工作跟踪器等应用程序,对用户的计算任务进行分解,分配相应的计算资源,并监控整个计算任务的执行。

本发明正是通过采用Map-Reduce流量堆叠分析和SDN网络分发技术,支持对各种规模网络流量进行各种分析,突破现有产品在大规模流量场景下,无法流量进行深入分析,同时可支持弹性拓展,适应未来网络规模的不断扩展,只需要弹性扩展流量分析节点。

图1是本发明的基于SDN的流量堆叠分析方法的第一优选实施例的流程图。如图1所示,在步骤S1中,采用Map模块根据网络数据的当前堆叠会话流量和各个分析节点的节点负载能力计算所述各个分析节点的流量分配策略,并通过SDN网络控制器基于所述流量分配策略向所述各个所述分析节点分发对应流量的网络数据。

在本步骤中,可以通过Map模块利用SDN网络控制器将网络数据的当前堆叠会话流量根据各个分析节点的节点负载能力进行分发。每个分析节点是最小的分析单元,其完成数据流的侵检测分析。图2示出了根据本发明的优选实施例的网络数据流量分发的步骤的流程图。

如图2所示,在步骤S11中,采用Map模块根据所述各个分析节点的当前负载情况生成包括所述各个分析节点(即计算节点)的节点负载能力的节点负载能力表,并将各个分析节点按照其节点负载能力由大到小的顺序排序后放入节点列表。优选的,可以基于每个所述分析节点的CPU频率、内存总量、CPU频率比重系数和内存总量比重系数计算每个所述分析节点的节点负载能力。例如,假设分析节点组S={S1, S2, S3…Sn-1},Si为第i个分析节点,其节点负载能力为R(Si),Ki为分析节点Si的比重系数,其中

举例来说,各个分析节点的硬件配置如图3A所示。在进行网络数据流量分发的步骤之前,获取各个所述各个分析节点的当前负载情况,即CPU频率、内存总量如图3B所示。由于各分析节点环境不同,如系统,软件,数据存在差异,消耗资源不同,因此,设置CPU频率比重系数和内存总量比重系数。如图3C所示,取CPU频率比重系数和内存总量比重系数0.3,0.7,则各个分析节点的节点负载能力分别如图3C所示。各个分析节点的节点负载能力总和为:15.28 + 5.08 + 6.12 + 4.46 + 1.04 = 31.98。随后,将各个分析节点按照其节点负载能力由大到小的顺序排序后放入节点列表。

在步骤S12中,采用Map模块分析所述网络数据以获取其全部会话信息的所述当前堆叠会话流量,并将各个会话信息按照其会话三元组流量由大到小的顺序排序后放入流量列表。

在本发明的优选实施例中,可以根据所述网络数据的详细信息将其划分成不同的流数据包,并对不同的流数据包进行独立的数据统计。例如所述详细信息包括目标IP地址、目标端口、源IP地址、协议号和服务条款,所述会话三元组流量包括源IP地址、目标IP地址和目标端口三元组流量。即,例如可以打开交换机上流量统计功能,交换机根据网络数据的目标IP地址、目标端口、源IP地址、协议号和服务条款来将所述网络数据划分成不同的流数据包,并对不同的流数据包进行独立的数据统计,然后将采集到的详细信息定期发送以进行后续处理。然后根据每个流数据包的详细信息分析出全部的会话信息以及其会话三元组流量,并将各个会话信息按照其会话三元组流量由大到小的顺序排序后放入流量列表。所述会话三元组流量包括源IP地址、目标IP地址和目标端口三元组流量

在步骤S13中,采用Map模块按照顺序从所述节点列表中依次取出分析节点,根据所述分析节点的节点负载能力计算出需要负载的流量大小,并根据所述分析节点的负载流量限额按照顺序依次从所述流量列表中取出会话信息加载到所述分析节点直到遍历全部会话信息,然后将所述分析节点放入所述节点列表重新进行排序。然后在步骤S14中,采用Map模块判断是否全部会话信息加载完毕,如果是结束分发过程,否则返回步骤S11,重复执行步骤S11-S13直至全部会话信息加载完毕。

优选的,采用Map模块按照顺序从所述节点列表中依次取出分析节点,根据所述分析节点的节点负载能力计算出需要负载的流量大小。同时或者然后按照顺序依次从所述流量列表中取出会话信息加载到所述分析节点,只要该会话信息不超过该分析节点可以的负载流量的限额即可,直到所有的会话信息对应的流量都不能被该分析节点负载维持。具体的节点负载能力可以参见图3C所示。在全部的会话信息遍历完成后,把分析节点重新加入所述节点列表并按其剩余的节点负载能力重新进行排序用于二次加载。在所有的分析节点完成流量负载之后,还有未负载到分析节点的流量,再次循环遍历流量分析节点的所述节点列表,同样按照以上步骤依次添加会话信息到各个分析节点,直到所有的会话流量都负载完成。

优选地,可以根据各个分析节点的当前负载流量生成流表信息,同时增加默认流表。在基于新的负载分配完成后,对不是当前会话信息中流量全部负载到那个空闲负载能力最大的分析节点。

在步骤S2中,所述各个分析节点分别接收分发的对应流量的网络数据并对其进行统计分析,然后上报统计分析结果。在本发明的优选实施例中,所述各个分析节点可以对接收到的网络数据进行各种类型的统计,数据内容深度分析,以及数据持久化存储。本领域技术人员可以采用任何已知的统计分析方法实施该步骤。

在步骤S3中,采用Reduce模块定时汇总所述各个分析节点的所述统计分析结果,并对汇总内容进行汇总分析以获取总流量分析结果。图4示出了优选实施例的结果汇总步骤。如图4所示,在步骤S31中,各个分析节点定时上报所述统计分析结果,然后采用Reduce模块在接收到所述统计分析结果,对其进行定时汇总。在步骤S32中,采用Reduce模块对所述统计分析结果进行关联、分析和汇总以获得所述总流量分析结果。该流量分析结果可以包括获取总的流量分析态势及异常情况。在步骤S33中,采用Reduce模块对所述总流量分析结果进行可视化处理并保存。优选的,还可以支持异常报警。

实施本发明的基于SDN的流量堆叠分析方法,通过采用基于MapReduce的SDN的流量堆叠分析,能够对数据中心处的100G及100G以上超高速流量进行深入分析,不仅能发现问题,同时对流量的内容进行深度分析,发现产生问题的深层原因。

图5是本发明的基于SDN的流量堆叠分析系统的第一优选实施例的原理框图。图6是图5所示的SDN的流量堆叠分析系统的时序图。如图5-图6所示,本发明的基于SDN的流量堆叠分析系统,包括:Map模块100、SDN网络控制器200、分析模块300和Reduce模块400。所述分析模块300包括多个分析节点310。如图5所示,SDN网络控制器200设置在SDN网络控制节点20中。Map模块100和Reduce模块400设置在MapReduce节点10中。

在本发明中,如图6所示,所述Map模块100根据网络数据的当前堆叠流量和各个分析节点310的节点负载能力计算所述各个分析节点310的流量分配策略,并且把该流量分配策略下发给SDN网络控制节点,SDN网络控制节点20的SDN网络控制器200支持软件定义网络,基于所述流量分配策略向所述各个所述分析节点310分发对应流量的网络数据。

所述各个分析节点310分别接收分发的对应流量的网络数据并对其进行统计分析,包括各类统计,数据内容深度分析及数据的持久化存储,把分析结果上报给Reduce模块进行归约处理。所述Reduce模块400用于定时汇总所述各个分析节点310的所述统计分析结果,并对汇总内容进行汇总分析以获取总流量分析结果。

优选的,所述Map模块100进一步用于:根据所述各个分析节点310的当前负载情况生成包括所述各个分析节点310的节点负载能力的节点负载能力表,并将各个分析节点310按照其节点负载能力由大到小的顺序排序后放入节点列表;分析所述网络数据以获取其全部会话信息的会话三元组流量,并将各个会话信息按照其会话三元组流量由大到小的顺序排序后放入流量列表;按照顺序从所述节点列表中依次取出分析节点310,根据其节点负载能力计算出需要负载的流量大小,并根据所述分析节点310的负载流量限额按照顺序依次从所述流量列表中取出会话信息加载到所述分析节点310直到遍历全部会话信息,然后将所述分析节点310放入所述节点列表重新进行排序;重复执行前述步骤直至全部会话信息加载完毕。

在本发明所述的基于SDN的流量堆叠分析系统中,所述Reduce模块400进一步用于定时汇总各个分析节点310的所述统计分析结果;对所述统计分析结果进行关联、分析和汇总以获得所述总流量分析结果;对所述总流量分析结果进行可视化处理并保存。

本领域技术人员知悉,上述Map模块100、SDN网络控制器200、分析模块300和Reduce模块400,以及分析节点310可以参照图1-图4中所示的实施例构造。基于本发明,本领域技术人员能够实现上述基于SDN的流量堆叠分析系统,在此就不再累述了。

因此,本发明可以通过硬件、软件或者软、硬件结合来实现。本发明可以在至少一个计算机系统中以集中方式实现,或者由分布在几个互连的计算机系统中的不同部分以分散方式实现。任何可以实现本发明方法的计算机系统或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机系统,通过安装和执行程序控制计算机系统,使其按本发明方法运行。

本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,程序包含能够实现本发明的基于SDN的流量堆叠分析方法的全部特征。当其安装到计算机系统中时,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或符号;b)以不同的格式再现。

实施本发明的基于SDN的流量堆叠分析方法、系统和计算机可读存储介质,通过分布式并行检测的方法,并根据分析节点的负载进行动态流调度,从而保证实时准确的检测,防止因性能导致的漏报及延时现象,并实现整体性能的最大化。

虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于SDN的流量堆叠分析方法、系统和计算机可读存储介质
  • 基于SDN的流量堆叠分析方法、系统和计算机可读存储介质
技术分类

06120113207943