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

文档序号:11436575阅读:341来源:国知局
并行流量控制方法及装置与流程

本发明涉及通信技术领域,尤指一种并行流量控制方法及装置。



背景技术:

随着对等计算(peertopeer,p2p)、在线视频等大流量网络协议的普及,局域网出口的带宽很容易就被p2p下载、在线视频等流量较大的应用耗尽。由于出口带宽不可能不计成本地扩容,必须要对p2p下载、在线视频等流量进行限制,以保证网页(web)浏览、网络游戏等流量较小的应用正常使用。因此,局域网出口的流量控制就成了出口网关设备的基础功能。

目前的流量控制方法中,采用的是通道和令牌的模型,每个通道定期被赋予不同数量的令牌,拥有足够令牌的通道可以发送报文。在这种模型中,需要事先根据需求定义包括通道以及匹配规则的流量控制策略集。例如:出口带宽为20m,某高校网管人员根据应用类型定义流量控制策略集,其中包括的通道以及通道的匹配规则为:通道a的带宽为10m,匹配规则是网络游戏报文;通道b的带宽为7m,匹配规则为web浏览报文;通道c的带宽为3m,匹配规则为p2p下载报文。网络设备接收到报文后,根据报文的应用类型确定对应的通道;每个通道会定期接收到固定数量的令牌;当报文的应用类型对应的通道持有足够的令牌时,就可以发送报文,当报文的应用类型对应的通道未持有足够的令牌时,则停止发包。

上述流量控制方法中,仅能实现针对一个流量控制策略集进行流量控制,无法实现针对多个流量控制策略集进行流量控制。



技术实现要素:

本发明实施例提供一种并行流量控制方法及装置,用以解决现有的流量控制方法中存在的仅能实现针对一个流量控制策略集进行流量控制,无法实现针对多个流量控制策略集进行流量控制的问题。

根据本发明实施例,提供一种并行流量控制控制方法,应用在网络设备的端口上,包括:

接收到报文后,确定与所述端口对应的流量控制策略集的个数,每个所述流量控制策略集包括的至少一个通道的带宽之和为所述端口的带宽;

若与所述端口对应的流量控制策略集的个数大于等于2,则确定所述报文在每个所述流量控制策略集中对应的选定通道;

确定每个所述选定通道是否允许发送所述报文;

若每个所述选定通道均允许发送所述报文,则发送所述报文。

具体的,确定与所述端口对应的流量控制策略集的个数,具体包括:

获取端口与流量控制策略集的第一对应关系;

在所述第一对应关系中查找所述端口对应的流量控制策略集;

统计与所述端口对应的流量控制策略集的个数。

具体的,确定所述报文在每个所述流量控制策略集中对应的选定通道,具体包括:

针对每个所述流量控制策略集,执行:

获取当前流量控制策略集包括的匹配规则与通道的第二对应关系;

确定所述报文在所述当前流量控制策略集中满足的匹配规则;

在所述第二对应关系中查找所述报文在所述当前流量控制策略集中满足的匹配规则对应的通道,得到所述报文在所述当前流量控制策略集中对应的选定通道。

具体的,确定每个所述选定通道是否允许发送所述报文,具体包括:

针对每个所述选定通道,执行:

确定当前选定通道的剩余令牌的大小是否大于等于所述报文的大小;

若所述当前选定通道的剩余令牌的大小大于等于所述报文的大小,则在所述报文中添加允许发送标识;若所述当前选定通道的剩余令牌的大小小于所述报文的大小,则在所述报文中添加禁止转发标识。

可选的,还包括:

若至少一个所述选定通道不允许发送所述报文,则丢弃所述报文。

本发明实施例还提供一种并行流量控制装置,应用在网络设备的端口上,包括:

第一确定模块,用于接收到报文后,确定与所述端口对应的流量控制策略集的个数,每个所述流量控制策略集包括的至少一个通道的带宽之和为所述端口的带宽;

第二确定模块,用于若与所述端口对应的流量控制策略集的个数大于等于2,则确定所述报文在每个所述流量控制策略集中对应的选定通道;

第三确定模块,用于确定每个所述选定通道是否允许发送所述报文;

发送模块,用于若每个所述选定通道均允许发送所述报文,则发送所述报文。

具体的,所述第一确定模块,具体用于:

获取端口与流量控制策略集的第一对应关系;

在所述第一对应关系中查找所述端口对应的流量控制策略集;

统计与所述端口对应的流量控制策略集的个数。

具体的,所述第二确定模块,具体用于:

针对每个所述流量控制策略集,执行:

获取当前流量控制策略集包括的匹配规则与通道的第二对应关系;

确定所述报文在所述当前流量控制策略集中满足的匹配规则;

在所述第二对应关系中查找所述报文在所述当前流量控制策略集中满足的匹配规则对应的通道,得到所述报文在所述当前流量控制策略集中对应的选定通道。

具体的,所述第三确定模块,具体用于:

针对每个所述选定通道,执行:

