一种控制网络数据流量的方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络通信流量控制技术领域,尤其涉及一种控制网络数据流量的方法及装置。
【背景技术】
[0002]随着网络的高速发展,系统所需要处理的流量已经越来越大,系统的稳定性伴随着流量的增加而下降。特别的,对于不采取任何流量控制机制的系统,由于异常大量流量的产生而超越了系统设计之初所能承受的负荷,系统会出现一些异常现象,比如会造成系统运行效率严重下降,进而造成网络拥塞的严重问题。
[0003]现有较多流量控制方法。比如可以采用漏桶算法,使用缓冲区和“漏桶”对流入系统的数据进行流量整形和速率限制。即在接收报文速度过快情况下,让缓冲区将报文进行缓存处理,然后在漏桶控制下再以均匀的速度来发送缓冲报文。但该方法对异常报文缺少有效的过滤手段,同时实现算法也较为复杂。以通过面向目标网络的流量控制的方法为例,它通过流量分析单元对接收的报文进行网络数据样本统计,以TCP/IP协议包头字段值为项,提取应用于目标主机的异常流量过滤规则,通过这种规则来对发往目标主机的网络数据包进行流量控制。
[0004]然而,在上述现有技术中存在以下问题:对报文统计仅仅按照传输控制协议(TCP)、用户数据包协议(UDP)和网际控制消息协议(ICMP)来区分统计,控制粒度较粗,在采取控制策略后,对目标主机所有来源的报文进行了相同处理,无法有效的监控出异常流量的来源。
【发明内容】
[0005]为了克服现有技术中存在的缺陷,本发明提供了一种控制网络数据流量的方法及装置,能够有效监控异常流量的来源,实现对异常流量的有效控制。
[0006]为了解决上述技术问题,本发明采用如下技术方案:
[0007]依据本发明的一个方面,提供了一种控制网络数据流量的方法,该方法包括:接收网络报文;根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理;如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单;对列入黑名单中的流表项所对应的报文按照预定的方式处理。
[0008]可选地,该方法还包括:从黑名单中选取所记录的流表项;如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。
[0009]可选地,根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理,具体包括:根据当前接收到的网络报文在流表中获取对应的流表项;将获取的流表项与黑名单进行匹配;如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量;如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。
[0010]可选地,根据当前接收到的网络报文在流表中获取对应的流表项,具体包括:根据当前接收到的网络报文的报头信息在流表中查找对应的流表项;如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项;如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。
[0011]进一步地,如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单,具体包括:
[0012]如果系统接收到的总流量小于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单;如果系统接收到的总流量大于或等于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单,并从系统接收到的总流量中减去被列入黑名单的流表项的流量;和/或如果流表中所有流表项的流量均未超过预先设定的流表项的流量最大阈值,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量中减去该流表项的流量。
[0013]依据本发明的另一个方面,还提供了一种控制网络数据流量的装置,该装置包括:接收模块,用于接收网络报文;更新模块,用于根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理;分析模块,用于如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单;处理模块,用于对列入黑名单中的流表项所对应的报文按照预定的方式处理。
[0014]可选地,该装置还包括:选取模块,用于从黑名单中选取所记录的流表项;移除模块,用于如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。
[0015]进一步地,该更新模块包括:获取单元,用于根据当前接收到的网络报文在流表中获取对应的流表项;匹配单元,用于将获取的流表项与黑名单进行匹配;第一更新单元,用于如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量;第二更新单元,用于如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。
[0016]进一步地,该获取单元包括:查找单元,用于根据当前接收到的网络报文的报头信息在流表中查找对应的流表项;第一获取单元,用于如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项;第二获取单元,用于如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。
[0017]进一步地,该分析模块包括:第一分析单元,用于如果系统接收到的总流量小于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单;第二分析单元,用于如果系统接收到的总流量大于或等于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单,并从系统接收到的总流量中减去被列入黑名单的流表项的流量;第三分析单元,用于如果流表中所有流表项的流量均未超过预先设定的流表项的流量最大阈值,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量中减去该流表项的流量。
[0018]本发明的有益效果:解决了现有系统对于大量流量处理不足的问题,通过流表项处理与黑名单处理的协作实现网络流量控制的效果;同时该发明能较好的识别出异常流量来源,且不影响系统对正常流量的处理。
[0019]进一步地,本发明可以监控出异常系统流
量,并将其加入到黑名单中,并且当流表项恢复正常情况下,系统也能够重新将流表项从黑名单中移出,从而对每一个接收到的网络报文,系统都能够进行合理的处理。
【附图说明】
[0020]图1为本发明实施例的控制网络数据流量的方法的流程图;
[0021]图2为本发明实施例的根据当前网络报文更新流量的流程图;
[0022]图3为本发明实施例的获取当前接收到的网络报文在流表中对应的流表项的方法的流程图;
[0023]图4为本发明实施例的控制网络数据流量的方法的应用图之一;
[0024]图5为本发明实施例的控制网络数据流量的方法的应用图之二;以及
[0025]图6为本发明实施例的控制网络数据流量的装置的结构示意图。
【具体实施方式】
[0026]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0027]实施例一
[0028]如图1所示,为本发明实施例的控制网络数据流量的方法的流程图,该方法包括如下步骤:
[0029]步骤101,接收网络报文;
[0030]具体地,该网络报文的格式可以是传输控制协议(TCP)报文、用户数据包协议(UDP)报文或网际控制消息协议(ICMP)报文等,当然可以理解的是,在本实施例中并不限定网络报文的具体类型。
[0031]步骤102,根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理;
[0032]其中,可设系统接收到的总流量为R?,特别的初始阶段系统接收到的总流量^可以设置为0 ;具体地,对系统接收到的总流量和当前接收到的网络报文对应的流表项的流量进行流量更新处理的实现,参见图2,包括:
[0033]步骤201,根据当前接收到的网络报文在流表中获取对应的流表项;
[0034]其中,该根据当前接收到的网络报文在流表中获取对应的流表项的实现,具体参见图3,包括:
[0035]步骤301,根据当前接收到的网络报文的报头信息在流表中查找对应的流表项;其中,该网络报文的报头信息可以是:网络报文的五元组(源主机IP地址,目的主机IP地址,源主机端口号,目的主机端口号,协议类型);
[0036]步骤302,如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项;
[0037]步骤303,如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。
[0038]下面对图3进一步说明,首先,流表中记录有流表项,所记录的流表项的流量大小信息从小到大标记为Fsl,Fs2…Fsn ;当前接收到的网络报文对应的流表项的流量为Fsx,其中,若当前接收到的网络报文对应的流表项与流表中所记录的流表项可以匹配上,则相应的Fsx的取值为Fsl,Fs2-Fsn中的任意一个;若不能匹配上,则此时在流表中新建一条与当前网络报文对应的流表项,则相应的Fsx的取值不为Fsl,Fs2…Fsn中的任意一个,Fsx的取值可比Fsi小或比Fsn大。
[0039]继续参见图2,步骤202,将获取的流表项与黑名单进行匹配;
[0040]具体地,该黑名单中记录有系统在一定时间(例如20ms)内具有异常流量的流表项。
[0041]步骤203,如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量。
[0042]具体地,如果当前接收到的网络报文对应的流表项在黑名单中,则将当前接收到的网络报文对应的流表项的流量FSx记录在流表中。
[0043]步骤204,如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。
[0044]具体地,如果当前接收到的网络报文对应的流表项不在黑名单中,则将当前接收到的网络报文对应的流表项的流量FSx记录在流表中,并且同时将该当前接收到的网络报文对应的流表项的流量FSx增加在系统接收到的总流量R?内。
[0045]继续参见图1,步骤103,如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单;
[0046]具体地,可设系统流量最大阈值为1?,流表项的流量最大阈值为Ts ;其中,系统流量最大阈值1与流表项的流量最大阈值Ts的具体阈值可根据实际系统对网络报文的处理能力,进行可配置的设置。
[0047]具体地,步骤103具体包括:
[0048]如果系统接收到的总流量R?小于预先设定的系统流量最大阈值!?,且流表中所选择的流表项的流量Fsx大于预先设定的流表项的流量最大阈值Ts,则将所选择的流表项加入黑名单;
[0049]如果系统接收到的总流量R?大于或等于预先设定的系统流量最大阈值!?,且流表中所选择的流表项的流量Fsx大于预先设定的流表项的流量最大阈值Ts,则将所选择的流表项加入黑名单,并从系统接收到的总流量R?中减去被列入黑名单的流表项的流量Fsx ;和/或
[0050]如果流表中所有流表项的流量均未超过预先设定的流表项的流量最大阈值Ts,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量R?中减去该流表项的流量 FSn。
[0051]步骤104,对列入黑名单中的流表项所对应的报文按照预定的方式处理。
[0052]具体地,该预定的方式处理可以是由流量控制模块通知上层,上层根据具体应用要求,可以直接转发该报文,也可以直接丢弃或做其他处理。
[0053]在本发明的实施例中,在本发明中,解决了现有系统对于大量流量处理不足的问题,通过流表项处理与黑名单处理的协作实现网络流量控制的效果;同时该发明能较好的识别出异常流量来源,且不影响系统对正常流量的处理。
[0054]进一步地,本发明可以监控出异常系统流量,并将其加入到黑名单中,并且当流表项恢复正常情况下,系统也能够重新将流表项从黑名单中移出,从而对每一个接收到的网络报文,系统都能够进行合理的处理。
[0055]具体地,从黑名单中选取所记录的流表项;
[0056]如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。
[0057]参见图4,为本发明实施例的控制网络数据流量的方法的应用图之一,其中该应用图可对应着三个实施场景。
[0058]场景一
[0059]首先,设定系统流量最大阈值= 10M,流表项的流量最大阈值Ts = 1M ;
[0060]该场景一的具
体实现包括如下步骤:
[0061 ] 步骤401,检查系统接收到的总流量R? ;
[0062]此时,如果系统接收到的总流量R? (比如R? = 9M)小于设定的系统流量最大阈值,则继续步骤402 ;
[0063]步骤402,检查各流表项的流量;
[0064]其中,若流入的网络报文对应的流表项的流量(比如Fsx = 2M)大于流表项的流量最大阈值,则继续步骤403 ;
[0065]步骤403,把流量大于Ts的流表项加入黑名单;
[0066]此时,返回步骤402检查继续其他流表项的流量,若没有流量大于Ts的流表项,则继续步骤407 ;
[0067]继续步骤407,各流表项流量及系统接收到的总流量清零;
[0068]此时,该段时间内的异常流量得到了控制,接着重启定时器,重新进入下一时段的异常流量的监控。
[0069]场景二
[0070]首先,设定系统流量最大阈值= 10M,流表项的流量最大阈值Ts = 1M ;
[0071]该场景二的具体实现包括如下步骤:
[0072]步骤401,检查系统接收到的总流量R? ;
[0073]此时,如果系统接收到的总流量R?(比如R? = 13M)大于设定的系统流量最大阈值,则继续步骤404 ;
[0074]步骤404,检查各流表项的流量;
[0075]其中,若流入的网络报文对应的流表项的流量(比如Fsl = 2M)大于流表项的流量最大阈值,则继续步骤405 ;
[0076]步骤405,把流量大于Ts的流表项加入黑名单;
[0077]接着,从系统接收到的总流量^中减去被列入黑名单的流表项的流量,继续步骤407 ;
[0078]继续步骤407,各流表项流量及系统接收到的总流量清零;
[0079]此时,该段时间内的异常流量得到了控制,接着重启定时器,重新进入下一时段的异常流量的监控。
[0080]场景二
[0081]首先,设定系统流量最大阈值= 10M,流表项的流量最大阈值Ts = 1M ;
[0082]该场景二的具体实现包括如下步骤:
[0083]步骤401,检查系统接收到的总流量R? ;
[0084]此时,如果系统接收到的总流量R?(比如R? = 13M)大于设定的系统流量最大阈值,则继续步骤404 ;
[0085]步骤404,检查各流表项的流量;
[0086]其中,若流入的网络报文对应的流表项的流量均小于流表项的流量最大阈值,则继续步骤406 ;
[0087]步骤406,把流表中流量最大的流表项加入黑名单;
[0088]接着,从系统接收到的总流量R?中减去该流表项的流量FSn,继续步骤407 ;
[0089]步骤407,各流表项流量及系统接收到的总流量清零;
[0090]此时,该段时间内的异常流量得到了控制,接着重启定时器,重新进入下一时段的异常流量的监控。
[0091]参见图5,为本发明实施例的控制网络数据流量的方法的应用图之二,该应用图对应着一个实施场景。
[0092]首先,初始阶段,设定系统流量最大阈值= 10M,流表项的流量最大阈值Ts =
IMo
[0093]该场景的具体实现包括如下步骤:
[0094]步骤501,检查系统接收到的总流量R? (比如R? = 9M);
[0095]步骤502,检查黑名单中各流表项的流量Fsni ;
[0096]此时,若黑名单中某一流表项的流量Fsni(比如Fsni = 0.5M)小于Ts,此时系统接收到的总流量R?与黑名单中某一流表项的流量Fsni之和也小于等于!?,则继续步骤503 ;
[0097]步骤503,把流表项的流量小于流表项的流量最大阈值的流表项移出黑名单,继续步骤504 ;
[0098]步骤504,各流表项流量及系统接收到的总流量清零。
[0099]实施例二
[0100]对应于上述实施例一中的控制网络数据流量的方法,本发明还提供了一种控制网络数据流量的装置,如图6所示,该装置60包括:
[0101]接收模块61,用于接收网络报文;
[0102]更新模块62,用于根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理;
[0103]分析模块63,用于如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单;
[0104]处理模块64,用于对列入黑名单中的流表项所对应的报文按照预定的方式处理。
[0105]具体地,该预定的方式处理可以是由流量控制模块通知上层,上层根据具体应用要求,可以直接转发该报文,也可以直接丢弃或做其他处理。
[0106]进一步地,该装置60还包括:选取模块,用于从黑名单中选取所记录的流表项;移除模块,用于如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。
[0107]具体地,该更新模块62包括:
[0108]获取单元621,用于根据当前接收到的网络报文在流表中获取对应的流表项;具体地,该获取单元621包括:查找单元6211,用于根据当前接收到的网络报文的报头信息在流表中查找对应的流表项;第一获取单元6222,用于如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项;第二获取单元6223,用于如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。
[0109]匹配单元622,用于将获取的流表项与黑名单进行匹配;
[0110]第一更新单元623,用于如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量;
[0111]第二更新单元624,用于如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。
[0112]进一步地,该分析模块63包括:
[0113]第一分析单元631,用于如果系统接收到的总流量小于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单;
[0114]第二分析单元632,用于如果系统接收到的总流量大于或等于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单,并从系统接收到的总流量中减去被列入黑名单的流表项的流量;
[0115]第三分析单元633,用于如果流表中所有流表项的流量均未超过预先设定的流表项的流量最
大阈值,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量中减去该流表项的流量。
[0116]在本发明的实施例中,解决了现有系统对于大量流量处理不足的的问题,通过流表项处理与黑名单处理的协作实现网络流量控制的效果;同时该发明能较好的识别出异常流量来源,且不影响系统对正常流量的处理。
[0117]进一步地,本发明可以监控出异常系统流量,并将其加入到黑名单中,并且当流表项恢复正常情况下,系统也能够重新将流表项从黑名单中移出,从而对每一个接收到的网络报文,系统都能够进行合理的处理。
[0118]以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种控制网络数据流量的方法,其特征在于,包括: 接收网络报文; 根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理; 如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单; 对列入黑名单中的流表项所对应的报文按照预定的方式处理。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 从所述黑名单中选取所记录的流表项; 如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。3.根据权利要求1所述的方法,其特征在于,所述根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理,具体包括: 根据当前接收到的网络报文在流表中获取对应的流表项; 将获取的流表项与黑名单进行匹配; 如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量;如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。4.根据权利要求3所述的方法,其特征在于,所述根据当前接收到的网络报文在流表中获取对应的流表项,具体包括: 根据当前接收到的网络报文的报头信息在流表中查找对应的流表项; 如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项; 如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。5.根据权利要求1所述的方法,其特征在于,所述如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单,具体包括: 如果系统接收到的总流量小于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单; 如果系统接收到的总流量大于或等于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单,并从系统接收到的总流量中减去被列入黑名单的流表项的流量;和/或 如果流表中所有流表项的流量均未超过预先设定的流表项的流量最大阈值,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量中减去该流表项的流量。6.一种控制网络数据流量的装置,其特征在于,包括: 接收模块,用于接收网络报文; 更新模块,用于根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理; 分析模块,用于如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单; 处理模块,用于对列入黑名单中的流表项所对应的报文按照预定的方式处理。7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 选取模块,用于从所述黑名单中选取所记录的流表项; 移除模块,用于如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。8.根据权利要求6所述的装置,其特征在于,所述更新模块包括: 获取单元,用于根据当前接收到的网络报文在流表中获取对应的流表项; 匹配单元,用于将获取的流表项与黑名单进行匹配; 第一更新单元,用于如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量; 第二更新单元,用于如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。9.根据权利要求8所述的装置,其特征在于,所述获取单元包括: 查找单元,用于根据当前接收到的网络报文的报头信息在流表中查找对应的流表项; 第一获取单元,用于如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项; 第二获取单元,用于如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。10.根据权利要求6所述的装置,其特征在于,所述分析模块包括: 第一分析单元,用于如果系统接收到的总流量小于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单; 第二分析单元,用于如果系统接收到的总流量大于或等于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单,并从系统接收到的总流量中减去被列入黑名单的流表项的流量; 第三分析单元,用于如果流表中所有流表项的流量均未超过预先设定的流表项的流量最大阈值,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量中减去该流表项的流量。
【专利摘要】本发明提供了一种控制网络数据流量的方法及装置,该方法包括:接收网络报文;根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理;如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单;对列入黑名单中的流表项所对应的报文按照预定的方式处理。通过本发明的实施例能够在网络中部分节点出现异常流量的情况下,准确识别异常流量的来源,并对异常流量进行有效控制。
【IPC分类】H04L12/801
【公开号】CN105490954
【申请号】CN201410483660
【发明人】黎重, 张武, 李辉
【申请人】中兴通讯股份有限公司
【公开日】2016年4月13日
【申请日】2014年9月19日
【公告号】WO2016041346A1