一种控制网络数据流量的方法及装置的制造方法

文档序号:9730098阅读:233来源:国知局
一种控制网络数据流量的方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络通信流量控制技术领域,尤其涉及一种控制网络数据流量的方法及装置。
【背景技术】
[0002]随着网络的高速发展,系统所需要处理的流量已经越来越大,系统的稳定性伴随着流量的增加而下降。特别的,对于不采取任何流量控制机制的系统,由于异常大量流量的产生而超越了系统设计之初所能承受的负荷,系统会出现一些异常现象,比如会造成系统运行效率严重下降,进而造成网络拥塞的严重问题。
[0003]现有较多流量控制方法。比如可以采用漏桶算法,使用缓冲区和“漏桶”对流入系统的数据进行流量整形和速率限制。即在接收报文速度过快情况下,让缓冲区将报文进行缓存处理,然后在漏桶控制下再以均匀的速度来发送缓冲报文。但该方法对异常报文缺少有效的过滤手段,同时实现算法也较为复杂。以通过面向目标网络的流量控制的方法为例,它通过流量分析单元对接收的报文进行网络数据样本统计,以TCP/IP协议包头字段值为项,提取应用于目标主机的异常流量过滤规则,通过这种规则来对发往目标主机的网络数据包进行流量控制。
[0004]然而,在上述现有技术中存在以下问题:对报文统计仅仅按照传输控制协议(TCP)、用户数据包协议(UDP)和网际控制消息协议(ICMP)来区分统计,控制粒度较粗,在采取控制策略后,对目标主机所有来源的报文进行了相同处理,无法有效的监控出异常流量的来源。

【发明内容】

[0005]为了克服现有技术中存在的缺陷,本发明提供了一种控制网络数据流量的方法及装置,能够有效监控异常流量的来源,实现对异常流量的有效控制。
[0006]为了解决上述技术问题,本发明采用如下技术方案:
[0007]依据本发明的一个方面,提供了一种控制网络数据流量的方法,该方法包括:接收网络报文;根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理;如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单;对列入黑名单中的流表项所对应的报文按照预定的方式处理。
[0008]可选地,该方法还包括:从黑名单中选取所记录的流表项;如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。
[0009]可选地,根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理,具体包括:根据当前接收到的网络报文在流表中获取对应的流表项;将获取的流表项与黑名单进行匹配;如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量;如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。
[0010]可选地,根据当前接收到的网络报文在流表中获取对应的流表项,具体包括:根据当前接收到的网络报文的报头信息在流表中查找对应的流表项;如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项;如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。
[0011]进一步地,如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单,具体包括:
[0012]如果系统接收到的总流量小于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单;如果系统接收到的总流量大于或等于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单,并从系统接收到的总流量中减去被列入黑名单的流表项的流量;和/或如果流表中所有流表项的流量均未超过预先设定的流表项的流量最大阈值,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量中减去该流表项的流量。
[0013]依据本发明的另一个方面,还提供了一种控制网络数据流量的装置,该装置包括:接收模块,用于接收网络报文;更新模块,用于根据当前接收到的网络报文对系统接收到的总流量和流表中与当前接收到的网络报文对应的流表项的流量进行流量更新处理;分析模块,用于如果系统接收到的总流量与预先设定的系统流量最大阈值的关系,以及流表中所选择的流表项的流量与预先设定的流表项的流量最大阈值的关系均符合预定的要求,则将所选择的流表项列入黑名单;处理模块,用于对列入黑名单中的流表项所对应的报文按照预定的方式处理。
[0014]可选地,该装置还包括:选取模块,用于从黑名单中选取所记录的流表项;移除模块,用于如果所选取的流表项的流量小于预先设定的流表项的流量最大阈值,且系统接收到的总流量与所选取的流表项的流量之和小于等于预先设定的系统流量最大阈值,则将所选取的流表项从黑名单中移出。
[0015]进一步地,该更新模块包括:获取单元,用于根据当前接收到的网络报文在流表中获取对应的流表项;匹配单元,用于将获取的流表项与黑名单进行匹配;第一更新单元,用于如果流表项在黑名单中,则根据当前接收到的网络报文更新流表中流表项的流量;第二更新单元,用于如果流表项不在黑名单中,则根据当前接收到的网络报文更新系统接收到的总流量和流表中流表项的流量。
[0016]进一步地,该获取单元包括:查找单元,用于根据当前接收到的网络报文的报头信息在流表中查找对应的流表项;第一获取单元,用于如果流表中存在对应的流表项,则得到与当前接收到的网络报文对应的流表项;第二获取单元,用于如果流表中不存在对应的流表项,则在流表中新建一条与当前接收到的网络报文对应的流表项。
[0017]进一步地,该分析模块包括:第一分析单元,用于如果系统接收到的总流量小于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单;第二分析单元,用于如果系统接收到的总流量大于或等于预先设定的系统流量最大阈值,且流表中所选择的流表项的流量大于预先设定的流表项的流量最大阈值,则将所选择的流表项加入黑名单,并从系统接收到的总流量中减去被列入黑名单的流表项的流量;第三分析单元,用于如果流表中所有流表项的流量均未超过预先设定的流表项的流量最大阈值,则将流表中流量最大的流表项加入黑名单,并从系统接收到的总流量中减去该流表项的流量。
[0018]本发明的有益效果:解决了现有系统对于大量流量处理不足的问题,通过流表项处理与黑名单处理的协作实现网络流量控制的效果;同时该发明能较好的识别出异常流量来源,且不影响系统对正常流量的处理。
[0019]进一步地,本发明可以监控出异常系统流
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1