CN109560897B - 一种tcp重传方法和装置 - Google Patents

一种tcp重传方法和装置 Download PDF

Info

Publication number
CN109560897B
CN109560897B CN201710874811.8A CN201710874811A CN109560897B CN 109560897 B CN109560897 B CN 109560897B CN 201710874811 A CN201710874811 A CN 201710874811A CN 109560897 B CN109560897 B CN 109560897B
Authority
CN
China
Prior art keywords
transmission link
data
rtt
target transmission
retransmission
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
CN201710874811.8A
Other languages
English (en)
Other versions
CN109560897A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201710874811.8A priority Critical patent/CN109560897B/zh
Publication of CN109560897A publication Critical patent/CN109560897A/zh
Application granted granted Critical
Publication of CN109560897B publication Critical patent/CN109560897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种TCP重传方法和装置,属于数据传输技术领域。所述方法包括:计算目标传输链路的历史RTT的方差和数学期望,基于切比雪夫不等式,根据所述方差和数学期望,以及预设概率阈值,确定所述目标传输链路的RTT预测区间,将所述RTT预测区间的最大值设置为所述目标传输链路的超时重传时长。采用本发明,可以提高数据传输的效率。

Description

一种TCP重传方法和装置
技术领域
本发明涉及数据传输技术领域,特别涉及一种TCP重传方法和装置。
背景技术
数据在无线网络中进行传输的过程中,由于网络故障或者设备故障等原因,可能会出现数据发送失败的情况,这时,发送端需要重新发送数据。
上述处理流程可以具体如下,发送端向接收端发送数据并开始计时,接收端接收到相应的数据后则会向发送端返回确认消息,接收端可以设置用于判断数据是否发送成功的超时时长,如果在发送数据后预设的超时重传时长内,发送端未接收到接收端返回的确认消息,则可以认为数据发送失败,发送端则会向接收端重新发送数据。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在某些数据传输速度较快的情况下,终端可以用更短时间判断出数据是否发送成功,而这时终端仍需等待较长时间(即在超时重传时长后)才能重发数据,这样,数据传输的效率较低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种TCP重传方法和装置。所述技术方案如下:
第一方面,提供了一种TCP重传方法,所述方法包括:
计算目标传输链路的历史RTT的方差和数学期望;
基于切比雪夫不等式,根据所述方差和数学期望,以及预设概率阈值,确定所述目标传输链路的RTT预测区间;
将所述RTT预测区间的最大值设置为所述目标传输链路的超时重传时长。
可选的,所述计算目标传输链路的历史RTT的方差和数学期望,包括:
周期性计算目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的历史RTT的数目增加时,计算所述目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的RTT的新增数目达到预设阈值时,计算所述目标传输链路的历史RTT的方差和数学期望。
可选的,所述方法还包括:
通过所述目标传输链路传输第一数据;
如果在所述超时重传时长内未接收到所述第一数据的接收确认消息,则重新传输所述第一数据;
如果在所述超时重传时长内接收到所述第一数据的接收确认消息,则将所述第一数据对应的RTT添加至所述目标传输链路的历史RTT中。
可选的,所述方法还包括:
如果在所述超时重传时长后的预设时长内接收到所述第一数据的接收确认消息,或者,在所述超时重传时长后多次接收到所述第一数据的接收确认消息,则将错误统计值加1;
当所述错误统计值大于预设统计值时,调整所述预设概率阈值,并根据调整后的预设概率阈值,重新确定所述目标传输链路的RTT预测区间。
可选的,所述方法还包括:
如果所述第一数据的重传次数达到预设次数,则根据所述重传次数,确定所述第一数据对应的超时重传时长。
第二方面,提供了一种TCP重传装置,所述装置包括:
计算模块,用于计算目标传输链路的历史RTT的方差和数学期望;
第一确定模块,用于基于切比雪夫不等式,根据所述方差和数学期望,以及预设概率阈值,确定所述目标传输链路的RTT预测区间;
设置模块,用于将所述RTT预测区间的最大值设置为所述目标传输链路的超时重传时长。
可选的,所述计算模块,具体用于:
周期性计算目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的历史RTT的数目增加时,计算所述目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的RTT的新增数目达到预设阈值时,计算所述目标传输链路的历史RTT的方差和数学期望。
可选的,所述装置还包括:
传输模块,用于通过所述目标传输链路传输第一数据;
重传模块,用于如果在所述超时重传时长内未接收到所述第一数据的接收确认消息,则重新传输所述第一数据;
添加模块,用于如果在所述超时重传时长内接收到所述第一数据的接收确认消息,则将所述第一数据对应的RTT添加至所述目标传输链路的历史RTT中。
可选的,所述装置还包括:
统计模块,用于如果在所述超时重传时长后的预设时长内接收到所述第一数据的接收确认消息,或者,在所述超时重传时长后多次接收到所述第一数据的接收确认消息,则将错误统计值加1;
调整模块,用于当所述错误统计值大于预设统计值时,调整所述预设概率阈值,并根据调整后的预设概率阈值,重新确定所述目标传输链路的RTT预测区间。
可选的,所述装置还包括:
第二确定模块,用于如果所述第一数据的重传次数达到预设次数,则根据所述重传次数,确定所述第一数据对应的超时重传时长。
第三方面,提供了一种发送端,所述发送端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的TCP重传方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的TCP重传方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,计算目标传输链路的历史RTT的方差和数学期望,基于切比雪夫不等式,根据方差和数学期望,以及预设概率阈值,确定目标传输链路的RTT预测区间,将RTT预测区间的最大值设置为目标传输链路的超时重传时长。这样,基于目标传输链路的历史RTT确定出的超时重传时长远小于预设的超时重传时长,发送端则可以在发送数据后,更快的判断出数据是否发送成功,并决定是否重发数据,从而可以提高数据传输的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种场景示意图;
图2是本发明实施例提供的一种TCP重传方法的流程图;
图3是本发明实施例提供的一种TCP重传方法的流程图;
图4是本发明实施例提供的一种TCP重传装置的结构示意图;
图5是本发明实施例提供的一种TCP重传装置的结构示意图;
图6是本发明实施例提供的一种TCP重传装置的结构示意图;
图7是本发明实施例提供的一种TCP重传装置的结构示意图;
图8是本发明实施例提供的一种发送端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种TCP(Transmission Control Protocol,传输控制协议)重传方法,该方法可以由网络设备实现,网络设备可以是数据的发送端,例如服务器、计算机等,网络设备上可以安装有用于数据传输的进程,发送端可以通过该进程,从不同的传输链路向不同的接收端发送数据,接收端可以是其它网络设备,也可以是终端。网络设备可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的设置超时重传时长的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。本实施例中,以CDN(Content Delivery Network,内容分发网络)系统的节点服务器作为发送端,以用户终端作为接收端为例进行说明,场景可以如图1所示,其它情况与之类似,本实施不再进行一一说明。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,计算目标传输链路的历史RTT(Round-Trip Time,往返时延)的方差和数学期望。
在实施中,当发送端向接收端传输数据时,发送端的管理系统可以记录本次传输的发生时间。之后,如果接收端接收到数据,则可以向发送端返回接收确认消息,这样,在发送端接收到接收端返回的接收确认消息时,其管理系统可以记录该接收确认消息的接收时间,进而可以得到本次数据传输的RTT。进一步的,管理系统可以将本次发送端的IP和网络端口号、接收端的IP和网络端口号与上述RTT对应存储在系统日志中。这样,当发送端需要设置某条传输链路(即目标传输链路)的超时重传时长时,可以先确定目标传输链路所对应的发送端和接收端的IP和网络端口,然后在系统日志中查找对应的历史RTT。进而,发送端可以计算目标传输链路的历史RTT的方差D和数学期望E。此处,技术人员可以设置历史RTT的有效时间窗口,即在计算方差D和数学期望E时,仅考虑处于有效时间窗口内的历史RTT,而忽略有效时间窗口外的历史RTT。如有效时间窗口为1个月,则在计算方差D和数学期望E时,仅获取1个月之内的目标传输链路的历史RTT。
需要说明的是,当数据的数据量大于一个TCP传输中的最大报文段长度时,数据将被分段传输,数据分段到达接收端后,接收端可以先就首个数据段返回接收确认消息,因此发送端可以将首个数据段的RTT作为本次传输的RTT。这样,即使多次传输的数据量相差很大,其首个数据段的RTT受数据量的影响也会很小,从而可以保证目标传输链路的历史RTT的有效性。
可选的,触发计算方差和数学期望的情况多种多样,如下给出了三种可行的触发方式:
方式一:周期性计算目标传输链路的历史RTT的方差和数学期望。
在实施中,发送端在发送数据的过程中,可以将每次数据传输的RTT记录至系统日志。当需要设置目标传输链路的超时重传时长时,可以按照预设周期,获取其对应的历史RTT,进而周期性计算历史RTT的方差和数学期望。预设周期可以由技术人员根据目标传输链路的服务状态进行设定,如目标传输链路的服务状态不稳定时,则可以取较短的周期,而服务状态较为稳定时,可以取较长的周期。
方式二:当目标传输链路的历史RTT的数目增加时,计算目标传输链路的历史RTT的方差和数学期望。
在实施中,发送端在每次成功发送数据后,可以将本次数据传输的RTT记录至系统日志。这样,当系统日志中目标传输链路的历史RTT的数目增加(即新增一条目标传输链路的RTT记录)时,发送端则可以基于当前的历史RTT,重新设置目标传输链路的超时重传时长,再触发获取目标传输链路的历史RTT(包括上述新增的RTT记录),并计算其方差和数学期望的处理。
方式三:当目标传输链路的RTT的新增数目达到预设阈值时,计算目标传输链路的历史RTT的方差和数学期望。
在实施中,发送端在每次成功发送数据后,可以将本次数据传输的RTT记录至系统日志。这样,对于每条传输链路,发送端可以统计其对应的新增RTT的数目,当系统日志中某条传输链路(如目标传输链路)的RTT的新增数目达到预设阈值时,发送端则可以基于这些新增的RTT,重新设置该传输链路的超时重传时长,故而,则可以触发获取上述传输链路的历史RTT(包括上述新增的RTT),并计算其方差和数学期望的处理。
步骤202,基于切比雪夫不等式,根据方差和数学期望,以及预设概率阈值,确定目标传输链路的RTT预测区间。
在实施中,技术人员可以人为设定一个概率阈值(即预设概率阈值),并定义当某个事件的发生概率大于该预设概率阈值时,则可以近似认为该事件必然发生。这样,基于切比雪夫不等式:对于任意正数ε,概率P(|RTT-E|<ε)>=1-D/ε2,结合上述预设概率阈值Pm,以及步骤101中计算的目标传输链路的历史RTT的方差D和数学期望E,可以计算出满足P(|RTT-E|<ε)>=Pm时的ε,即确定出目标传输链路的RTT预测区间:[E-ε,E+ε]。具体的,假设目标传输链路的RTT的数学期望E是100ms,方差D是10ms^2,并且预估在发送数据后经过时间Bmax=E+ε,还未收到接收确认消息,则网络拥塞或者传输丢包,需要重传数据的概率为0.8,故而预设概率阈值为0.8。这样,依据切比雪夫不等式,可以有:P(|RTT-100|<ε)=P(100-ε<RTT<100+ε)>=1-ε/10^2=0.8,经计算可以得出ε=20(ms),则目标传输链路的RTT预测区间为[80,120],即目标传输链路的RTT落在区间[80,120]的概率是0.8。
步骤203,将RTT预测区间的最大值设置为目标传输链路的超时重传时长。
在实施中,发送端在确定出目标传输链路的RTT预测区间[E-ε,E+ε]之后,可以将RTT预测区间的最大值Bmax=E+ε设置为目标传输链路的超时重传时长。这样,发送端在发送数据后,如果超过上述最大值还未接收到接收确认消息,则可认为目标传输链路发生了网络拥塞或者传输丢包,发送端需要重新发送数据,以触发接收端反馈接收确认消息。
可选的,本发明实施例还示出了一种基于上述超时重传时长发送数据的流程,如图3所示,具体内容可以如下:
步骤301,通过目标传输链路传输第一数据。
在实施中,发送端可以接收第一数据的发送请求,然后根据该发送请求中携带的目的地的IP和网络端口号,确定出相应的传输链路(假设为目标传输链路),进而,发送端可以通过目标传输链路传输第一数据。
步骤302,如果在超时重传时长内未接收到第一数据的接收确认消息,则重新传输第一数据。
在实施中,发送端通过目标传输链路向接收端发送第一数据后,可以开始计时,如果在超时重传时长内未接收到对应第一数据的接收确认消息,则可以认为目标传输链路发生了网络拥塞或者传输丢包,进而发送端可以重新传输第一数据。
步骤303,如果在超时重传时长内接收到第一数据的接收确认消息,则将第一数据对应的RTT添加至目标传输链路的历史RTT中。
在实施中,发送端通过目标传输链路向接收端发送第一数据后,可以开始计时,如果在超时重传时长内接收到对应第一数据的接收确认消息,则可以获知第一数据发送成功,同时,记录本次传输第一数据所对应的RTT,并将其添加至目标传输链路的历史RTT中。
可选的,如果RTT预测区间不准确,则可以对预设概率阈值进行适应调整,相应的处理可以如下:如果在超时重传时长后的预设时长内接收到第一数据的接收确认消息,或者,在超时重传时长后多次接收到第一数据的接收确认消息,则将错误统计值加1;当错误统计值大于预设统计值时,调整预设概率阈值,并根据调整后的预设概率阈值,重新确定目标传输链路的RTT预测区间。
在实施中,基于上述发送第一数据的流程,发送端在发送第一数据后的超时重传时长内未接收到第一数据对应的接收确认消息,则重新传输第一数据。一种设置下,如果在超时重传时长后的预设时长内,发送端又接收到第一数据的接收确认消息,则可以判定该接收确认消息是接收端对于上一次传输的第一数据的反馈,即第一数据的上一次的传输是成功的,无需重复传输第一数据,故而可以认为对于第一数据的传输,当前设置的超时重传时长偏小,则可以将错误统计值加1。需要说明的是,对于上述超时重传时长后的预设时长,应当小于目标传输链路的RTT的所有可能值,具体可以在目标传输链路的历史RTT中选取最小值,然后选取小于该最小值的值作为预设时长。这样,可以有效避免在预设时长内,接收到对于重新传输的第一数据的接收确认消息。另一种设置下,如果在超时重传时长后,发送端多次接收到第一数据的接收确认消息,则可以判定出现了不必要的重新传输,即某次重新传输之前,第一数据已经传输成功,故而可以认为对于第一数据的传输,当前设置的超时重传时长偏小,则可以将错误统计值加1。
这样,发送端可以基于错误统计值来判断当前超时重传时长的合理性,当错误统计值大于预设统计值时,则可以对预设概率阈值进行调整,然后可以基于调整后的预设概率阈值,重新确定目标传输链路的RTT预测区间。不难想到,对错误统计值,可以设定有效统计时长,如可以只累积30天内的错误统计值,具体的,如1月1日内错误统计值累加了3次,那么对于2月1日,1月1日距离2月1日有31天,则2月1日当天的错误统计值,应该去除1月1日内累加的3次。
可选的,发送端传输某一数据失败多次后,可以对该数据设置专有的超时重传时长,相应的处理可以如下:如果第一数据的重传次数达到预设次数,则根据重传次数,确定第一数据对应的超时重传时长。
在实施中,发送端通过目标传输链路传输第一数据时,可以记录对于第一数据的传输次数,每一个重新传输第一数据时,都将对应的传输次数加1。这样,如果始终未接收到第一数据的接收确认消息,则发送端会反复进行第一数据的传输。而如果重新传输第一数据的次数达到预设次数,则可以根据重传次数,设置第一数据对应的超时重传时长,即第一数据对应的超时重传时长仅适用于后续对第一数据重传的重传处理。此处,具体的处理多种多样,如可以将第一数据对应的超时重传时长设置为2^N和目标传输链路的超时重传时长的乘积,其中,N可以是重传次数。
本发明实施例中,计算目标传输链路的历史RTT的方差和数学期望,基于切比雪夫不等式,根据方差和数学期望,以及预设概率阈值,确定目标传输链路的RTT预测区间,将RTT预测区间的最大值设置为目标传输链路的超时重传时长。这样,基于目标传输链路的历史RTT确定出的超时重传时长远小于预设的超时重传时长,发送端则可以在发送数据后,更快的判断出数据是否发送成功,并决定是否重发数据,从而可以提高数据传输的效率。
基于相同的技术构思,本发明实施例还提供了一种TCP重传装置,如图4所示,该装置包括:
计算模块401,用于计算目标传输链路的历史RTT的方差和数学期望;
第一确定模块402,用于基于切比雪夫不等式,根据所述方差和数学期望,以及预设概率阈值,确定所述目标传输链路的RTT预测区间;
设置模块403,用于将所述RTT预测区间的最大值设置为所述目标传输链路的超时重传时长。
可选的,所述计算模块401,具体用于:
周期性计算目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的历史RTT的数目增加时,计算所述目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的RTT的新增数目达到预设阈值时,计算所述目标传输链路的历史RTT的方差和数学期望。
可选的,如图5所示,所述装置还包括:
传输模块404,用于通过所述目标传输链路传输第一数据;
重传模块405,用于如果在所述超时重传时长内未接收到所述第一数据的接收确认消息,则重新传输所述第一数据;
添加模块406,用于如果在所述超时重传时长内接收到所述第一数据的接收确认消息,则将所述第一数据对应的RTT添加至所述目标传输链路的历史RTT中。
可选的,如图6所示,所述装置还包括:
统计模块407,用于如果在所述超时重传时长后的预设时长内接收到所述第一数据的接收确认消息,或者,在所述超时重传时长后多次接收到所述第一数据的接收确认消息,则将错误统计值加1;
调整模块408,用于当所述错误统计值大于预设统计值时,调整所述预设概率阈值,并根据调整后的预设概率阈值,重新确定所述目标传输链路的RTT预测区间。
可选的,如图7所示,所述装置还包括:
第二确定模块409,用于如果所述第一数据的重传次数达到预设次数,则根据所述重传次数,确定所述第一数据对应的超时重传时长。
本发明实施例中,计算目标传输链路的历史RTT的方差和数学期望,基于切比雪夫不等式,根据方差和数学期望,以及预设概率阈值,确定目标传输链路的RTT预测区间,将RTT预测区间的最大值设置为目标传输链路的超时重传时长。这样,基于目标传输链路的历史RTT确定出的超时重传时长远小于预设的超时重传时长,发送端则可以在发送数据后,更快的判断出数据是否发送成功,并决定是否重发数据,从而可以提高数据传输的效率。
需要说明的是:上述实施例提供的TCP重传装置在进行TCP重传时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的TCP重传装置与TCP重传方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本发明实施例提供的发送端的结构示意图。该发送端800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对发送端中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在发送端800上执行存储介质830中的一系列指令操作。
发送端800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,一个或一个以上键盘856,和/或,一个或一个以上操作系统841,例如Windows Server TM,Mac OS XTM,Unix TM,Linux TM,FreeBSD TM等等。
发送端800可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述TCP重传的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种TCP重传方法,其特征在于,所述方法包括:
计算目标传输链路的历史往返时延RTT的方差和数学期望;
基于切比雪夫不等式,根据所述方差和数学期望,以及预设概率阈值,确定所述目标传输链路的RTT预测区间;
将所述RTT预测区间的最大值设置为所述目标传输链路的超时重传时长;
通过所述目标传输链路传输第一数据,如果所述第一数据的重传次数达到预设次数,则根据所述重传次数,确定所述第一数据对应的超时重传时长。
2.根据权利要求1所述的方法,其特征在于,所述计算目标传输链路的历史RTT的方差和数学期望,包括:
周期性计算目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的历史RTT的数目增加时,计算所述目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的RTT的新增数目达到预设阈值时,计算所述目标传输链路的历史RTT的方差和数学期望。
3.根据权利要求1所述的方法,其特征在于,在所述通过所述目标传输链路传输第一数据之后,所述方法还包括:
如果在所述超时重传时长内未接收到所述第一数据的接收确认消息,则重新传输所述第一数据;
如果在所述超时重传时长内接收到所述第一数据的接收确认消息,则将所述第一数据对应的RTT添加至所述目标传输链路的历史RTT中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果在所述超时重传时长后的预设时长内接收到所述第一数据的接收确认消息,或者,在所述超时重传时长后多次接收到所述第一数据的接收确认消息,则将错误统计值加1;
当所述错误统计值大于预设统计值时,调整所述预设概率阈值,并根据调整后的预设概率阈值,重新确定所述目标传输链路的RTT预测区间。
5.一种TCP重传装置,其特征在于,所述装置包括:
计算模块,用于计算目标传输链路的历史RTT的方差和数学期望;
第一确定模块,用于基于切比雪夫不等式,根据所述方差和数学期望,以及预设概率阈值,确定所述目标传输链路的RTT预测区间;
设置模块,用于将所述RTT预测区间的最大值设置为所述目标传输链路的超时重传时长;
传输模块,用于通过所述目标传输链路传输第一数据;
第二确定模块,用于如果所述第一数据的重传次数达到预设次数,则根据所述重传次数,确定所述第一数据对应的超时重传时长。
6.根据权利要求5所述的装置,其特征在于,所述计算模块,具体用于:
周期性计算目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的历史RTT的数目增加时,计算所述目标传输链路的历史RTT的方差和数学期望;或者,
当目标传输链路的RTT的新增数目达到预设阈值时,计算所述目标传输链路的历史RTT的方差和数学期望。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
重传模块,用于如果在所述超时重传时长内未接收到所述第一数据的接收确认消息,则重新传输所述第一数据;
添加模块,用于如果在所述超时重传时长内接收到所述第一数据的接收确认消息,则将所述第一数据对应的RTT添加至所述目标传输链路的历史RTT中。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
统计模块,用于如果在所述超时重传时长后的预设时长内接收到所述第一数据的接收确认消息,或者,在所述超时重传时长后多次接收到所述第一数据的接收确认消息,则将错误统计值加1;
调整模块,用于当所述错误统计值大于预设统计值时,调整所述预设概率阈值,并根据调整后的预设概率阈值,重新确定所述目标传输链路的RTT预测区间。
9.一种发送端,其特征在于,所述发送端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至4任一所述的TCP重传方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至4任一所述的TCP重传方法。
CN201710874811.8A 2017-09-25 2017-09-25 一种tcp重传方法和装置 Active CN109560897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710874811.8A CN109560897B (zh) 2017-09-25 2017-09-25 一种tcp重传方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710874811.8A CN109560897B (zh) 2017-09-25 2017-09-25 一种tcp重传方法和装置

Publications (2)

Publication Number Publication Date
CN109560897A CN109560897A (zh) 2019-04-02
CN109560897B true CN109560897B (zh) 2022-03-01

Family

ID=65862238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710874811.8A Active CN109560897B (zh) 2017-09-25 2017-09-25 一种tcp重传方法和装置

Country Status (1)

Country Link
CN (1) CN109560897B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245578B (zh) * 2020-01-03 2022-11-08 北京字节跳动网络技术有限公司 数据包传输方法、装置、电子设备和存储介质
CN111629281B (zh) * 2020-04-13 2021-02-02 北京创享苑科技文化有限公司 一种视频传输中基于网络丢包率分布的在线连续检验方法
CN113346982B (zh) * 2021-05-31 2023-10-20 合肥中感微电子有限公司 数据传输方法、发送方法、接收方法及装置
CN117478558A (zh) * 2022-07-20 2024-01-30 北京佰才邦技术股份有限公司 一种超时参数的确定方法、装置及通信设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146341A (zh) * 2006-09-12 2008-03-19 华为技术有限公司 一种媒体无关切换中避免重复执行事务的方法及装置
CN102595509A (zh) * 2012-04-09 2012-07-18 西安电子科技大学 异构网络中基于传输控制协议的并发数据分流方法
CN104243090A (zh) * 2013-06-19 2014-12-24 中国移动通信集团公司 一种基于无线信道反馈的发送速率调整方法和设备
CN106850805A (zh) * 2017-02-06 2017-06-13 网宿科技股份有限公司 一种数据传输方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003235048B2 (en) * 1999-08-17 2005-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for determining a time-parameter
FR2830397B1 (fr) * 2001-09-28 2004-12-03 Evolium Sas Procede pour ameliorer les performances d'un protocole de transmission utilisant un temporisateur de retransmission
US8125907B2 (en) * 2008-06-12 2012-02-28 Talari Networks Incorporated Flow-based adaptive private network with multiple WAN-paths
CN101459496B (zh) * 2008-12-18 2011-05-04 北京大学 一种消息的超时时间间隔的调整方法及装置
US8488461B2 (en) * 2010-05-12 2013-07-16 The Chinese University Of Hong Kong Adaptive scheduling of data transfer in P2P applications over asymmetric networks
CN102917068A (zh) * 2012-10-26 2013-02-06 浪潮(北京)电子信息产业有限公司 一种自适应大规模集群通信系统及其通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146341A (zh) * 2006-09-12 2008-03-19 华为技术有限公司 一种媒体无关切换中避免重复执行事务的方法及装置
CN102595509A (zh) * 2012-04-09 2012-07-18 西安电子科技大学 异构网络中基于传输控制协议的并发数据分流方法
CN104243090A (zh) * 2013-06-19 2014-12-24 中国移动通信集团公司 一种基于无线信道反馈的发送速率调整方法和设备
CN106850805A (zh) * 2017-02-06 2017-06-13 网宿科技股份有限公司 一种数据传输方法及装置

