一种实现多级承诺访问速率控制的方法及相关设备技术

技术编号:14975739 阅读:83 留言:0更新日期:2017-04-03 03:29
一种实现多级承诺访问速率控制的方法及相关设备,该方法包括:对数据包进行本级承诺访问速率CAR控制;若所述数据包未通过,且所述数据包通过了所述本级CAR之前的N级CAR控制,获取所述数据包对应的第一CAR信息,所述第一CAR信息包括所述N级CAR中的每一级CAR的标识和所述数据包通过所述N级CAR中的每一级CAR控制时消耗的令牌数,N为正整数,所述本级CAR和所述N级CAR同属一个CAR组;根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR,M为小于等于N的正整数。本发明专利技术可以提高带宽利用率。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种实现多级承诺访问速率控制的方法及相关设备
技术介绍
在网络通信过程中,网络处理器(英文:networkprocessor,NP)通常需要对用户发送的数据进行流量控制。所谓的流量控制是针对网络中传送的数据包采用不同的承诺访问速率(英文:committedaccessedrate,CAR)进行传输控制。CAR是网际协议(英文:internetprotocol,IP)网络中重要而有效的带宽管理方式。通常在网络的边沿接口处通过配置CAR来控制IP流量以特定的速率进出网络,从而有利于网络的运营商更好地经营网络,提供有保障的网络服务质量(英文:qualityofservice,QoS)。CAR对速率的控制是采用令牌桶(英文:tokenbucket,TB)算法实现的。请参见图1,令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,每个令牌代表允许通过固定数量的字节数,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。当数据包到达后,比较数据包的大小和当前令牌桶中的令牌数所能代表的字节数,若令牌数所代表的字节数大于等于数据包的长度,说明流量控制在允许的范围内,则判定这个数据包通过,同时从令牌桶中减去数据包长度所对应的令牌数;若令牌数所代表的字节数小于数据包的长度,说明已经耗费太多令牌,流量超标了,此时就将这个数据包丢弃。现有技术存在的技术问题在于:数据包需要在一个CAR组(包括多个相互独立的CAR)内经过多级CAR控制时,因为某次经过CAR控制时令牌桶中的令牌不足需要丢弃数据包,该数据包之前经过CAR控制时所申请的令牌已经被消耗,使该CAR组出现令牌丢失造成限速不准,影响带宽利用率。具体的,请参见图2所示,CAR组包括CAR0、CAR1和CAR2。数据流Flow0的速率为1Mbps,数据流Flow1的速率为9Mbps。其中数据流Flow0将依次经过CAR0和CAR1,数据流Flow1将依次经过CAR0和CAR2。CAR0限速2Mbps,CAR1和CAR2均限速1Mbps。因为令牌桶不对数据包进行识别,所以CAR0的令牌90%被Flow1消耗,导致数据流Flow0在CAR0通过的流量只有0.2Mbps,最终通过CAR1的流量也只有0.2Mbps。造成CAR1限速后用户实际使用的带宽小于限速带宽,导致CAR1的带宽利用率低。
技术实现思路
本专利技术实施例提供了一种实现多级承诺访问速率控制的方法及相关设备,可以提高带宽利用率。第一方面,提供了一种实现多级承诺访问速率控制的方法,包括:对数据包进行本级CAR控制;若所述数据包未通过,且所述数据包通过了所述本级CAR之前的N级CAR控制,获取所述数据包对应的第一CAR信息,所述第一CAR信息包括所述N级CAR中的每一级CAR的标识和所述数据包通过所述N级CAR中的每一级CAR控制时消耗的令牌数,N为正整数,所述本级CAR和所述N级CAR同属一个CAR组;根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR,M为小于等于N的正整数。通过实施第一方面描述的方法,当对数据包进行多级CAR时,若所述数据包进行本级CAR时未通过,则获取所述数据包通过之前的N级CAR时消耗的令牌数,按照消耗的令牌数归还令牌给之前的CAR,使得之前的CAR的令牌数增多,这样,速率不同的多个数据流经过之前的CAR时,速率小的数据流就能够获取到足够的令牌,不会造成过分限速,提高带宽利用率。结合第一方面,在第一方面第一种实现中,所述对数据包进行本级CAR控制之后,还包括:若所述数据包通过,生成所述数据包对应的第二CAR信息,所述第二CAR信息包括所述本级CAR的标识和所述数据包通过所述本级CAR控制时消耗的令牌数。通过执行上述步骤,可以将所述数据包消耗的令牌数进行记录,为后续进行令牌归还提供参考依据。结合第一方面或第一方面第一种实现,在第一方面第二种实现中,所述第一CAR信息还包括用于指示所述N级CAR中的每一级CAR的令牌算法的信息;所述方法还包括:当归还令牌给所述M级CAR中的第i级CAR时,若所述第i级CAR原有的令牌数与归还给所述第i级CAR的令牌数之和大于所述第i级CAR的令牌桶容量,则将超出的令牌按照所述第i级CAR的令牌算法进行令牌溢出处理,其中,i为小于等于M的正整数。结合第一方面或第一方面任意一种实现,在第一方面第三种实现中,所述根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR之后,所述方法还包括:清除所述数据包对应的所述第一CAR信息。通过执行上述步骤,可以及时释放CAR信息,防止存储空间泄露。结合第一方面或第一方面任意一种实现,在第一方面第四种实现中,所述根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR,包括:根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并将所述数据包通过所述M级CAR控制时消耗的令牌数按照预设比例缩小,按照缩小后的令牌数归还令牌给对应的所述M级CAR。第二方面,提供了一种网络处理器,包括:处理器和存储器,所述存储器用于存储实现多级承诺访问控制的程序,所述处理器用于调用所述存储器存储的程序,执行如下操作:所述处理器对数据包进行本级CAR控制;若所述数据包未通过,且所述数据包通过了所述本级CAR之前的N级CAR控制,则所述处理器获取所述数据包对应的第一CAR信息,所述第一CAR信息包括所述N级CAR中的每一级CAR的标识和所述数据包通过所述N级CAR中的每一级CAR控制时消耗的令牌数,N为正整数,所述本级CAR和所述N级CAR同属一个CAR组;所述处理器根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR,M为小于等于N的正整数。通过执行上述操作,当对数据包进行多级CAR时,若所述数据包进行本级CAR时未通过,则获取所述数据包通过之前的N级CAR时消耗的令牌数,按照消耗的令牌数归还令牌给之前的CAR,使得之前的CAR的本文档来自技高网
...

