CN108650192B - 一种基于令牌桶优化算法的流量控制方法 - Google Patents
一种基于令牌桶优化算法的流量控制方法 Download PDFInfo
- Publication number
- CN108650192B CN108650192B CN201810397479.5A CN201810397479A CN108650192B CN 108650192 B CN108650192 B CN 108650192B CN 201810397479 A CN201810397479 A CN 201810397479A CN 108650192 B CN108650192 B CN 108650192B
- Authority
- CN
- China
- Prior art keywords
- token bucket
- token
- tokens
- rate
- packet
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于令牌桶优化算法的流量控制方法,建立令牌池;设置令牌桶大小;数据包信息分析;分析通过网关的所有数据包,通过分析数据包的源地址、目的地址、源端口、目的端口及协议类型,构造基本向量;基于令牌桶优化算法进行流量控制;根据产生的基本向量,采用单速率三色标记处理通过的数据包,实时检测并控制流量;当一个有n个字节的数据包经过令牌桶时,就从令牌桶中消耗n个令牌,并接收数据包,允许这些数据包根据网络拥塞情况通过、丢弃或不处理;重复执行所述步骤S1~S4,直到收到解除流量控制信号为止。本发明能够快速进行实时、精确地对流量进行控制。
Description
技术领域
本发明涉及电力网络领域,特别是一种基于令牌桶优化算法的流量控制方法。
背景技术
随着网络新技术不断出现和新应用的爆炸性发展,以及电力领域对这些新技术的使用导致内部网络的流量呈指数级别的增长。同时,网络结构也越来越复杂,如何让使用者在不影响办公效率的情况下提高用户体验就成了研究的主要方向。
迄今为止,国内外在流量控制在如何结合电力领域安全性、体验和效率方面已经有了大量的研究工作,在算法方面的研究仍然主要体现在基于经典算法如reno算法、vegas算法和cubic算法等。采用这些单一、简单的算法会遇上计算结果精度受限、流量控制能力不足等问题。
因此,为了应对内部网络流量拥塞情况,提高对突发大流量的防御和控制能力,需要研究新的流量控制优化算法,该优化方法应该能够实时监控通过网关的正常范围值内的流量,发现网络流量异常时,能够提供自动限速并反馈相应情况,并且能够根据流量大小来自适应处理等,提高流量控制能力。
发明内容
本发明的目的在于提供一种基于令牌桶优化算法的流量控制方法,以克服现有技术中存在的缺陷。
为实现上述目的,本发明的技术方案是:一种基于令牌桶优化算法的流量控制方法,其特征在于,还包括如下步骤:
步骤S1:建立令牌池;令牌会按一定的速率以1/rate秒周期性或一次性把自身添加到令牌桶中,其中,rate是算法生成令牌的速率;
步骤S2:设置令牌桶大小;根据历史数据的测量值及未来的预估值设置令牌桶的大小burst,每个令牌只允许匹配预设数量的字节数;
步骤S3:数据包信息分析;分析通过网关的所有数据包,通过分析数据包的源地址、目的地址、源端口、目的端口及协议类型,构造基本向量;
步骤S4:基于令牌桶优化算法进行流量控制;根据所述步骤S3产生的所述基本向量,并采用单速率三色标记处理通过的数据包,实时检测并控制流量;当一个有n个字节的数据包经过令牌桶时,就从令牌桶中消耗n个令牌,并接收数据包,允许这些数据包根据网络拥塞情况通过、丢弃或不处理;
步骤S5:重复执行所述步骤S1~S4,直到收到解除流量控制信号为止。
在本发明一实施例中,在所述步骤S3中,还包括如下步骤:
步骤S32:计算相关系数矩阵:
步骤S33:根据相关系数矩阵、特征值及相应的特征向量进行平滑数据建模,经过移动中值滤波、阀值处理、合成及调整处理后,获得一条与时间t相关的光滑拟合曲线p(t)和经过处理过的数据包,p(t)表示可以接受的正常流量与时间t相关的光滑拟合曲线,且表示可以接受的正常流量。
在本发明一实施例中,在所述步骤S4中,还包括如下步骤:
步骤S41:记令牌桶填充令牌的平均速率为CIR,有突发流量时系统所允许数据包传输的最大速率为CBS,每次数据包发送或接收时突发允许超过CBS的最大流量速率为EBS,以及正常使用的C令牌桶和超出C容量的突发E令牌桶;两个令牌桶中令牌每隔1/CIR时间就添加一个令牌,先往C令牌桶中添加令牌;当C令牌桶满后,再往E令牌桶添加;当C令牌桶和E令牌桶都满后,就会丢弃新的令牌;
步骤S42:令Tc和Te分别表示C令牌桶和E令牌桶中的令牌数,最初状态下,Tc=CBS,Te=EBS;其中,CBS数值和EBS数值分别表示两桶的总容量,到达的数据流速率是r,
a)如果r=rate,每个到达的数据包请求都能匹配到相应的令牌,这些数据包能不被限速地通过网关到达主机系统;
b)如果r<rate,到达的数据包只消耗部分令牌,在令牌桶里就积累未使用的令牌直到令牌桶被装满,并且剩余的令牌能在突发请求数据时被使用;这些数据包能不被限速地通过网关到达主机系统;
c)如果r>rate,如果请求的数据包持续地到来,将触发流量控制机制,并产生以下3种情况:
i.将发生丢包、卡顿、拒绝响应;
ii.对流量限制的数据包做标记后传输,当网络过载时就将这些有标记的包丢弃;
iii.令牌桶中没有足够的令牌对应相应的请求或数据包,通过排队等待后续令牌生成足够的令牌来发送数据包;
步骤S43:令牌桶优化算法根据数据包长度确定包通过或拒绝,记一数据包长度为L:
a)如果L<Tc,数据包被标记为绿色,表示此数据包能正常通过系统,发送后C令牌桶剩余的令牌为(Tc-L);
b)如果Tc<L<Te,数据包被标记为黄色,从E令牌桶中取走额外的令牌,E令牌桶中的令牌减少(L-Tc);
c)如果L>Te,把数据包标记为红色,系统直接丢弃不发送,这样两个令牌桶中的总令牌都不变。
相较于现有技术,本发明具有以下有益效果:发明提出的一种基于令牌桶优化的流量控制方法,综合效率优先和先行处理数据包等的组合方法进行求解,能够快速进行实时、精确地对流量进行控制,有效平衡了用户体验和办公效率的问题。
附图说明
图1为本发明中基于令牌桶优化的流量控制方法的流程图。
图2为本发明中基于令牌桶优化算法进行流量控制的示意图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
如图1和图2所示,本实施例提供了一种基于令牌桶优化的流量控制方法,具体包括以下步骤:
步骤S1:建立令牌池:令牌token会按一定的速率以1/rate秒周期性或一次性把自身添加到令牌桶bucket中,建立令牌桶算法所需的令牌池,其中rate是算法生成令牌token的速率;
步骤S2:定义令牌桶大小:根据历史数据的测量值及未来的预估值来定义令牌桶bucket的大小burst,每个token只允许匹配一定数量的字节数;
步骤S3:数据包信息分析:主要分析通过网关的所有数据包,分析数据包的源地址、目的地址、源端口、目的端口及协议类型这5个维度来构造基本向量;
步骤S4:基于令牌桶优化算法进行流量控制:根据步骤S3产生的基本向量并应用单速率三色标记来处理通过的数据包,从而实时检测并控制流量。当一个有n个字节的数据包经过bucket时,就从bucket中消耗n个token,并接收数据包,允许这些数据包根据网络拥塞情况通过、丢弃或不处理;
步骤S5:重复执行步骤S1~S4,直到管理员解除流量控制。
进一步的,在本实施例中,步骤S3具体包括以下步骤:
步骤S33:以基本矩阵的相关系数矩阵、特征值及相应的特征向量进行平滑数据建模,经过移动中值滤波、阀值处理、合成及调整等一系列处理后,获得一条与时间t相关的光滑拟合曲线p(t)和经过处理过的数据包,p(t)表示可以接受的正常流量与时间t相关的光滑拟合曲线,p(t)表示可以接受的正常流量。
进一步的,在本实施例中,步骤S4具体包括以下步骤:
步骤S41:定义令牌桶填充令牌的平均速率为CIR,有突发流量时系统所允许数据包传输的最大速率为CBS,每次数据包发送或接收时突发允许超过CBS的最大流量速率为EBS,以及正常使用的C令牌桶和超出C容量的突发E令牌桶;两个令牌桶中令牌每隔1/CIR时间就添加一个令牌,先往C令牌桶中添加令牌;当C令牌桶满后,再往E令牌桶添加;当C令牌桶和E令牌桶都满后,就会丢弃新的令牌;
步骤S42:令Tc和Te分别表示C令牌桶和E令牌桶中的令牌数,最初状态下,Tc=CBS,Te=EBS;其中,CBS数值和EBS数值分别表示两桶的总容量,到达的数据流速率是r,
a)如果r=rate,每个到来的数据包请求都能匹配到相应的token,这些数据包可以不被限速地通过网关到达主机系统;
b)如果r<rate,到达的数据包只消耗了一部分token,在bucket里就会积累未用的token直到bucket被装满,并且剩余的token可以在突发请求数据时被使用,这些数据包也可以不被限速地通过网关到达主机系统;
c)如果r>rate,这种情况表明token会很快被用完,导致的结果可能会让网络变得拥塞或中断一段时间。如果请求的数据包持续地到来,将触发流量控制机制,将发生以下3种情况:
i.将发生丢包、卡顿、拒绝响应等情况;
ii.对这些流量限制的数据包做标记后传输,当网络过载时就将这些有标记的包丢弃;
iii.bucket中没有足够的token对应相应的请求或数据包,它们就会排队等待后续token生成足够的token来发送数据包。
步骤S43:算法会根据数据包长度来确定包通过或拒绝,现有某一个数据包长度为L,
a)如果L<Tc,数据包被标记为绿色,表示此包可正常通过系统,发送后Cbucket剩余的token为(Tc-L);
b)如果Tc<L<Te,数据包被标记为黄色,这时要从E bucket中取走额外的token,Ebucket中的token减少(L-Tc);
c)如果L>Te,把数据包标记为红色,系统直接丢弃不发送,这样两个bucket中的总token都不变。
综上所述,本发明对通过网关的数据流量进行标准化处理后,采用令牌桶算法作为核心控制算法,并对此算法的一些步骤进行相应的优化,使之能够更有效率地、更精确地处理数据包,提高了电网的内部网络对网络流量的把控能力。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (2)
1.一种基于令牌桶优化算法的流量控制方法,其特征在于,还包括如下步骤:
步骤S1:建立令牌池;令牌会按一定的速率以1/rate秒周期性或一次性把自身添加到令牌桶中,其中,rate是算法生成令牌的速率;
步骤S2:设置令牌桶大小;根据历史数据的测量值及未来的预估值设置令牌桶的大小burst,每个令牌只允许匹配预设数量的字节数;
步骤S3:数据包信息分析;分析通过网关的所有数据包,通过分析数据包的源地址、目的地址、源端口、目的端口及协议类型,构造基本向量;
步骤S4:基于令牌桶优化算法进行流量控制;根据所述步骤S3产生的所述基本向量,并采用单速率三色标记处理通过的数据包,实时检测并控制流量;当一个有n个字节的数据包经过令牌桶时,就从令牌桶中消耗n个令牌,并接收数据包,允许这些数据包根据网络拥塞情况通过、丢弃或不处理;
步骤S5:重复执行所述步骤S1~S4,直到收到解除流量控制信号为止;
在所述步骤S3中,还包括如下步骤:
步骤S32:计算相关系数矩阵:
步骤S33:根据相关系数矩阵、特征值及相应的特征向量进行平滑数据建模,经过移动中值滤波、阀值处理、合成及调整处理后,获得一条与时间t相关的光滑拟合曲线p(t)和经过处理过的数据包,p(t)表示可以接受的正常流量与时间t相关的光滑拟合曲线,且表示可以接受的正常流量。
2.根据权利要求1所述的一种基于令牌桶优化算法的流量控制方法,其特征在于,在所述步骤S4中,还包括如下步骤:
步骤S41:记令牌桶填充令牌的平均速率为CIR,有突发流量时系统所允许数据包传输的最大速率为CBS,每次数据包发送或接收时突发允许超过CBS的最大流量速率为EBS,以及正常使用的C令牌桶和超出C容量的突发E令牌桶;两个令牌桶中令牌每隔1/CIR时间就添加一个令牌,先往C令牌桶中添加令牌;当C令牌桶满后,再往E令牌桶添加;当C令牌桶和E令牌桶都满后,就会丢弃新的令牌;
步骤S42:令Tc和Te分别表示C令牌桶和E令牌桶中的令牌数,最初状态下,Tc=CBS,Te=EBS;其中,CBS数值和EBS数值分别表示两桶的总容量,到达的数据流速率是r,
a)如果r=rate,每个到达的数据包请求都能匹配到相应的令牌,这些数据包能不被限速地通过网关到达主机系统;
b)如果r<rate,到达的数据包只消耗部分令牌,在令牌桶里就积累未使用的令牌直到令牌桶被装满,并且剩余的令牌能在突发请求数据时被使用;这些数据包能不被限速地通过网关到达主机系统;
c)如果r>rate,如果请求的数据包持续地到来,将触发流量控制机制,并产生以下3种情况:
i.将发生丢包、卡顿、拒绝响应;
ii.对流量限制的数据包做标记后传输,当网络过载时就将这些有标记的包丢弃;
iii.令牌桶中没有足够的令牌对应相应的请求或数据包,通过排队等待后续令牌生成足够的令牌来发送数据包;
步骤S43:令牌桶优化算法根据数据包长度确定包通过或拒绝,记一数据包长度为L:
a)如果L<Tc,数据包被标记为绿色,表示此数据包能正常通过系统,发送后C令牌桶剩余的令牌为(Tc-L);
b)如果Tc<L<Te,数据包被标记为黄色,从E令牌桶中取走额外的令牌,E令牌桶中的令牌减少(L-Tc);
c)如果L>Te,把数据包标记为红色,系统直接丢弃不发送,这样两个令牌桶中的总令牌都不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810397479.5A CN108650192B (zh) | 2018-04-28 | 2018-04-28 | 一种基于令牌桶优化算法的流量控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810397479.5A CN108650192B (zh) | 2018-04-28 | 2018-04-28 | 一种基于令牌桶优化算法的流量控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108650192A CN108650192A (zh) | 2018-10-12 |
CN108650192B true CN108650192B (zh) | 2022-04-01 |
Family
ID=63748466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810397479.5A Active CN108650192B (zh) | 2018-04-28 | 2018-04-28 | 一种基于令牌桶优化算法的流量控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108650192B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714268B (zh) * | 2019-01-23 | 2022-06-07 | 平安科技(深圳)有限公司 | 一种虚拟私有云的流量控制方法及相关装置 |
CN110087261B (zh) * | 2019-04-28 | 2020-11-06 | 电子科技大学 | 一种基于OpenWrt的企业级无线局域网流量控制方法 |
CN110275780B (zh) * | 2019-06-26 | 2022-08-02 | 北京百度网讯科技有限公司 | 用于限制流量的方法和装置 |
CN112995059B (zh) * | 2019-12-12 | 2024-06-28 | 阿里巴巴集团控股有限公司 | 流量控制方法、装置、终端设备及计算机存储介质 |
CN111800343A (zh) * | 2020-07-06 | 2020-10-20 | 哈尔滨工业大学(威海) | 一种适用于工控互联网的限速方法和装置 |
CN112328613B (zh) * | 2020-11-04 | 2022-07-22 | 迈普通信技术股份有限公司 | 联机分析处理方法、装置、电子设备及存储介质 |
CN112714075B (zh) * | 2020-12-30 | 2023-04-07 | 深圳市吉祥腾达科技有限公司 | 一种桥转发数据包限速的方法 |
CN112787950B (zh) * | 2021-01-28 | 2022-07-12 | 西安交通大学 | 一种公平网络流量管控方法及装置 |
CN112737969A (zh) * | 2021-03-30 | 2021-04-30 | 广州塔塔检测技术有限公司 | 一种系统运行过载时数据稳定传输方法 |
CN114915595B (zh) * | 2022-03-11 | 2023-08-01 | 北京邮电大学 | 突发包装配方法和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289442B1 (en) * | 2002-07-03 | 2007-10-30 | Netlogic Microsystems, Inc | Method and apparatus for terminating selected traffic flows |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8315168B2 (en) * | 2009-10-28 | 2012-11-20 | Broadcom Corporation | Priority-based hierarchical bandwidth sharing |
CN102710514B (zh) * | 2012-05-25 | 2015-01-21 | 华为技术有限公司 | 一种报文流量控制方法及系统 |
-
2018
- 2018-04-28 CN CN201810397479.5A patent/CN108650192B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289442B1 (en) * | 2002-07-03 | 2007-10-30 | Netlogic Microsystems, Inc | Method and apparatus for terminating selected traffic flows |
Non-Patent Citations (2)
Title |
---|
"基于DPI技术的流量监控系统的设计与实现";陈泽鑫;《中国优秀硕士学位论文全文数据库·信息科技辑》;20150115;第11-14、27-35页 * |
"基于模糊小波分析的网络流量检测研究";郭文轩;《中国优秀硕士学位论文全文数据库·信息科技辑》;20190615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108650192A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650192B (zh) | 一种基于令牌桶优化算法的流量控制方法 | |
US11811661B2 (en) | Call admission control and preemption control over a secure tactical network | |
US9231876B2 (en) | User traffic accountability under congestion in flow-based multi-layer switches | |
US8467342B2 (en) | Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics | |
US7385985B2 (en) | Parallel data link layer controllers in a network switching device | |
EP1798914A1 (en) | Congestion control | |
US9998400B2 (en) | Attribution of congestion contributions | |
CN101984608A (zh) | 报文拥塞避免方法及系统 | |
US8942090B2 (en) | Technique for throughput control for packet switches | |
EP1187399B1 (en) | Method and a device for controlling source specific data flow | |
WO2008104100A1 (fr) | Appareil et procédé servant à réaliser un contrôle de flux sur la base d'une vitesse restreinte pour un dispositif mstp | |
EP1704491B1 (en) | A method and systems for resource bunlding in a communications network | |
Abu-Shareha | Integrated Random Early Detection for Congestion Control at the Router Buffer. | |
EP1551130A1 (en) | Parallel data link layer controllers providing statistics acquisition in a network switching device | |
US9083635B1 (en) | Enqueue policing systems and methods | |
Singh et al. | Comparing different active queue management techniques | |
JP5992862B2 (ja) | フレームマーキング回路 | |
TWI774343B (zh) | 位在路由器或交換機內的電路以及應用於路由器或交換機的訊框處理方法 | |
JP5432195B2 (ja) | フレームマーキング回路 | |
JP4271199B2 (ja) | 帯域制御方法および帯域制御装置 | |
JP2006020027A (ja) | 通信フロー制御方法、システム、装置及びプログラム | |
Kusmierek et al. | Random packet marking for differentiated services | |
Liu et al. | Research into the Impact of HQoS and GTS Rate-Limiting Strategies on Data Transmission | |
Dong et al. | A New Active Queue Management Scheme Based on Packet Loss Ratio | |
CN111314246A (zh) | 网络带宽自适应分配系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |