CN105024940A - 基于链路自适应的异构网络tcp拥塞控制方法 - Google Patents

基于链路自适应的异构网络tcp拥塞控制方法 Download PDF

Info

Publication number
CN105024940A
CN105024940A CN201510419245.2A CN201510419245A CN105024940A CN 105024940 A CN105024940 A CN 105024940A CN 201510419245 A CN201510419245 A CN 201510419245A CN 105024940 A CN105024940 A CN 105024940A
Authority
CN
China
Prior art keywords
cwnd
rtt
packet loss
link
tcp
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.)
Granted
Application number
CN201510419245.2A
Other languages
English (en)
Other versions
CN105024940B (zh
Inventor
王志明
曾孝平
刘学
陈礼
李娟�
黄杰
唐明春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Keying Technology Co ltd
Chongqing Min Chuang Intellectual Property Agency Co ltd
Original Assignee
Chongqing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN201510419245.2A priority Critical patent/CN105024940B/zh
Publication of CN105024940A publication Critical patent/CN105024940A/zh
Application granted granted Critical
Publication of CN105024940B publication Critical patent/CN105024940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于链路自适应的异构网络TCP拥塞控制方法,在指数型窗口增长函数中引入一个自适应增长因子以实现窗口增长速率与链路状态相匹配,在丢包区分策略中采用自适应队列门限以提高无线环境下TCP的性能,该方法能够根据链路自适应调整窗口增长速率和退避策略,避免TCP由于不同链路带宽和时延的差异性以及高丢包造成TCP传输性能退化,此外,还采用加速拥塞窗口收敛的策略,并且只需修改发端TCP协议,易于在互联网上逐步部署应用,根据性能分析和评估表明,提高了TCP拥塞控制算法的公平性、链路利用率以及端对端往返时延的公平性。

Description

基于链路自适应的异构网络TCP拥塞控制方法
技术领域
本发明涉及通信网络技术领域,具体涉及一种基于链路自适应的异构网络TCP拥塞控制方法(以下简称INVS算法)。
背景技术
随着通信技术的发展和普及,传统的通信网络已发展成为包含有线网络,无线网络和卫星网络等多种IP网络的全球异构互联网。高速光链路、卫星长时延链路和各种无线链路的共存使得链路带宽在无线链路中比较稀缺,在光纤链路中非常充足;端对端往返时延(Round trip time,RTT)在有线网络中小到甚至低于1毫秒,在卫星网络中大到甚至超过1秒;链路丢包率在光纤链路上可能低于10-6,在无线链路上则可能高于1%。简言之,互联网中端对端带宽、RTT和丢包率等的差异很大,这也是其异构性的具体体现。TCP在尽力交付的IP网络中为上层业务提供可靠的端到端传输服务,承载着约90%的互联网流量。然而,随着互联网异构性的增加,TCP协议的传输性能面临严峻挑战。目前,网络异构性已成为互联网拥塞控制研究的热点。
目前已经有大量针对异构性的网络拥塞控制算法研究,但大多数只针对异构性某一方面进行改进。如针对RTT差异性造成的公平性问题,Caini C等人提出了Hybla算法,大大改善了RTT公平性,但在高速链路和高丢包链路上Hybla却不能充分利用网络带宽。针对带宽和RTT的差异性造成传统TCP在高速和大时延,即大时延带宽积(Bandwidth-delay product,BDP),网络中不能充分利用带宽的问题,HS-TCP、STCP、CUBIC和Compound TCP(CTCP)等被提出了,CUBIC和CTCP已经在互联网上被广泛部署使用。然而,这些算法不适用于有高丢包的无线链路,同时也存在公平性问题。如CUBIC、STCP和HS-TCP等在与TCP Reno共享链路时,存在严重的公平性问题;CTCP与CUBIC等算法共享链路时,不足以竞争到公平的带宽资源。针对丢包率的差异性,如无线链路丢包造成TCP性能退化的问题,Veno、JTCP、Westwood等被提出了,这些算法采用固定队列长度或者时延来区分拥塞丢包和非拥塞丢包。然而,随着链路缓存大小差异性的增加,采用固定队列(或时延)门限区分丢包方法的准确性日趋下降。此外,也有一些算法采用了特殊策略,如PEPsal和indirect-TCP将TCP连接分成几段以屏蔽无线链路丢包对TCP性能的影响;TCP-Jersey采用路由辅助的显式拥塞通告策略判定丢包类型;网络编码TCP通过对数据包进行编码抵抗随机丢包。由于部署应用对网络的特殊要求,这些特殊策略难以在互联网上被广泛使用。
在同时考虑带宽、时延和丢包差异性方面,毕元梅等提出了一种根据链路类型选择对应拥塞控制算法的策略,即卫星链路用Vegas,无线链路用Westwood、高速链路用HS-TCP和一般链路用NewReno。由于其链路信息的获取需要中继路由器将链路类型加入IP报文,在互联网上部署应用的非常困难。
综上所述,现有的各种TCP拥塞控制方法,在异构网络的应用中还普遍存在一些缺陷。
发明内容
本申请通过提供一种基于链路自适应的异构网络TCP拥塞控制方法,以解决由于不同链路带宽和时延的差异性以及高丢包造成TCP传输性能退化的技术问题。
为解决上述技术问题,本申请采用以下技术方案予以实现:
一种基于链路自适应的异构网络TCP拥塞控制方法(简称INVS算法),其关键在于,当拥塞窗口cwnd超过慢启动门限值ssthresh时,进入拥塞避免阶段,在该阶段中,每收到一个确认字符ACK时,拥塞窗口按如下方式进行调整:
c w n d = c w n d + cwnd s p - c w n d k cwnd s p , c w n d < cwnd s p c w n d - cwnd s p k c w n d , c w n d > cwnd s p 1 c w n d , c w n d = cwnd s p - - - ( 1 )
其中,cwnd为拥塞窗口大小,cwndsp为饱和点的拥塞窗口大小,k为自适应增长因子,且其中c为常数比例因子, r b w = m a x &lsqb; BW r e f BW e s t , 1 &rsqb; , r r t t = m a x &lsqb; RTT r e f RTT min , 1 &rsqb; , BWref是参考带宽,BWest为估计带宽,表示rbw与1之间的最大值,RTTref是RTT参考值,RTTmin为RTT最小值,且RTTmin在路由变化时实时跟踪,表示rrtt与1之间的最大值,γ为指数因子,用于减小RTT增大的不利影响。
式(1)中第一个表达式为凸窗口的增长过程,第二个表达式实现到达饱和状态后的带宽探测过程,第三个表达式实现凸函数增长阶段到网络探测阶段的过度。根据式(1),INVS在拥塞避免阶段开始时,cwnd快速增加,当cwnd接近饱和点cwndsp时减慢;当cwnd超过饱和点时,逐渐加速探测带宽,饱和点cwndsp表示带宽已被充分利用,换言之,如果发送端继续增大传输速率,将可能发生拥塞,否则说明仍有可用带宽。
k是网络和链路状态的反应,直接影响INVS的效率和公平性。为反应链路状态,k为链路带宽和最小RTT的函数,带宽和RTT的差异性通过k反应在窗口增长函数中。BWest用于体现链路环境,因此,平均带宽足以体现带宽大小且比较稳定。INVS每一个RTT估计一次BWest,并在估计中通过最小估计周期和低通滤波器消除估计带宽的抖动以获得稳态带宽,减小了因ACK时延抖动的影响,也可避免频繁计算k。
从k的表达式可以看出,k随着带宽或RTT的增大而减小。带宽或者RTT的增大会导致网络BDP的增加,即允许更多的报文同时在网络中传输。为了更有效充分利用网络资源,每收到一个ACK,cwnd增加量随着网络BDP的增大而增大,因此,当BDP增大时,k减小。当BWest>BWref且RTTmin>RTTref,k恒为c。这时由于窗口增长速率已经很快,即使带宽和RTT增大,k也不再减小。
此外,带宽增加和时延增加都会导致BDP增加,但RTT增大也会导致接收到网络拥塞信息反馈的时延增加,拥塞信息延迟会造成加剧每一次拥塞的程度,导致更多的丢包。因此,INVS引入了因子γ来降低RTT增大的不利影响。γ越小,RTT增大的不利影响越小。
进一步的,当收到三个重复确认字符ACK时,执行拥塞退避策略,并按照下式对拥塞窗口cwnd、慢启动门限值ssthresh以及饱和点的拥塞窗口cwndsp进行调整:
c w n d = { &beta; c w n d , buffer e s t &GreaterEqual; min ( &delta; , max b u f f e r ) min ( BDP e s t , c w n d ) , buffer e s t < min ( &delta; , max b u f f e r ) ;
s s t h r e s h = { &beta; c w n d , buffer e s t &GreaterEqual; min ( &delta; , max b u f f e r ) min ( BDP e s t , c w n d ) , buffer e s t < min ( &delta; max b u f f e r ) ; - - - ( 2 )
cwnd s p = 1 + &beta; 2 c w n d , c w n d < cwnd s p c w n d , e l s e ;
式中,β为乘性减因子,BDPest为链路时延带宽积估计值,bufferest为当前链路在网络中排队报文数的估计值,δ是预设的大容量链路的队列溢出门限,maxbuffer是当前链路所有bufferest的最大值,超时后重新估计,min(δ,maxbuffer)表示取δ和maxbuffer之间的最小值作为最终判决门限来区分拥塞丢包和非拥塞丢包,当收到三个重复的确认字符ACK,且当前网络中排队报文数的估计值大于或等于min(δ,maxbuffer),则判定当前丢包由拥塞引起,并采用传统的退避机制,否则,判定当前丢包属于非拥塞丢包,拥塞窗口cwnd和慢启动门限值ssthresh设为BDPest和cwnd之间的最小值;
当丢包发生时,cwnd<cwndsp表示拥塞避免阶段中本次拥塞发生较上一次拥塞发生的时间早,当前跟踪到的网络饱和点拥塞窗口cwndsp向下调整,设为否则cwndsp设为当前窗口大小cwnd以跟踪当前的网络饱和点。
作为优选的技术方案,所述常数比例因子c=2,所述指数因子γ=0.75,乘性减因子β=0.75。
进一步地,在确定自适应增长因子k时,每收到一个ACK估计一次BWest,每一个RTT更新一次k。
与现有技术相比,本申请提供的技术方案,具有的技术效果或优点是:INVS提高了TCP拥塞控制算法的公平性、链路利用率以及端对端往返时延的公平性。
附图说明
图1为本发明实施例的不同丢包率下TCP协议的响应函数曲线图;
图2为本发明实施例的TCP公平性示意图;
图3为本发明实施例的两个INVS流的拥塞窗口示意图;
图4为本发明实施例的混合网络拓扑;
图5为本发明实施例的高速网络单个流吞吐量示意图;
图6为本发明实施例的卫星网络单个流吞吐量示意图;
图7为本发明实施例的异构网络下公平性示意图;
图8为本发明实施例的异构网络下总的链路利用率示意图;
图9为本发明实施例的异构网络下RTT公平性示意图。
具体实施方式
本申请实施例通过提供一种基于链路自适应的异构网络TCP拥塞控制方法,以解决由于不同链路带宽和时延的差异性以及高丢包造成TCP传输性能退化的技术问题。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式,对上述技术方案进行详细的说明。
实施例
为实现拥塞控制策略与链路状态相匹配以取得较好的利用率和公平性,本发明采用了基于指数函数的自适应窗口增长函数,并引入了自适应队列门限的丢包区分策略。
为了保证在大BDP网络中的传输效率,与BICTCP,CUBIC和CTCP等类似,INVS在拥塞避免阶段(congestion avoidance phase,CAP)初期采用凸窗口增长函数。凸窗口增长函数允许TCP发送端在CAP初期快速增长拥塞窗口以尽快充分利用带宽,当接近拥塞时缓慢增长窗口,INVS采用基于指数函数的凸窗口增长函数,t时刻拥塞窗口增长函数如式(3)所示:
cwnd(t)=cwndsp(1-(1-β)αt),0<α<1   (3)
式(3)中,t为从拥塞避免阶段开始所经历的时间,cwndsp为饱和点的拥塞窗口大小,即链路资源已充分利用,为了自适应匹配链路状态,参数α随链路状态动态变化。
为了满足上述函数约束,在具体实施过程中,当拥塞窗口cwnd超过慢启动门限值ssthresh时,进入拥塞避免阶段,在该阶段,每次收到确认字符ACK时,拥塞窗口按如下方式进行调整:
c w n d = c w n d + { cwnd s p - c w n d k cwnd s p , c w n d < cwnd s p c w n d - cwnd s p k c w n d c w n d > cwnd s p 1 c w n d c w n d = cwnd s p - - - ( 4 )
式(4)中,cwnd为拥塞窗口大小,cwndsp为饱和点的拥塞窗口大小,k为自适应增长因子,且其中c为常数比例因子, r b w = max &lsqb; BW r e f BW e s t , 1 &rsqb; , r r t t = max &lsqb; RTT r e f RTT min , 1 &rsqb; , BWref是参考带宽,BWest为估计带宽,表示rbw与1之间的最大值,RTTref是RTT参考值,RTTmin为RTT最小值,且RTTmin在路由变化时实时跟踪,表示rrtt与1之间的最大值,γ为指数因子,用于减小RTT增大的不利影响。
式(4)第一个表达式实现式(3)中的凸函数增长过程,第二个表达式实现到达饱和状态后的带宽探测过程,最后一个表达式实现凸函数增长阶段到网络探测阶段的过度。根据式(4),INVS在拥塞避免阶段开始时,cwnd快速增加,当cwnd接近饱和点cwndsp时减慢,当cwnd超过饱和点时,逐渐加速探测带宽。饱和点cwndsp表示带宽已被充分利用,换言之,如果发送端继续增大传输速率,将可能发生拥塞,否则说明仍有可用带宽。
k是网络和链路状态的反应,直接影响INVS的效率和公平性。为反应链路状态,k为链路带宽和最小RTT的函数,带宽和RTT的差异性通过k反应在窗口增长函数中。BWest用于体现链路环境,因此,平均带宽足以体现带宽大小且比较稳定。INVS每一个RTT估计一次BWest,并在估计中通过最小估计周期和低通滤波器消除估计带宽的抖动以获得稳态带宽,减小了因ACK时延抖动的影响,也可避免频繁计算k。
从k的表达式可以看出,k随着带宽或RTT的增大而减小。带宽或者RTT的增大会导致网络BDP的增加,即允许更多的报文同时在网络中传输。为了更有效充分利用网络资源,每收到一个ACK,cwnd增加量随着网络BDP的增大而增大,因此,当BDP增大时,k减小。当BWest>BWref且RTTmin>RTTref,k恒为c。这时由于窗口增长速率已经很快,即使带宽和RTT增大,k也不再减小。
此外,带宽增加和时延增加都会导致BDP增加,但RTT增大也会导致接收到网络拥塞信息反馈的时延增加,拥塞信息延迟会造成加剧每一次拥塞的程度,导致更多的丢包。因此,INVS引入了因子γ来降低RTT增大的不利影响。γ越小,RTT增大的不利影响越小。
除此之外,本方法还对丢包策略做了改进,当收到三个重复确认字符ACK时,执行拥塞退避策略,并按照下式对拥塞窗口cwnd、慢启动门限值ssthresh以及饱和点的拥塞窗口cwndsp进行调整:
c w n d = &beta; c w n d , buffer e s t &GreaterEqual; min ( &delta; , max b u f f e r ) min ( BDP e s t , c w n d ) , buffer e s t < min ( &delta; , max b u f f e r ) ;
s s t h r e s h = { &beta; c w n d , buffer e s t &GreaterEqual; min ( &delta; , max b u f f e r ) min ( BDP e s t , c w n d ) , buffer e s t < min ( &delta; max b u f f e r ) ; - - - ( 5 )
cwnd s p = 1 + &beta; 2 c w n d , c w n d < cwnd s p c w n d , e l s e ;
式中,β为乘性减因子,BDPest为链路时延带宽积估计值,bufferest为当前链路在网络中排队报文数的估计值,δ是预设的大容量链路的队列溢出门限,maxbuffer是当前链路所有bufferest的最大值,超时后重新估计,min(δ,maxbuffer)表示取δ和maxbuffer之间的最小值作为最终判决门限来区分拥塞丢包和非拥塞丢包,当收到三个重复的确认字符ACK,且当前网络中排队报文数的估计值大于或等于min(δ,maxbuffer),则判定当前丢包由拥塞引起,并采用传统的退避机制,否则,判定当前丢包属于非拥塞丢包,拥塞窗口cwnd和慢启动门限值ssthresh设为BDPest和cwnd之间的最小值;
当丢包发生时,cwnd<cwndsp表示拥塞避免阶段中本次拥塞发生较上一次拥塞发生的时间早,当前跟踪到的网络饱和点拥塞窗口cwndsp向下调整,设为否则cwndsp设为当前窗口大小cwnd以跟踪当前的网络饱和点。
为了进一步理解本发明的显著效果,接下来对算法的性能进行分析:
INVS的稳态吞吐量:
TCP稳态吞吐量建模分析基于TCP的长时间传输、不考虑慢启动阶段和超时的情况,通过分析拥塞避免阶段和发现丢包后的快重传快恢复阶段发送报文的总数及其持续时间,得出TCP的稳态吞吐量。
在给定链路时,网络带宽和最小RTT不变,因此k可被看作常数。稳态时,cwnd周期性地从β·cwndsp增长到cwndsp。其中,cwndsp为拥塞避免阶段cwnd的最大值。从公式(4)可以得出,在第i轮RTT开始时,cwnd可以表示为:
c w n d ( i ) = cwnd s p ( 1 - ( &beta; ( k - &beta; ) k ) i - 1 ( 1 - &beta; ) ) - - - ( 6 )
式(6)中,i表示从CAP开始经过的RTT轮数。
记n为cwnd增长到cwndsp所经过的RTT轮数。根据式(4)可以得出,当cwnd(i)≥cwndsp-1时,在第i轮结束时cwnd就会等于cwndsp。因此,轮数n可以表示为:
n = log k &beta; ( k - &beta; ) ( cwnd s p ( 1 - &beta; ) ) - - - ( 7 )
因此,一个CAP阶段发送的总报文数为:
Y = &Sigma; i = 1 n c w n d ( i ) = cwnd s p ( n - k ( ( 1 - &beta; ) cwnd s p - 1 ) ( k - k &beta; + &beta; 2 ) cwnd s p ) - - - ( 8 )
稳态时,一个CAP阶段可以发送的报文总数也可用丢包率p表示为:
Y = 1 p - - - ( 9 )
由(8)和(9)可以得出:
cwnd s p ( n - k ( ( 1 - &beta; ) cwnd s p - 1 ) ( k - k &beta; + &beta; 2 ) cwnd s p ) = 1 p - - - ( 10 )
因此
cwnd s p = k ( 1 - &beta; - p ) + &beta; 2 p ( ( k - k &beta; + &beta; 2 ) n - k ( 1 - &beta; ) ) - - - ( 11 )
将式(7)代入式(11),利用Lambert W函数是f(W)=WeW的反函数可以求得cwndsp的表达式为:
cwnd s p = ( k ( 1 - &beta; - p ) + &beta; 2 ) l n ( k &beta; ( k - &beta; ) ) p ( k - k &beta; + &beta; 2 ) l a m b e r t W ( f ) - - - ( 12 )
式(12)中, f = k ( 1 - &beta; - p ) + &beta; 2 p ( k - k &beta; + &beta; 2 ) ( 1 - &beta; ) l n ( k &beta; ( k - &beta; ) ) e - k ( 1 - &beta; ) k - k &beta; + &beta; 2 ln ( k &beta; ( k - &beta; ) )
因此,可以推得平均吞吐量的表达式为:
T h = Y n &CenterDot; R T T = l n k &beta; ( k - &beta; ) p &CenterDot; R T T &CenterDot; l n ( cwnd s p ( 1 - &beta; ) ) - - - ( 13 )
图1所示为不同丢包率下INVS与其它TCP拥塞控制算法的响应函数。由于目前尚无CUBIC,Illinois,Hybla和Westwood的响应函数,因此通过仿真对比分析。AIMD(32,0.125)表示使用增量因子32和退避因子为0.125。INVS(500)和INVS(50)分别表示在瓶颈带宽为500Mbps和50Mbps INVS流的结果。从图1中可以看出,给定丢包率下,INVS流在高带宽网络中取得很好的吞吐量性能。
TCP的友好性和公平性:
TCP的公平性指在经历相同拥塞的情况下,多个TCP竞争流之间带宽分享的平等性。为分析INVS的公平性,图2给出了相同链路上两个INVS流的拥塞窗口变化矢量图。假设1号流先启动,已取得较大cwnd,2号流启动晚,瓶颈链路拥塞后退避至图中A点。根据式(5),1号流的cwndsp设为0.5(1+β)cwnd1,2号流的设为cwnd2。cwnd1和cwnd2分别为上一CAP中的最大拥塞窗口。根据式(7),2号流比1号流先将cwnd增加到cwndsp。直到再次拥塞时(图中B点),2号流就获得了1号流释放的带宽。退避到C点后,在下一CAP拥塞时(D点),根据(4)式,2号流获得更多的带宽。通过数次拥塞和退避,1号流逐步释放带宽给2号流,直到它们近似平等地共享带宽。
图3给出了同一网络下的两个INVS流的拥塞窗口。仿真场景是瓶颈容量为100Mbps、RTT为80ms的哑铃网络。从图3中可以看出,两个INVS流的拥塞窗口从300s开始趋于相同。仿真结果也验证了当丢包发生时,采用(5)式加快了竞争流间的窗口收敛速度。
TCP友好性:在小BDP网络中,INVS对TCP Reno/NewReno/CTCP是友好的。因为在小BDP网络中,k会很大,使得拥塞窗口的增长速率与TCP Reno接近,甚至会小于TCP Reno。因此,当INVS的增长速率小于TCP Reno时,INVS使用TCP Reno的窗口值。TCP Reno的拥塞窗口:
W T C P ( t ) = 3 1 + &beta; 1 - &beta; t R T T + &beta;cwnd s p - - - ( 14 )
式(14)中,t是CAP开始的时间。
进一步地,为评估INVS在异构性网络中的性能,本实施例使用了哑铃拓扑和混合拓扑两种网络拓扑。哑铃拓扑网络采用100Mbps的瓶颈带宽和1000Mbps的支路带宽。混合网络拓扑和配置如图4所示。仿真中节点缓冲大小默认为链路BDP。
单个流传输性能:
首先,针对高速链路、大时延链路和无线链路丢包下TCP的性能退化问题,本实施例分别采用高速网络和卫星网络两种场景评估单个INVS流的性能。哑铃网络拓扑用于模拟高速网络,其瓶颈带宽为500Mbps,RTT为20ms,瓶颈链路缓存为4Mbit。混合网络拓扑用于模拟卫星大时延网络,其中卫星前向链路(satellite forward link,SFL)的瓶颈带宽为4Mbps。为进一步分析有丢包时的算法性能,仿真了丢包率增加时单个流的吞吐量。当网络丢包率为0时,只有拥塞丢包。
图5和图6分别为高速网络和卫星网络下随着丢包率增加时单个流的平均吞吐量。从图5和6中可以得出:
1)丢包率越高,所有协议的性能都越来越差;
2)在无链路丢包时(仅拥塞丢包),Reno不能够充分利用网络;
3)对比图5和图6发现,Hybla和CUBIC在有链路丢包的高速网络中不能充分利用网络带宽。这是因为Hybla和CUBIC:⑴窗口增长独立于RTT;⑵均不区分拥塞丢包和链路丢包。
4)随着丢包率的增加,INVS在高速网络和卫星网络中均取得较好的性能。
卫星与有线混合网络下性能评估:
为评估异构网络下INVS的性能,本实施例采用混合网络拓扑(如图4所示)模拟卫星链路和有线链路的混合网络。为模拟实际网络流量,基于对互联网上服务器使用TCP协议的估计结果,结合Windows7以上系统(默认CTCP)和智能手机(默认CUBIC)的广泛使用,背景流由Reno流(20%),Cubic流(50%)和CTCP流(30%)组成。仿真中在客户端C1和服务器S1之间建立5个测试协议流,在C3和S2之间建立20个背景流,所有的TCP流都在0s到5s内随机启动。当SFL带宽分别为10Mbps,40Mbps和80Mbps时,卫星TCP流的平均带宽为2Mbps,8Mbps和16Mbps,有线瓶颈链路上TCP流的平均带宽为4Mbps。
图7为公平性指标,结果显示,当SFL带宽为10Mbps和80Mbps时,INVS的公平性最好;当SFL带宽为40Mbps时CUBIC的公平性最好。图8为异构网络下总的链路利用率,为了衡量卫星链路和有线链路的总利用率,结果为卫星链路利用率和有线链路利用率的平均值。从图8中可以看出,INVS的总链路利用率最高。总的来说,在异构网络下INVS提高了公平性和总的链路利用率。
RTT公平性:
时延差异是异构网络中的一个重要方面,主要影响TCP拥塞控制算法的公平性,本实施例采用哑铃网络拓扑评估算法的RTT公平性,瓶颈带宽为100Mbps,支路带宽为1000Mbps,瓶颈链路缓存大小为3Mbit,仿真时间持续600s。两个TCP流共享瓶颈带宽,1号流的RTT为80ms,2号流的RTT从20ms到320ms变化。2号流在1号流启动20s后启动。
图9为两个流中吞吐量中较高的与较低的比值。图9中比值越接近1,则该协议的RTT公平性越好。从图9中可以看出,当两个流的RTT相等时,Reno和CTCP的公平性最好;由于采用完全RTT独立的增长速率,Hybla的RTT公平性最好;当两个流的RTT差增大时,INVS的公平性比除Hybla外的其他协议公平性好。这是因为INVS在窗口增长阶段引入了自适应增长因子等。
本申请的上述实施例中,通过提供一种基于链路自适应的异构网络TCP拥塞控制方法INVS,在指数型窗口增长函数中引入一个自适应增长因子以实现窗口增长速率与链路状态相匹配,在丢包区分策略中采用自适应队列门限以提高无线环境下TCP的性能,该基于链路自适应的异构网络TCP拥塞控制方法INVS能够根据链路自适应调整窗口增长速率和退避策略,避免TCP由于不同链路带宽和时延的差异性以及高丢包造成TCP传输性能退化,此外,该基于链路自适应的异构网络TCP拥塞控制方法INVS只需修改发端协议,易于在互联网上逐步部署应用,根据性能分析和评估表明,INVS提高了TCP拥塞控制算法的公平性、链路利用率以及端对端往返时延的公平性。
应当指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改性、添加或替换,也应属于本发明的保护范围。

Claims (4)

1.一种基于链路自适应的异构网络TCP拥塞控制方法,其特征在于,当拥塞窗口cwnd超过慢启动门限值ssthresh时,进入拥塞避免阶段,在该阶段中,每收到一个确认字符ACK时,拥塞窗口按如下方式进行调整:
c w n d = c w n d + cwnd s p - c w n d k cwnd s p , c w n d < cwnd s p c w n d - cwnd s p k c w n d , c w n d > cwnd s p 1 c w n d , c w n d = cwnd s p
其中,cwnd为拥塞窗口大小,cwndsp为饱和点的拥塞窗口大小,k为自适应增长因子,且0<γ<1,其中c为常数比例因子, r b w = m a x &lsqb; BW r e f BW e s t , 1 &rsqb; , r r t t = m a x &lsqb; RTT r e f RTT min , 1 &rsqb; , BWref是参考带宽,BWest为估计带宽, r b w = m a x &lsqb; BW r e f BW e s t , 1 &rsqb; 表示rbw与1之间的最大值,RTTref是RTT参考值,RTTmin为RTT最小值,且RTTmin在路由变化时实时跟踪,表示rrtt与1之间的最大值,γ为指数因子,用于减小RTT增大的不利影响。
2.根据权利要求1所述的基于链路自适应的异构网络TCP拥塞控制方法,其特征在于,当收到三个重复确认字符ACK时,执行拥塞退避策略,并按照下式对拥塞窗口cwnd、慢启动门限值ssthresh以及饱和点的拥塞窗口cwndsp进行调整:
c w n d &beta; c w n d , buffer e s t &GreaterEqual; min ( &delta; , max b u f f e r ) min ( BDP e s t , c w n d ) buffer e s t < min ( &delta; , max b u f f e r ) ;
s s t h r e s h = &beta; c w n d , buffer e s t &GreaterEqual; min ( &delta; , max b u f f e r ) min ( BDP e s t , c w n d ) buffer e s t < min ( &delta; , max b u f f e r ) ;
cwnd s p = { 1 + &beta; 2 c w n d , c w n d < cwnd s p c w n d , e l s e ;
式中,β为乘性减因子,BDPest为链路时延带宽积估计值,bufferest为当前链路在网络中排队报文数的估计值,δ是预设的大容量链路的队列溢出门限,maxbuffer是当前链路所有bufferest的最大值,超时后重新估计,min(δ,maxbuffer)表示取δ和maxbuffer之间的最小值作为最终判决门限来区分拥塞丢包和非拥塞丢包,当收到三个重复的确认字符ACK,且当前网络中排队报文数的估计值大于或等于min(δ,maxbuffer),则判定当前丢包由拥塞引起,并采用传统的退避机制,否则,判定当前丢包属于非拥塞丢包,拥塞窗口cwnd和慢启动门限值ssthresh设为BDPest和cwnd之间的最小值;
当丢包发生时,cwnd<cwndsp表示拥塞避免阶段中本次拥塞发生较上一次拥塞发生的时间早,当前跟踪到的网络饱和点拥塞窗口cwndsp向下调整,设为否则cwndsp设为当前窗口大小cwnd以跟踪当前的网络饱和点。
3.根据权利要求2所述的基于链路自适应的异构网络TCP拥塞控制方法,其特征在于,所述常数比例因子c=2,所述指数因子γ=0.75,乘性减因子β=0.75。
4.根据权利要求1所述的基于链路自适应的异构网络TCP拥塞控制方法,其特征在于,在确定自适应增长因子k时,每收到一个ACK估计一次BWest,每一个RTT更新一次k。
CN201510419245.2A 2015-07-16 2015-07-16 基于链路自适应的异构网络tcp拥塞控制方法 Active CN105024940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510419245.2A CN105024940B (zh) 2015-07-16 2015-07-16 基于链路自适应的异构网络tcp拥塞控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510419245.2A CN105024940B (zh) 2015-07-16 2015-07-16 基于链路自适应的异构网络tcp拥塞控制方法

Publications (2)

Publication Number Publication Date
CN105024940A true CN105024940A (zh) 2015-11-04
CN105024940B CN105024940B (zh) 2017-10-31

Family

ID=54414661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510419245.2A Active CN105024940B (zh) 2015-07-16 2015-07-16 基于链路自适应的异构网络tcp拥塞控制方法

Country Status (1)

Country Link
CN (1) CN105024940B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553757A (zh) * 2015-12-09 2016-05-04 浪潮电子信息产业股份有限公司 一种tcp吞吐量算法测量端到端可用带宽的方法
CN106254433A (zh) * 2016-07-28 2016-12-21 杭州迪普科技有限公司 一种建立tcp通信连接的方法及装置
CN107360101A (zh) * 2017-08-04 2017-11-17 武汉理工大学 一种基于自适应参数的tcp拥塞控制算法
CN108881031A (zh) * 2018-06-11 2018-11-23 云南师范大学 一种基于sdn网络的自适应可靠数据传输方法
CN109698925A (zh) * 2018-11-28 2019-04-30 北京大学 基于数据驱动的实时视频拥塞控制方法及装置
CN110391956A (zh) * 2019-07-23 2019-10-29 中国工商银行股份有限公司 网络服务进程状态的识别监控方法及装置
CN110650095A (zh) * 2018-06-26 2020-01-03 复旦大学 一种对拥塞控制算法的改进方法
CN111200563A (zh) * 2018-11-20 2020-05-26 蔚山科学技术院 一种拥塞控制方法及装置
CN111614572A (zh) * 2020-04-28 2020-09-01 网络通信与安全紫金山实验室 一种基于rtt的tcp网络拥塞控制方法
CN113747498A (zh) * 2021-08-03 2021-12-03 上海交通大学 针对移动蜂窝网络的可配置低延迟拥塞控制方法及系统
CN113923164A (zh) * 2021-09-30 2022-01-11 中国电信股份有限公司 链路拥塞检测方法及相关设备
CN114285801A (zh) * 2021-12-30 2022-04-05 北京天融信网络安全技术有限公司 一种数据转发方法、装置、电子设备和存储介质
CN114374628A (zh) * 2022-02-09 2022-04-19 江苏济楚信息技术有限公司 一种基于模型的音视频通信低延时拥塞控制方法
CN114598653A (zh) * 2022-05-09 2022-06-07 上海飞旗网络技术股份有限公司 一种基于时延管理模型的数据流加速方法
CN114629847A (zh) * 2022-03-08 2022-06-14 西安电子科技大学 基于可用带宽分配的耦合多流tcp拥塞控制方法
WO2023201910A1 (zh) * 2022-04-17 2023-10-26 中国传媒大学 无线网络中基于机器学习的无线丢包和拥塞丢包区分方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487698A (zh) * 2003-09-01 2004-04-07 中国科学院计算技术研究所 一种适合有线/无线混合网络的自适应拥塞控制方法
EP1691526A1 (en) * 2005-02-11 2006-08-16 Samsung Electronics Co., Ltd. Transmission control protocol (TCP) congestion control using multiple TCP acknowledgements (ACKs)
CN102739515A (zh) * 2010-04-13 2012-10-17 北京英华高科科技有限公司 异构网络的tcp拥塞控制

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487698A (zh) * 2003-09-01 2004-04-07 中国科学院计算技术研究所 一种适合有线/无线混合网络的自适应拥塞控制方法
EP1691526A1 (en) * 2005-02-11 2006-08-16 Samsung Electronics Co., Ltd. Transmission control protocol (TCP) congestion control using multiple TCP acknowledgements (ACKs)
CN102739515A (zh) * 2010-04-13 2012-10-17 北京英华高科科技有限公司 异构网络的tcp拥塞控制

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘俊: "拥塞窗口自适应的TCP拥塞避免算法", 《计算机应用》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553757A (zh) * 2015-12-09 2016-05-04 浪潮电子信息产业股份有限公司 一种tcp吞吐量算法测量端到端可用带宽的方法
CN106254433A (zh) * 2016-07-28 2016-12-21 杭州迪普科技有限公司 一种建立tcp通信连接的方法及装置
CN107360101A (zh) * 2017-08-04 2017-11-17 武汉理工大学 一种基于自适应参数的tcp拥塞控制算法
CN107360101B (zh) * 2017-08-04 2020-01-14 武汉理工大学 一种基于自适应参数的tcp拥塞控制算法
CN108881031A (zh) * 2018-06-11 2018-11-23 云南师范大学 一种基于sdn网络的自适应可靠数据传输方法
CN108881031B (zh) * 2018-06-11 2020-09-18 云南师范大学 一种基于sdn网络的自适应可靠数据传输方法
CN110650095A (zh) * 2018-06-26 2020-01-03 复旦大学 一种对拥塞控制算法的改进方法
CN111200563A (zh) * 2018-11-20 2020-05-26 蔚山科学技术院 一种拥塞控制方法及装置
CN111200563B (zh) * 2018-11-20 2023-07-07 蔚山科学技术院 一种拥塞控制方法及装置
CN109698925B (zh) * 2018-11-28 2020-10-16 北京大学 基于数据驱动的实时视频拥塞控制方法及装置
CN109698925A (zh) * 2018-11-28 2019-04-30 北京大学 基于数据驱动的实时视频拥塞控制方法及装置
CN110391956A (zh) * 2019-07-23 2019-10-29 中国工商银行股份有限公司 网络服务进程状态的识别监控方法及装置
CN110391956B (zh) * 2019-07-23 2021-08-13 中国工商银行股份有限公司 网络服务进程状态的识别监控方法及装置
CN111614572A (zh) * 2020-04-28 2020-09-01 网络通信与安全紫金山实验室 一种基于rtt的tcp网络拥塞控制方法
CN113747498A (zh) * 2021-08-03 2021-12-03 上海交通大学 针对移动蜂窝网络的可配置低延迟拥塞控制方法及系统
CN113747498B (zh) * 2021-08-03 2023-11-28 上海交通大学 针对移动蜂窝网络的可配置低延迟拥塞控制方法及系统
CN113923164A (zh) * 2021-09-30 2022-01-11 中国电信股份有限公司 链路拥塞检测方法及相关设备
CN114285801A (zh) * 2021-12-30 2022-04-05 北京天融信网络安全技术有限公司 一种数据转发方法、装置、电子设备和存储介质
CN114374628A (zh) * 2022-02-09 2022-04-19 江苏济楚信息技术有限公司 一种基于模型的音视频通信低延时拥塞控制方法
CN114629847A (zh) * 2022-03-08 2022-06-14 西安电子科技大学 基于可用带宽分配的耦合多流tcp拥塞控制方法
CN114629847B (zh) * 2022-03-08 2023-09-08 西安电子科技大学 基于可用带宽分配的耦合多流tcp拥塞控制方法
WO2023201910A1 (zh) * 2022-04-17 2023-10-26 中国传媒大学 无线网络中基于机器学习的无线丢包和拥塞丢包区分方法
CN114598653A (zh) * 2022-05-09 2022-06-07 上海飞旗网络技术股份有限公司 一种基于时延管理模型的数据流加速方法

Also Published As

Publication number Publication date
CN105024940B (zh) 2017-10-31

Similar Documents

Publication Publication Date Title
CN105024940A (zh) 基于链路自适应的异构网络tcp拥塞控制方法
JP4632874B2 (ja) 通信端末
Ahn et al. SWAN: Service differentiation in stateless wireless ad hoc networks
US8547839B2 (en) TCP congestion control for heterogeneous networks
JP2004538719A (ja) 非線形高スケーラブル増加−減少輻輳制御機構を提供する方法
Wang et al. TCP congestion control algorithm for heterogeneous Internet
CN104092625B (zh) 一种用于dcn中的自适应请求分批调度方法
CN105376172A (zh) 一种控制网络拥塞的方法
Amponis et al. Introducing a New TCP Variant for UAV networks following comparative simulations
Volodina et al. Flow control in the context of the multiplexed transport protocol quic
Gu et al. Udt: An application level transport protocol for grid computing
Hamadani et al. TCP contention control: a cross layer approach to improve TCP performance in multihop ad hoc networks
Himeedah et al. Tcp congestion analysis of wired and wireless links using ns3
CN104580171B (zh) Tcp协议的传输方法、装置和系统
Nabeshima et al. Improving the convergence time highspeed TCP
CN102088414B (zh) 随机和弃头结合的被动队列管理的方法
Razdan et al. Enhancing TCP performance in networks with small buffers
Aftab et al. Simulation based performance evaluation of TCP variants along with UDP flow analysis of throughput with respect to delay, buffer size and time
Dalton et al. A study on high speed TCP protocols
CN102123094B (zh) 两次随机丢包的被动队列管理的方法
CN102082735B (zh) N次弃头的被动队列管理的方法
Preveze A novel method for performance improvement of slow start congestion control method in packet switched networks
KR101334990B1 (ko) 전송 제어 프로토콜의 혼잡 윈도우 제어 방법
Ho et al. Gallop-Vegas: An enhanced slow-start mechanism for TCP Vegas
Dias et al. Traditional TCP congestion control algorithms evaluation in wired-cum-wireless networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220826

Address after: Room 3-15, No. 3-1, 4-1 (Industrial Design Center), No. 18, Wujiang Road, Wulidian Street, Jiangbei District, Chongqing 400023

Patentee after: Chongqing Keying Technology Co.,Ltd.

Address before: Room 307, 3-1, 4-1 (Industrial Design Center), No. 18, Wujiang Road, Jiangbei District, Chongqing 400023

Patentee before: Chongqing min Chuang Intellectual Property Agency Co.,Ltd.

Effective date of registration: 20220826

Address after: Room 307, 3-1, 4-1 (Industrial Design Center), No. 18, Wujiang Road, Jiangbei District, Chongqing 400023

Patentee after: Chongqing min Chuang Intellectual Property Agency Co.,Ltd.

Address before: 400044 No. 174 Shapingba street, Shapingba District, Chongqing

Patentee before: Chongqing University

TR01 Transfer of patent right