流量控制方法及装置与流程

文档序号:15979537发布日期:2018-11-17 00:09阅读:200来源:国知局
本公开涉及数据通信
技术领域
,尤其涉及一种流量控制方法及装置。
背景技术
宽带远程接入服务器(broadbandremoteaccessserver,bras)是一种面向宽带网络应用的接入网管,是宽带接入网和骨干网之间的桥梁,为宽带接入网提供基本的接入手段和管理功能;主机在接入bras设备认证的组网之后,流量转发控制设备需要使用其所具有的统计资源和限速资源对每个接入的主机进行流量控制,以降低流量转发控制设备的数据转发压力。其中,统计资源用于对每台接入到bras设备认证组网的主机的流量进行数量统计;限速资源用于在主机的流量超出预设的流量阈值后,对主机进行限速,如令牌桶。流量转发控制设备上通常会具有数量较为庞大的统计资源,但由于限速资源通常会占据较多的硬件资源,流量转发控制设备上的限速资源的数量通常有限;因此,在大量主机接入场景下,流量转发控制设备普遍存在限速资源不足的问题,无法满足对所有主机进行限速的需求。技术实现要素:本公开实施例提供一种流量控制方法及装置,用以解决流量转发控制设备限速资源不足,无法满足对所有主机限速需求的问题。第一方面,提供一种流量控制方法,应用于认证组网中的流量转发控制设备,该方法包括:监测主机是否满足限速条件;若所述主机满足限速条件,且所述主机当前未占用限速资源,则向所述主机分配限速资源;若所述主机不满足限速条件,且所述主机当前占用限速资源,则回收所述主机占用的限速资源。第二方面,还提供一种流量控制装置,应用于认证组网中的流量转发控制设备,该装置包括:监测模块,用于监测主机是否满足限速条件;分配模块,用于在所述主机满足限速条件,且所述主机当前未占用限速资源时,向所述主机分配限速资源;回收模块,用于在所述主机不满足限速条件,且所述主机当前占用限速资源时,回收所述主机占用的限速资源。本公开实施例上述方案中,通过监测是否满足限速条件,并在主机满足限速条件,且主机当前未占用限速资源时,向主机分配限速支援,在主机不满足限速条件,且主机当前占用了限速资源时,回收主机占用的限速资源,从而实现了限速资源的按需分配,重复利用。进而,当主机需要限速时,为主机分配限速资源;当主机不需要限速时,则不为主机分配限速资源,使得数量有限的限速资源能够通过这种按需分配的方式被多个主机使用,以解决流量转发控制设备资源不足,无法满足对所有主机限速需求的问题。附图说明为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要的附图做简单的介绍。显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为本公开实施例涉及的bras设备管理的认证组网的示意图;图2为本公开实施例一提供的流量控制方法流程图;图3为本公开实施例二提供的流量控制方法原理示意图;图4为本公开实施例三提供的流量控制方法流程图;图5为本公开实施例四提供的流量方法流程图;图6为本公开实施例五提供的流量方法流程图;图7为本公开实施例提供的流量控制装置700结构示意图;图8为本公开另一实施例提供的流量控制装置800结构示意图。具体实施方式如图1所示,为本公开实施例涉及的bras设备管理的认证组网的示意图,主机(user)1和user2通过局域网交换机(localareanetworkswitch,lsw)接入bras设备,port1为bras设备连接lsw的端口;当user1接入该认证组网时,会通过lsw向bras发起认证请求;bras在对user1的认证通过后,生成与该user1对应的用户表项,并将该用户表项下发至lsw。在该用户表项中,携带了user1的流量速率阈值,用于作为流量转发控制设备的lsw对user1进行流量控制。在相关技术中,当lsw接收到bras所发送的与user1对应的用户表项后,为该user1分配统计资源和限速资源。为user1分配的统计资源和限速资源会一直被user1占用。其中统计资源用于对user1速率进行实时统计;限速资源用于当user1速率超出预设的流量速率阈值时,将超出预设的流量速率阈值部分的数据包进行丢弃,以实现对该user1的限速。在实施本公开方案之前,当lsw接入的user数量大于其所拥有的限速资源的数量时,例如限速资源有4000个,而接入lsw的user数量则有6000,就不能保证每个user都能够分配到限速资源,导致lsw无法对部分user进行流量控制。本公开为了解决该问题,提出一种新的解决方案。为使本公开的目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本公开做进一步详细的说明。在本公开各实施例中,执行流量控制方法的主体为各种组网中的流量转发控制设备。参见图2所示,本公开实施例一提供的流量控制方法包括:s201:监测主机是否满足限速条件。s202:若主机满足限速条件,且主机当前未占用限速资源,则向主机分配限速资源。s203:若主机不满足限速条件,且主机当前占用限速资源,则回收主机占用的限速资源。本公开实施例通过监测主机是否满足限速条件,并在主机满足限速条件时,向主机分配限速资源,在主机不满足限速条件时,回收为主机分配的限速资源,因而限速资源不会被一台主机占用,实现了限速资源的按需分配和重复利用,进而每一个限速资源都能够被多台主机使用,解决相关技术中流量转发控制设备中限速资源不足,无法满足对所有主机限速需求的问题。下面以流量转发控制设备为bras设备管理的认证组网中的lsw,对主机user1进行流量控制为例,对本公开实施例所提供的流量控制方法加以说明。参见图3所示,本公开实施例二提供的流量控制方法包括:s301:检测主机是否占用了限速资源;如果否,则执行s302;如果是,则执行s307。s302:对已转发的报文进行统计,并获取当前统计周期对已转发的报文进行数量统计后得到的第一统计数量。s303:获取上一统计周期对已转发的报文进行数量统计后得到的第二统计数量。s304:根据第一统计数量和当前统计周期,以及第二统计数量和上一统计周期,计算从上一统计周期至当前统计周期内,主机的流量速率。s305:检测流量速率是否大于预设的流量速率阈值。若否,则跳转至s301;若是,则跳转至s306。s306:确定主机满足限速条件,并向主机分配限速资源。跳转至s301。s307:对已丢弃的报文进行统计,并获取当前统计周期对已丢弃的报文进行数量统计后得到的第三统计数量。s308:获取上一统计周期对已丢弃的报文进行数量统计后得到的第四统计数量。s309:检测第三统计数量是否大于第四统计数量;若否,则跳转至s310;若是,则跳转至s301。s310:确定主机不满足限速条件,回收主机占用的限速资源。本公开实施例二中,作为流量转发控制设备的lsw在接收到bras下发的主机user1的用户表项后,为该主机user1分配第一统计资源,该第一统计资源用于对user1已转发的报文进行数量统计。另外,lsw会在接收到user1的用户表项后,会在用户表项中增加相应栏目,具体地,增加了相应栏目的用户表项如下表1所示:表1user_nopre_timestamppre_counterpre_rateconfig_rateocupy_meterpre_meterdrop1其中,user_no用于表示主机;在一个实施例中,1表示user1;pre_timestamp表示最近一次对已转发的报文进行统计的时间戳;pre_counter表示最近一次对已转发的报文进行统计的第二统计数量;pre_rate表示最近一次对已转发的报文进行统计得到的流量速率;config_rate表示user预设的流量阈值;ocupy_meter为限速资源标识;若ocupy_meter为“no”,则表示主机当前并未占用限速资源;若ocupy_meter为“yes”,则表示主机占用了限速资源;pre_meterdrop表示对丢弃的报文进行统计的统计结果。lsw会对上线的所有user的用户表项进行周期性扫描;在扫描到user1的用户表项时,首先根据user1的用户表项中的ocupy_meter的值,检测user1是否占用了限速资源。若user1的ocupy_meter为“no”,则表示user1未占用限速资源。lsw首先记录当前时间的时间戳,同时记录第一统计资源的当前统计数量,并将第一统计资源的当前统计数量作为第一统计数量。同时,lsw还会从user1的用户表项中读取最近一次对已转发的报文进行统计后得到的第二统计数量pre_counter,以及最近一次对已转发的报文进行统计的时间戳pre_timestamp。后根据第一统计数量、第二统计数量pre_counter、当前时间的时间戳和最近一次统计周期的时间戳pre_timestamp,计算从最近一次统计周期至当前时间内,主机的流量速率。其中,流量速率rate_current满足下述公式(1):其中,m1为第一统计数量;m2为第二统计数量pre_counter;t1为当前时间的时间戳;t2为最近一次统计周期的时间戳pre_timestamp。此处,需要注意的是,从用户表项中读取第一统计资源最近一次对已转发的报文进行统计后得到的第二统计数量pre_counter和第二统计数量对应的时间戳pre_timestamp均为空,或者均为0时,则说明当前不需要计算用户速率。检测流量速率rate_current是否大于预设的流量速率阈值config_rate。若否,则在本周期内,流量速率不大于预设的流量阈值config_rate,不满足限速条件,等待下一个扫描周期。若是,则在本周期内,流量速率大于预设的流量阈值config_rate,则确定user1满足限速条件,为user1分配限速资源。此处,在为user1分配限速资源后,将user1的用户表项中的ocupy_meter由“no”更改为“yes”。另外,lsw在为user1分配限速资源的同时,还会为user1分配第二统计资源;第二统计资源用于对user1已丢弃的报文进行数量统计。若user1的ocupy_meter为“yes”,则表示user1占用了限速资源。lsw首先记录当前时间第二统计资源的当前统计数量,并将第二统计资源的当前统计数量作为第三统计数量。同时,lsw还会从user1的用户表项中读取最近一次对丢弃的报文进行统计后得到的第四统计数量pre_meterdrop。后将第三统计数量和第四统计数量进行比对;若第三统计数量大于第四统计数量,说明在最近一次统计周期到当前时间的时间段内,有新的报文被丢弃,也即限速资源对user1进行了限速,则认为user1满足限速条件,仍然需要对user1进行限速。若第三统计数量等于第四统计数量,说明在最近一次统计周期到当前时间的时间段内,没有新的报文被丢弃,也即,限速资源并未对user1进行了限速,认为user1不满足限速条件,需要将user1占用的限速资源收回。通过该实施例二,实现了限速资源的按需分配以及重复利用,提高限速资源的利用率,在一定程度上解决了流量转发控制设备限速资源不足,无法满足对所有主机限速需求的问题。参见图4所示,本公开实施例三提供的流量控制方法包括:s401:检测主机是否占用了限速资源;如果否,则执行s402;如果是,则执行s407。s402:对已转发的报文进行统计,获取当前统计周期对已转发的报文进行数量统计后得到的第一统计数量。s403:获取上一统计周期对已转发的报文进行数量统计后得到的第二统计数量。s404:根据第一统计数量和当前统计周期,以及第二统计数量和上一统计周期,计算从上一统计周期至当前统计周期内,主机的流量速率。s405:检测流量速率是否大于预设的流量速率阈值。若否,则跳转至s401;若是,则跳转至s406。s406:确定主机满足限速条件,并向主机分配限速资源。s407:对已丢弃的报文进行统计,获取当前统计周期对已丢弃的报文进行数量统计后得到的第五统计数量。s408:检测第五统计数量是否大于零;若是,则跳转至s409;若否,则跳转至s410。s409:确定主机满足限速条件;将当前统计周期对丢弃的报文进行数量统计后得到的第五统计数量清零。跳转至s401。s410:确定主机不满足限速条件,回收主机占用的限速资源。在该实施例中,s401-s406的过程与上述实施例二中s301-s306的过程类似,在此不再赘述。若user1的ocupy_meter为“yes”,则表示user1占用了限速资源。lsw首先记录当前时间第二统计资源的当前统计数量,并将第二统计资源的当前统计数量作为第五统计数量。然后检测第五统计数量是否为0。若第五统计数量不为0,说明在最近一次统计周期到当前时间的时间段内,有新的报文被丢弃,也即限速资源对user1进行了限速,则认为user1满足限速条件,仍然需要对user1进行限速,将第二统计资源的第五统计数量清零,等待下一周期的扫描。若第五统计数量为0,说明在最近一次统计周期到当前时间的时间段内,没有新的报文被丢弃,也即,限速资源并未对user1进行了限速,认为user1不满足限速条件,需要将user1占用的限速资源收回。此处,将user1占用的限速资源收回后,将user1的用户表项中的ocupy_meter由“yes”更改为“no”。在该实施例三中,由于不需要从user1中的用户表项中读取pre_meterdrop,仅仅需要读取第二统计资源的统计结果,因此,如果采用实施例三所提供的方法实现流量控制,则用户表项如下表2所示:表2user_nopre_timestamppre_counterpre_rateconfig_rateocupy_meter1通过该实施例三,实现了限速资源的按需分配以及重复利用,提高限速资源的利用率,在一定程度上解决了流量转发控制设备限速资源不足,无法满足对所有主机限速需求的问题。参见图5所示,本公开实施例四提供的流量控制方法包括:s501:检测主机是否占用了限速资源;如果否,则执行s502;如果是,则执行s508。s502:对已转发的报文进行统计,获取当前统计周期对已转发的报文进行数量统计后得到的第一统计数量。s503:获取上一统计周期对已转发的报文进行数量统计后得到的第二统计数量。s504:根据第一统计数量和当前统计周期,以及第二统计数量和上一统计周期,计算从上一统计周期至当前统计周期内主机的流量速率。s505:检测流量速率是否大于预设的流量速率阈值。若否,则跳转至s501;若是,则跳转至s506。s506:确定主机满足限速条件,并检测主机在包括本周期的连续数量周期内是否均满足限速条件,若是,则跳转至s507;若否,则跳转至s501。s507:向主机分配限速资源。s508:对已丢弃的报文进行统计,获取当前统计周期对已丢弃的报文进行数量统计后得到的第三统计数量。s509:获取上一统计周期对已丢弃的报文进行数量统计后得到的第四统计数量。s510:检测第三统计数量是否大于第四统计数量;若否,则跳转至s511;若是,则跳转至s501。s511:确定主机不满足限速条件,并检测主机在包括本周期的连续数量周期内是否均不满足限速条件,若是,则跳转至s512;若否,则跳转至s511。s512:回收主机占用的限速资源。通过该实施例,在保证用户流量稳定的情况下,实现了限速资源的按需分配以及重复利用,提高限速资源的利用率;避免由于短时间的速率突然增高而向主机分配限速资源,以及避免由于短时间的速率突然降低而回收主机占用的限速资源,减少流量转发控制设备的工作量,同时避免由于用户流量不稳造成限速资源下发的震荡。参见图6所示,本公开实施例五提供的流量控制方法包括:s601:检测主机是否占用了限速资源;如果否,则执行s602;如果是,则执行s608。s602:对已转发的报文进行统计,获取当前统计周期对已转发的报文进行数量统计后得到的第一统计数量。s603:获取上一统计周期对已转发的报文进行数量统计后得到的第二统计数量。s604:根据第一统计数量和当前统计周期,以及第二统计数量和上一统计周期,计算从上一统计周期至当前统计周期内主机的流量速率。s605:检测流量速率是否大于预设的流量速率阈值。若否,则跳转至s601;若是,则跳转至s606。s606:确定主机满足限速条件,并检测主机在包括本周期的连续数量周期内是否均满足限速条件,若是,则跳转至s607;若否,则跳转至s601。s607:向主机分配限速资源。s608:对已丢弃的报文进行统计,获取当前统计周期对已丢弃的报文进行数量统计后得到的第五统计数量。s609:检测第五统计数量是否大于零;若是,则跳转至s601;若否,则跳转至s610。s610:确定主机不满足限速条件;并检测主机在包括本周期的连续数量周期内是否均不满足限速条件,若否,则跳转至s611;若是,则跳转至s612;s611:将当前统计周期对丢弃的报文进行数量统计后得到的第五统计数量清零。跳转至s601。s612:回收主机占用的限速资源。跳转至s601。通过该实施例,在保证用户流量稳定的情况下,实现了限速资源的按需分配以及重复利用,提高限速资源的利用率;避免由于短时间的速率突然增高而向主机分配限速资源,以及避免由于短时间的速率突然降低而回收主机占用的限速资源,减少流量转发控制设备的工作量。基于同一发明构思,本公开实施例中还提供了与上述流量控制方法对应的装置,由于本公开实施例中的装置解决问题的原理与上述方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。如图7所示,为本公开实施例提供的流量控制装置700的结构示意图,该流量控制装置700应用于认证组网中的流量转发控制设备,该流量控制装置700包括:监测模块701,用于监测主机是否满足限速条件;分配模块702,用于在主机满足限速条件,且主机当前未占用限速资源时,向主机分配限速资源;回收模块703,用于在主机不满足限速条件,且主机当前占用限速资源时,回收主机占用的限速资源。可选地,主机当前未占用限速资源时,监测模块701,具体用于:检测主机的流量速率;将流量速率与预设的流量速率阈值进行比对;若流量速率大于预设的流量速率阈值,则确定主机满足限速条件。可选地,监测模块701具体用于采用下述步骤检测主机的流量速率:对已转发的报文进行统计,获取当前统计周期对已转发的报文进行数量统计后得到的第一统计数量;获取上一统计周期对已转发的报文进行数量统计后得到的第二统计数量;根据第一统计数量和当前统计周期,以及第二统计数量和上一统计周期,计算从上一统计周期至当前统计周期内,主机的流量速率。可选地,主机当前占用限速资源时,监测模块701具体用于通过下述步骤监测主机是否满足限速条件:对已丢弃的报文进行统计,获取当前统计周期对已丢弃的报文进行数量统计后得到的第三统计数量;获取上一统计周期对已丢弃的报文进行数量统计后得到的第四统计数量;检测第三统计数量是否大于第四统计数量;若第三统计数量大于第四统计数量,则确定主机满足限速条件。可选地,主机当前占用限速资源时,监测模块701具体用于通过下述步骤监测主机是否满足限速条件:对已丢弃的报文进行统计,获取当前统计周期对已丢弃的报文进行数量统计后得到的第五统计数量;检测第五统计数量是否大于零;若是,则确定主机满足限速条件;将当前统计周期对丢弃的报文进行数量统计后得到的第五统计数量清零。可选地,监测模块701,具体用于:周期性监测主机是否满足限速条件;分配模块702,用于在连续预设数量周期内,主机满足限速条件,且主机当前未占用限速资源时,向主机分配限速资源;回收模块703,用于在若连续预设数量周期内,主机不满足限速条件,且主机当前占用限速资源时,回收主机占用的限速资源。本公开实施例上述方案中,通过监测是否满足限速条件,并在主机满足限速条件,且主机当前未占用限速资源时,向主机分配限速支援,在主机不满足限速条件,且主机当前占用了限速资源时,回收主机占用的限速资源,从而实现了限速资源的按需分配,重复利用。进而,当主机需要限速时,为主机分配限速资源;当主机不需要限速时,则不为主机分配限速资源,使得数量有限的限速资源能够通过这种按需分配的方式被多个主机使用,以解决流量转发控制设备资源不足,无法满足对所有主机限速需求的问题。如图8所示,为本公开实施例提供的流量控制装置800结构示意图,该流量控制装置800包括处理器81、存储器82和总线83,处理器81和存储器82之间通过总线83连接;存储器82中存储有执行指令,处理器81运行执行指令,以实现下述方法:监测主机是否满足限速条件;若主机满足限速条件,且主机当前未占用限速资源,则向主机分配限速资源;若主机不满足限速条件,且主机当前占用限速资源,则回收主机占用的限速资源。可选地,主机当前未占用限速资源时,处理器81具体用于通过下述步骤监测主机是否满足限速条件,具体包括:检测主机的流量速率;将流量速率与预设的流量速率阈值进行比对;若流量速率大于预设的流量速率阈值,则确定主机满足限速条件。可选地,处理器81具体用于通过下述步骤检测主机的流量速率:对已转发的报文进行统计,获取当前统计周期对已转发的报文进行数量统计后得到的第一统计数量;获取上一统计周期对已转发的报文进行数量统计后得到的第二统计数量;根据第一统计数量和当前统计周期,以及第二统计数量和上一统计周期,计算从上一统计周期至当前统计周期内,主机的流量速率。可选地,主机当前占用限速资源时,处理器81具体用于通过下述步骤监测主机是否满足限速条件:对已丢弃的报文进行统计,获取当前统计周期对已丢弃的报文进行数量统计后得到的第三统计数量;获取上一统计周期对已丢弃的报文进行数量统计后得到的第四统计数量;检测第三统计数量是否大于第四统计数量;若第三统计数量大于第四统计数量,则确定主机满足限速条件。可选地,主机当前占用限速资源时,处理器81具体用于通过下述步骤监测主机是否满足限速条件,具体包括:对已丢弃的报文进行统计,获取当前统计周期对已丢弃的报文进行数量统计后得到的第五统计数量;检测第五统计数量是否大于零;若是,则确定主机满足限速条件;将当前统计周期对丢弃的报文进行数量统计后得到的第五统计数量清零。可选地,处理器81具体用于:周期性监测主机是否满足限速条件;若连续预设数量周期内,主机满足限速条件,且主机当前未占用限速资源,则向主机分配限速资源;若连续预设数量周期内,主机不满足限速条件,且主机当前占用限速资源,则回收主机占用的限速资源。对应于上述流量控制方法及装置,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述流量控制方法的步骤。本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1