一种分布式网络流量控制方法与流程

文档序号:12809375阅读:1705来源:国知局
一种分布式网络流量控制方法与流程

本发明具体涉及一种分布式网络流量控制方法。



背景技术:

随着pc,手机,平板等各类电子设备的爆炸式增长,互联网的网络规模也迅速扩大,用户的行为和网络应用也越来越多样化。网络上很多非关键的业务应用抢占了我们的带宽,使得很多正常的关键业务和应用受到了影响。当用户在家里正常览网页时,却出现网络卡顿等网络质量降低的情况时,用户的体验会大打折扣。为了提升用户体验,保障网络物理通道的畅通和正常业务。于是便有了流量控制。目前常用的流控场景有针对单用户的流量控制,该场景主要是在用户接入路由器上,或者在bras/bas上进行控制。但是如果要对整个网络按协议进行流量控制,则一般需要在城域网或者省网的出口处进行流控设备的布置。

为了避免灾害,故障等对服务的影响,运营商的城域网到骨干网的接入会使用多个出口,甚至会在不同的机房进行接入,各接入点之间流量一般按流进行负载分担。另一方面,按照当前的情况,城域网或者省网到骨干网的接入带宽会到几百甚至数千g,而且还在持续增加中。

使用传统的单节点流控的方式,一方面从物理上很难做到把所有的流量都汇聚到一台设备上,另一方面使用单台设备对几百数千g的流量按照协议和用户进行流控也是难以做到的。

目前常用的做法是将整体阈值按照设备数量进行均分,但是现网流量的分布一般是不均匀的,而且经常波动,整体来看,使用该方法进行流控误差较大,甚至会影响正常业务。

但是,本发明的分布式动态调整阈值可以实时根据网络的状态调整各个流控节点的阈值,这样对网络的适应性更强,对带宽的利用率也更高。



技术实现要素:

首先,解释一下通道的概念,通道:可以是一个或多个协议类型或者应用类型;也可以是源ip段或者目的ip段,或者二者组合;还可以是某个链路;还可以扩展其他的,他表示的是网络中会话特征。本方法应用于在某个网络出口需要对某一个或多个通道进行流量控制,并且,当有多个出口且都需要对同一个或多个通道进行流量控制时,可以应用本方法。

本发明为了解决现有技术中的上述问题,提出一种分布式网络流量控制方法,其中,分布式网络中包括管理节点和与其连接的多个流量控制节点,所述方法包括:

步骤101,流量控制节点对对应通道进行流量信息采集,其包括协议分析、通道识别、流量信息统计,其中,流量信息包括字节数、包数、流数;

步骤102,流量控制节点判断对应通道是否有设置流量阈值,并判断此时的流量是否超过阈值,若是超过阈值,则进行流量控制,所述流量控制包括暂缓转发或丢包;否则,转入步骤103;

步骤103,当上报周期到达之后,各个流量控制节点将各个对应通道的信息发送到管理节点,发送的信息包括当前流量、请求的流量、流新建、丢包数、通道id以及其它网络信息;

步骤104,管理节点收到各个流量控制节点发送的对应通道的信息之后,进行统计分析;其中,管理节点还可以配置为收到外部下发或设置某个通道的流量阈值;

步骤105,管理节点统计分析后,判断对应通道是否有该通道的新流量阈值产生,若没有,返回默认流量阈值给该通道的流量控制节点;若有,转入步骤106;

步骤106,管理节点还判断是否是第一次收到该通道的信息,如果不是,返回最近一次统计计算出来的该通道的流量阈值给流量控制节点;如果是,则返回默认流量阈值给流量控制节点。

优选的,所述方法还包括:管理节点将各个流量控制节点发送的通道信息,暂时存在内存中,等同一个周期的所有流量控制节点的通道信息到达后,综合计算出最新的各个流量控制节点对应通道应该配置的新流量阈值,在下一次流量控制节点上报通道信息时,发回新流量阈值给流量控制节点;其中,每个流量控制节点上报的通道信息是以通道为单位,其在一个周期到达后,将每个通道的通道信息都发送给管理节点。

优选的,所述方法还包括:管理节点也可以同时作为扩展流量控制节点,此时,管理节点的上层连接有根节点,当流量控制节点将通道信息发给作为扩展流控节点的管理节点时,管理节点将通道信息再发送给根节点,根节点收到通道信息之后,进行统计分析计算;根节点收到下一次通道信息时,将本次综合计算结果返回给管理节点,管理节点将计算得到的新流量阈值作为总阈值根据各个流量控制节点的网络状态信息再分摊到各个流量控制节点,并发送过去。

通过本发明,可以根据各个网络出口的实际网络情况,动态的调整各个出口网络的流量控制阈值,而不需要人工去干预。

附图说明

图1是本发明2层流量控制结构图。

图2是本发明3层流量控制结构图。

图3是本发明流量控制流程图。

具体实施方式

下面结合附图对本发明做进一步详细说明。

参见图1所示:是最常用的2层结构,由一个管理节点和若干个流控节点组成。

参见图2所示:是扩展之后的3层结构,有一个根节点(管理节点)和若干个中间节点(管理节点+控制节点的上报功能)以及若干个控制节点组成。

参见图3所示:是流量控制流程图。具体为:

步骤101,网络控制节点进行流量信息采集,包括协议分析,通道识别,对流量信息(字节数、包数、流数)进行统计。

步骤102,判断此通道是否有设置阈值,且此时的流量(上下行速率)是否超过阈值,若是超过阈值,则进行流控,包括暂缓转发或丢包

步骤103,当上报周期到达之后,流量控制节点将各个通道的信息一个一个的发往管理节点,发送的数据包括但不限于当前流量,请求的流量,流新建,丢包数,通道id等各种网络信息。

步骤104,管理节点收到流控节点发送的某个通道的信息之后,进行统计分析。管理节点有可能收到外部下发或设置某个通道的阈值。

步骤105,判断是否有该通道的阈值,若没有的话,返回默认阈值给控制节点。

步骤106,判断是否是第一次收到该通道的数据,如果不是的话,返回最近一次的统计计算出来的该通道的阈值。

步骤107,返回默认阈值给控制节点。

其中,管理节点将流控节点发送的通道状态信息,暂时存在内存中,等到同一个周期的所有节点的相同的通道数据到达后,综合计算出最新的各个流控节点各个对应通道应该配置的新阈值,在下一次流控节点上报数据时,发回给流控节点。这里的每个节点上报的数据是以通道为单位,在一个周期到达后,将每个通道的状态信息都发送给管理节点。

其中,图2是图1的扩展,这个方法还支持扩展,即管理节点也可以同时作为流控节点,管理节点的上层还有根节点,这时,当流控节点将数据发给管理节点时,管理节点将数据再发送给根节点,根节点收到下一次数据时,将本次综合计算结果返回给管理节点,管理节点将某个通道的阈值作为总阈值根据各个流控节点的网络状态信息再分摊到各个流控节点发送过去。

例外,在多出口的流控场景中,将其他的流控节点的信息进行综合,做计算分析,重新反馈新的流控阈值,做这种动态调整。而对于这种多客户端对应一个服务端的上报反馈模式,也包括这种模式进行扩展,发展成树形,网状的结构。而这种实时的父子节点的信息通信反馈模式可以同样应用到其他的领域中,比如用水量,用电量,交通管制的车流,人流等。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1