CN110572329B - 一种网络自适应流量整形方法及系统 - Google Patents
一种网络自适应流量整形方法及系统 Download PDFInfo
- Publication number
- CN110572329B CN110572329B CN201910610075.4A CN201910610075A CN110572329B CN 110572329 B CN110572329 B CN 110572329B CN 201910610075 A CN201910610075 A CN 201910610075A CN 110572329 B CN110572329 B CN 110572329B
- Authority
- CN
- China
- Prior art keywords
- rate
- new
- adjustment
- packet
- token issuing
- 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/22—Traffic shaping
-
- 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/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种网络自适应流量整形方法及装置,方法包括S1:通过用户态tc命令设置相关配置参数,启动动态流量整形功能;S2:采集缓存队列入口io速率,速率计算以一段时间内的收包容量计算;S3:根据当前入口io速率、令牌发放速率、缓存队列长度以及缓存队列中包的延时信息计算新的令牌发放速率;S4:根据新的令牌发放速率和现有速率判断是否需要进行速率调整,需要调整的情况下实时调整生效。本发明通过实时采集网卡入口流量的速率,统计网卡入口速率的变化趋势,动态调整令牌的发放速率,这样既可以根据流量做到自适应,同时也能平滑突发的网络io,可监控丢包情况,实现减少丢包、根据实时流量动态调整的整形方案。
Description
技术领域
本发明属于信息技术领域,尤其是涉及一种网络自适应流量整形方法及系统。
背景技术
流量整形是一种网络流量管理技术,将抖动的流量包以相对均匀的速率向外发送,目前主要存在两种核心的流量整形算法:
漏桶算法:
漏桶算法是在流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,以平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。
漏桶可以看作是一个带有常量服务时间的单服务器队列,如果漏桶(包缓存)溢出,那么数据包会被丢弃。在网络中,漏桶算法可以控制端口的流量输出速率,平滑网络上的突发流量,实现流量整形,从而为网络提供一个稳定的流量。
令牌桶算法
令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取令牌,当桶里没有令牌可取时,则拒绝服务。令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。
以上两种算法的差别在于:漏桶算法能够强行限制数据的传输速率,而令牌桶算法能够在限制数据的平均传输速率的同时还允许某种程度的突发传输。
就目前的流量整形算法来看,漏桶算法限制了一个固定速率,当超过该速率值时,进入的包将被缓存,但当缓存区满时,溢出的包将被丢弃,这种以固定限速值的方式很难达到网络去抖动的效果,如果限定的流量值过大,那么低流量下的剧烈抖动是无法被平滑传输的,而如果人为的设置小的流量阈值,在较大流量情况下容易出现缓存区溢出而丢包。
令牌桶算法对于漏桶算法做了改进,可以在一定程度上应付突发的流量增长,进一步避免了突发流量下的缓存区溢出,避免过多的丢包现象。但在本质上令牌桶算法和漏桶算法还是相同的,在固定流量阈值的情况下很难做到低流量时的流量整形,而在高流量的情况下又容易导致丢包。
发明内容
有鉴于此,本发明旨在提出一种网络自适应流量整形方法,通过计算得出新的令牌发放速率,达到动态平滑流量的目的。
为达到上述目的,本发明的技术方案是这样实现的:
一种网络自适应流量整形方法,具体包括如下步骤:
S1:通过用户态tc命令设置相关配置参数,启动动态流量整形功能;
S2:采集缓存队列入口io速率,速率计算以一段时间内的收包容量计算;
S3:根据当前入口io速率、令牌发放速率、缓存队列长度以及缓存队列中包的延时信息计算新的令牌发放速率;
S4:根据新的令牌发放速率和现有速率判断是否需要进行速率调整,需要调整的情况下实时调整生效。
进一步的,所述步骤S2中,缓存队列入口速率计算时采样周期设置的毫秒级别。
进一步的,所述步骤S3中,如果缓存队列使用率超过1/2,增大令牌发放速度,避免缓存队列溢出丢包。
进一步的,所述步骤S3中,在缓存队列接收到包时,如果需要先放置到缓存队列,则缓存包延时超过设定阈值,则增大令牌发放速度。
进一步的,所述步骤S3中,设置调整周期,如果距离上次令牌速率调整超过一个时间周期,同时在得到新的令牌发放速率后,和当前速度比较,在需要增大速率时,如果新速率只比当前速率大一点,可直接增大一倍,如果新速率>2的n次方*当前速率,可限制新速率为2的n次方*当前速率,但如果是新速率比当前速率小,则在新速率<=当前速率/4时再做调整。
本发明的另一目的在于提出一种网络自适应流量整形系统,具体方案是这样实现的:
一种网络自适应流量整形装置,包括动态流量整形启动单元,用于通过用户态tc命令设置相关配置参数,启动动态流量整形功能;
收包容量计算单元,用于采集缓存队列入口io速率,速率计算以一段时间(可配置)内的收包容量计算;
令牌发放速率计算单元,用于根据当前入口io速率、令牌发放速率、缓存队列长度以及缓存队列中包的延时等信息计算新的令牌发放速率
速率调整单元,用于根据新的令牌发放速率和现有速率判断是否需要进行速率调整,需要调整的情况下实时调整生效。
相对于现有技术,本发明所述的一种网络自适应流量整形方法及系统具有以下优势:
本发明通过实时采集网卡入口流量的速率,统计网卡入口速率的变化趋势,动态调整令牌的发放速率,这样既可以根据流量做到自适应,同时也能平滑突发的网络io,并且可监控丢包情况,实现一种减少丢包、根据实时流量动态调整的整形方案。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种网络自适应流量整形方法的原理示意图;
图2为本发明实施例所述的令牌发放速率调整逻辑示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
如图1、2所示,本发明提出一种网络自适应流量整形方法,流量整形方法具体包括如下步骤:
a.通过用户态tc命令设置相关配置参数,启动动态流量整形功能;
b.采集缓存队列入口io速率,速率计算以一段时间(可配置)内的收包容量计算;
c.根据当前入口io速率、令牌发放速率、缓存队列长度以及缓存队列中包的延时等信息计算新的令牌发放速率;
d根据新的令牌发放速率和现有速率判断是否需要进行速率调整,需要调整的情况下实时调整生效;
这里最重要的是如何计算得出新的令牌发放速率,为了达到动态平滑流量的目的需要参考诸多因素:
缓存队列入口速率计算,为了支持大速率的情况,采样周期不宜过长,考虑在毫秒级别;
(1)在缓存队列接收到包时,需要参考当前缓存队列缓存包的情况,如果已缓存过多包(比如超过了队列长度的1/2),则也需要考虑增大令牌发放速度,避免缓存队列溢出丢包;
(2)在缓存队列接收到包时,如果需要先放置到缓存队列,则还需要考虑数据包的延时情况(延时需求可配置),即如果该数据包按照当前的令牌发放速率还需要排队过长时间,则有需要考虑增大令牌发放速度;
(3)考虑到不宜过于频繁的调整令牌发放速度,可以设置调整周期,在一个周期内不宜调整,除非遇到b、c所述情况;同时在得到新的令牌发放速率后,还需要和当前速度比较,在需要增大速率时,如果新速率只比当前速率大一点,可考虑直接增大一倍,但如果增大过多(比如新速率>2的n次方*当前速率),可限制新速率为2的n次方*当前速率,但如果是新速率比当前速率小,则考虑(新速率<=当前速率/4)时再做调整。
本发明还提出一种网络自适应流量整形装置,具体包括动态流量整形启动单元,用于通过用户态tc命令设置相关配置参数,启动动态流量整形功能;
收包容量计算单元,用于采集缓存队列入口io速率,速率计算以一段时间(可配置)内的收包容量计算;
令牌发放速率计算单元,用于根据当前入口io速率、令牌发放速率、缓存队列长度以及缓存队列中包的延时等信息计算新的令牌发放速率
速率调整单元,用于根据新的令牌发放速率和现有速率判断是否需要进行速率调整,需要调整的情况下实时调整生效。
本发明提出一种基于网络入口网速流量统计对网卡流量阈值做动态调整,这样根据业务的负载不同做不同的限速设置,避免了人为设置的参数很难满足业务需求的变化,同时可以进一步避免丢包事件的发生。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种网络自适应流量整形方法,其特征在于:具体包括如下步骤:
S1: 通过用户态tc命令设置相关配置参数,启动动态流量整形功能;
S2: 采集缓存队列入口io速率,速率计算以一段时间内的收包容量计算;
S3: 根据当前入口io速率、令牌发放速率、缓存队列长度以及缓存队列中包的延时信息计算新的令牌发放速率;
S4: 根据新的令牌发放速率和现有速率判断是否需要进行速率调整,需要调整的情况下实时调整生效;
所述步骤S2中,缓存队列入口速率计算时采样周期设置的毫秒级别;
所述步骤S3中,如果缓存队列使用率超过1/2,增大令牌发放速度;
所述步骤S3中,在缓存队列接收到包时,如果需要先放置到缓存队列,且缓存包延时超过设定阈值,则增大令牌发放速度;
所述步骤S3中,设置调整周期,如果距离上次令牌速率调整超过一个时间周期,同时在得到新的令牌发放速率后,和当前速度比较,在需要增大速率时,如果新速率只比当前速率大一点,可直接增大一倍,如果新速率>2的n次方*当前速率,可限制新速率为2的n次方*当前速率,但如果是新速率比当前速率小,则在新速率<=当前速率/4时再做调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910610075.4A CN110572329B (zh) | 2019-07-08 | 2019-07-08 | 一种网络自适应流量整形方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910610075.4A CN110572329B (zh) | 2019-07-08 | 2019-07-08 | 一种网络自适应流量整形方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110572329A CN110572329A (zh) | 2019-12-13 |
CN110572329B true CN110572329B (zh) | 2022-07-01 |
Family
ID=68772916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910610075.4A Active CN110572329B (zh) | 2019-07-08 | 2019-07-08 | 一种网络自适应流量整形方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572329B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104667B (zh) * | 2020-11-09 | 2021-02-09 | 湖南戎腾网络科技有限公司 | 一种流量控制方法、装置及系统 |
CN116055407A (zh) * | 2021-10-28 | 2023-05-02 | 华为技术有限公司 | 一种报文调度的方法及装置 |
CN114745333B (zh) * | 2022-03-03 | 2023-05-30 | 珠海高凌信息科技股份有限公司 | 一种ims系统自适应流量控制方法 |
CN116582497B (zh) * | 2023-04-21 | 2024-01-23 | 中国测绘科学研究院 | 一种单服务器条件下的高效gis服务自适应流量整形的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119492A (zh) * | 2007-08-20 | 2008-02-06 | 武汉烽火网络有限责任公司 | 一种基于抖动约束的数据缓存整形方法 |
CN101217495A (zh) * | 2008-01-11 | 2008-07-09 | 北京邮电大学 | 用于t-mpls网络环境下的流量监控方法和装置 |
EP2481251A1 (en) * | 2009-09-25 | 2012-08-01 | Telefonaktiebolaget LM Ericsson (publ) | Rate shaping for wireless communication using token bucket that allows token debt |
CN105740076A (zh) * | 2016-01-30 | 2016-07-06 | 华为技术有限公司 | 一种负载均衡方法及装置 |
CN106411773A (zh) * | 2016-08-29 | 2017-02-15 | 武汉微创光电股份有限公司 | 基于令牌桶的视频传输中的流量整形方法及系统 |
CN108768873A (zh) * | 2018-05-29 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及相关设备 |
CN109861920A (zh) * | 2019-01-16 | 2019-06-07 | 深圳市融汇通金科技有限公司 | 一种弹性限流的方法及装置 |
-
2019
- 2019-07-08 CN CN201910610075.4A patent/CN110572329B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119492A (zh) * | 2007-08-20 | 2008-02-06 | 武汉烽火网络有限责任公司 | 一种基于抖动约束的数据缓存整形方法 |
CN101217495A (zh) * | 2008-01-11 | 2008-07-09 | 北京邮电大学 | 用于t-mpls网络环境下的流量监控方法和装置 |
EP2481251A1 (en) * | 2009-09-25 | 2012-08-01 | Telefonaktiebolaget LM Ericsson (publ) | Rate shaping for wireless communication using token bucket that allows token debt |
CN105740076A (zh) * | 2016-01-30 | 2016-07-06 | 华为技术有限公司 | 一种负载均衡方法及装置 |
CN106411773A (zh) * | 2016-08-29 | 2017-02-15 | 武汉微创光电股份有限公司 | 基于令牌桶的视频传输中的流量整形方法及系统 |
CN108768873A (zh) * | 2018-05-29 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及相关设备 |
CN109861920A (zh) * | 2019-01-16 | 2019-06-07 | 深圳市融汇通金科技有限公司 | 一种弹性限流的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110572329A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572329B (zh) | 一种网络自适应流量整形方法及系统 | |
US6738386B1 (en) | Controlled latency with dynamically limited queue depth based on history and latency estimation | |
CN112003795B (zh) | 一种动态预防流量攻击的方法、系统、设备及存储介质 | |
CN109861920A (zh) | 一种弹性限流的方法及装置 | |
CN109428830B (zh) | 一种动态调整onu设备端口限速阀值的装置及方法 | |
US20110176554A1 (en) | Packet relay apparatus and method of relaying packet | |
EP2093945B1 (en) | A method for realizing back pressure of masses of ports and the device thereof | |
US20110075562A1 (en) | Rate Shaping For Wireless Communication Using Token Bucket That Allows Token Debt | |
US20110243139A1 (en) | Band control apparatus, band control method, and storage medium | |
CN116233003A (zh) | 一种对网络进行配置的方法和设备 | |
EP2422495A2 (en) | Dynamic adjustment of connection setup request parameters | |
CN112995048B (zh) | 数据中心网络的阻塞控制与调度融合方法及终端设备 | |
US11695629B2 (en) | Method and apparatus for configuring a network parameter | |
US7756028B2 (en) | Pulsed backpressure mechanism for reduced FIFO utilization | |
US20020141423A1 (en) | Queue control method and relay apparatus using the method | |
CN113064738B (zh) | 基于概要数据的主动队列管理方法 | |
CN113315720B (zh) | 一种数据流控制方法、系统及设备 | |
JP2000307610A (ja) | 動的呼び承認制御アルゴリズムのための方法と装置 | |
CN115412497A (zh) | 一种bbr拥塞控制算法的性能优化方法 | |
US20130003546A1 (en) | System and Method for Achieving Lossless Packet Delivery in Packet Rate Oversubscribed Systems | |
CN116225198B (zh) | 一种cpu负载控制方法及系统 | |
CN104579582B (zh) | 一种基于通信网络的高质量语音传输方法 | |
KR100582907B1 (ko) | 트래픽별 서비스품질 요구사항에 따른 유효 대역폭 할당시스템 및 그 방법 | |
CN107465557B (zh) | 一种epon流量预测方法 | |
CN101119492A (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 |