CN102694731B - 速率调整方法、装置和网络设备 - Google Patents

速率调整方法、装置和网络设备 Download PDF

Info

Publication number
CN102694731B
CN102694731B CN201210173116.6A CN201210173116A CN102694731B CN 102694731 B CN102694731 B CN 102694731B CN 201210173116 A CN201210173116 A CN 201210173116A CN 102694731 B CN102694731 B CN 102694731B
Authority
CN
China
Prior art keywords
packet
relative time
weighted average
minimum value
submodule
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
Application number
CN201210173116.6A
Other languages
English (en)
Other versions
CN102694731A (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.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks Co Ltd
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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN201210173116.6A priority Critical patent/CN102694731B/zh
Publication of CN102694731A publication Critical patent/CN102694731A/zh
Application granted granted Critical
Publication of CN102694731B publication Critical patent/CN102694731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种速率调整方法、装置和网络设备,该速率调整方法包括:接收到对端设备发送的数据包之后,记录该数据包的接收时刻,并记录该数据包中的发送时间戳;计算接收时刻与发送时间戳之差,作为接收到数据包的相对时间,并确定相对时间的最小值和加权平均值;如果加权平均值与最小值之差小于或等于第一预定阈值,则增大接收窗口;如果加权平均值与最小值之差大于第二预定阈值,则减小接收窗口;上述第二预定阈值大于上述第一预定阈值;将接收窗口携带在确认信息中发送给对端设备。本发明可以实现通过调整接收窗口引导对端设备调整数据包的发送速率,可以提高对端设备发送数据包的速率,提高带宽利用率和网络吞吐量。

Description

速率调整方法、装置和网络设备
技术领域
本发明涉及通信技术,尤其涉及一种速率调整方法、装置和网络设备。
背景技术
在因特网协议(InternetProtocol;以下简称:IP)中,传输控制协议(TransmissionControlProtocol;以下简称:TCP)层是位于IP层之上,应用层之下的传输层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP层将数据流分割成适当长度的数据包。之后,TCP层将数据包传递给IP层,由IP层通过网络将数据包传送给接收方的TCP层。TCP层为了保证不发生丢包,就给每个数据包一个序号,同时该序号也保证了传送到接收方的数据包的按序接收。然后接收方对已成功接收到的数据包发送一个相应的确认信息(Acknowledgement;以下简称:ACK);如果发送方在合理的往返时延(RoundTripTime;以下简称:RTT)内未接收到ACK,那么对应的数据包将会被重传。
TCP连接建立之后,通信双方可以同时进行数据的全双工传输,并采用超时重传和捎带确认机制来保证可靠性。
在流量控制上,TCP采用滑动窗口协议,TCP中规定,窗口内未经确认的数据包需要被重传。
在窗口定义上,TCP发送窗口=min{拥塞窗口,接收方窗口}。其中,发送窗口为发送方在某一时刻能发送报文的数目,拥塞窗口是发送方根据网络反馈计算出的网络中可以承受的报文数目,接收方窗口则是接收方告知的该接收方能接收的报文数目。
TCP在每一个数据包传输完成后都必须进行确认才能开始传输下一个数据包。如果ACK到达得太慢,发送方就会大大限制数据传输速率,从而导致数据传输速率比TCP连接实际所支持的速率慢。
现有技术中,在本端部署加速设备只能加速本端发送数据的速率,无法对对端发送数据的速率进行加速。
发明内容
本发明提供一种速率调整方法、装置和网络设备,以解决现有技术中无法在本端提高对端设备发送数据包的速率的问题。
本发明一方面提供一种速率调整方法,包括:
接收到对端设备发送的数据包之后,记录所述数据包的接收时刻,并记录所述数据包中的发送时间戳;
计算所述接收时刻与所述发送时间戳之差,作为接收到所述数据包的相对时间,并确定所述相对时间的最小值和加权平均值;
如果所述加权平均值与所述最小值之差小于或等于第一预定阈值,则增大接收窗口;如果所述加权平均值与所述最小值之差大于第二预定阈值,则减小接收窗口;所述第二预定阈值大于或等于所述第一预定阈值;
将所述接收窗口携带在确认信息中发送给所述对端设备。
本发明另一方面提供一种速率调整装置,包括:
接收模块,用于接收对端设备发送的数据包;
记录模块,用于记录所述接收模块接收到所述数据包的接收时刻,并记录所述数据包中的发送时间戳;
计算模块,用于计算所述接收时刻与所述发送时间戳之差,作为接收到所述数据包的相对时间;
确定模块,用于确定所述相对时间的最小值和加权平均值;
调整模块,用于当所述加权平均值与所述最小值之差小于或等于第一预定阈值时,增大接收窗口;当所述加权平均值与所述最小值之差大于第二预定阈值时,减小接收窗口;所述第二预定阈值大于或等于所述第一预定阈值;
发送模块,用于将所述接收窗口携带在确认信息中发送给所述对端设备。
本发明又一方面提供一种网络设备,包括如上所述的速率调整装置。
本发明一方面的技术效果是:接收到对端设备发送的数据包之后,记录该数据包的接收时刻,并记录上述数据包中的发送时间戳;计算上述接收时刻与上述发送时间戳之差,作为接收到上述数据包的相对时间,并确定所述相对时间的最小值和加权平均值;如果上述加权平均值与最小值之差小于或等于第一预定阈值,则增大接收窗口;如果上述加权平均值与最小值之差大于第二预定阈值,则减小接收窗口;将上述接收窗口携带在确认信息中发送给对端设备;从而可以实现通过调整接收窗口引导对端设备调整数据包的发送速率,在拥塞发生之初就对窗口进行调整,避免了丢包,并且避免了丢包导致的发送窗口和拥塞窗口的大幅度减小,进而可以提高对端设备发送数据包的速率,提高带宽利用率和网络吞吐量。
本发明另一方面的技术效果是:接收模块接收到对端设备发送的数据包之后,记录模块记录接收模块接收到上述数据包的接收时刻,并记录上述数据包中的发送时间戳;然后,计算模块计算接收时刻与发送时间戳之差,作为接收到上述数据包的相对时间,确定模块确定上述相对时间的最小值和加权平均值;当上述加权平均值与上述最小值之差小于或等于第一预定阈值时,调整模块增大接收窗口;当上述加权平均值与上述最小值之差大于第二预定阈值时,调整模块减小接收窗口;最后,发送模块将上述接收窗口携带在确认信息中发送给对端设备;从而可以实现通过调整接收窗口引导对端设备调整数据包的发送速率,在拥塞发生之初就对窗口进行调整,避免了丢包,并且避免了丢包导致的发送窗口和拥塞窗口的大幅度减小,进而可以提高对端设备发送数据包的速率,提高带宽利用率和网络吞吐量。
附图说明
图1为本发明速率调整方法一个实施例的流程图;
图2(a)~图2(b)为本发明对端设备发送窗口变化情况一个实施例的示意图;
图3为本发明速率调整装置一个实施例的结构示意图;
图4为本发明速率调整装置另一个实施例的结构示意图;
图5为本发明网络拓扑一个实施例的示意图。
具体实施方式
图1为本发明速率调整方法一个实施例的流程图,如图1所示,该速率调整方法可以包括:
步骤101,接收到对端设备发送的数据包之后,记录上述数据包的接收时刻,并记录该数据包中的发送时间戳。
步骤102,计算上述接收时刻与上述发送时间戳之差,作为接收到上述数据包的相对时间,并确定上述相对时间的最小值和加权平均值。
具体地,确定上述相对时间的最小值可以为:接收到对端设备发送的第一个数据包之后,以接收到第一个数据包的相对时间作为上述相对时间的最小值,并保存该相对时间的最小值;后续接收到对端设备发送的每一个数据包之后,比较接收到上述数据包的相对时间与保存的最小值,如果上述相对时间小于保存的最小值,则将保存的最小值更新为上述相对时间,并保存更新后的最小值。
具体地,确定上述相对时间的加权平均值可以为:接收到对端设备发送的第一个数据包之后,以接收到第一个数据包的相对时间作为上述相对时间的加权平均值,并保存上述相对时间的加权平均值;后续接收到对端设备发送的每一个数据包之后,将接收到该数据包的相对时间与保存的加权平均值进行加权平均,获得上述相对时间的加权平均值,并保存获得的加权平均值。
具体地,在将接收到所述数据包的相对时间与保存的加权平均值进行加权平均时,上述相对时间对应的权重小于上述保存的加权平均值对应的权重,且上述相对时间对应的权重与上述保存的加权平均值对应的权重之和为1。
本实施例中,将接收到该数据包的相对时间与保存的加权平均值进行加权平均,获得上述相对时间的加权平均值之后,仅保存获得的加权平均值即可,不需要保存接收到每个数据包的相对时间,从而可以节省存储空间;并且在将接收到所述数据包的相对时间与保存的加权平均值进行加权平均时,上述相对时间对应的权重小于上述保存的加权平均值对应的权重,可以使加权平均值反映接收到数据包的相对时间在较长时间内的变化情况,不会受接收某一个数据包的相对时间的影响而产生较大的变化。
步骤103,如果上述加权平均值与上述最小值之差小于或等于第一预定阈值,则增大接收窗口;如果上述加权平均值与上述最小值之差大于第二预定阈值,则减小接收窗口。
其中,第二预定阈值大于或等于第一预定阈值。第一预定阈值与第二预定阈值的大小可以在具体实现时,根据实际需要和性能要求自行设定,本实施例对第一预定阈值与第二预定阈值的大小不作限定,只要满足第二预定阈值大于或等于第一预定阈值即可。举例来说,第一预定阈值可以为0.5秒,第二预定阈值可以为1秒。
步骤104,将上述接收窗口携带在确认信息中发送给对端设备。
上述实施例可以实现通过调整接收窗口引导对端设备调整数据包的发送速率,在拥塞发生之初就对窗口进行调整,避免了丢包,并且避免了丢包导致的发送窗口和拥塞窗口的大幅度减小,进而可以提高对端设备发送数据包的速率,提高带宽利用率和网络吞吐量。
常规TCP是根据网络的丢包情况来进行拥塞控制的,这就带来了问题。由于丢包是在拥塞发生到很严重的程度时发生的,因此发生丢包时才进行窗口的调整已经太迟了。
本发明提供的速率调整方法,可以通过分析接收到数据包的相对时间,提早预测拥塞,进而提早调整窗口大小来避免丢包以及大幅度的窗口缩减,最终起到提高对端设备发送速率的效果。
具体地,本端网络设备接收到对端设备发送的数据包时,记录该数据包的接收时刻,并记录该数据包携带的发送时间戳;然后计算上述接收时刻与上述发送时间戳之差,作为接收到上述数据包的相对时间,该相对时间即为数据包由对端设备发送到本端网络设备所经历的相对时间,该相对时间相当于RTT/2。本发明中,本端网络设备可以为与对端设备对等的设备,也可以为与对端设备对等的设备所连接的网关设备,本发明对本端网络设备的形态不作限定,只要该网络设备支持TCP即可。
通过上述相对时间可以确定网络是否存在由排队导致的延时。举例来说,当接收到对端设备发送的数据包的相对时间与最小相对时间之差大于第二预定阈值时,可以确定对端设备存在由排队导致的延时,并且延时较大;当接收到对端设备发送的数据包的相对时间与最小相对时间之差小于或等于第一预定阈值时,可以确定对端设备不存在由排队导致的延时,或者延时较小。
在本端网络设备与对端设备建立TCP连接之后,本端网络设备对于接收到的对端设备发送的数据包回复ACK,在连接建立之初,ACK中所通告的接收窗口很小,这样做有两个好处,好处之一,通告了较小的接收窗口,对端设备就按照这个较小的接收窗口进行数据包的发送,这样对端设备发送了尽可能少的报文,那么此时获得的相对时间就比较接近最小相对时间;好处之二,在通告了较小的接收窗口之后,由于没有丢包的影响,对端设备计算的拥塞窗口往往比这个接收窗口大,那么根据发送窗口取接收窗口与拥塞窗口中较小的那一个的原则,对端设备的发送窗口就取到了本端网络设备所通告的接收窗口,这样对端设备的发送窗口就受到本端网络设备发送的ACK中通告的接收窗口的引导。
现在介绍如何获取相对时间的最小值(最小相对时间)和相对时间的加权平均值。
具体地,确定上述相对时间的最小值可以为:接收到对端设备发送的第一个数据包之后,以接收到第一个数据包的相对时间作为上述相对时间的最小值,并保存该相对时间的最小值;后续接收到对端设备发送的每一个数据包之后,比较接收到上述数据包的相对时间与保存的最小值,如果上述相对时间小于保存的最小值,则将保存的最小值更新为上述相对时间,并保存更新后的最小值。
具体地,确定上述相对时间的加权平均值可以为:接收到对端设备发送的第一个数据包之后,以接收到第一个数据包的相对时间作为上述相对时间的加权平均值,并保存上述相对时间的加权平均值;后续接收到对端设备发送的每一个数据包之后,将接收到该数据包的相对时间与保存的加权平均值进行加权平均,获得上述相对时间的加权平均值,并保存获得的加权平均值。举例来说,假设第一次接收到对端设备发送的数据包的相对时间为T1,则以T1作为相对时间的加权平均值T,并保存T;在第二次接收到对端设备发送的数据包之后,假设第二次接收到数据包的相对时间为T2,将T2与T进行加权平均,获得上述相对时间的加权平均值T,即T=T2·α+T·β,并保存获得的加权平均值T。其中,α与β为权重值,α+β=1,本实施例对α与β各自的大小不作限定,只要α与β之和为1即可,举例来说,α可以为β可以为也就是说,在第n次接收到对端设备发送的数据包之后,假设第n次接收到数据包的相对时间为Tn,将Tn与保存的T进行加权平均,获得上述相对时间的加权平均值T,即T=Tn·α+T·β,并保存获得的加权平均值T。其中,n为正整数,n≥2。
上述相对时间的加权平均值反映了当前网络的拥塞情况。当加权平均值与最小值之差小于或等于第一预定阈值(例如:0.5秒)时,说明此时网络状况较好,链路上排队时间很少,可以适当增大ACK中通告的接收窗口,引导对端设备加大发送窗口;而在加权平均值与最小值之差大于第二预定阈值(例如:1秒)时,说明此时网络基本饱和或是开始有一定程度拥塞,这时就减小ACK中通告的接收窗口,引导对端设备减小发送窗口。
本发明提供的上述方法可以在发生丢包之前,也就是相对时间发生变化时,对拥塞做出反应,对窗口进行调整,因此可以避免因丢包而造成的拥塞窗口与发送窗口的大幅度减小,以及由此带来的带宽浪费和网络吞吐率下降,使得对端设备在本端网络设备接收窗口的引导下,尽可能地向网络中发送数据包,提高了最终的网络吞吐率,提高了对端设备的发送速率,进而提高了带宽的利用率。反过来,由于避免了丢包,对端设备计算出的拥塞窗口也往往处在一个较高的值上,这样本端网络设备所通告的接收窗口在很大程度上成为对端设备的发送窗口的实际取值,这样对端设备实际上是被本端网络设备所引导的。例如,在一条常规TCP连接中,对端设备向本端网络设备发送数据,对端设备的发送窗口在丢包之前将持续增长,直至发送窗口超过网络所能承受的带宽并发生丢包为止,发生丢包之后,发送窗口将降到发生丢包前发送窗口的一半甚至更小,并重新开始增长,如图2(a)所示;而采用了本发明提供的方法之后,在对端设备的发送窗口增长到网络所能承受的带宽左右时,通过本端网络设备发送的ACK里通告的接收窗口的引导,对端设备就不再增加发送窗口了,这样就不会发生丢包,也不会导致发送窗口的减半甚至减到更低,而是使得对端设备的发送窗口始终在网络所能承受的带宽左右变化,这样对端设备总的发送速率就提高了,如图2(b)所示。
图2(a)~图2(b)为本发明对端设备发送窗口变化情况一个实施例的示意图,图2(a)和图2(b)中,曲实线为对端设备发送窗口的变化情况,虚线为对端设备的发送窗口的平均大小。
本发明提供的速率调整方法不仅可以应用于TCP的单边加速,还可应用于类似TCP的其他传输协议的单边加速。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图3为本发明速率调整装置一个实施例的结构示意图,本实施例中的速率调整装置可以作为网络设备或网络设备的一部分,实现本发明图1所示实施例的流程,如图3所示,该速率调整装置可以包括:接收模块31、记录模块32、计算模块33、确定模块34、调整模块35和发送模块36;
其中,接收模块31,用于接收对端设备发送的数据包;
记录模块32,用于记录接收模块31接收到上述数据包的接收时刻,并记录上述数据包中的发送时间戳;
计算模块33,用于计算上述接收时刻与上述发送时间戳之差,作为接收到上述数据包的相对时间;
确定模块34,用于确定上述相对时间的最小值和加权平均值;
调整模块35,用于当上述加权平均值与上述最小值之差小于或等于第一预定阈值时,增大接收窗口;当上述加权平均值与上述最小值之差大于第二预定阈值时,减小接收窗口;上述第二预定阈值大于或等于上述第一预定阈值;
发送模块36,用于将上述接收窗口携带在确认信息中发送给对端设备。
其中,第一预定阈值与第二预定阈值的大小可以在具体实现时,根据实际需要和性能要求自行设定,本实施例对第一预定阈值与第二预定阈值的大小不作限定,只要满足第二预定阈值大于或等于第一预定阈值即可。举例来说,第一预定阈值可以为0.5秒,第二预定阈值可以为1秒。
其中,上述网络设备可以为与对端设备对等的设备,也可以为与对端设备对等的设备所连接的网关设备,本实施例对网络设备的具体形态不作限定,只要该网络设备支持TCP即可。
上述实施例中,接收模块31接收到对端设备发送的数据包之后,记录模块32记录接收模块31接收到上述数据包的接收时刻,并记录上述数据包中的发送时间戳;然后,计算模块33计算接收时刻与发送时间戳之差,作为接收到上述数据包的相对时间,确定模块34确定上述相对时间的最小值和加权平均值;当上述加权平均值与上述最小值之差小于或等于第一预定阈值时,调整模块35增大接收窗口;当上述加权平均值与上述最小值之差大于第二预定阈值时,调整模块35减小接收窗口;最后,发送模块36将上述接收窗口携带在确认信息中发送给对端设备;从而可以实现通过调整接收窗口引导对端设备调整数据包的发送速率,在拥塞发生之初就对窗口进行调整,避免了丢包,并且避免了丢包导致的发送窗口和拥塞窗口的大幅度减小,进而可以提高对端设备发送数据包的速率,提高带宽利用率和网络吞吐量。
图4为本发明速率调整装置另一个实施例的结构示意图,与图3所示的速率调整装置相比,不同之处在于,图4所示的速率调整装置中,确定模块34可以包括:第一确定子模块341、第一保存子模块342、比较子模块343和更新子模块344;
第一确定子模块341,用于在接收模块31接收到对端设备发送的第一个数据包之后,以计算模块33计算的接收到第一个数据包的相对时间作为上述相对时间的最小值;
第一保存子模块342,用于保存第一确定子模块341确定的相对时间的最小值;
比较子模块343,用于在后续接收模块31接收到对端设备发送的每一个数据包之后,比较计算模块33计算的接收到数据包的相对时间与第一保存子模块342保存的最小值;
更新子模块344,用于在比较子模块343确定上述相对时间小于上述保存的最小值之后,将第一保存子模块342保存的最小值更新为上述相对时间;
第一保存子模块342,还用于保存更新子模块344更新后的最小值。
本实施例中,确定模块34还可以包括:第二确定子模块345、第二保存子模块346和加权平均子模块347;
第二确定子模块345,用于在接收模块31接收到对端设备发送的第一个数据包之后,以计算模块33计算的接收到第一个数据包的相对时间作为上述相对时间的加权平均值;
第二保存子模块346,用于保存第二确定子模块345确定的相对时间的加权平均值;
加权平均子模块347,用于在后续接收模块31接收到对端设备发送的每一个数据包之后,将计算模块33计算的接收到上述数据包的相对时间与第二保存子模块346保存的加权平均值进行加权平均,获得上述相对时间的加权平均值;其中,加权平均子模块347将计算模块33计算的接收到数据包的相对时间与第二保存子模块346保存的加权平均值进行加权平均时,上述相对时间对应的权重小于上述保存的加权平均值对应的权重,且上述相对时间对应的权重与上述保存的加权平均值对应的权重之和为1。
第二保存子模块346,还用于保存加权平均子模块347获得的加权平均值。
本实施例中,加权平均子模块347将接收到该数据包的相对时间与保存的加权平均值进行加权平均,获得上述相对时间的加权平均值之后,第二保存子模块346仅保存获得的加权平均值即可,不需要保存接收到每个数据包的相对时间,从而可以节省存储空间;并且在加权平均子模块347将接收到所述数据包的相对时间与保存的加权平均值进行加权平均时,上述相对时间对应的权重小于上述保存的加权平均值对应的权重,可以使加权平均值反映接收到数据包的相对时间在较长时间内的变化情况,不会受接收某一个数据包的相对时间的影响而产生较大的变化。
上述速率调整装置可以实现通过调整接收窗口引导对端设备调整数据包的发送速率,在拥塞发生之初就对窗口进行调整,避免了丢包,并且避免了丢包导致的发送窗口和拥塞窗口的大幅度减小,进而可以提高对端设备发送数据包的速率,提高带宽利用率和网络吞吐量。
本发明还提供一种网络设备,该网络设备可以通过本发明图3或图4所示实施例提供的速率调整装置实现,也就是说上述速率调整装置可以集成在该网络设备中。
该网络设备可以为与对端设备对等的设备,也可以为与对端设备对等的设备所连接的网关设备,本发明对网络设备的具体形态不作限定,只要该网络设备支持TCP即可。
为了描述方便,下面将与对端设备对等的设备称为本端设备。
举例来说,当上述网络设备为本端设备连接的网关设备时,本端设备、网关设备和对端设备可以组成如图5所示的网络,图5为本发明网络拓扑一个实施例的示意图;图5中,本端设备51与网关设备52之间运行常规TCP,即本端设备51与网关设备52之间建立的是常规TCP连接,本端设备51将需要发送给对端设备53的数据包,通过该常规TCP连接发送给网关设备52;网关设备52接收到对端设备53发送给本端设备51的数据包之后,将对端设备53发送给本端设备51的数据包通过该常规TCP连接发送给本端设备51,使得使用本端设备51的用户感觉不到速率调整装置的存在。
网关设备52中集成速率调整装置,该速率调整装置可以按照本发明提供的速率调整方法,提高对端设备53发送数据包的速率。由于是在网关设备52这边实施单边加速,不需对对端设备53进行任何改动,因此对端设备53处运行的可以是任意版本的TCP。
在网关设备52中,速率调整装置可以通过命令加载的模式,在网关设备中启用或是禁用,并不需要对网关设备52进行其他操作,例如:重启等。网关设备52的存在是可以和对端设备53任何版本的TCP进行兼容的,使得对端设备并没有感受到速率调整装置的存在。
本发明提供的速率调整方法、装置和网络设备,适合在各种TCP环境中使用。通过对对端设备发送来的报文在网络上所经历的时间进行分析,并适当调整接收窗口,用于引导对端设备调整发送速率,最终起到了在拥塞发生之初就对窗口进行操作,避免了发生丢包导致的拥塞窗口和发送窗口大幅度较小,提高了对端设备发送数据的速率,提高了带宽利用率和网络吞吐量。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种速率调整方法,其特征在于,包括:
接收到对端设备发送的数据包之后,记录所述数据包的接收时刻,并记录所述数据包中的发送时间戳;
计算所述接收时刻与所述发送时间戳之差,作为接收到所述数据包的相对时间,并确定所述相对时间的最小值和加权平均值;
如果所述加权平均值与所述最小值之差小于或等于第一预定阈值,则增大接收窗口;如果所述加权平均值与所述最小值之差大于第二预定阈值,则减小接收窗口;所述第二预定阈值大于或等于所述第一预定阈值;
将所述接收窗口携带在确认信息中发送给所述对端设备;
其中,所述确定所述相对时间的最小值包括:
接收到所述对端设备发送的第一个数据包之后,以接收到所述第一个数据包的相对时间作为所述相对时间的最小值,并保存所述相对时间的最小值;
后续接收到所述对端设备发送的每一个数据包之后,比较接收到所述数据包的相对时间与保存的最小值,如果所述相对时间小于所述保存的最小值,则将所述保存的最小值更新为所述相对时间,并保存更新后的最小值。
2.根据权利要求1所述的方法,其特征在于,所述确定所述相对时间的加权平均值包括:
接收到所述对端设备发送的第一个数据包之后,以接收到所述第一个数据包的相对时间作为所述相对时间的加权平均值,并保存所述相对时间的加权平均值;
后续接收到所述对端设备发送的每一个数据包之后,将接收到所述数据包的相对时间与保存的加权平均值进行加权平均,获得所述相对时间的加权平均值,并保存获得的加权平均值。
3.根据权利要求2所述的方法,其特征在于,
所述将接收到所述数据包的相对时间与保存的加权平均值进行加权平均时,所述相对时间对应的权重小于所述保存的加权平均值对应的权重。
4.一种速率调整装置,其特征在于,包括:
接收模块,用于接收对端设备发送的数据包;
记录模块,用于记录所述接收模块接收到所述数据包的接收时刻,并记录所述数据包中的发送时间戳;
计算模块,用于计算所述接收时刻与所述发送时间戳之差,作为接收到所述数据包的相对时间;
确定模块,用于确定所述相对时间的最小值和加权平均值;
调整模块,用于当所述加权平均值与所述最小值之差小于或等于第一预定阈值时,增大接收窗口;当所述加权平均值与所述最小值之差大于第二预定阈值时,减小接收窗口;所述第二预定阈值大于或等于所述第一预定阈值;
发送模块,用于将所述接收窗口携带在确认信息中发送给所述对端设备;
其中,所述确定模块包括:第一确定子模块、第一保存子模块、比较子模块和更新子模块;
所述第一确定子模块,用于在所述接收模块接收到所述对端设备发送的第一个数据包之后,以所述计算模块计算的接收到所述第一个数据包的相对时间作为所述相对时间的最小值;
所述第一保存子模块,用于保存所述第一确定子模块确定的相对时间的最小值;
所述比较子模块,用于在后续所述接收模块接收到所述对端设备发送的每一个数据包之后,比较所述计算模块计算的接收到所述数据包的相对时间与所述第一保存子模块保存的最小值;
所述更新子模块,用于在所述比较子模块确定所述相对时间小于所述保存的最小值之后,将所述第一保存子模块保存的最小值更新为所述相对时间;
所述第一保存子模块,还用于保存所述更新子模块更新后的最小值。
5.根据权利要求4所述的装置,其特征在于,所述确定模块还包括:第二确定子模块、第二保存子模块和加权平均子模块;
所述第二确定子模块,用于在所述接收模块接收到所述对端设备发送的第一个数据包之后,以所述计算模块计算的接收到所述第一个数据包的相对时间作为所述相对时间的加权平均值;
所述第二保存子模块,用于保存所述第二确定子模块确定的相对时间的加权平均值;
所述加权平均子模块,用于在后续所述接收模块接收到所述对端设备发送的每一个数据包之后,将所述计算模块计算的接收到所述数据包的相对时间与所述第二保存子模块保存的加权平均值进行加权平均,获得所述相对时间的加权平均值;
所述第二保存子模块,还用于保存所述加权平均子模块获得的加权平均值。
6.根据权利要求5所述的装置,其特征在于,所述加权平均子模块将所述计算模块计算的接收到所述数据包的相对时间与所述第二保存子模块保存的加权平均值进行加权平均时,所述相对时间对应的权重小于所述保存的加权平均值对应的权重。
7.一种网络设备,其特征在于,包括如权利要求4-6任意一项所述的速率调整装置。
CN201210173116.6A 2012-05-29 2012-05-29 速率调整方法、装置和网络设备 Active CN102694731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210173116.6A CN102694731B (zh) 2012-05-29 2012-05-29 速率调整方法、装置和网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210173116.6A CN102694731B (zh) 2012-05-29 2012-05-29 速率调整方法、装置和网络设备

Publications (2)

Publication Number Publication Date
CN102694731A CN102694731A (zh) 2012-09-26
CN102694731B true CN102694731B (zh) 2016-03-30

Family

ID=46860020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210173116.6A Active CN102694731B (zh) 2012-05-29 2012-05-29 速率调整方法、装置和网络设备

Country Status (1)

Country Link
CN (1) CN102694731B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168211B (zh) * 2013-05-16 2017-07-21 腾讯科技(深圳)有限公司 一种网络流控方法、相关设备和系统
CN105052217B (zh) 2013-12-17 2019-04-26 华为技术有限公司 数据传输装置及方法
CN106341339A (zh) * 2016-10-10 2017-01-18 合肥红珊瑚软件服务有限公司 一种端到端网络流量控制方法
CN110351198B (zh) * 2019-07-05 2022-05-17 视联动力信息技术股份有限公司 一种流量调节方法、数据传输系统、存储介质及设备
CN111130715B (zh) * 2019-12-13 2021-08-24 西北大学 一种Lora无线网络及其参数优化、传输方法及装置
CN111741249B (zh) * 2020-06-04 2022-03-22 北京佳讯飞鸿电气股份有限公司 一种网络拥塞检测方法及装置
CN114039931B (zh) * 2021-10-27 2024-04-02 浙江大华技术股份有限公司 一种控制数据传输的方法、装置、设备及介质
CN114268416B (zh) * 2021-12-16 2023-10-24 无锡联云世纪科技股份有限公司 数据传输方法、装置及电子设备
CN115941991B (zh) * 2023-01-10 2023-10-27 北京微吼时代科技有限公司 在大并发下收取消息稳定性验证方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516238B2 (en) * 2003-09-30 2009-04-07 Microsoft Corporation Background transport service
CN101895332A (zh) * 2010-08-09 2010-11-24 中国电子科技集团公司第五十四研究所 一种空间tcp流量控制和差错控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070223529A1 (en) * 2005-11-23 2007-09-27 Ist International, Inc. Methods and apparatus for estimating bandwidth of a data network
CN102209077B (zh) * 2011-06-09 2013-11-20 山东大学 基于改进tfmcc协议的通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516238B2 (en) * 2003-09-30 2009-04-07 Microsoft Corporation Background transport service
CN101895332A (zh) * 2010-08-09 2010-11-24 中国电子科技集团公司第五十四研究所 一种空间tcp流量控制和差错控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Receiver-Assisted Congestion Control to Achieve High Throughput in Lossy Wireless Networks;Kai Shi et al.;《IEEE TRANSACTIONS ON NUCLEAR SCIENCE》;20100430;第57卷(第2期);491-497 *

Also Published As

Publication number Publication date
CN102694731A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
CN102694731B (zh) 速率调整方法、装置和网络设备
JP5523350B2 (ja) Tcpフロー制御のための方法及び装置
US8432806B2 (en) Data transmission control method and data transmission device
CN101854738B (zh) 一种用于卫星网络的传输控制协议方法
US9467390B2 (en) Method and device for data transmission
US8418016B2 (en) Communication system, communication device, and communication method
JP5009009B2 (ja) 無線データストリーミングシステムのパラメータの制御方法及び装置
CN109194450B (zh) 天地一体化网络通信的snack-p应答系统及方法、无线通信系统
EP1691526A1 (en) Transmission control protocol (TCP) congestion control using multiple TCP acknowledgements (ACKs)
US20060146831A1 (en) Method and apparatus for modulating radio link control (RLC) ACK/NAK persistence to improve performance of data traffic
US20150271224A1 (en) Transport accelerator inplementing extended transmission control functionality
CN107624232A (zh) 在通信系统中控制下行链路吞吐量的设备和方法
US10524175B2 (en) Data transmission method and network device
CN113329413B (zh) 用于高铁场景的多路径传输数据预调度方法及系统
CN104683259A (zh) Tcp拥塞控制方法及装置
US20140355623A1 (en) Transmission Control Protocol (TCP) Connection Control Parameter In-Band Signaling
KR102450226B1 (ko) 통신 시스템에서 전송 제어 프로토콜의 전송 버퍼 제어 방법 및 장치
US8300620B1 (en) Dynamically tuning a timer mechanism according to radio frequency conditions
CN103152278A (zh) 拥塞确定方法、装置和网络设备
CN104980365A (zh) 一种基于连续丢包拥塞判断的tcp传输加速方法
US20190274068A1 (en) System and method for managing data transfer between two different data stream protocols
KR100859908B1 (ko) 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법
CN110602568A (zh) 一种基于rtp的视频流传输丢包重传方法、设备及存储设备
US9094281B2 (en) Apparatus and method for identifying transmission control protocol (TCP) packet loss
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant