一种对拥塞控制算法的改进方法

文档序号:1589715 发布日期:2020-01-03 浏览:20次 >En<

阅读说明:本技术 一种对拥塞控制算法的改进方法 (Method for improving congestion control algorithm ) 是由 吴杰 黎文伟 严明 罗光圣 于 2018-06-26 设计创作,主要内容包括:本发明涉及网络传输领域,具体涉及一种对拥塞控制算法的改进方法,为解决现有网络和协议方面存在的缺陷,本发明借鉴了排队理论和自然界中的波动现象,将传统的拥塞控制算法进行分段,并且保证其原始算法特性;所述分段的算法将各自是连续的,方便建立数学模型进行分析,在每段函数的交界处可以有极点存在,不论波长如何变化,均要保证整个算法的连续和收敛特性;本方法中,分段的函数也称子函数,它们的累加将构成原始拥塞控制算法。本发明的改进方法可以应用于拥塞控制的各个层面,比如传输层的TCP、应用层的UDT、QUIC等,其中对用户层的拥塞控制做改进能更好的实现方法,结合DPDK和SDN,并对带宽的估计更加准确,这种拥塞控制改进所产生的效益将会更加明显。(The invention relates to the field of network transmission, in particular to an improved method for a congestion control algorithm, which is used for solving the defects in the aspects of the existing network and protocol, and the invention refers to the queuing theory and the fluctuation phenomenon in the nature, segments the traditional congestion control algorithm and ensures the original algorithm characteristic; the segmented algorithms are continuous respectively, so that a mathematical model is convenient to establish for analysis, a pole can exist at the boundary of each segment of function, and the continuity and convergence characteristics of the whole algorithm are ensured no matter how the wavelength changes; in the method, the segmented functions are also called sub-functions, and their accumulation will constitute the original congestion control algorithm. The improved method of the invention can be applied to various layers of congestion control, such as TCP of a transmission layer, UDT of an application layer, QUIC and the like, wherein the improved method for the congestion control of a user layer can be better realized, DPDK and SDN are combined, the estimation of bandwidth is more accurate, and the benefit generated by the improved congestion control is more obvious.)

一种对拥塞控制算法的改进方法

技术领域

本发明涉及网络传输领域,具体涉及一种对拥塞控制算法的改进方法。

背景技术

报道公开了随着互联网的发展,网络流量迅猛增长,互联网越来越拥堵不堪。为了实现速率和带宽的平衡,业界提出了许多算法,用来改进用户体验,例如BBR、Reno、QUIC、CUBIC、UDT等。这些算法是对TCP和UDP的综合权衡结果。TCP/IP协议栈运行几十年来,已经嵌入到了若干操作系统内核中,即使对TCP协议有改进的算法,也很难得到推广,所以业界便对应用层的传输协议研究比较多。但是不管最近几年流行的QUIC协议,还是TCP协议本身,它们均对改善全网的拥塞状况,表现不佳。业内在提升带宽利用率和用户体验的同时,还必须兼顾公平性。

业内知悉,拥塞控制是一个系统工程,必须结合全网的带宽资源、流量和链路状况、服务器端的系统开销、BDP、协议算法等方面做全面分析,达到一个综合的平衡结果。目前在应用层实现这种平衡的算法很多,比如博弈均衡理论等,但这些算法的共同特点是适应性不强、业务场景不够多样化、收敛速度不够快等。

从全网宏观和统计学的角度看,网络流量呈现总体上的波浪状况,像潮汐般起起伏伏,在流量从波峰到波谷的这段时间,网络带宽是有足够的余量的,但受限于当前的拥塞控制机制,即遇到拥塞时要减少发送速率,必须一段时间后才能发送窗口扩大,实践中,在流量从波峰跌落到波谷的这段时间,还是可以保证部分业务流量不受影响,甚至增加发送速率利用这部分带宽,进而从总体上使网络流量平滑成一条直线,一条接近网络带宽上限的直线。为了实现公平性、带宽利用率、时延、速率的综合优化,本发明拟提供一种对拥塞控制算法的改进方法。本发明的算法借鉴了排队理论和自然界中的波动现象。本发明的改进方法可以应用于拥塞控制的各个层面,比如传输层的TCP、应用层的UDT、QUIC等,其中对用户层的拥塞控制做改进能更好的实现方法,结合DPDK和SDN,并对带宽的估计更加准确,这种拥塞控制改进所产生的效益将会更加明显。

发明内容

本发明的目的在于克服现有传输协议中拥塞控制方面存在的不足,提供一种对拥塞控制算法的改进方法,以达到尽可能提高网络带宽利用率和网络性能的目的。

