具有本地缓存的延迟确定性报文重传方法技术

技术编号:10107071 阅读:203 留言:0更新日期:2014-06-01 22:43
本发明专利技术提供一种具有本地缓存的延迟确定性报文重传方法,接收端向发送端明确请求需要重发的数据,且请求中可以包含不止一个丢失数据段的信息。设置本地缓存,对丢失的报文可进行本地重传,从而防止反向链路ACK发生丢包现象。该方法是利用有限带宽更快地进行丢失恢复的一种策略,能够在具有大时延、误码率和链路带宽不对称的信道上,减少报文重传的频率和数量,避免在这样的信道上由于反向信道带宽受限引起丢包时信道效率下降的问题。同时通过设置本地缓存,能够解决反向ACK报文丢失时,由于大时延引起的信道传输效率低的问题。该方法能够大大提高卫星链路报文重传效率,使卫星信道利用率大幅提高。

【技术实现步骤摘要】
具有本地缓存的延迟确定性报文重传方法
本专利技术涉及一种具有本地缓存的延迟确定性报文重传方法。
技术介绍
由于卫星链路具有传播时延长、带宽时延积大、误码率高的特点,导致了互联网中广泛应用的TCP协议在应用于卫星链路时性能受到很大影响,严重限制了卫星链路资源的利用,传输效率无法满足各种业务需求。TCP协议,传输控制协议,是一种反馈应答的协议,接收端会将数据接收情况通过ACK消息返回给发送端,尤其是当链路误码或网络拥塞发生报文丢失时,发送端可以根据ACK信息了解丢包情况,触发报文重传。而在卫星链路中,较大的时延使得上述重传效率很低,因为传统使用的ACK信息只能包含一个传输窗口内的一处错误,如果TCP包在一个窗口中出现了多个错误,那么我们不得不发送多个ACK信息通知发送端,这对于上行信道受到严格限制,上下行链路容量比在1:10到1:1000之间的非对称信道来说无疑是非常不利的。针对上述问题,提出一种具有本地缓存的延迟确定性报文重传方法。
技术实现思路
本专利技术的目的是提供一种具有本地缓存的延迟确定性报文重传方法解决现有技术中存在的在卫星链路中,较大的时延使得报文丢失后的重传效率很低,因为传统使用的ACK信息只能包含一个传输窗口内的一处错误,如果TCP包在一个窗口中出现了多个错误,那么我们不得不发送多个ACK信息通知发送端,这对于上行信道受到严格限制,上下行链路容量比在1:10到1:1000之间的非对称信道来说无疑是非常不利的的问题。本专利技术提供一种具有本地缓存的延迟确定性报文重传方法,解决卫星链路长时延造成的报文重传效率低,信道资源浪费严重的问题。本专利技术的技术解决方案是:一种具有本地缓存的延迟确定性报文重传方法,记录报文传输的具体丢包情况,当发生丢包时,接收端向发送端发送确定性重传请求,请求传输丢失的报文,该请求中携带一个或多个丢失报文的信息;对新丢失的报文设置重传延迟,发生新的报文丢失时,经过重传延迟后接收端向发送端发送请求传输新丢失的报文;在卫星链路接收端网关处设置本地缓存,接收节点发出的反向链路ACK传输丢失时,由接收端网关重发报文。优选地,确定性重传请求选项通过TCP连接建立过程激活,该确定性重传请求选项位于TCP报头的选项字段中,并在建立TCP连接时通过收发两端点的协商确定激活该确定性重传请求选项;如果TCP连接的两端在TCP头的SYN段中均使用了确定性重传请求选项,那么确定性重传请求选项将被激活,如果TCP连接的两端中的任意一端不支持确定性重传请求,那么将使用常规的ACK或者延时ACK。优选地,接收数据队列记录报文是否正确的信息,接收端利用位向量在一个ACK消息中表示多个丢失报文的信息;在数据接收端的接收数据队列中,记录有数据接收正确或错误的信息,当队列中存在错误报文时,接收端采用位向量表示多个丢失报文的信息,通过应答ACK消息发给数据发送端。优选地,发生新的报文丢失时,设置重传延迟,不立即发送应答报文ACK,而是延迟一段时间后,在位向量中标明这段时间内发生的所有丢包情况,统一返回给数据发送端。优选地,设置本地缓存,以防止反向链路ACK传输的丢失。在G2网关设置本地缓存,存储发往H2的报文,当H2发出的反向链路ACK丢失时,由G2进行本地重发,节省丢包重发的时间。优选地,如果确定性重传请求在传输时丢失,则数据接收端重发该请求。优选地,发起确定性报文重传的步骤描述如下:步骤一:发送端在TCP报头选项中设置确定性报文重传选项,向接收端发起连接请求,即在报头中设置SYN(同步)标志;步骤二:接收端收到连接请求,如果协议栈支持该选项的处理,则转步骤三,否则转步骤四;步骤三:接收端在TCP报头选项中设置确定性报文重传选项,向发送端发起连接应答,即在报头中设置SYN/ACK(同步/应答)标志,表示接受该选项的使用;步骤四:接收端向发送端发起连接应答,即在报头中设置SYN/ACK(同步/应答)标志,表示不接受该选项的使用;步骤五:结束。优选地,接收端向发送端传输确定性报文重传信息的步骤描述如下:步骤一:接收端检查接收队列的报文丢失情况;步骤二:接收端根据丢包情况填写报头信息,确定性报文重传选项中的类型值设置为21;填写长度值、第1处错误偏移量、第1处错误长度值和位向量;步骤三:接收端在重传延迟时钟超时的时候将应答信息发出;步骤四:结束。优选地,确定性重传请求接收端处理的步骤描述如下:步骤一:传输确定性重传请求中的第1处错误;步骤二:按位向量升序重传,即确定性重传请求位向量顺序左移直到重传完最后一个1左侧的0对应的1个MSS数据段;步骤三:结束。本专利技术提供一种在卫星链路上的报文重传方法,即具有本地缓存的确定性重传请求方法(DSACK),该方法中数据接收端向发送端明确请求需要重发的数据,且请求中可以包含不止一个丢失数据段的信息。设置本地缓存,对丢失的报文可进行本地重传,从而防止反向链路ACK发生丢包现象。该方法是利用有限带宽更快地进行丢失恢复的一种策略,因此,对于长延时网络来说就显得非常重要。本专利技术的有益效果是:本专利技术一种具有本地缓存的延迟确定性报文重传方法,接收端记录报文传输的具体丢包情况,当发生丢包时,接收端向发送端请求只传输丢失的报文,而且可在一次请求中携带多个丢失报文的信息。该种具有本地缓存的延迟确定性报文重传方法,能够在具有大时延、误码率和链路带宽不对称的信道上,减少报文重传的频率和数量,避免在这样的信道上由于反向信道带宽受限引起丢包时信道效率下降的问题。同时通过设置本地缓存,能够解决反向ACK报文丢失时,由于大时延引起的信道传输效率低的问题。该方法能够大大提高卫星链路报文重传效率,使卫星信道利用率大幅提高。附图说明图1是本专利技术实施例的网络环境示意图;图2是本专利技术实施例中使用位向量产生的三个确定性重传请求数据段;图3是本专利技术实施例中TCP接收端的数据序列示意图;图4是本专利技术实施例中接收端发送重传应答的流程图。具体实施方式下面结合附图详细说明本专利技术的优选实施例。本实施例描述的方法应用于如图1所示的网络环境中。其中用户H1和H2之间的连接包含一段卫星链路,利用网关站G1和G2将卫星链路和地面链路进行了分离,整个连接被划分为三段,采用了不同的协议处理方法。本实施例中的报文重传方法就应用于卫星链路段连接2上。如图2所示,图中是数据接收端发生顺序错误的数据队列,依据确定性重传请求选项数据段要求,采用位向量发送确定性重传请求。图2中,在接收端的缓存队列中存在三处错误,第一处错误在接收到前一个ACK时马上就发生了,因此其偏移量为0,占用了2个MSS的长度,第二处错误发生处距离当前ACK的偏移量是8,占用2个MSS长度,第三处错误的偏移量是12,占用1个MSS长度。由数据接收端产生的确定性重传请求数据段,如图3所示。需要说明的是,类型为常量21,在TCP包头中专指确定性重传请求;长度是指确定性重传请求选项的6个字节加上其位向量的2个字节,共8字节;最后一个1后补的五个0是为了凑足一个字节的八位。接收端发送重传应答的流程见图4。实施例一种具有本地缓存的延迟确定性报文重传方法,通过记录报文传输的具体丢包情况,当发生丢包时,接收端向发送端发送确定性重传请求,请求传输丢失的报文,该请求中携带一个或多个丢失报文的信息;对新丢失本文档来自技高网...
具有本地缓存的延迟确定性报文重传方法

