[发明专利]一种基于令牌桶算法的数据包处理方法及装置有效
申请号: | 200910009064.7 | 申请日: | 2009-02-16 |
公开(公告)号: | CN101478494A | 公开(公告)日: | 2009-07-08 |
发明(设计)人: | 王煜 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) | 代理人: | 武晨燕;蒋雅洁 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 令牌 算法 数据包 处理 方法 装置 | ||
技术领域
本发明涉及数据流量控制技术领域,特别涉及一种基于令牌桶算法的数据包处理方法及装置。
背景技术
在当前的网络通信系统中,为了使有限的网络资源能够充分地发挥作用,需要对用户发送的数据流量进行流量控制,即对网络中传送的数据包采用不同的承诺访问速率(CAR)进行流量控制。
目前,CAR一般采用单令牌桶算法来进行流量控制。令牌桶中一个令牌代表一个字节。单令牌桶算法的基本原则如下:
1、假如用户配置的令牌平均发送速率为r,则每隔1/r秒一个令牌被注入到令牌桶中;
2、假设令牌桶最多可以存放b个令牌,如果令牌到达时令牌桶已满,则丢弃该令牌;
3、当一个x字节的数据包到达令牌桶时,如果令牌桶中令牌数大于等于x个,则从令牌桶中删除x个令牌,并且该数据包被转发;否则,如果令牌桶中令牌数少于x个,则认为该数据包在流量限制之外而被丢弃。
由以上分析可知,数据包每经一次单令牌桶算法处理后,只有转发和丢弃两种策略。假设某个数据包经第一次单令牌桶算法处理后被转发,而再经第二次单令牌桶算法处理后却被丢弃,这样就浪费了第一次处理时占用的带宽,也就导致最终的流量控制不准确。其中,所述带宽对应令牌桶中的令牌。另外,由于单令牌桶算法只涉及一个流量控制值,即为令牌桶的容量,使得单令牌桶算法不能在网络状况拥塞和不拥塞两种状况下作区别处理。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于令牌桶算法的数据包处理方法及装置,以有效利用带宽并提高流量控制的准确性。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于令牌桶算法的数据包处理方法,设置令牌桶C、P和B,且令牌桶C、P和B中当前的令牌数分别为TC、TP和TB,在色敏模式下,该方法还包括:
收到数据包并获取数据包的大小为X字节;
判断收到的数据包颜色是否为红色,如果是,则将数据包置为红色;否则,判断数据包是否为蓝色;
如果数据包为蓝色,判断TB是否小于X,如果是,则将数据包置为红色;否则,将数据包置为蓝色,且将当前TC、TP、TB分别更新为TC减去X、TP减去X、TB减去X;
如果数据包不是蓝色,判断TP是否小于X,如果是,则将数据包置为红色;否则,判断数据包是否为黄色;
如果数据包为黄色,则将数据包置为黄色,且将令牌桶P中的当前令牌数TP更新为TP减去X;
否则,数据包为绿色,接着判断TC是否小于X,如果是,则将数据包置为黄色,且将当前TP更新为TP减去X;否则,将数据包置为蓝色,且将当前TC、TP分别更新为TC减去X、TP减去X。
其中,在色盲模式下,所述方法进一步包括:收到数据包并获取数据包的大小为Y字节;
判断TB是否小于Y,如果是,则将数据包置为红色;否则,判断TP是否小于Y;
如果TP小于Y,则将数据包置为红色;否则,判断TC是否小于Y;
如果TC小于Y,则将数据包置为黄色,且将当前TP更新为TP减去Y;否 则,将数据包置为蓝色,且将当前TC、TP分别更新为TC减去Y、TP减去Y。
其中,所述方法进一步包括:根据不同颜色数据包对应的转发策略,处理不同颜色的数据包。
所述根据不同颜色数据包对应的转发策略,处理不同颜色的数据包具体为:
所述将数据包置为红色之后,丢弃该数据包;或者
所述将数据包置为蓝色之后,转发该数据包;或者
所述将数据包置为黄色之后,如果当时网络状况拥塞,则丢弃该数据包,否则,转发该数据包。
一种基于令牌桶算法的数据包处理装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910009064.7/2.html,转载请声明来源钻瓜专利网。