一种报文传输方法及用户设备技术

技术编号:15334228 阅读:125 留言:0更新日期:2017-05-16 21:33
本发明专利技术公开了一种报文传输方法及用户设备,其中该方法包括:发送节点通过向接收节点传输多个报文,接收来自接收节点的多个确认报文,并基于接收到的多个确认报文确定第一报文丢失后,重传第一报文;若检测到重传报文丢包,则在预定的时间间隔内,发送节点连续向接收节点重传所述第一报文至少两次。本发明专利技术方案能够使得重传报文发生丢包后被及时检测和恢复,减少超时重传的次数,提高了传输速率,同时,降低了重传报文的丢包概率,进而减少了超时重传的概率。

【技术实现步骤摘要】
一种报文传输方法及用户设备
本专利技术涉及通信
,尤其涉及一种报文传输方法及用户设备。
技术介绍
在计算机网络通信中,丢包恢复算法扮演着至关重要的角色,它是TCP(TransmissionControlProtocol)协议栈中保证数据传输可靠性的重要算法,是数据包丢失的情况下给出的一种容错机制,也直接影响着数据传输的效率以及网络带宽的利用率。RFC2581对典型的丢包恢复算法进行了定义和描述,主要包括超时重传和快速重传。超时重传是TCP协议保证数据可靠性的一个重要机制,其原理是发送节点在发送一个报文后就开启一个超时计时器,如果超时计时器的计时时间到,发送节点仍没有接收到表征该报文已被正确接收的确认报文(Acknowledgement,简称ACK),就重新发送该报文,其中,重新发送的报文通常也称为重传报文。快速重传是对超时重传的优化机制,如果发送端接收到N个(一般情况下,N等于3)以上的重复ACK,就判定有报文丢失,于是立即重传丢失的报文。快速重传机制不需要等到重传定时器超时就进行报文重传,大大提高了数据传输的效率。在TCP传输中避免不必要的超时重传一直是学术界和工业界的研究热点。然而,在当前大部分TCP协议栈中,都没有重传报文丢包的检测机制,如果重传报文丢失,必然会导致超时重传,进而极大的降低了TCP连接的传输效率。当前,关注重传报文丢包检测与恢复的算法主要有DAC(DuplicateAcknowledgementCounting)和SACK+(SelectiveAcknowledgmentPlus)算法。DAC算法和SACK+算法都是TCP单边加速算法,只需要部署在发送端,它们的基本思想也非常类似。DAC算法的主要原理如下:在重传报文时,发送端估算此时正在网络中传输的报文数量n,并统计重传报文之后收到的重复ACK个数,其中,已发送且未被接收端确认同时也未被发送端判定为丢失的报文被定义为正在网络中传输的报文;如果积累确认在收到多于n个ACK之后仍然没有更新,则判定本次重传的报文丢失,立即再次重传该报文而不必等待超时重传。如图1所示,假设在一个发送窗口内,序列号为3的报文丢失。如图1中步骤101所示,发送端在收到3个重复ACK之后,启动快速重传,重传序列号为3的报文,同时使用DAC算法估算正在网络中传输的报文数量。一种可行的估算方法如下(注意,估算方法不仅仅限于此方法):发送端已知已发送报文的最大序列号是8,收到的积累确认序列号是2,收到3个重复确认,判定1个报文丢失,估算出正在网络中传输的报文数量等于8-2-3-1=2个。然后,如图1中步骤102所示,发送端在重传之后对收到的重复ACK计数。当发送端收到重传之后的第3个重复ACK时,积累确认的序列号依然是2,没有更新,发送端判定重传报文丢失。最后,如图1中步骤103所示,发送端不需要等到重传定时器超时,立即再次重传序列号为3的报文,避免进入超时重传。SACK+算法的原理与DAC算法类似,主要区别在于SACK算法通过确认报文中的SACK选项携带的选择确认信息来判断重传报文是否丢失。然而,通过测试发现,无论是采用DAC算法,还是SACK+算法,有很大的概率不能及时检测重传报文丢包,从而使得重传报文丢失后不能被发送端及时检测和恢复,最终导致超时重传,而在高丢包率场景下,频繁超时重传会导致传输时延的增大以及传输速率的急剧下降。
技术实现思路
本专利技术实施例提供一种报文传输方法、发送装置及通信系统,用于减少报文超时重传的概率,降低报文传输时延,提高报文传输速率。为达到上述专利技术目的,一方面,本专利技术实施例提供了一种报文传输方法,该方法包括:发送节点通过与接收节点之间的通信链路向该接收节点传输多个报文;发送节点在确定该多个报文中的第一报文丢失之后,重传该第一报文;基于重传第一报文之后接收到的确认报文确定重传报文丢失后,再次重传第一报文,并在第一时间间隔内,发送第一报文至少一次。在第一方面的第一种可能的实现方式中,该方法还包括:接收来自接收节点的一个或多个确认报文,并根据所述一个或多个确认报文携带的ack字段或者扩展字段,确定第一报文丢失。结合第一方面,或者第一方面第一种可能的实现方式,在第二种可能的实现方式中,该方法还包括:发送节点在所述第一时间间隔内,发送第二报文;其中,该第二报文为发送节点未发送过的报文。第二方面,本专利技术实施例提供了一种报文传输方法,包括:发送节点通过与接收节点之间的通信链路向该接收节点传输多个报文;发送节点在确定该多个报文中的第一报文丢失之后,重传所述第一报文,并基于重传第一报文之后接收到的确认报文确定重传报文丢失之后,再次重传第一报文,并判断发送缓存是否为空;如果发送缓存非空,则发送节点在第一时间间隔内发送该发送缓存中的至少一个报文;其中,发送缓存中的报文为发送节点未发送过的报文。在第二方面的第一种可能的实现方式中,该方法还包括:如果所述发送缓存为空,则发送节点在所述第一时间间隔内发送所述第一报文至少一次。结合第二方面,或者第二方面第一种可能的实现方式,在第二种可能的实现方式中,发送节点基于重传所述第一报文之后接收到的确认报文确定重传报文丢失,包括:发送节点根据重传第一报文之后接收到的确认报文携带的ack字段或者扩展字段,判断重传报文丢失,重传报文为重传的第一报文。第三方面,本专利技术实施例提供了一种报文传输方法,包括:发送节点通过与接收节点之间的通信链路向接收节点传输多个报文;发送节点确定该多个报文中的第一报文丢失后,重传所述第一报文;发送节点基于重传第一报文之后接收到的确认报文确定重传报文丢失后,再次重传第一报文,并判断发送缓存是否为空,或者当前的拥塞控制策略是否允许发送新的报文;如果发送缓存为空,或者当前的拥塞控制策略不允许发送新的报文,则所述发送节点在第一时间间隔内发送所述第一报文至少一次。在第三方面的第一种可能的实现方式中,还包括:如果发送缓存非空,并且当前拥塞控制策略允许发送新的报文,则发送节点在第一时间间隔内发送该发送缓存中的至少一个报文。在以上任一方面或任一方面的任一种可能的实现方式中,第一时间间隔大于等于零,且小于第一报文的超时计时器的周期;且发送节点在第一时间间隔内未接收到用于指示再次重传的第一报文丢失的确认报文。在以上任一方面或任一方面的任一种可能的实现方式中,发送节点与接收节点之间的通信链路为TCP连接。在以上任一方面或任一方面的任一种可能的实现方式中,发送缓存中的报文为发送节点未发送过的报文。结合上述任一方面,或者任一方面的任意一种可能的实现方式,发送节点在检测到重传报文丢失后的预定时间间隔内,重传丢失的第一报文;其中,该预定时间间隔以发送节点检测出重传的第一报文丢失的时刻为起点,且该预定时间间隔大于等于零并且小于第一报文的超时计时器的周期;或者该预定时间间隔趋近于零。第四方面,本专利技术实施例提供了一种用户设备,包括:无线调制解调器、处理器、天线和TCP协议栈;其中,无线调制解调器与天线连接,TCP协议栈用于在处理器的控制下,将所述用户设备上运行的应用程序的数据封装成多个报文,并发送给无线调制解调器;无线调制解调器将接收到的报文调制成模拟信号并通过天线发送给服务器;TCP协议栈还用于,在确认多个报文中的第本文档来自技高网
...
一种报文传输方法及用户设备