【技术保护点】
一种具有本地缓存的延迟确定性报文重传方法,其特征在于:记录报文传输的具体丢包情况,当发生丢包时,接收端向发送端发送确定性重传请求,请求传输丢失的报文,该请求中携带一个或多个丢失报文的信息;对新丢失的报文设置重传延迟,发生新的报文丢失时,经过重传延迟后接收端向发送端发送请求传输新丢失的报文;在卫星链路接收端网关处设置本地缓存,接收节点发出的反向链路ACK传输丢失时,由接收端网关重发报文。

【技术特征摘要】
1.一种具有本地缓存的延迟确定性报文重传方法,其特征在于:记录报文传输的具体丢包情况,当发生丢包时,接收端向发送端发送确定性重传请求,请求传输丢失的报文,该请求中携带一个或多个丢失报文的信息;对新丢失的报文设置重传延迟,发生新的报文丢失时,经过重传延迟后接收端向发送端发送请求传输新丢失的报文;在卫星链路接收端网关处设置本地缓存,接收节点发出的反向链路ACK传输丢失时,由接收端网关重发报文;确定性重传请求选项通过TCP连接建立过程激活,该确定性重传请求选项位于TCP报头的选项字段中,并在建立TCP连接时通过收发两端点的协商确定激活该确定性重传请求选项;如果TCP连接的两端在TCP头的SYN段中均使用了确定性重传请求选项,那么确定性重传请求选项将被激活,如果TCP连接的两端中的任意一端不支持确定性重传请求,那么将使用常规的ACK或者延时ACK。2.如权利要求1所述的具有本地缓存的延迟确定性报文重传方法,其特征在于:接收数据队列记录报文是否正确的信息,接收端利用位向量在一个ACK消息中表示多个丢失报文的信息;在数据接收端的接收数据队列中,记录有数据接收正确或错误的信息,当队列中存在错误报文时,接收端采用位向量表示多个丢失报文的信息,通过应答ACK消息发给数据发送端。3.如权利要求1所述的具有本地缓存的延迟确定性报文重传方法,其特征在于:发生新的报文丢失时,设置重传延迟,不立即发送应答报文ACK,而是延迟一段时间后,在位向量中标明这段时间内发生的所有丢包情况,统一返回给数据发送端。4.如权利要求1所述的具有本地缓存的延迟确定性报文重传方法,其特征在于:在G2网关设置本地缓存,存储发往H2的报...

【专利技术属性】
技术研发人员:汤凯续欣
申请(专利权)人:中国人民解放军理工大学
类型:发明
国别省市:

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

1