基于令牌桶的流量监管方法及装置的制造方法

文档序号:9306637阅读:303来源:国知局
基于令牌桶的流量监管方法及装置的制造方法
【技术领域】
[0001 ] 本发明涉及通讯技术领域,尤其涉及一种基于令牌桶的流量监管方法及装置。
【背景技术】
[0002]目前,分组交换设备通常采用流量监管(Policing)对业务流的速率进行限制,以实现对每个业务流的带宽控制。图1是现有技术中典型的流量监管的应用示意图,如图1所示,FTP (File Transfer Protocol,文件传输协议)客户端PCllOl通过分组交换设备A102和分组交换设备B103从FTP服务器PC2104进行FTP下载的应用,分组交换设备A102配置了基于令牌桶的流量限速功能,如果分组交换设备A102中的流量监管功能所能够配置的承诺突发长度CBS或超额突发长度EBS不是足够大(即令牌桶桶深的可设置范围的最大值过小),则不能保证客户的平均下载速率。
[0003]现有技术中基于令牌桶的流量监管方法通常包括以下两种:(一)流量限速算法由硬件微引擎实现;(二)流量限速算法由软件算法模块实现。然而,当流量限速算法由硬件微引擎实现时,由于限速参数区中CBS/EBS的位宽固定,从而限定了最大值(即限定了令牌桶桶深的可设置范围的最大值),当CBS/EBS取最大值仍然无法满足限速需求时,就会出现不能保证客户的平均下载速率的情况。而当流量限速算法由软件算法模块实现时,限速参数区中CBS/EBS的位宽可变,当CBS/EBS取最大值仍然无法满足需求时,可以通过扩展限速参数区中CBS/EBS的位宽已达到满足限速需求的目的,但是该方法是以牺牲较大存储空间为代价的,当存储空间不够时,则难以扩展限速参数区中CBS/EBS的位宽(即难以扩展令牌桶桶深)。而常用的按比例控制令牌发放速度和令牌领取速度的扩展CBS/EBS方法,虽然可以解决上述方法(一)和方法(二)的不足之处,但是该方法的限速精度较低。

【发明内容】

[0004]本发明的主要目的是提供一种具有相同发明构思的基于令牌桶的流量监管方法和装置,旨在提闻限速精度。
[0005]为了达到上述目的,本发明提出一种基于令牌桶的流量监管方法,该方法包括以下步骤:
[0006]获取当前接收报文的长度值和限速参数索引;
[0007]将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;
[0008]根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;
[0009]根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果;
[0010]根据所述限速结果及预置限速条件,对所述当前接收报文进行限速处理,并将所述新的报文尾数或所述上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
[0011]优选地,所述根据所述限速结果及预置限速条件,对所述当前接收报文进行限速处理,并将所述新的报文尾数或所述上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数的步骤具体为:
[0012]当所述限速结果满足预置限速条件时,将所述当前接收报文进行转发处理,并将所述新的报文尾数作为当前接收报文的长度值的尾数;
[0013]当所述限速结果不满足预置限速条件时,将所述当前接收报文进行丢弃处理,并将所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
[0014]优选地,所述将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值的步骤之前还包括:
[0015]获取前一个接收报文的长度值的尾数。
[0016]优选地,所述根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值的步骤之前还包括:
[0017]获取令牌桶桶深参数,所述令牌桶桶深参数包括尾数掩码值和报文长度移位值。
[0018]优选地,所述根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值的步骤具体为:
[0019]将所述新的报文长度值和所述尾数掩码值做与运算,获得新的报文尾数;按照所述报文长度移位值,对所述新的报文长度值做右移运算,获得当前需要限速的实际报文长度值。
[0020]本发明还提出一种基于令牌桶的流量监管装置,该装置包括接收模块、采集模块、计算模块、限速模块、决策模块及发送模块;其中,
[0021]所述接收模块,用于接收以太网报文;
[0022]所述采集模块,用于获取当前接收报文的长度值和限速参数索引;
[0023]所述计算模块,将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;以及根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;
[0024]限速模块,用于根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果;
[0025]所述决策模块,用于根据所述限速结果及预置限速条件,将所述新的报文尾数或所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数;
[0026]所述发送模块,用于根据所述限速结果及预置限速条件,对所述当前接收报文进行转发或丢弃处理。
[0027]优选地,所述决策模块具体用于:
[0028]当所述限速结果满足预置限速条件时,将所述新的报文尾数作为当前接收报文的长度值的尾数;
[0029]当所述限速结果不满足预置限速条件时,将所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
[0030]优选地,所述发送模块具体用于:
[0031]当所述限速结果满足预置限速条件时,将所述当前接收报文进行转发处理;
[0032]当所述限速结果不满足预置限速条件时,将所述当前接收报文进行丢弃处理。
[0033]优选地,所述采集模块还用于:
[0034]获取前一个接收报文的长度值的尾数;以及获取令牌桶桶深参数,所述令牌桶桶深参数包括尾数掩码值和报文长度移位值。
[0035]优选地,所述计算模块具体用于:
[0036]将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;以及将所述新的报文长度值和所述尾数掩码值做与运算,获得新的报文尾数;并按照所述报文长度移位值,对所述新的报文长度值做右移运算,获得当前需要限速的实际报文长度值。
[0037]本发明提出的基于令牌桶的流量监管方法,首先获取当前接收报文的长度值和限速参数索引,并将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;然后根据得到的新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;接着,根据当前需要限速的实际报文长度值及之前获取的限速参数索引,获得限速结果;最后,根据限速结果及预置限速条件,对当前接收报文进行限速处理,并将新的报文尾数或上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数。本发明提高了限速精度。
【附图说明】
[0038]图1是现有技术中典型的流量监管的应用示意图;
[0039]图2是本发明基于令牌桶的流量监管方法一实施例的流程示意图;
[0040]图3是本发明基于令牌桶的流量监管方法另一实施例的流程示意图;
[0041]图4是本发明基于令牌桶的流量监管装置一实施例的模块结构原理图。
[0042]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0043]以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0044]本发明提出一种基于令牌桶的流量监管方法。
[0045]参照图2,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1