确定当前选定通道的剩余令牌的大小是否大于等于所述报文的大小;

若所述当前选定通道的剩余令牌的大小大于等于所述报文的大小,则在所述报文中添加允许发送标识;若所述当前选定通道的剩余令牌的大小小于所述报文的大小,则在所述报文中添加禁止转发标识。

可选的,还包括丢弃模块,用于:

若至少一个所述选定通道不允许发送所述报文,则丢弃所述报文。

本发明有益效果如下:

本发明实施例提供一种并行流量控制方法及装置,通过接收到报文后,确定与所述端口对应的流量控制策略集的个数,每个所述流量控制策略集包括的至少一个通道的带宽之和为所述端口的带宽;若与所述端口对应的流量控制策略集的个数大于等于2,则确定所述报文在每个所述流量控制策略集中对应的选定通道;确定每个所述选定通道是否允许发送所述报文;若每个所述选定通道均允许发送所述报文,则发送所述报文。该方案中,当网络设备的端口对应的流量控制策略集的个数大于等于2时,可以确定该报文在每个流量控制策略集中对应的选定通道,若每个选定通道均允许发送报文,才会发送该报文,从而实现针对多个流量控制策略集进行流量控制,相对于仅能实现针对多个流量控制策略集进行流量控制的方法,具有更高的灵活性和流量控制性能。

附图说明

图1为本发明实施例中一种并行流量控制方法的流程图;

图2为本发明实施例中s11的流程图;

图3为本发明实施例中s12的流程图;

图4为本发明实施例中s13的流程图;

图5为本发明实施例中一种并行流量控制装置的结构示意图。

具体实施方式

针对现有的流量控制方法中存在的仅能实现针对一个流量控制策略集进行流量控制,无法实现针对多个流量控制策略集进行流量控制的问题,本发明实施例提供一种并行流量控制方法,该方法应用在网络设备的端口上,若网络设备包括多个端口,则每个端口都可以应用该方法。该方法的流程如图1所示,执行步骤如下:

s11:接收到报文后,确定与端口对应的流量控制策略集的个数。

网络设备在进行报文转发时,通常是通过网络设备的端口接收报文,然后通过网络设备的端口发出报文。当需要通过网络设备的端口发出报文时,可以采用本发明实施例中的并行流量控制方法。

可以预先定义好流量控制策略集,例如,某高校有出口带宽20m,网络管理员可以定义如下流量控制策略集:

按照应用类型配置流量控制策略集1:通道a1的带宽是10m,匹配规则是网络游戏报文;通道b1的带宽是7m,匹配规则为web浏览报文;通道c1的带宽是3m,匹配规则为p2p下载报文。

按照用户的互联网协议(internetprotocol,ip)地址配置流量控制策略集2:通道a2的带宽为10m,匹配规则是所有内网源ip网段为192.168.1.0的用户;通道b2的带宽为7m,匹配规则是所有内网源ip网段为192.168.2.0的用户;通道c2的3m,匹配规则是所有内网源ip网段为192.168.3.0的用户。

配置好流量控制策略集后,可以指定每个端口对应的流量控制策略集,假设还有流量控制策略集3和流量控制策略集4,那么,可以配置端口1对应的流量控制策略集是1和2,配置端口2对应的流量控制策略集是3和4。

当网络设备的端口接收到需要发出的报文后,可以首先确定该端口对应的流量控制策略集的个数。

其中,每个流量控制策略集包括的至少一个通道的带宽之和为端口的带宽。

s12:若与端口对应的流量控制策略集的个数大于等于2,则确定报文在每个流量控制策略集中对应的选定通道。

若与端口对应的流量控制策略集的个数小于2,也就是1,那么可以直接根据与端口对应的流量策略集确定是否转发该报文。若与端口对应的流量控制策略集的个数大于等于2,由于每个流量控制策略集包括至少一个通道,那么可以首先确定报文在每个流量控制策略集中对于的通道,作为选定通道。

s13:确定每个选定通道是否允许发送报文。

确定出报文在每个流量控制策略集中对应的选定通道后,可以进一步确定每个选定通道是否允许发送该报文,

s14:若每个选定通道均允许发送报文,则发送报文。

若每个选定通道均允许发送该报文,也就是说报文需要同时满足该端口对应的所有流量控制策略集,才能发送该报文;若至少一个选定通道不允许发送报文,也就是说报文至少不满足该端口对应的一个流量控制策略集,只能丢弃报文。

该方案中,当网络设备的端口对应的流量控制策略集的个数大于等于2时,可以确定该报文在每个流量控制策略集中对应的选定通道,若每个选定通道均允许发送报文,才会发送该报文,从而实现针对多个流量控制策略集进行流量控制,相对于仅能实现针对多个流量控制策略集进行流量控制的方法,具有更高的灵活性和流量控制性能。

具体的,上述s11中的确定与端口对应的流量控制策略集的个数,其实现方式如图2所示,具体包括:

s111:获取端口与流量控制策略集的第一对应关系。