【技术保护点】
一种实现多级承诺访问控制的方法,其特征在于,包括:对数据包进行本级承诺访问速率CAR控制;若所述数据包未通过,且所述数据包通过了所述本级CAR之前的N级CAR控制,获取所述数据包对应的第一CAR信息,所述第一CAR信息包括所述N级CAR中的每一级CAR的标识和所述数据包通过所述N级CAR中的每一级CAR控制时消耗的令牌数,N为正整数,所述本级CAR和所述N级CAR同属一个CAR组;根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR,M为小于等于N的正整数。

【技术特征摘要】
1.一种实现多级承诺访问控制的方法,其特征在于,包括:
对数据包进行本级承诺访问速率CAR控制;
若所述数据包未通过,且所述数据包通过了所述本级CAR之前的N级CAR
控制,获取所述数据包对应的第一CAR信息,所述第一CAR信息包括所述N
级CAR中的每一级CAR的标识和所述数据包通过所述N级CAR中的每一级
CAR控制时消耗的令牌数,N为正整数,所述本级CAR和所述N级CAR同属
一个CAR组;
根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所
述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级
CAR,M为小于等于N的正整数。
2.根据权利要求1所述的方法,其特征在于,所述对数据包进行本级承诺
访问速率CAR控制之后,还包括:
若所述数据包通过,生成所述数据包对应的第二CAR信息,所述第二CAR
信息包括所述本级CAR的标识和所述数据包通过所述本级CAR控制时消耗的
令牌数。
3.根据权利要求1或2所述的方法,其特征在于,当归还令牌给所述M级
CAR后,所述M级CAR中的每一级CAR都满足公式Ai=min[(Bi+Ci),Di],其
中,Ai为所述M级CAR中的第i级CAR的令牌数,Bi为所述M级CAR中的
第i级CAR原有的令牌数,Ci为归还给所述M级CAR中的第i级CAR的令牌
数,Di为所述M级CAR中的第i级CAR的令牌桶容量,其中,i为小于等于M
的正整数。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一CAR信息
还包括用于指示所述N级CAR中的每一级CAR的令牌算法的信息;所述方法
还包括:
当归还令牌给所述M级CAR中的第i级CAR时,若所述第i级CAR原有