针对现有网络存在的问题,如:带宽利用率不高,出现拥塞、丢包和高BDP时网络状况较差,等,为了实现公平性、带宽利用率、时延、速率的综合优化,本发明提出了一种对拥塞控制算法的改进方法。本发明的算法借鉴排队理论和自然界中的波动现象,基于如下基础与分析:从全网宏观和统计学的角度看,网络流量呈现总体上的波浪状况,像潮汐般起起伏伏,在流量从波峰到波谷的这段时间,网络带宽是有足够的余量的,但受限于当前的拥塞控制机制,即遇到拥塞时就减少发送速率,所以必须一段时间后才能发送窗口扩大,而事实上,在流量从波峰跌落到波谷的这段时间,还是可保证部分业务流量不受影响,甚至增加发送速率利用这部分带宽,进而从总体上使网络流量平滑成一条直线,一条接近网络带宽上限的直线。具体来说,可以将所有的拥塞控制机制,主要是AIMD,等效为波函数去分析,慢启动、加性增和乘性减相当于波函数的一个周期,也可以将慢启动的开始到乘性减的结束理解为一个波长;当前的拥塞控制算法没有去调节这个波长,从全网的角度来看,所有业务流量的这个波长基本是一致的,步调一致的增加或者减少发送速率,很容易产生共振,易导致很快拥塞或者带宽利用率迅速减少;为了减少这种共振现象,本发明调节这个波长,让它处于可变状态,根据业务场景设置这个波长,比如一些实时流量可以将波长设置短一点,让它尽快传输,但容易受拥塞影响;一些非实时的流量,可以将波长设置长一点,让它传输减慢些,但受拥塞的影响会减少,本发明所改进的拥塞算法,如同多人同时并排通过较窄桥面的原理,当调整步调为不一致时则很难出现拥塞,本发明修改的拥塞算法中,由于调节波长为不一致,则很难出现拥塞。也就是步调不一致,这四个人很难出现并排的情况,也就是有前有后,大家都各走各的;从宏观角度看,桥上一直处于站满人的状态,带宽一直被占满,而且很难出现拥塞;这样从全网总体的角度来看,波长长的流量将会平滑掉由于拥塞导致的波峰到波谷的带宽和性能损失,最后从总体上使网络流量叠加为一种线性最优状态。

本发明对拥塞控制的改进方法,可以直接内置于传统的传输协议中,即,程序里仅需要做很小的改动,例如用f(t)表示传统拥塞控制算法,f(at)变为改进后的拥塞控制算法,a是可变量,用来调节拥塞算法的波长的,a与波长成反比关系;本发明中根据业务流量的类型,设置a的大小,比如对一些实时流量,可以将a增大,这样波长减小,能够更快收敛和适应网络状况。

具体的,为了解决现有网络和协议方面存在的缺陷,本发明提出了一种对传统拥塞控制协议进行改进的方法,所述方法包括:

将传统的拥塞控制算法进行分段,并且保证其原始算法特性;所述分段的算法将各自是连续的,方便建立数学模型进行分析,在每段函数的交界处可以有极点存在,不论波长如何变化,均要保证整个算法的连续和收敛特性;本方法中,分段的函数也称子函数,它们的累加将构成原始拥塞控制算法。

本发明中,子函数在程序中对应了部分的控制信息变化,比如窗口大小等参数,对这些控制信息进行分组,但该分组信息的变化将受到波长A的影响,控制信息的交互过程可以不受影响,以保持可扩展性和兼容性。

本发明中,将原始拥塞控制算法类比于波函数,波长调节因子A将可以同时调节每个子函数的形状,也即左右扩张和缩小的程度,通过波长控制整体流量的步调,保证其步调尽量错开,避免共振导致的拥塞情况;基于波函数的振幅设置为影响拥塞情况因素,而且波函数可以螺旋式上升或者下降,自动调节网络流量的带宽占用情况,因此,本发明中可不设置波函数的振幅。

本发明中,波长调节因子A既可以调节单一业务流量,使其对网络拥塞的鲁棒性增强,抵御来自网络拥塞造成的性能影响,也可以对多业务流量进行调节,结合博弈算法,便可以达到整体网络性能最优。

本发明中,为了使当前业务不受影响,改进的拥塞控制算法需适应当前业务应用场景,特别涉及到协议交互层面的数据包(拥塞控制协议要遵循标准化的流程),尽量不做波长调整,避免引起协议不兼容而导致业务崩溃,对于数据中心和个性化的应用场景,可以根据自身需要改进波长调节因子。

本发明中,波长调节因子是改进拥塞控制算法的核心部分,将拥塞控制算法的步调打乱,便可以从概率上大大减少拥塞发生的可能性,即使发生了拥塞,也不至于将全网带宽利用率降到很低,对波长因子的条件,可以根据业务类型、网络状况等条件做到博弈最佳状态。

更具体的,本发明的对拥塞控制算法的改进方法,其特征在于,其包括步骤:

1)将拥塞控制算法进行分段,所得分段函数构成拥塞控制函数;

2)将网络业务或者数据类型进行分类,其中每一类对应不同的波长调节因子;

3)按照波长调节因子对拥塞控制函数进行平移;

4)求出所有业务波长调节因子的最小公倍数,进而动态变化波长调节因子,避免拥塞。

本发明步骤1)中,为兼顾算法和协议的兼容性对拥塞控制算法的分段,如果不考虑兼容性,拥塞算法不必分段;

所述的步骤1)中,采用波函数去类比分析网络拥塞算法造成的流量的起伏。