Also Published As

Publication number Publication date
CN109560897A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
CN110995697B (zh) 一种大数据传输方法及系统
CN109560897B (zh) 一种tcp重传方法和装置
CN108494782B (zh) 一种基于udp的数据传输方法、终端设备及存储介质
US6622172B1 (en) Dynamically delayed acknowledgement transmission system
US7600037B2 (en) Real time transmission of information content from a sender to a receiver over a network by sizing of a congestion window in a connectionless protocol
EP1771742B1 (en) High performance tcp for systems with infrequent ack
US8094557B2 (en) Adaptive fast retransmit threshold to make TCP robust to non-congestion events
WO2007141643A1 (en) Dynamically adjusting the amount of packets to be acknowledged in an asymmetric communication system
WO2004047357A1 (en) Data unit sender and method of controlling the same
CN115396068A (zh) 重传控制方法、通信接口和电子设备
CN111193577A (zh) 使用传输超时的网络系统通信方法及通信装置
CN107634817B (zh) 用于数据传输的方法和装置
Dunaytsev et al. Modeling TCP SACK performance over wireless channels with completely reliable ARQ/FEC
JP7067544B2 (ja) 通信システム、通信装置、方法およびプログラム
EP3939191B1 (en) Device and method for delivering acknowledgment in network transport protocols
CN107426615B (zh) 一种降低视频网络播放卡顿率的方法及装置
CN110266446B (zh) 一种基于sack模式调整乱序时长的方法和装置
CN114390054A (zh) 一种核心网网络加速方法、电子设备及计算机存储介质
CN109905209B (zh) 一种设置网络乱序值的方法和装置
CN104580171A (zh) Tcp协议的传输方法、装置和系统
EP1172966A2 (en) System and method for reliable multicast
EP3613164B1 (en) Device and method for monitoring a tcp connection
EP1191764A1 (en) A method of controlling the time-out in a wireless data TCP transmission
CN113906700B (zh) 在网络传输协议中传递确认的设备和方法
Alnuem et al. New algorithm to control TCP behavior over lossy links

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