一种基于丢包率的卫星通信分段式拥塞控制方法
【技术领域】
[0001] 本发明属于卫星通信技术领域,具体设及一种基于丢包率的卫星通信分段式拥塞 控制方法。
【背景技术】
[0002] 常用的卫星通信模型由通信终端、地面站及地面端链路、卫星及卫星链路组成,如 图1所示。其中,地面站与卫星之间的卫星链路在整个通信链路中占主体地位,地面端链路 相对较短而忽略不计。卫星链路由于受到天气等外界条件的影响极易出现突发性错误。
[0003] 基于卫星链路的上述特征,传统TCP协议应用于卫星通信时数据传输的效率很 低,其主要原因在于;(1)传统TCP协议将链路错误当作网络拥塞进行窗口减小的处理,该 样不仅降低了传输效率,而且浪费了信道的可用带宽;(2)传统TCP协议不能持续使用较大 窗口进行传输,数据传输一旦失败,其窗口值会立即减小,该样就导致带宽严重浪费,大大 降低了数据的传输速率。
[0004] 目前,用于卫星通信的TCP改进协议主要有TCPVegas、TCP-peach、TCP-Westwood 等。TCPVegas的主要思想是用传输速率来控制拥塞窗口。TCP-Peach的算法思想 是针对长时延对传输效率的影响,通过快速发送较多的虚报文段,来更快地获得确认 ACK(Acknowledgment,确认数据包),从而加快TCP启动和重传后的恢复速率。此处,虚报文 段指的是由发送端产生的优先级较低的数据包。TCP-Westwood算法的关键思想是一直在发 送端对TCP链接的可用带宽进行估计炬andwi化hEstimate),估计的方法是观察返回ACK 的速度,一旦发生丢包就迅速把窗口恢复到带宽相应水平。上述=种方法虽然对于传统的 TCP协议有较大改动,但都要求对RIT进行较为精确的测量,该在卫星通信链路中实现非常 困难。另外,上述方案并没有针对卫星链路高突发错误率的特点进行优化,链路的利用率较 低。
[0005] 为此,本发明提出了由基于数据块发送的直接启动算法和基于丢包率判定的分段 式拥塞避免算法组成的卫星通信拥塞控制算法,W提高卫星通信的拥塞控制处理能力。
【发明内容】
[0006] 本发明提出了一种基于丢包率的卫星通信分段式拥塞控制方法,其包括基于数据 块发送的直接启动算法和基于丢包率判定的分段式拥塞避免算法。
[0007] 本发明将发送单位定义为数据块,数据块由多个数据段组成,而每个数据段又由1 个或多个数据包组成,如图2所示。为简化卫星通信链路资源分配的复杂性,将发送窗口的 大小定义为数据块中新发送数据包的个数或者新发送数据段的长度,忽略发送端和接收端 的数据处理时延。
[000引本发明技术方案的主要思路是基于对丢包率判定的判断从而实现分段式拥塞控 审IJ。整个拥塞控制方法包含基于数据块发送的直接启动算法和基于丢包率判定的分段式拥 塞处理算法。其中,基于数据块发送的直接启动算法代替传统的慢开始算法,直接W历史最 大窗口进行数据发送,并通过反馈调节的方式实现算法的正常运行。基于丢包率判定的分 段式拥塞处理算法是根据丢包率的大小对链路状态进行分段判断,从而采取更准确的窗口 调整策略。
[0009] 本发明采取W下技术方案:
[0010] 1、启动阶段
[0011] 101、生成并发送初始数据块。
[0012] 生成初始发送数据块时,将发送端(终端A)缓存中的最大窗口值M作为初始发送 窗口值,记为Ml。发送端(终端A)生成数据块并将其发送至接收端(终端B)。初始发送 数据块的结构如图2所示,包括初始发送数据段的长度Ml、由编号1到Ml的数据包所组成 的初始发送数据段。
[0013] 102、生成并发送确认数据块。
[0014] 接收端(终端B)收到数据块后,进行差错检测,形成一个由"0"和"1"组成的长度 为Mi个比特的接收指示序列(正确接收的数据包置为"0",未正确接收的数据包置为"1")。 此处假设重传数据段中的数据重传后不再出现错误,因此不论是初始确认还是后续确认, 该01序列均只进行1到Mi的排列。
[0015] 接收端(终端B)生成确认数据块并将其发送至发送端(终端A)。确认数据块的 结构如图3所示,包括丢包起始序号Si、数据接收指示序列(长度为Mi个比特)及丢包数 Ni。
[0016] 103、接收确认数据块后生成新数据块。
[0017] 发送端(终端A)接收到确认数据块后,按照下列步骤生成新的数据块:
[0018] 1)计算丢包率Xi。根据确认数据块中的丢包数Ni和发送数据段长度Mi进行计算, 计算式如下:
[0019]
【主权项】
1. 一种基于丢包率的卫星通信分段式拥塞控制方法,其按如下步骤: 步骤101、发送端生成初始数据块并发送至接收端; 步骤102、接收端生成确认数据块并发送回发送端; 步骤103、发送端确认返回数据块并生成新发送数据块; 步骤201、丢包率aOCiSe时,发送端进行普通拥塞处理;a为卫星通信正常链路状 况通信时的丢包率,Xi是第i次发送数据的丢包率,e为较差链路状况时的丢包率; 步骤202、丢包率时,发送端进行严重拥塞处理。
2. 如权利要求1所述的基于丢包率的卫星通信分段式拥塞控制方法,其特征在于:步 骤101、将发送端缓存中的最大窗口值M作为初始发送窗口值,记为M 1;发送端生成数据块 并将其发送至接收端;发送数据块的结构为初始发送数据段的长度M1、由编号1到M 1的数 据包所组成的初始发送数据段。
3. 如权利要求2所述的基于丢包率的卫星通信分段式拥塞控制方法,其特征在于:步 骤102、接收端收到数据块后,进行差错判断,形成一个由"0"和" 1"组成的长度为Mi个比 特的接收指示序列,正确接收的数据包置为"〇",未正确接收的数据包置为"1";接收端生成 确认数据块并将其发送至发送端;确认数据块的结构为丢包起始序号Sp数据接收指示序 列及丢包数N i。
4. 如权利要求3所述的基于丢包率的卫星通信分段式拥塞控制方法,其特征在于:步 骤103、发送端接收到确认数据块后,按照以下步骤生成新的数据块: 1)计算丢包率Xi 根据确认数据块中的丢包数Ni和发送窗口 Mi,计算式如(1):
其中,a、0、e为预设的固定值,0为链路状况参考值,Mi+1值取整数; 3) 通过数据接收序列与原数据段的比对提取所有未成功接收的数据包,并重新组合成 为重传数据段,编号1到Ni; 4) 生成新数据块:其结构为新发送数据段长度Mi+1、编号1到Mi+1的新发送数据段、编 号为1到队的重传数据段;其中,重传数据段采用丢包起始序号S ,进行标识以便接收端进 行辨认。
5. 如权利要求4所述的基于丢包率的卫星通信分段式拥塞控制方法,其特征在于:步 骤201、若丢包率e,则进入普通拥塞避免阶段;此时,下一次发送新数据段长度 M i+1根据式(2)计算得到;其余按照步骤103进行。
6.如权利要求4所述的基于丢包率的卫星通信分段式拥塞控制方法,其特征在于:步 骤202、若丢包率X,e,则进入严重拥塞避免阶段;此时,下一次发送新数据段的长度Mi+1 根据式(2)计算得到;其余按照步骤103进行。
【专利摘要】本发明公开了一种基于丢包率的卫星通信分段式拥塞控制方法,其按如下步骤:步骤101、发送端生成初始数据块并发送至接收端;步骤102、接收端生成确认数据块并发送回发送端;步骤103、发送端确认返回数据块并生成新发送数据块;步骤201、丢包率α<Xi≤ε时,发送端进行普通拥塞处理;α为卫星通信正常链路状况通信时的丢包率,Xi是第i次发送数据的丢包率,ε为较差链路状况时的丢包率;步骤202、丢包率Xi>ε时,发送端进行严重拥塞处理。本发明尽可能保持最大发送窗口,提高了传输效率,降低了算法的复杂度。
【IPC分类】H04B7-185, H04W28-02
【公开号】CN104821843
【申请号】CN201510170924
【发明人】严军荣, 卢玉龙, 章坚武
【申请人】杭州电子科技大学
【公开日】2015年8月5日
【申请日】2015年4月13日