配置好流量控制策略集后,可以指定每个端口对应的流量控制策略集,从而建立端口与流量控制策略集的第一对应关系,当需要确定与端口对应的流量控制策略集的个数时,可以首先获取第一对应关系。

s112:在第一对应关系中查找端口对应的流量控制策略集。

s113:统计与端口对应的流量控制策略集的个数。

通过s111-s113就可以实现确定与端口对应的流量控制策略集的个数。

具体的,上述s12中的确定报文在每个流量控制策略集中对应的选定通道,其实现方式如图3所示,针对每个流量控制策略集,执行:

s121:获取当前流量控制策略集包括的匹配规则与通道的第二对应关系。

由于当前流量控制策略集中包括匹配规则与通道的第二对应关系,因此,在确定报文在每个流量控制策略集中对应的选定通道时,可以首先获取当前流量控制策略集包括的匹配规则与通道的第二对应关系。

s122:确定报文在当前流量控制策略集中满足的匹配规则。

s123:在第二对应关系中查找报文在当前流量控制策略集中满足的匹配规则对应的通道,得到报文在当前流量控制策略集中对应的选定通道。

继续沿用s11中的示例,由于端口1对应的流量控制策略集为1和2,对于流量控制策略集集1,该报文对应的匹配规则是在线网游,对应的选定通道是a1;对于流量控制策略集2,该报文对移动匹配规则是ip地址是192.168.1.0网段内的用户,对应的选定通道是a2。

通过s121-s123就可以确定出报文在每个流量控制策略集中对应的选定通道。

具体的,上述s13中的确定每个选定通道是否允许发送报文,其实现方式如图4所示,针对每个选定通道,执行:

s131:确定当前选定通道的剩余令牌的大小是否大于等于报文的大小;若当前选定通道的剩余令牌的大小大于等于报文的大小,则执行s132;若当前选定通道的剩余令牌的大小小于报文的大小,则执行s133。

可以根据当前选定通道的剩余令牌的大小与报文的大小关系来确定是否发送该报文。

需要说明的是,当前选定通道的剩余令牌可以是当前选定通道实际的剩余令牌,可以是从该端口的总带宽借用的剩余令牌。

s132:在报文中添加允许发送标识。

若当前选定通道的剩余令牌的大小大于等于报文的大小,则确定可以发送该报文,并在报文中添加允许发送标识。

s133:在报文中添加禁止转发标识。

若当前选定通道的剩余令牌的大小大于等于报文的大小,则确定可以发送该报文,并在报文中添加允许发送标识。

需要说明的是,对于网络设备而言吞吐率是最重要的指标,由于本发明实施例中采用多个流量控制策略集并行调度的方式,可以充分利用网络设备的转发性能,对网络设备的整体性能影响不大;如果不考虑网络设备的吞吐性能,可以采用串行的方式,即报文先进入一个流量控制策略集完成调度,再进入另一个流量控制策略集进行调度,最终确定出是否可以转发报文。

基于同一发明构思,本发明实施例提供一种并行流量控制装置,该装置可以应用在网络设备的端口中,结构如图5所示,包括:

第一确定模块51,用于接收到报文后,确定与端口对应的流量控制策略集的个数,每个流量控制策略集包括的至少一个通道的带宽之和为端口的带宽;

第二确定模块52,用于若与端口对应的流量控制策略集的个数大于等于2,则确定报文在每个流量控制策略集中对应的选定通道;

第三确定模块53,用于确定每个选定通道是否允许发送报文;

发送模块54,用于若每个选定通道均允许发送报文,则发送报文。

该方案中,当网络设备的端口对应的流量控制策略集的个数大于等于2时,可以确定该报文在每个流量控制策略集中对应的选定通道,若每个选定通道均允许发送报文,才会发送该报文,从而实现针对多个流量控制策略集进行流量控制,相对于仅能实现针对多个流量控制策略集进行流量控制的方法,具有更高的灵活性和流量控制性能。

具体的,第一确定模块51,具体用于:

获取端口与流量控制策略集的第一对应关系;

在第一对应关系中查找端口对应的流量控制策略集;

统计与端口对应的流量控制策略集的个数。

具体的,第二确定模块52,具体用于:

针对每个流量控制策略集,执行:

获取当前流量控制策略集包括的匹配规则与通道的第二对应关系;

确定报文在当前流量控制策略集中满足的匹配规则;

在第二对应关系中查找报文在当前流量控制策略集中满足的匹配规则对应的通道,得到报文在当前流量控制策略集中对应的选定通道。

具体的,第三确定模块53,具体用于:

针对每个选定通道,执行:

确定当前选定通道的剩余令牌的大小是否大于等于报文的大小;

若当前选定通道的剩余令牌的大小大于等于报文的大小,则在报文中添加允许发送标识;若当前选定通道的剩余令牌的大小小于报文的大小,则在报文中添加禁止转发标识。

可选的,还包括丢弃模块54,用于:

若至少一个选定通道不允许发送报文,则丢弃报文。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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