一种数据传送方法、发送节点、接收节点及数据传送系统技术方案

技术编号:15695355 阅读:83 留言:0更新日期:2017-06-24 10:48
本发明专利技术公开了一种数据传送加速方法及相关的装置和系统,其中该方法包括:发送节点以特定速率向接收节点发送数据包,其中每个数据包携带一个随机序列号以及一个与发包次序相关的滚动序列号,接收节点根据接收到的数据包的双序列号,快速判断丢失的数据包,并将丢失数据包的序列号信息反馈给发送节点,以指示发送节点重传丢失的数据包。本发明专利技术方案能够可以在高延迟,高丢包率的网络中提高网络吞吐率/传输速率,并且其高吞吐率/传输速率不会因为一定的网路抖动而剧烈变化。

【技术实现步骤摘要】
一种数据传送方法、发送节点、接收节点及数据传送系统
本专利技术涉及通信
,尤其涉及一种数据传送加速方法及相关的装置和系统。
技术介绍
在网络通讯中,如何保证可靠、高效地在网络上进行数据传输一直是学术界和工业界的研究重点,而数据传输效率与网络协议的性能直接相关,其中,吞吐率/传输速率是用来衡量网络协议性能的重要指标之一。在现有的通信网络中,通常采用TCP(TransmissionControlProtocol,传输控制协议)或UDP(UserDatagramProtocol,用户数据报协议)作为传输层协议。TCP和UDP是TCP/IP模型中最通用的两种传输层协议。根据统计,目前全球互联网数据流量90%以上通过TCP传输,通过UDP传输的不足10%。而且TCP所占份额还在继续扩大,就连目前广泛采用UDP协议的多媒体应用也逐渐开始采用TCP协议传输多媒体数据包。然而,设计于二十多年前的TCP传输协议已经越来越不适应飞速发展的高速网络环境和新型应用的需求。比如,由于TCP自身的“双窗口”拥塞控制,丢包重传等机制,当网络中存在一定程度的丢包和延时的时候,TCP连接的吞吐率显著下滑,无法有效地利用带宽,导致了TCP协议不能很好的支持数据的高吞吐率/传输速率传输。针对TCP的传输速率的问题,各种网络加速技术应运而生。这些加速技术基本上可以分为三类:基于丢包(Loss-based)的TCP加速技术、基于延时(Delay-based)的TCP加速技术和基于学习(Learning-based)的TCP加速技术。Loss-based的TCP加速技术沿袭了主流TCP以丢包来判断拥塞并调整传输速率的方式。其对传统TCP的改进主要是通过增大初始拥塞控制窗口(CongestionWindow,CNWD),同时在通过丢包判断出现拥塞后使用比传统TCP更激进的方式恢复CNWD,以期减少拥塞对速率的影响。尽管这些改进在很多情况下确实能够提升速率,但很多网络会产生非拥塞因素的丢包,特别是无线网络,如信号被干扰等因素导致的丢包并不意味有拥塞发生,因此Loss-based的TCP加速技术将丢包作为拥塞发生的信号很容易误判,导致传输速率下降,带宽得不到有效利用。Delay-based的TCP加速技术克服了Loss-based的主要缺陷,采用延迟的变化来判断拥塞程度并相应调整传输速率。这一机制更符合现代网络的特点,能够在发生拥塞网络节点的队列开始堆积时就及时下调传输速率,避免拥塞恶化,减少甚至避免丢包的发生。同时,Delay-based的TCP加速技术不将丢包当作拥塞,在非拥塞因素发生的丢包时可以保持较高的速率。因此,设计优良的Delay-based的TCP加速技术比Loss-based的TCP加速技术在传输速率上有了显著的提升。尽管如此,当网络路径本身的延迟就变化很大时,Delay-based的TCP加速技术会将非拥塞因素导致的延迟增加误判为拥塞并转入拥塞处理,从而导致没有必要的压低传输速率。例如,包括移动互联网在内的无线网络延迟变化就很频繁,一些网络设备(特别是安全设备)也可能不定时地引入额外的数据包处理延迟。Learning-based的TCP加速技术采用网络路径特征自学习的动态算法,基于每一个TCP连接实时观察、分析网络特征,根据学习到的网络特征随时调整算法来更准确的判断拥塞程度、更及时地判断丢包,从而更恰当的进行拥塞处理并更快速的进行丢包恢复。这一设计从原理上克服了静态算法无法适应网络路径特征变化的问题,保证了在各种不同网络环境及频繁变化的网络延迟、丢包特征下加速效果的持续有效性。然而,Learning-based的TCP加速技术需要靠对历史记录的学习来了解当前网络的情况,但是对于随机丢包,延迟抖动大的网络,这种学习/判断效果并不明显,使得网络的吞吐率/传输速率的提升并不显著。综上,现有的传输协议的吞吐率/传输速率人仍然有较大的提升空间,尽管有一些加速算法可以起到一定的加速作用,但网络的发展趋势是流量特征越来越复杂并难以预测,尤其是在高延迟,高丢包,高带宽延迟积的场景下,网络路径特征不断发生变化,因此加速的效果也会起伏不定,有时甚至出现反效果。因此,现有技术中传输层协议的吞吐率/传输速率仍然有待提升。
技术实现思路
本专利技术实施例提供一种数据传送方法、发送/接收节点、及数据传送系统,用于提高数据传输的速率。为达到上述专利技术目的,一方面,本专利技术实施例提供了一种报文传输方法,该方法包括:发送节点以预定传输速率向接收节点传输多个数据包,接收节点根据接收到的数据包的序列号检测出一个或多个丢失数据包后,向发送节点发送丢包反馈信息,以请求重传丢失的数据包,发送节点接收到丢包反馈信息后,根据丢包反馈信息中的指示,重传丢失的数据包。与传统TCP尽力发送数据包的机制不同,在本专利技术实施例的数据传送方法中,数据包是以特定的速率均匀发送的,可以减少缓数据包瞬时注入网络造成网络拥塞的情况,同时也不会像TCP一样,由于发送窗口、拥塞窗口等限制而造成有包不能发的现象,可以显著提高数据传输速率和带宽利用率。在第一种可能的实现方式中,发送节点发送的数据包携带有一个随机序列号(SEQ)和一个滚动序列号(PKT.SEQ);接收节点可以根据接收到的数据包中的滚动序列号来检测丢失数据包。由于PKT.SQE是用来指示数据包传输次序的,且只与数据包传输的次序相关,因此接收节点可以根据前后到达包的PKT.SEQ来迅速的判断丢包。双SEQ机制可以在一个RTT(RoundTripTime,往返时间)内发现任意丢失数据包,相对于TCP使用的超时重传,时延更小。根据第一方面第一种可能的实现方式,在第二种可能的实现方式中,发送节点传输的多个数据包的滚动序列号与该多个数据包的传输次序对应。根据第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,重传的数据包携带有新的滚动序列号。根据第一方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,重传的数据包携带的随机序列号与首次传输该数据包时携带的随机序列号相同,重传的数据包携带的滚动序列号与首次传输该数据包时携带的滚动序列号不同。根据第一方面或以上实现方式种的任意一种,在第五种可能的实现方式中,丢包反馈信息包含有丢失数据包的序列号信息,该序列号信息具体可以为随机序列号或滚动序列号。或者在第六种可能的实现方式中,丢包反馈信息包含有接收节点已接收的数据包的序列号信息,比如随机序列号或滚动序列号。根据第一方面或第一方面的以上实现方式种的任意一种,在第七种可能的实现方式中,接收节点发送的丢包反馈信息为包含丢包指示字段的NACK控制包,该丢包指示字段用于携带丢失数据包的滚动序列号;相应地,发送节点接收到NACK控制包之后,基于NACK控制包所携带的滚动序列号,以及发送节点已发送的数据包的随机序列号和滚动序列号之间的映射关系,确定丢失数据包的随机序列号,并给确定出丢失数据包赋予新的滚动序列号后重传。或者在第八种可能的实现方式中,NACK控制包的丢包指示字段也可以用于携带丢失数据包的随机序列号,接收节点可以根据丢失数据包的滚动序列号,查询数据包随机序列号与滚动序列号的映射关系表,确定丢失数据包的随机序列号,将确定出的序本文档来自技高网
...
一种数据传送方法、发送节点、接收节点及数据传送系统