本发明步骤2)对网络业务和数据包类型进行分类中,对不同的应用场景的业务进行分类,并且赋予不同的波长调节因子,实现业务的交叉传输,减小网络拥塞的可能性;

所述的波长控制因子对拥塞控制算法的收敛程度进行整体控制。

本发明步骤3)中,对不同业务进行不同程度的拥塞算法平移,使业务流量在传输过程中错开波峰或者波谷;

所述的步骤3)中,还包括:

对拥塞控制函数的平移包括线性平移,或任何形式的非线性平移;

其中,平移导致协议栈的部分控制信息需要改动,如ACK、NAK或cwnd,对所述协议层面的改动需参考波长调节因子作用过程。

本发明方法中,所述的平移过程参考博弈均衡等算法,达到性能和公平性的最优状态,确定最佳波长调节因子。

本发明步骤4)中,所有业务波长的最小公倍数确定网络拥塞的概率情况,对网络状况进行统计和预测,动态调整波长因子,对网络整体状况调节到最优。

本发明的技术效果在于:本方法通过改进传统拥塞控制算法,或者在新的拥塞控制算法上做改进,增加波长调节因子,使业务流量的状态和步调随机化,从而减少发生拥塞的概率和拥塞后造成的网络性能影响,提高了带宽利用率和网络整体性能。

下面结合附图和具体实施例对本发明做进一步的说明。为了更加清楚的理解本发明的处理流程和优点,对本发明中所使用的附图作简单的介绍,附图是示意性的而不应理解为对本发明进行任何限制。

附图说明

图1示出了本发明对拥塞控制的改进方法。

图2示出了本发明中TCP拥塞控制算法的函数分段示意图。

图3示出了本发明中TCP拥塞改进效果示意图。

图4示出了本发明中波长调节因子的确定示意图。

图5示出了本发明相比于传统拥塞控制算法示意图。

具体实施方式

实施例1

如图1所示,用f(t)表示初始拥塞控制算法,t为传播轮次,f(t)=f1(t1)+f2(t2)+...+fn(tn),fn(tn)为拥塞控制算法中的子函数;例如在TCP的AIMD中,n=3,f1(t1),f2(t2),f3(t3)分别为慢启动、加性增和乘性减的曲线段函数,将拥塞控制算法曲线分为n段,第n段的函数用fn(tn)表示,并且响应的控制信息也要做出调整,调整的值是关于波长调节因素的函数;

确定波长调节因子Am,m为需要调节的因素数量,m的值可以根据业务类型、应用场景以及传输协议本身确定,波长调节因子主要调整f(t)的窗口cwnd等参数,f(t)的幅度,也即ssthresh等参数可不变,

Figure BDA0001709087350000051

Am调节的是拥塞控制算法f(t)本身,而不仅仅是单个fn(tn),所有的fn(tn)将会以相同的梯度值根据Am进行平移。

如图2所示,其他拥塞控制算法类似,改进TCP拥塞控制算法的函数分段流程包括:

求出每段函数曲线fn(tn)的极值位置,即a,b,c,d;

以这些极值位置为基准,将拥塞曲线进行平移,建立新的拥塞曲线;

对m个业务流量或其他分类的流量进行类似的平移,得到各自的拥塞曲线,这个过程可以在程序中采用自适应算法,而不必手动计算或者预估;

对整体网络流量进行测试,观察拥塞和业务性能情况,进而为Am的最优化提供参考。

如图3所示,TCP部分拥塞改进效果调整如下:

两个业务流量类似于波动方程起起伏伏,当波长相等时,容易叠加到拥塞状态,当波长相互错开时,拥塞可能性便减少,Am减小时,波长变大,拥塞窗口cwnd的增长速率将会变慢;

波长变长,意味着业务对拥塞的反应将会迟钝,但鲁棒性较好,能更好适应网络拥塞事件;

程序中拥塞窗口的调节机制将会做修改,并且是关于波长调节因子的函数。

如图4所示,波长调节因子Am的确定过程如下:

波长调节因子根据业务的发送速率、带宽需求和类型确定,并不能保证每个业务都享有同样的公平性,但是从总体上是最佳的公平性;

类似于波函数叠加方程,m个业务,m个波长同时传播,将会在m个波长的最小公倍数M处产生共振进而造成拥塞,但由于M>1,比在1处就产生共振的传统拥塞控制算法,性能明显提升;

为了避免网络整体流量在M处产生共振,可以从整体上对流量进行预测,在业务流量即将产生拥挤时,及时对Am进行调整,这样可避免网络过度拥塞;对Am的确定,将会是带宽利用率、业务流量下载或上传速度等因素的博弈均衡。

如图5所示,同一时刻三个数据包在网络中的可能位置如图所示,可以看出:

假如信道容量是三个数据包,由于波长不一致,从概率学角度上,同一时刻,三个数据包同时并行传输所产生拥塞的概率将会降低,如果是m个波长,产生拥塞的概率将会更低;

传统拥塞控制算法,特别是TCP/IP协议栈,使用的是固定的机制,容易出现拥塞现象;结果显示,本发明方法相比传统拥塞控制算法,能更好的利用网络带宽和提高数据传送效率。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于MCDN的内容分发方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!