\t的令牌数与归还给所述第i级CAR的令牌数之和大于所述第i级CAR的令牌桶
容量,则将超出的令牌按照所述第i级CAR的令牌算法进行令牌溢出处理,其
中,i为小于等于M的正整数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述N级
CAR中的M级CAR的标识确定所述M级CAR,并按照所述数据包通过所述
M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR之后,所述方
法还包括:
清除所述数据包对应的所述第一CAR信息。
6.一种网络处理器,其特征在于,包括:处理器和存储器,所述存储器用
于存储实现多级承诺访问控制的程序,所述处理器用于调用所述存储器存储的
程序,执行如下操作:
所述处理器对数据包进行本级承诺访问速率CAR控制;
若所述数据包未通过,且所述数据包通过了所述本级CAR之前的N级CAR
控制,则所述处理器获取所述数据包对应的第一CAR信息,所述第一CAR信
息包括所述N级CAR中的每一级CAR的标识和所述数据包通过所述N级CAR
中的每一级CAR控制时消耗的令牌数,N为正整数,所述本级CAR和所述N
级CAR同属一个CAR组;
所述处理器根据所述N级CAR中的M级CAR的标识确定所述M级CAR,
并按照所述数据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的
所述M级CAR,M为小于等于N的正整数。
7.根据权利要求6所述的网络处理器,其特征在于,所述处理器对数据包
进行本级承诺访问速率CAR控制之后,所述处理器还用于执行:
若所述数据包通过,则所述处理器生成所述数据包对应的第二CAR信息,
所述第二CAR信息包括所述本级CAR的标识和所述数据包通过所述本级CAR
控制时消耗的令牌数。
8.根据权利要求6或7所述的网络处理器,其特征在于,当归还令牌给所

\t述M级CAR后,所述M级CAR中的每一级CAR都满足公式Ai=min[(Bi+Ci),
Di],其中,Ai为所述M级CAR中的第i级CAR的令牌数,Bi为所述M级CAR
中的第i级CAR原有的令牌数,Ci为归还给所述M级CAR中的第i级CAR的
令牌数,Di为所述M级CAR中的第i级CAR的令牌桶容量,其中,i为小于等
于M的正整数。
9.根据权利要求6-8任一项所述的网络处理器,其特征在于,所述第一CAR
信息还包括用于指示所述N级CAR中的每一级CAR的令牌算法的信息;所述
处理器还用于执行:
当归还令牌给所述M级CAR中的第i级CAR时,若所述第i级CAR原有
的令牌数与归还给所述第i级CAR的令牌数之和大于所述第i级CAR的令牌桶
容量,则所述处理器将超出的令牌按照所述第i级CAR的令牌算法进行令牌溢
出处理,其中,i为小于等于M的正整数。
10.根据权利要求6-9任一项所述的网络处理器,其特征在于,所述处理器
根据所述N级CAR中的M级CAR的标识确定所述M级CAR,并按照所述数
据包通过所述M级CAR控制时消耗的令牌数归还令牌给对应的所述M级CAR
之后,所述处理器还用于执行:
所述处理器清除所述数据包对应的所述第一CAR信息。
11.一种网络处理器,其特征在于,包括:处理器和加速器,其中,
所述处理器,用于控制所述加速器对数据包进行本级承诺访问速率CAR控
制;
所述处理器,还用于若所述数据包未通过,且所述数据包通过了所述本级
CAR之前的N级CAR控制,则获取所述数据包对应的第一CAR信息,所述第
一CAR信息包括所述N级CAR中的每一级CAR的标识和所述数据包通过所述
N级CAR中的每一级CAR控制时消耗的令牌数,N为正整数,所述本级CAR
和所述N级CAR同属一个CAR组;
所述处理器,还用于控制所述加速器根据所述N级CAR中的M级CAR的
标识确定所述M级CAR,并按照所述数据包通过所述M级CAR控制时消耗的

\t令牌数归还令牌给对应的所述M级CAR,M为小于等于N的正整数。
12.根据权利要求11所述的网络处理器,其特征在于,所述处理器,用于
控制所述加速器对数据包进行本级承诺访问速率CAR控制之后,所述处理器还
用于:
若所述数据包通过,则所述处理器生成所述数据包对应的第二CAR信息,
所述第二CAR信息包括所述本级CAR的标识和所述数据包通过所述本级CAR
控制时消耗的令牌数。
13.根据权利要求11或12所述的网络处理器,其特征在于,当归还令牌
给所述M级CAR后,所述M级CAR中的每一级CAR...

【专利技术属性】
技术研发人员:马力
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1