CN105024932A - 基于令牌桶的流量监管方法及装置 - Google Patents
基于令牌桶的流量监管方法及装置 Download PDFInfo
- Publication number
- CN105024932A CN105024932A CN201410160940.7A CN201410160940A CN105024932A CN 105024932 A CN105024932 A CN 105024932A CN 201410160940 A CN201410160940 A CN 201410160940A CN 105024932 A CN105024932 A CN 105024932A
- Authority
- CN
- China
- Prior art keywords
- message
- length value
- speed limit
- mantissa
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于令牌桶的流量监管方法及装置,该方法包括:获取当前接收报文的长度值和限速参数索引;将当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;根据新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;根据当前需要限速的实际报文长度值及限速参数索引中对应的限速参数,获得限速结果;根据所述限速结果及预置限速条件,对当前接收报文进行限速处理,并将新的报文尾数或上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数。本发明能够实现提高限速精度的目的。
Description
技术领域
本发明涉及通讯技术领域,尤其涉及一种基于令牌桶的流量监管方法及装置。
背景技术
目前,分组交换设备通常采用流量监管(Policing)对业务流的速率进行限制,以实现对每个业务流的带宽控制。图1是现有技术中典型的流量监管的应用示意图,如图1所示,FTP(File Transfer Protocol,文件传输协议)客户端PC1101通过分组交换设备A102和分组交换设备B103从FTP服务器PC2104进行FTP下载的应用,分组交换设备A102配置了基于令牌桶的流量限速功能,如果分组交换设备A102中的流量监管功能所能够配置的承诺突发长度CBS或超额突发长度EBS不是足够大(即令牌桶桶深的可设置范围的最大值过小),则不能保证客户的平均下载速率。
现有技术中基于令牌桶的流量监管方法通常包括以下两种:(一)流量限速算法由硬件微引擎实现;(二)流量限速算法由软件算法模块实现。然而,当流量限速算法由硬件微引擎实现时,由于限速参数区中CBS/EBS的位宽固定,从而限定了最大值(即限定了令牌桶桶深的可设置范围的最大值),当CBS/EBS取最大值仍然无法满足限速需求时,就会出现不能保证客户的平均下载速率的情况。而当流量限速算法由软件算法模块实现时,限速参数区中CBS/EBS的位宽可变,当CBS/EBS取最大值仍然无法满足需求时,可以通过扩展限速参数区中CBS/EBS的位宽已达到满足限速需求的目的,但是该方法是以牺牲较大存储空间为代价的,当存储空间不够时,则难以扩展限速参数区中CBS/EBS的位宽(即难以扩展令牌桶桶深)。而常用的按比例控制令牌发放速度和令牌领取速度的扩展CBS/EBS方法,虽然可以解决上述方法(一)和方法(二)的不足之处,但是该方法的限速精度较低。
发明内容
本发明的主要目的是提供一种具有相同发明构思的基于令牌桶的流量监管方法和装置,旨在提高限速精度。
为了达到上述目的,本发明提出一种基于令牌桶的流量监管方法,该方法包括以下步骤:
获取当前接收报文的长度值和限速参数索引;
将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;
根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;
根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果;
根据所述限速结果及预置限速条件,对所述当前接收报文进行限速处理,并将所述新的报文尾数或所述上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
优选地,所述根据所述限速结果及预置限速条件,对所述当前接收报文进行限速处理,并将所述新的报文尾数或所述上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数的步骤具体为:
当所述限速结果满足预置限速条件时,将所述当前接收报文进行转发处理,并将所述新的报文尾数作为当前接收报文的长度值的尾数;
当所述限速结果不满足预置限速条件时,将所述当前接收报文进行丢弃处理,并将所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
优选地,所述将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值的步骤之前还包括:
获取前一个接收报文的长度值的尾数。
优选地,所述根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值的步骤之前还包括:
获取令牌桶桶深参数,所述令牌桶桶深参数包括尾数掩码值和报文长度移位值。
优选地,所述根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值的步骤具体为:
将所述新的报文长度值和所述尾数掩码值做与运算,获得新的报文尾数;按照所述报文长度移位值,对所述新的报文长度值做右移运算,获得当前需要限速的实际报文长度值。
本发明还提出一种基于令牌桶的流量监管装置,该装置包括接收模块、采集模块、计算模块、限速模块、决策模块及发送模块;其中,
所述接收模块,用于接收以太网报文;
所述采集模块,用于获取当前接收报文的长度值和限速参数索引;
所述计算模块,将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;以及根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;
限速模块,用于根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果;
所述决策模块,用于根据所述限速结果及预置限速条件,将所述新的报文尾数或所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数;
所述发送模块,用于根据所述限速结果及预置限速条件,对所述当前接收报文进行转发或丢弃处理。
优选地,所述决策模块具体用于:
当所述限速结果满足预置限速条件时,将所述新的报文尾数作为当前接收报文的长度值的尾数;
当所述限速结果不满足预置限速条件时,将所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
优选地,所述发送模块具体用于:
当所述限速结果满足预置限速条件时,将所述当前接收报文进行转发处理;
当所述限速结果不满足预置限速条件时,将所述当前接收报文进行丢弃处理。
优选地,所述采集模块还用于:
获取前一个接收报文的长度值的尾数;以及获取令牌桶桶深参数,所述令牌桶桶深参数包括尾数掩码值和报文长度移位值。
优选地,所述计算模块具体用于:
将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;以及将所述新的报文长度值和所述尾数掩码值做与运算,获得新的报文尾数;并按照所述报文长度移位值,对所述新的报文长度值做右移运算,获得当前需要限速的实际报文长度值。
本发明提出的基于令牌桶的流量监管方法,首先获取当前接收报文的长度值和限速参数索引,并将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;然后根据得到的新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;接着,根据当前需要限速的实际报文长度值及之前获取的限速参数索引,获得限速结果;最后,根据限速结果及预置限速条件,对当前接收报文进行限速处理,并将新的报文尾数或上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数。本发明提高了限速精度。
附图说明
图1是现有技术中典型的流量监管的应用示意图;
图2是本发明基于令牌桶的流量监管方法一实施例的流程示意图;
图3是本发明基于令牌桶的流量监管方法另一实施例的流程示意图;
图4是本发明基于令牌桶的流量监管装置一实施例的模块结构原理图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提出一种基于令牌桶的流量监管方法。
参照图2,图2是本发明基于令牌桶的流量监管方法一实施例的流程示意图。
本发明基于令牌桶的流量监管方法包括以下步骤:
步骤S01:获取当前接收报文的长度值和限速参数索引;
具体地,本发明实施例中,当次所接收到的以太网报文称为当前接收报文,初始状态时,当前接收报文指的是第1个以太网报文。本实施例以第1个以太网报文为当前接收报文为例,对本发明基于令牌桶的流量监管方法进行描述,即步骤S01获取到的当前接收报文的长度值就是第1个以太网报文的长度值。在启用流量监管的情况下,当前接收报文(第1个以太网报文)携带了报文长度值Current Length和限速参数索引Policing Index,其中限速参数索引Policing Index包括承诺信息速率CIR、超额信息速率EIR、承诺突发长度CBS、超额突发长度EBS、颜色敏感模式、限速算法等。
本实施例中,当前接收报文的长度值Current Length的配置值为100字节,限速参数索引Policing Index的配置值为0。即本实施例中,步骤S01所获取到的当前接收报文的长度值Current Length为100,获取到的限速参数索引Policing Index为0。
本实施例中,限速参数索引Policing Index(承诺信息速率CIR、超额信息速率EIR、承诺突发长度CBS、超额突发长度EBS、颜色敏感模式、限速算法)的配置是由分组交换网设备中的主板控制平面配置的,并且,该主板控制平面还对令牌桶桶深参数进行配置,本实施例中,令牌桶桶深参数包括尾数掩码值Tail Mask和报文长度移位值Shift Right,即主板控制平面对尾数掩码值Tail Mask和报文长度移位值Shift Right进行配置,并根据配置的尾数掩码值Tail Mask和报文长度移位值Shift Right更新限速参数索引中的承诺信息速率CIR和超额信息速率EIR。本实施例中,尾数掩码值Tail Mask的配置值为0xf(十六进制),对应的二进制为“1111”(即尾数掩码值Tail Mask占用4个比特位),本实施例中,报文长度移位值Shift Right的配置值与尾数掩码值Tail Mask所占用的比特位相对应,由于本实施例中尾数掩码值Tail Mask占用4个比特位,因此,报文长度移位值Shift Right的配置值为4,则限速参数索引中更新后的承诺信息速率CIR’为CIR/2^4(即更新后的承诺信息速率CIR’为更新前的承诺信息速率CIR除以2的4次方),更新后的超额信息速率EIR’为EIR/2^4(即更新后的超额信息速率EIR’为更新前的超额信息速率EIR除以2的4次方)。
步骤S02:将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;
具体地,本实施例中,在获取到当前接收报文的长度值Current Length(100)后,将获取到的当前接收报文的长度值Current Length(100)加上前一个接收报文的长度值的尾数Prior TailVal(本实施例中,前一个接收报文的长度值的尾数Prior TailVal为0),得到一个新的报文长度值Update Length,即本实施例所得到的新的报文长度值Update Length=100+0=100。
步骤S03:根据新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;
具体地,将步骤S02得到的新的报文长度值Update Length和尾数掩码值Tail Mask做与运算,得到新的报文尾数Update TailVal;并且,按照报文长度移位值Shift Right,对步骤S02得到的新的报文长度值Update Length做右移运算,获得当前需要限速的实际报文长度值Policing Length。
本实施例中,由于步骤S02得到的新的报文长度值Update Length为100(十进制),对应的二进制为“1100100”而尾数掩码值Tail Mask的配置值为0xf(十六进制),对应的二进制为“1111”,报文长度移位值Shift Right的配置值为4。因此,本实施例中,新的报文尾数Update TailVal等于新的报文长度值Update Length(“1100100”)和尾数掩码值Tail Mask(“1111”)的与运算结果,即对“1100100”和“1111”进行与运算,得到运算结果为“0100”,“0100”对应的十进制为4,即得到新的报文尾数Update TailVal为4。由于报文长度移位值Shift RightVal为4,因此,本实施例中,当前需要限速的实际报文长度值Policing Length等于新的报文长度值Update Length(“1100100”)右移4比特,得到当前需要限速的实际报文长度值Policing Length为“110”,对应的十进制为6。
步骤S04:根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果;
具体地,本实施例在步骤S03获得新的报文尾数Update TailVal(4)以及当前需要限速的实际报文长度值Policing Length(6)之后,根据步骤S01中获取的限速参数索引Policing Index(0)中对应的限速参数选择限速算法,对当前需要限速的实际报文长度值Policing Length(6)进行限速处理,获得限速结果。
步骤S05:根据所述限速结果及预置限速条件,对所述当前接收报文进行限速处理,并将所述新的报文尾数或所述上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
具体地,当步骤S04或获取的限速结果满足预置限速条件时,将当前接收报文进行转发处理,并将步骤S03所获取的新的报文尾数Update TailVal(4)作为当前接收报文的长度值的尾数;
当步骤S04获取的限速结果不满足预置限速条件时,将当前接收报文进行丢弃处理,并将前一个接收报文的长度值的尾数Prior TailVal(0)作为当前接收报文的长度值的尾数。
当前接收报文的流量监管流程结束。
本实施例中,第二个接收报文的流量监管处理步骤与上述第1个以太网报文(即第一个接收报文)的流量监管处理步骤的差别是从特定地址空间A所读取的前一个接收报文的长度值的尾数不再是0,而是上述实施例所得到的新的报文尾数Update TailVal(4),第二个接收报文的流量监管处理步骤的其它处理步骤同于上述实施例上述第1个以太网报文的处理步骤。同理,后续的其他接收报文的流量监管处理步骤与本实施例上述第1个以太网报文的流量监管处理步骤的差别也是从特定地址空间A中所读取到的前一个接收报文的长度值的尾数不同,其它的处理步骤都相同。另外,需要说明的是,本实施例中,接收报文的长度值的尾数的取值范围与配置的尾数掩码值Tail Mask和报文长度移位值Shift RightVal相关,例如,若尾数掩码值Tail Mask是5比特(报文长度移位值Shift RightVal为5),则接收报文的长度值的尾数的取值范围是0-31。本实例中,由于尾数掩码值Tail Mask(0xf)占用4比特,因此本实施例中,接收报文的长度值的尾数的取值范围就是0-15。
本实施例中,接收报文的长度值的尾数是累加的,当步骤S04所获取的限速结果不满足预置限速条件,当前接收报文需要丢弃处理时,丢弃的是整个报文,因此,在丢弃报文的情况下,当前接收报文的长度值的尾数不应该再累加,而是保持不变,即将上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数,否则,后续得到的当前需要限速的实际报文长度值就会不准确,导致限速精度降低的问题。为了便于理解和说明本发明的限速精度问题,下面同样以接收报文的长度值Current Length为100字节,尾数掩码值Tail Mask为0xf,报文长度移位值Shift Right为4,报文尾数UpdateTailVal为4为例来对限速精度的问题进行说明:由于报文尾数UpdateTailVal为4,该报文尾数应该是需要消耗4字节的令牌,因此当不对该报文尾数进行处理时,发送100字节的报文,其实际消耗了96字节的令牌,从而出现实际流量大于限速流量的情况;当限速结果不满足预置限速条件时,将报文进行丢弃处理时,该报文尾数是不能消耗令牌的,如果继续将该报文尾数保存写回给下一个报文使用,将会出现实际流量小于限速流量的情况。本发明能够有效解决上述两种情况,从而提高了限速精度。
本实施例提出的基于令牌桶的流量监管方法,首先获取当前接收报文的长度值和限速参数索引,并将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;然后根据得到的新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;接着,根据当前需要限速的实际报文长度值及之前获取的限速参数索引,获得限速结果;最后,当获得的限速结果满足预置限速条件时,将当前接收报文进行转发处理,并将新的报文尾数作为当前接收报文的长度值的尾数;当限速结果不满足预置限速条件时,将当前接收报文进行丢弃处理,并将前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。本发明提高了限速精度。
图3是本发明基于令牌桶的流量监管方法另一实施例的流程示意图。
参照图3,本实施例基于令牌桶的流量监管方法在图2的基础上,在步骤S02之前,还包括:
步骤S011:获取前一个接收报文的长度值的尾数;
具体地,本实施例是从特定的存储空间A中读取前一个接收报文的长度值的尾数Prior TailVal,本实施例中,前一个接收报文的长度值的尾数的值为0。
进一步地,本实施例在步骤S03之前还包括:
步骤S021:获取令牌桶桶深参数,令牌桶桶深参数包括尾数掩码值和报文长度移位值;
具体地,本实施例是从特定的存储空间B中读取令牌桶桶深参数,其中令牌桶桶深参数包括尾数掩码值Tail Mask和报文长度移位值Shift Right。本实施例中,由于尾数掩码值Tail Mask的配置值为0xf,报文长度移位值ShiftRight的配置值为4,因此,本实施例步骤S021所获取到的尾数掩码值TailMask为0xf,所获取到的报文长度移位值Shift Right为4。
本实施例提出的基于令牌桶的流量监管方法,首先获取当前接收报文的长度值、限速参数索引、前一个接收报文的长度值的尾数以及令牌桶桶深参数(包括尾数掩码值和报文长度移位值),将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;然后将得到的新的报文长度值和尾数掩码值做与运算,获得新的报文尾数,以及按照报文长度移位值,对得到的新的报文长度值做右移运算,获得当前需要限速的实际报文长度值;接着,根据当前需要限速的实际报文长度值及之前获取的限速参数索引,获得限速结果;最后,当获得的限速结果满足预置限速条件时,将当前接收报文进行转发处理,并将新的报文尾数作为当前接收报文的长度值的尾数;当限速结果不满足预置限速条件时,将当前接收报文进行丢弃处理,并将前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。本发明提高了限速精度。
本发明还提出一种基于令牌桶的流量监管装置,图3是本发明基于令牌桶的流量监管装置一实施例的模块结构原理图。
参照图3,本实施例中的基于令牌桶的流量监管200包括接收模块201、采集模块202、计算模块203、限速模块204、决策模块205及发送模块206,其中:
接收模块201,用于接收以太网报文;
具体地,本发明实施例中,接收模块201当次所接收到的以太网报文称为当前接收报文,初始状态时,接收模块201接收到的当前接收报文指的是第1个以太网报文。
存储模块2021,用于存储前一个接收报文的长度值的尾数以及令牌桶桶深参数,其中令牌桶桶深参数包括尾数掩码值Tail Mask和报文长度移位值Shift Right。
采集模块202,用于获取当前接收报文的长度值和限速参数索引;
具体地,本实施例中,在接收模块201接收到当前接收报文后,采集模块202获取当前接收报文的长度值Current Length和限速参数索引PolicingIndex。其中限速参数索引Policing Index包括承诺信息速率CIR、超额信息速率EIR、承诺突发长度CBS、超额突发长度EBS、颜色敏感模式、限速算法等。本实施例中,当前接收报文的长度值Current Length的配置值为100字节,限速参数索引Policing Index的配置值为0,即本实施例中,采集模块202所获取到得当前接收报文的长度值Current Length为100,限速参数索引为0。
本实施例中,采集模块202还用于获取前一个接收报文的长度值的尾数Prior TailVal,以及获取令牌桶桶深参数,令牌桶桶深参数包括尾数掩码值TailMask和报文长度移位值Shift Right。
具体地,采集模块202从存储模块2021的特定存储空间A中读取前一个接收报文的长度值的尾数Prior TailVal,从存储模块2021的特定存储空间B中读取令牌桶桶深参数(尾数掩码值Tail Mask和报文长度移位值Shift Right),本实施例中,前一个接收报文的长度值的尾数Prior TailVal为0,尾数掩码值Tail Mask为0xf(十六进制),报文长度移位值Shift Right为4。
本实施例中,存储模块2021设于采集模块202内。
计算模块203,将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;以及根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值。
具体地,当采集模块202获取到当前接收报文的长度值Current Length(100)后,计算模块203将获取到的当前接收报文的长度值Current Length(100)加上前一个接收报文的长度值的尾数Prior TailVal(0),得到一个新的报文长度值Update Length,即本实施例所得到的新的报文长度值UpdateLength=100+0=100。并且,本实施例中,计算模块203还将新的报文长度值Update Length(100+0)和采集模块202所获取到的尾数掩码值Tail Mask(0xf)做与运算,获得新的报文尾数Update TailVal;同时,计算模块203按照采集模块202所获取到的报文长度移位值Shift Right,对新的报文长度值UpdateLength做右移运算,获得当前需要限速的实际报文长度值Policing Length。本实施例中,由于新的报文长度值Update Length为100,尾数掩码值Tail Mask为0xf,因此,本实施例中,新的报文尾数Update TailVal等于新的报文长度值Update Length(100)和尾数掩码值Tail Mask(0xf)的与运算结果,得到新的报文尾数Update TailVal等于4。由于报文长度移位值Shift RightVal为4,新的报文长度值Update Length为100,因此本实施例中,当前需要限速的实际报文长度值Policing Length等于新的报文长度值Update Length(100)右移4比特,得到当前需要限速的实际报文长度值Policing Length等于6。
限速模块204,用于根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果。
具体地,本实施例在计算模块203计算获得新的报文尾数Update TailVal(4)以及当前需要限速的实际报文长度值Policing Length(6)之后,限速模块204根据采集模块202所获取的限速参数索引Policing Index(0)的限速参数选择限速算法,对当前需要限速的实际报文长度值Policing Length(6)进行限速处理,获得限速结果。
决策模块205,用于根据所述限速结果及预置限速条件,将新的报文尾数或前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
具体地,当限速模块204获得的限速结果满足预置限速条件时,决策模块205将新的报文尾数Update TailVal(4)作为当前接收报文的长度值的尾数;当限速模块204获得的限速结果不满足预置限速条件时,决策模块205将前一个接收报文的长度值的尾数Prior TailVal(0)作为当前接收报文的长度值的尾数。
发送模块206,用于根据所述限速结果及预置限速条件,对当前接收报文进行转发或丢弃处理。
具体地,本实施例中,当限速模块204得到的限速结果满足预置限速条件时,发送模块206将当前接收报文进行转发处理;当限速模块204得到的限速结果不满足预置限速条件时,发送模块206将当前接收报文进行丢弃处理。
本实施例提出的基于令牌桶的流量监管装置,接收模块接收以太网报文;存储模块存储前一个接收报文的长度值的尾数以及令牌桶桶深参数(包括尾数掩码值和报文长度移位值);采集模块获取当前接收报文的长度值和限速参数索引;计算模块将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值,计算模块还根据新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;限速模块根据当前需要限速的实际报文长度值及限速参数索引,获得限速结果;决策模块根据限速结果,将新的报文尾数或前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数;发送模块根据限速结果,对当前接收报文进行转发或丢弃处理。本发明相对于现有技术提高了限速精度。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于令牌桶的流量监管方法,其特征在于,包括以下步骤:
获取当前接收报文的长度值和限速参数索引;
将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;
根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;
根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果;
根据所述限速结果及预置限速条件,对所述当前接收报文进行限速处理,并将所述新的报文尾数或所述上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
2.根据权利要求1所述的基于令牌桶的流量监管方法,其特征在于,所述根据所述限速结果及预置限速条件,对所述当前接收报文进行限速处理,并将所述新的报文尾数或所述上一次接收报文的长度值的尾数作为当前接收报文的长度值的尾数的步骤具体为:
当所述限速结果满足预置限速条件时,将所述当前接收报文进行转发处理,并将所述新的报文尾数作为当前接收报文的长度值的尾数;
当所述限速结果不满足预置限速条件时,将所述当前接收报文进行丢弃处理,并将所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
3.根据权利要求2所述的基于令牌桶的流量监管方法,其特征在于,所述将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值的步骤之前还包括:
获取前一个接收报文的长度值的尾数。
4.根据权利要求3所述的基于令牌桶的流量监管方法,其特征在于,所述根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值的步骤之前还包括:
获取令牌桶桶深参数,所述令牌桶桶深参数包括尾数掩码值和报文长度移位值。
5.根据权利要求4所述的基于令牌桶的流量监管方法,其特征在于,所述根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值的步骤具体为:
将所述新的报文长度值和所述尾数掩码值做与运算,获得新的报文尾数;按照所述报文长度移位值,对所述新的报文长度值做右移运算,获得当前需要限速的实际报文长度值。
6.一种基于令牌桶的流量监管装置,其特征在于,包括接收模块、采集模块、计算模块、限速模块、决策模块及发送模块;其中,
所述接收模块,用于接收以太网报文;
所述采集模块,用于获取当前接收报文的长度值和限速参数索引;
所述计算模块,将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;以及根据所述新的报文长度值,按照预置计算规则,获得新的报文尾数以及当前需要限速的实际报文长度值;
限速模块,用于根据所述当前需要限速的实际报文长度值及所述限速参数索引,获得限速结果;
所述决策模块,用于根据所述限速结果及预置限速条件,将所述新的报文尾数或所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数;
所述发送模块,用于根据所述限速结果及预置限速条件,对所述当前接收报文进行转发或丢弃处理。
7.根据权利要求6所述的基于令牌桶的流量监管装置,其特征在于,所述决策模块具体用于:
当所述限速结果满足预置限速条件时,将所述新的报文尾数作为当前接收报文的长度值的尾数;
当所述限速结果不满足预置限速条件时,将所述前一个接收报文的长度值的尾数作为当前接收报文的长度值的尾数。
8.根据权利要求7所述的基于令牌桶的流量监管装置,其特征在于,所述发送模块具体用于:
当所述限速结果满足预置限速条件时,将所述当前接收报文进行转发处理;
当所述限速结果不满足预置限速条件时,将所述当前接收报文进行丢弃处理。
9.根据权利要求8所述的基于令牌桶的流量监管装置,其特征在于,所述采集模块还用于:
获取前一个接收报文的长度值的尾数;以及获取令牌桶桶深参数,所述令牌桶桶深参数包括尾数掩码值和报文长度移位值。
10.根据权利要求9所述的基于令牌桶的流量监管装置,其特征在于,所述计算模块具体用于:
将获取到的当前接收报文的长度值加上前一个接收报文的长度值的尾数,得到新的报文长度值;以及将所述新的报文长度值和所述尾数掩码值做与运算,获得新的报文尾数;并按照所述报文长度移位值,对所述新的报文长度值做右移运算,获得当前需要限速的实际报文长度值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160940.7A CN105024932A (zh) | 2014-04-21 | 2014-04-21 | 基于令牌桶的流量监管方法及装置 |
PCT/CN2014/079984 WO2015161552A1 (zh) | 2014-04-21 | 2014-06-16 | 基于令牌桶的流量监管方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160940.7A CN105024932A (zh) | 2014-04-21 | 2014-04-21 | 基于令牌桶的流量监管方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105024932A true CN105024932A (zh) | 2015-11-04 |
Family
ID=54331666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410160940.7A Withdrawn CN105024932A (zh) | 2014-04-21 | 2014-04-21 | 基于令牌桶的流量监管方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105024932A (zh) |
WO (1) | WO2015161552A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833292A (zh) * | 2018-05-04 | 2018-11-16 | 新华三技术有限公司 | 流量控制方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083563A (zh) * | 2007-07-20 | 2007-12-05 | 杭州华三通信技术有限公司 | 一种防分布式拒绝服务攻击的方法及设备 |
CN101997766A (zh) * | 2009-08-31 | 2011-03-30 | 中兴通讯股份有限公司 | 一种基于优先级的令牌桶限速的方法及系统 |
CN102014075A (zh) * | 2010-12-21 | 2011-04-13 | 杭州华三通信技术有限公司 | 流量监管方法和装置 |
US20110283155A1 (en) * | 2010-05-11 | 2011-11-17 | Electronics And Telecommunications Research Institute | Apparatus and method for transmitting/receiving data in a communication system |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
CN102882809A (zh) * | 2012-10-26 | 2013-01-16 | 杭州迪普科技有限公司 | 一种基于报文缓存的网络限速方法及装置 |
CN103312621A (zh) * | 2013-06-07 | 2013-09-18 | 深圳中兴网信科技有限公司 | 流量控制系统和流量控制方法 |
-
2014
- 2014-04-21 CN CN201410160940.7A patent/CN105024932A/zh not_active Withdrawn
- 2014-06-16 WO PCT/CN2014/079984 patent/WO2015161552A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083563A (zh) * | 2007-07-20 | 2007-12-05 | 杭州华三通信技术有限公司 | 一种防分布式拒绝服务攻击的方法及设备 |
CN101997766A (zh) * | 2009-08-31 | 2011-03-30 | 中兴通讯股份有限公司 | 一种基于优先级的令牌桶限速的方法及系统 |
US20110283155A1 (en) * | 2010-05-11 | 2011-11-17 | Electronics And Telecommunications Research Institute | Apparatus and method for transmitting/receiving data in a communication system |
CN102014075A (zh) * | 2010-12-21 | 2011-04-13 | 杭州华三通信技术有限公司 | 流量监管方法和装置 |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
CN102882809A (zh) * | 2012-10-26 | 2013-01-16 | 杭州迪普科技有限公司 | 一种基于报文缓存的网络限速方法及装置 |
CN103312621A (zh) * | 2013-06-07 | 2013-09-18 | 深圳中兴网信科技有限公司 | 流量控制系统和流量控制方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833292A (zh) * | 2018-05-04 | 2018-11-16 | 新华三技术有限公司 | 流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2015161552A1 (zh) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103476062B (zh) | 一种数据流调度的方法、设备和系统 | |
CN109245959B (zh) | 统计活跃流数目的方法、网络设备和系统 | |
CN110445722B (zh) | 拥塞控制方法、装置、设备及存储介质 | |
CN106878116B (zh) | 流量限速方法和装置 | |
US11258717B2 (en) | Method for sending service packet, network device, and system | |
CN110099013B (zh) | 一种报文发送控制方法及装置 | |
CN106487590B (zh) | 一种基于虚拟网络实现批量虚拟机端口限速的方法 | |
JP2022549683A (ja) | データストリーム伝送のための必要とされる帯域幅を決定するための方法、デバイス及びシステム | |
EP3541113A1 (en) | Apparatuses, devices, methods and computer programs for determining information related to a designated data transmission rate for a wireless link | |
CN107846341B (zh) | 调度报文的方法、相关装置和系统 | |
CN105208081A (zh) | 一种通过订阅方式实现网络通信的方法和系统 | |
CN109032704B (zh) | 一种数据处理的方法和设备 | |
CN115766592A (zh) | 基于优先级的流量限速方法、dpu报文转发方法和装置 | |
EP4037270B1 (en) | Service traffic adjusting method and apparatus | |
CN113765791B (zh) | 一种确定处理能力的方法、节点和系统 | |
CN105024932A (zh) | 基于令牌桶的流量监管方法及装置 | |
CN103067302A (zh) | 一种实现双速率漏桶模型的方法及装置 | |
EP3148209B1 (en) | Data processing method and apparatus | |
CN113453285B (zh) | 一种资源调整方法、装置及存储介质 | |
JP6757736B2 (ja) | パケット送信タイミングの動的調整方法 | |
CN102739508A (zh) | 一种高速网络数据传输的方法及系统 | |
CN112367708B (zh) | 一种网络资源分配方法及装置 | |
CN112994905B (zh) | 策略和计费的控制方法、系统、电子设备以及存储介质 | |
CN106790480A (zh) | 一种用于链路聚合链接条件下的文件传输方法 | |
CN108024378A (zh) | 一种数据包的预处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20151104 |
|
WW01 | Invention patent application withdrawn after publication |