【技术保护点】
一种报文传输方法,其特征在于,包括:发送节点通过与接收节点之间的通信链路向所述接收节点传输多个报文;所述发送节点在确定所述多个报文中的第一报文丢失之后,重传所述第一报文;所述发送节点基于重传所述第一报文之后接收到的确认报文确定重传报文丢失;其中,所述重传报文为重传的第一报文;所述发送节点再次重传所述第一报文,并在第一时间间隔内,发送所述第一报文至少一次;其中,所述第一时间间隔大于等于零,且小于所述第一报文的超时计时器的周期;所述发送节点在所述第一时间间隔内未接收到用于指示再次重传的所述第一报文丢失的确认报文。

【技术特征摘要】
1.一种报文传输方法,其特征在于,包括:发送节点通过与接收节点之间的通信链路向所述接收节点传输多个报文;所述发送节点在确定所述多个报文中的第一报文丢失之后,重传所述第一报文;所述发送节点基于重传所述第一报文之后接收到的确认报文确定重传报文丢失;其中,所述重传报文为重传的第一报文;所述发送节点再次重传所述第一报文,并在第一时间间隔内,发送所述第一报文至少一次;其中,所述第一时间间隔大于等于零,且小于所述第一报文的超时计时器的周期;所述发送节点在所述第一时间间隔内未接收到用于指示再次重传的所述第一报文丢失的确认报文。2.根据权利要求1所述的方法,其特征在于,还包括:所述发送节点接收来自所述接收节点的一个或多个确认报文,并根据所述一个或多个确认报文携带的ack字段或者扩展字段,确定所述多个报文中的第一报文丢失。3.根据权利要求1或2所述的方法,其特征在于,所述发送节点在所述第一时间间隔内,发送所述第一报文至少一次之后,所述方法还包括:所述发送节点发送第二报文;其中,所述第二报文为所述发送节点未发送过的报文。4.根据权利要求1-3任一项所述的方法,其特征在于,所述发送节点与所述接收节点之间的通信链路为TCP连接。5.一种报文传输方法,其特征在于,包括:发送节点通过与接收节点之间的通信链路向所述接收节点传输多个报文;所述发送节点在确定所述多个报文中的第一报文丢失之后,重传所述第一报文;所述发送节点基于重传所述第一报文之后接收到的确认报文确定重传报文丢失;所述重传报文为重传的第一报文;所述发送节点再次重传所述第一报文,并判断发送缓存是否为空;如果所述发送缓存为空,则所述发送节点在所述第一时间间隔内发送所述第一报文至少一次;其中,所述第一时间间隔大于等于零,且小于所述第一报文的超时计时器的周期;所述发送节点在所述第一时间间隔内未接收到用于指示再次重传的所述第一报文丢失的确认报文。6.根据权利要求5所述的方法,其特征在于,还包括:如果所述发送缓存非空,则所述发送节点在第一时间间隔内发送所述发送缓存中的至少一个报文;其中,所述发送缓存中的报文为所述发送节点未发送过的报文。7.根据权利要求5或6所述的方法,其特征在于,所述发送节点基于重传所述第一报文之后接收到的确认报文确定重传报文丢失,包括:所述发送节点根据重传所述第一报文之后接收到的确认报文携带的ack字段或者扩展字段,判断重传报文丢失。8.根据权利要求5-7任一项所述的方法,其特征在于,所述发送节点与所述接收节点之间的通信链路为TCP连接。9.一种报文传输方法,其特征在于,包括:发送节点通过与接收节点之间的通信链路向所述接收节点传输多个报文;所述发送节点确定所述多个报文中的第一报文丢失后,重传所述第一报文;所述发送节点基于重传所述第一报文之后接收到的确认报文确定重传报文丢失;所述重传报文为所述重传的第一报文;所述发送节点再次重传所述第一报文,并判断发送缓存是否为空,或者当前的拥塞控制策略是否允许发送新的报文;如果所述发送缓存为空,或者当前的拥塞控制策略不允许发送新的报文,则所述发送节点在第一时间间隔内发送所述第一报文至少一次;其中,所述第一时间间隔大于等于零,且小于所述第一报文的超时计时器的周期;所述发送节点在所述第一时间间隔内未接收到用于指示再次重传的所述第一报文丢失的确认报文。10.根据权利要求9所述的方法,其特征在于,还包括:如果所述发送缓存非空,并且当前拥塞控制策略允许发送新的报文,则所述发送节点在所述第一时间间隔内发送所述发送缓存中的至少一个报文;其中,所述发送缓存中的报文为所述发送节点未发送过的报文。11.一种用户设备,其特征在于,包括:无线调制解调器、处理器、天线和TCP协议栈;其中,所述无线调制解调器与所述天线连接,所述TCP协议栈用于,在所述处理器的控制下,将所述用户设备上运行的应用程序的数据封装成多个报文,并发送给所述无线调制解调器;所述无线调制解调器用于将接收到的报文调制成模拟信号并通过所述天线发送给服务器;所述TCP协议栈还用于,在确认所述多个报文中的第一报文丢失之后,通过所述无线调制解调器及所述天线向所述服务器重传所述第一报文,并基于重传所述第一报文之后接收到的确认报文确定重传报文丢失;其中,所述重传报文为所述重传的第一报文;再次向所述服务器重传所述第一报文,并在第一时间间隔内,向所述服务器发送所述第一报文至少一次;其中,所述第一时间间隔大于等于零,且小于所述第一报文的超时计时器的周期;所述用户设备在所述第一时间间隔内未接收到用于指示再次重传的所述第一报文丢失的确认报文。12.根据权利要求11所述的用户设备,其特征在于,所述TCP协议栈还用于,通过所述无线调制解调器和天线发送第二报文;其中,所述第二报文为未发送过的报文。13.一种用户设备,其特征在于,包括:无线调制解调器、处理器、天线和TCP协议栈;其中,所述无线调制解调器与所述天线连接,所述TCP协议栈用于,在所述处理器的控制下,将所述用户设备上运行的应用程序的数据封装成多个报文,并发送给所述无线调制解调器;所述无线调制解调器用于将接收到的报文调制成模拟信号并通过所述天线发送给服务器;所述TCP协议栈还用于,确认所述多个报文中的第一报文丢失之后,通过所述无线调制解调器及所述天线向所述服务器重传所述第一报文,并基于重传所述第一报文之后接收到的确认报文确定重传报文丢失,所述重传报文为所述重传的第一报文;再次向所述服务器重传所述第一报文,并判断发送缓存是否为空;如果所述发送缓存为空,则在所述第一时间间隔内,通过所述无线调制解调器和天线向所述服务器发送所述第一报文至少一次;其中,所述第一时间间隔大于等于零,且小于所述第一报文的超时计时器的周期;所述用户设备在所述第一时间间隔内未接收到用于指示再次重传的所述第一报文丢失的确认报文。14.根据权利要求13所述的用户设备,其特征在于,所述TCP协议栈还用于,如果所述发送缓存非空,则在第一时间间隔内通过所述无线调制解调器和天线向所述服务器发送所述发送缓存中的至少一个报文;其中,所述发送缓存中的报文为所述用户设备未发送过的报文。15.根据权利要求13或14所述的用户设备,其特征在于,所述TCP协议栈具体用于,根据重传所述第一报文之后接收到的确认报文携带的ack字段或者扩展字段,判断所述重传报文丢失。16.一种用户设备,其特征在于,包括:无线调制解调器、处理器、天线和TCP协议栈;其中,所述无线调制解调器与所述天线连接,所述TCP协议栈用于,在所述处理器的控制下,将所述用户设备上运行的应用程序的数据封装成多个报文,并发送给所述无线调制解调器;所...

【专利技术属性】
技术研发人员:张钟杨能黄茂青张伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1