一种空间tcp流量控制和差错控制方法

文档序号:7569107阅读:427来源:国知局
专利名称:一种空间tcp流量控制和差错控制方法
技术领域
本发明涉及卫星通信领域中的一种空间TCP流量控制和差错控制方法。特别适用 于空间链路利用TCP协议进行可靠的数据传输。
背景技术
标准TCP协议主要是为地面网络而开发的。标准TCP协议的重传、恢复和超时机 制不完全适用于空间操作,会造成低下的空间信息传输效率。因此针对空间链路长时延、高误码、非对称等特点的TCP协议是需要迫切解决的 关键技术。

发明内容
本发明的目的在于提出一种空间TCP流量控制和差错控制方法,使之适应空间链 路特征,提高信息传送效率。空间TCP协议是我们设计用于卫星链路的传输协议,采用基于 接收端驱动的流量控制策略以及基于重复确认和基于重传定时器超时的差错控制方法,当 它运行于卫星链路上时,不受链路上长传播延时和较高误码率等因素的影响。本发明的目的是这样实现的,一种空间TCP流量控制和差错控制方法,包括如下 步骤①流量控制a.空间TCP协议的接收端根据卫星链路带宽的使用情况完成由接收端通告窗口 尺寸决定发送端拥塞窗口尺寸的流量控制机制;b.对上、下行链路协议转换网关的缓冲区的尺寸进行有效的设置缓冲区尺寸要 至少等于卫星链路的带宽延时积;②差错控制a.基于重复确认的差错控制空间TCP协议的差错控制方法规定,发送端在接收到第一个重复确认以后就可以 认为数据包已经丢失了,需要进入差错恢复阶段对丢失的数据包进行恢复;下行链路协议 转换网关利用重复确认中包含的选择性否定确认(SNACK)选项来通知上行链路协议转换 网关链路上发生了数据包丢失的情况;SNACK选项能够明确地通知上行链路协议转换网关 哪些数据包没有到达接收端,并请求上行链路协议转换网关立即重传这些被认为丢失的数 据包;当上行链路协议转换网关接收到一个带有SNACK的重复确认时,要记录到目前为 止发送的数据包的最高序列号,然后重传SNACK中指明的数据包;当上行链路协议转换网 关接收到与最高序列号相对应的数据包的确认以后,连接退出丢失恢复阶段;b.基于重传定时器超时的差错控制空间TCP协议中使用重传定时器对丢失的数据包进行检测和恢复;上行链路协议 转换网关利用时间戳选项来测量数据包的往返时间,并采用与标准TCP—样的算法来计算重传超时值;当重传定时器超时以后,上行链路协议转换网关将拥塞窗口和接收窗口重新 设置为1,并重传超时的数据包;如果数据包没有经历超时,在接收到确认该数据包的确认 包以后,要重新设置重传定时器;其中,步骤①中由接收端通告窗口尺寸决定发送端拥塞窗口尺寸的流量控制机制 包括以下步骤a.获得数据包大小、空间链路带宽、数据包往返时延的基本参数;b.计算空间链路数据吞吐量、空间链路可用带宽、发送端总的可用有效窗口大c.根据当前连接个数更新每个连接的接收窗口 ;d.计算最大接收窗口并调整接收通告窗口 e.发送端拥塞窗口大小设置为接收端通告窗口大小。本发明相比背景技术具有以下优点1、本发明采用了基于接收端驱动的流量控制策略,从而确保了可用带宽能被充分 地利用。2、本发明不使用类似于TCP协议的拥塞避免机制。3、本发明采用了基于重复确认的差错控制方法,提高了信息传送的效率。4、本发明的空间TCP流量控制和差错控制方法具有抗长延时、高误码等优点。
具体实施例方式一种空间TCP流量控制和差错控制方法,包括如下步骤①流量控制a.空间TCP流量控制和差错控制方法的接收端根据卫星链路带宽的使用情况来 设置其通告窗口的尺寸,并根据共享卫星带宽的动态连接数来动态地调整通告窗口的尺 寸,完成由接收端通告窗口尺寸决定发送端拥塞窗口尺寸的流量控制机制;b.对上、下行链路协议转换网关的缓冲区的尺寸进行有效的设置缓冲区尺寸要 至少等于卫星链路的带宽延时积;②差错控制a.基于重复确认的差错控制空间TCP流量控制和差错控制方法的差错控制方法规定,发送端在接收到第一个 重复确认以后就可以认为数据包已经丢失了,需要进入差错恢复阶段对丢失的数据包进行 恢复;下行链路协议转换网关利用重复确认中包含的选择性否定确认(SNACK)选项来通知 上行链路协议转换网关链路上发生了数据包丢失的情况;SNACK选项能够明确地通知上行 链路协议转换网关哪些数据包没有到达接收端,并请求上行链路协议转换网关立即重传这 些被认为丢失的数据包;当上行链路协议转换网关接收到一个带有SNACK的重复确认时,要记录到目前为 止发送的数据包的最高序列号,然后重传SNACK中指明的数据包;当上行链路协议转换网 关接收到与最高序列号相对应的数据包的确认以后,连接退出丢失恢复阶段;b.基于重传定时器超时的差错控制空间TCP流量控制和差错控制方法中使用重传定时器对丢失的数据包进行检测和恢复;上行链路协议转换网关利用时间戳选项来测量数据包的往返时间,并采用与标准 TCP —样的算法来计算重传超时值;当重传定时器超时以后,上行链路协议转换网关将拥 塞窗口和接收窗口重新设置为1,并重传超时的数据包;如果数据包没有经历超时,在接收 到确认该数据包的确认包以后,要重新设置重传定时器;步骤①当中所述的流量控制具体包括以下步骤a.收到来自空间无线部分的TCP数据包;b.获得基本参数数据包大小(pk_siZe)、空间链路带宽(BW)、数据包往返时延
(rtt);c.计算空间链路数据吞吐量Through = pk_size/rtt空间链路可用带宽Avail_bw = Bff-through发送端总的可用有效窗口大小Avail_window = avail_bw*rttd.更新每个连接的接收窗口 获得当前连接个数n每个连接当前的接收窗口 rwndi将可用有效窗口公平的分给每个连接Det (rwndi) = 2*Avail_window/n-Avail_window*rwndi/ Σ rwndj更新每个连接的接收窗口 Rwndi = rwndi+det (rwndi)e.计算最大接收窗口 max_rwnd = (1+c) *bw*rtt/n调整接收窗口 If (rwndi > max_rwnd)Rwndi = max_rwndif.发送端拥塞窗口大小设置为接收端通告窗口大小Cwndi = Rwndi。本发明的工作原理为,本发明采用基于接收端驱动的流量控制策略以及基于重复 确认和基于重传定时器超时的差错控制方法,当它运行于卫星链路上时,不受链路上长传 播延时和较高误码率等因素的影响。改进的空间TCP流量控制和差错控制方法采用基于接收端驱动的流量控制策略, 该思想来源于接收端驱动的带宽共享的想法。改进TCP协议的流量控制机制是由接收端控 制完成的,为了保证发送端不以大于卫星链路带宽的速率发送数据包,改进TCP协议规定 发送端的拥塞窗口尺寸(Cwnd)由接收端的通告窗口尺寸(rwnd)来确定。在实现中,cwnd 和rwnd的尺寸是以字节(bytes)来计量的。在建立连接时,改进TCP协议采用标准TCP的 三次握手过程,cwnd和rwnd的初始值设置与标准TCP相同。连接建立后当改进的TCP协 议的接收端,接收到发送端返回的ACK包时,调整rwnd和cwnd的尺寸。改进空间TCP流量控制和差错控制方法的接收端根据卫星链路带宽的使用情况,设置其通告窗口的尺寸,并根据共享卫星带宽的动态连接数,动态地调整通告窗口的尺寸。 完成由接收端通告窗口尺寸决定发送端拥塞窗口尺寸的流量控制机制,从而确保了可用带 宽能被充分地利用。为了保证卫星链路上不发生拥塞,通过对上、下行链路协议转换网关的缓冲区的 尺寸进行有效的设置缓冲区尺寸要至少等于卫星链路的带宽延时积时才能确保卫星链路 上不发生拥塞。卫星链路上不发生任何拥塞,也就不需要采取任何拥塞控制措施,因此,空 间TCP协议不使用类似于TCP协议的拥塞避免机制。空间TCP流量控制和差错控制方法使用流量控制机制能够确保上行链路协议转 换网关发送数据包的速率不大于卫星链路的传输速率,因此卫星链路上没有拥塞发生,数 据包的丢失仅仅是由链路差错造成的。当上行链路协议转换网关检测到数据包丢失以后, 必须对丢失的数据包进行恢复。上行链路协议转换网关主要采用两种方式进行差错控制 基于重复确认的差错控制方式和基于重传定时器超时的差错控制方式。空间TCP流量控制和差错控制方法的差错控制方法规定,发送端在接收到第一个 重复确认以后就可以认为数据包已经丢失了,需要进入差错恢复阶段对丢失的数据包进行 恢复。下行链路协议转换网关利用重复确认中包含的选择性否定确认(SNACK)选项来通知 上行链路协议转换网关链路上发生了数据包丢失的情况。SNACK选项能够明确地通知上行 链路协议转换网关哪些数据包没有到达接收端,并请求上行链路协议转换网关立即重传这 些被认为丢失的数据包。当上行链路协议转换网关接收到一个带有SNACK的重复确认时,要记录到目前为 止发送的数据包的最高序列号,然后重传SNACK中指明的数据包。当上行链路协议转换网 关接收到与最高序列号相对应的数据包的确认以后,连接退出丢失恢复阶段。空间TCP流量控制和差错控制方法中使用重传定时器对丢失的数据包进行检测 和恢复。上行链路协议转换网关利用时间戳选项来测量数据包的往返时间,并采用与标准 TCP—样的算法来计算重传超时值。当重传定时器超时以后,上行链路协议转换网关将拥塞 窗口和接收窗口重新设置为1,并重传超时的数据包。如果数据包没有经历超时,在接收到 确认该数据包的确认包以后,要重新设置重传定时器。
权利要求
一种空间TCP流量控制和差错控制方法,其特征在于如下步骤①流量控制a.空间TCP协议的接收端根据卫星链路带宽的使用情况完成由接收端通告窗口尺寸决定发送端拥塞窗口尺寸的流量控制机制;b.对上、下行链路协议转换网关的缓冲区的尺寸进行有效的设置缓冲区尺寸要至少等于卫星链路的带宽延时积;②差错控制a.基于重复确认的差错控制空间TCP协议的差错控制方法规定,发送端在接收到第一个重复确认以后就可以认为数据包已经丢失了,需要进入差错恢复阶段对丢失的数据包进行恢复;下行链路协议转换网关利用重复确认中包含的选择性否定确认(SNACK)选项来通知上行链路协议转换网关链路上发生了数据包丢失的情况;SNACK选项能够明确地通知上行链路协议转换网关哪些数据包没有到达接收端,并请求上行链路协议转换网关立即重传这些被认为丢失的数据包;当上行链路协议转换网关接收到一个带有SNACK的重复确认时,要记录到目前为止发送的数据包的最高序列号,然后重传SNACK中指明的数据包;当上行链路协议转换网关接收到与最高序列号相对应的数据包的确认以后,连接退出丢失恢复阶段;b.基于重传定时器超时的差错控制空间TCP协议中使用重传定时器对丢失的数据包进行检测和恢复;上行链路协议转换网关利用时间戳选项来测量数据包的往返时间,并采用与标准TCP一样的算法来计算重传超时值;当重传定时器超时以后,上行链路协议转换网关将拥塞窗口和接收窗口重新设置为1,并重传超时的数据包;如果数据包没有经历超时,在接收到确认该数据包的确认包以后,要重新设置重传定时器。
2.根据权利要求1所述的一种空间TCP流量控制和差错控制方法,其特征在于步骤 ①中由接收端通告窗口尺寸决定发送端拥塞窗口尺寸的流量控制机制包括以下步骤a.获得数据包大小、空间链路带宽、数据包往返时延的基本参数;b.计算空间链路数据吞吐量、空间链路可用带宽、发送端总的可用有效窗口大小;c.根据当前连接个数更新每个连接的接收窗口;d.计算最大接收窗口并调整接收通告窗口e.发送端拥塞窗口大小设置为接收端通告窗口大小。
全文摘要
本发明提出了一种空间TCP流量控制和差错控制方法。它采用基于接收端驱动的流量控制策略以及基于重复确认和基于重传定时器超时的差错控制方法。本发明具有改善空间数据传输的性能,对终端用户保持完全透明,与因特网的基础结构兼容等特点,特别适用于在空间链路环境中,进行可靠的数据传输。
文档编号H04W28/10GK101895332SQ201010248048
公开日2010年11月24日 申请日期2010年8月9日 优先权日2010年8月9日
发明者吴巍, 吴渭, 闫长江 申请人:中国电子科技集团公司第五十四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1