【技术保护点】
一种用于在发送节点和接收节点之间传送数据方法,其特征在于,包括:所述发送节点以初始传输速率向所述接收节点传输多个数据包,每个数据包都携带有一个随机序列号(SEQ)和一个滚动序列号(PKT.SEQ);其中,所述随机序列号用于标识数据包的数据部分的信息,所述滚动序列号用于指示数据包的传输次序;所述发送节点接收所述接收节点发送的丢包反馈信息,所述丢包反馈信息是所述接收节点根据接收到的数据包的滚动序列号检测出至少一个丢失数据包后生成的;所述发送节点基于接收到的所述丢包反馈信息,确定所述至少一个丢失数据包的随机序列号,并重传与确定出的随机序列号对应的数据包;其中,重传的数据包携带有新的滚动序列号。

【技术特征摘要】
1.一种用于在发送节点和接收节点之间传送数据方法,其特征在于,包括:所述发送节点以初始传输速率向所述接收节点传输多个数据包,每个数据包都携带有一个随机序列号(SEQ)和一个滚动序列号(PKT.SEQ);其中,所述随机序列号用于标识数据包的数据部分的信息,所述滚动序列号用于指示数据包的传输次序;所述发送节点接收所述接收节点发送的丢包反馈信息,所述丢包反馈信息是所述接收节点根据接收到的数据包的滚动序列号检测出至少一个丢失数据包后生成的;所述发送节点基于接收到的所述丢包反馈信息,确定所述至少一个丢失数据包的随机序列号,并重传与确定出的随机序列号对应的数据包;其中,重传的数据包携带有新的滚动序列号。2.根据权利要求1所述的方法,其特征在于,所述丢包反馈信息包含所述至少一个丢失数据包的随机序列号或滚动序列号信息。3.根据权利要求1或2所述的方法,其特征在于,所述丢包反馈信息为NACK控制包,所述NACK控制包包含丢包指示字段,其中,所述丢包指示字段用于携带所述至少一个丢失数据包的滚动序列号;所述发送节点基于接收到的所述丢包反馈信息,确定所述至少一个丢失数据包的随机序列号包括:所述发送节点基于接收到的所述NACK控制包所携带的滚动序列号,以及所述发送节点已发送的数据包的随机序列号和滚动序列号之间的映射关系,确定所述至少一个丢失数据包的随机序列号。4.根据权利要求3所述的方法,其特征在于,所述至少一个丢失数据包包括多个连续的丢失数据包;所述NACK控制包包含丢包指示字段包括:丢包开始字段(START)和丢包结束字段(END),其中,所述丢包开始字段和丢包结束字段分别用于携带所述多个连续的丢失数据包中首包和尾包的滚动序列号。5.根据权利要求1至4任一项所述的方法,其特征在于,所述NACK控制包还包含:释放字段,所述释放字段用于携带所述接收节点当前已接收到的数据包的随机序列号和/或滚动序列号。6.根据权利要求5所述的方法,其特征在于,还包括:所述发送节点根据接收到的所述NACK控制包中携带的释放字段,从发送缓存中释放所述接收节点已接收到的数据包。7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:所述发送节点接收PACK控制包,所述PACK控制包是由所述接收节点周期性发送的,其中,所述PACK控制包携带有接收缓存中缺失的数据包的随机序列号,其中,所述缺失的数据包包括:未被所述发送节点感知的丢失数据包,和/或重传后再次丢失的数据包;所述发送节点重传与所述PACK控制包携带的随机序列号对应的数据包。8.根据权利要求7所述的方法,其特征在于,所述PACK控制包还携带有数据包接收速率和数据包丢失率中的至少一种;所述方法还包括:所述发送节点根据所述PACK控制包携带的数据包接收速率和/或数据包丢失率,调整所述初始传输速率,使其与所述数据包接收速率相适应。9.根据权利要求1至8任一项所述的方法,其特征在于,所述初始传输速率是由用户配置或由发送节点自动配置的。10.一种用于在发送节点和接收节点之间传送数据方法,其特征在于,包括:所述接收节点接收所述发送节点以初始传输速率传输的多个数据包,每个数据包都携带有一个随机序列号(SEQ)和一个滚动序列号(PKT.SEQ);其中,所述随机序列号用于标识数据包数据部分的信息,所述滚动序列号用于指示数据包的传输次序;所述接收节点根据所述多个数据包的滚动序列号检测出至少一个丢失数据包,并向所述发送节点发送丢包反馈信息,所述丢包反馈信息用于请求所述发送节点重传所述至少一个丢失数据包;所述接收节点接收所述发送节点根据所述丢包反馈信息重传的数据包;其中,所述重传的数据包携带有新的滚动序列号。11.根据权利要求10所述的方法,其特征在于,所述丢包反馈信息包含所述至少一个丢失数据包的随机序列号或滚动序列号信息。12.根据权利要求10或11所述的方法,其特征在于,所述丢包反馈信息为NACK控制包,所述NACK控制包包含丢包指示字段,其中,所述丢包指示字段用于携带所述至少一个丢失数据包的滚动序列号。13.根据权利要求12所述的方法,其特征在于,所述至少一个丢失数据包包括多个连续的丢失数据包;所述丢包指示字段包括:丢包开始字段(START)和丢包结束字段(END),其中,所述丢包开始字段和丢包结束字段分别用于指示所述多个连续的丢失数据包中首包和尾包的滚动序列号。14.根据权利要求12或13所述的方法,其特征在于,所述NACK控制包还包含:释放字段,所述释放字段携带有所述接收节点已接收到的数据包的随机序列号或滚动序列号,用于指示所述发送节点释放所述接收节点已接收到的数据包所占用的发送缓存。15.根据权利要求10-14任一项所述的方法,其特征在于,还包括:所述接收节点周期性发送PACK控制包,所述PACK控制包携带有接收缓存中缺失的数据包的随机序列号,用于指示所述发送节点重传所述缺失的数据包;其中,所述缺失的数据包包括:未被所述发送节点感知的丢失数据包,和/或重传后再次丢失的数据包。16.根据权利要求15所述的方法,其特征在于,所述PACK控制包还携带有数据包接收速率和数据包丢失率中的至少一种,其中,所述数据包接收速率用于表示所述接收节点接收数据包的速率,或者所述接收节点从接收缓存读取数据包的速率。17.一种发送节点,其特征在于,包括:协议栈,以及通过总线连接的处理器、存储器和通信接口;其中,所述通信接口包括发射电路和接收电路,所述协议栈用于,在所述处理器的控制下,将所述发送节点上运行的应用程序的数据封装成多个数据包,以初始传输速率通过所述发射电路向接收节点传输,并通过所述接收电路接收所述接收节点发送的丢包反馈信息;其中,所述多个数据包中的每个数据包都携带有一个随机序列号(SEQ)和一个滚动序列号(PKT.SEQ);所述随机序列号...

【专利技术属性】
技术研发人员:熊涛郑凯曾一
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1