专利名称:基于Vegas算法改进的一种卫星网络拥塞控制方法
技术领域:
本发明是基于Vegas算法改进而得到的一种卫星网络拥塞控制方法,适用于对卫 星网络的拥塞控制。
背景技术:
随着卫星技术的不断发展,卫星通信网络在通信领域中占据着越来越重要的位 置。而TCP协议在卫星网络中的应用也越来越受到人们的关注。与先前的拥塞控制算法相 比,Vegas算法有以下优点1.采用新的重传机制。TCPVegas采用更精确的RTT估计值判断是否需要重传。 Vegas在发送每个数据包时读取并记录系统时间,当一个ACK到达时,Vegas再次读取系统 时钟并以该时间和先前记录下的时间计算RTT。在下面两种情况下决定是否重发(1)当接收到重复ACK时,Vegas计算目前时间和记录时间标签之差是否比超时值 大,如果是,Vegas立即重发相应的数据包,而不必等到第三个ACK的到来。(2)当接收到非重复的ACK时,如果它是重发之后的第一或第二个确认,Vegas将 再次检测第一个未被确认的数据包发送时间和此时的时间间隔是否大于超时值。如果是, Vegas将重发该数据包。这样做可以重发一些在重发动作之前很可能已丢失的数据包,而不 必等到新的重复ACK的到来。而且为避免多包丢失发生在同一个RTT触发超时一次的快速 重传,拥塞窗口只在第一次重传时被缩小。算法只有在最近一次窗口缩小之后,已经发送了需要重发的数据包的情况下,才 会为丢包缩小拥塞窗口。2.新的拥塞避免机制。Vegas算法通过比较实际吞吐量来调整拥塞窗口的大小。 Vegas算法的目标是在网络中保持适当的额外数据,如果一个连接发送了过量的额外数据, 就会导致拥塞;如果发送了过少的额外数据,就不能充分利用可用的网络带宽。3.新的慢启动机制。为找到一个不会导致数据包丢失的合适的可用带宽,Vegas 算法要求每隔一个RTT才进行指数增长,而之间的RTT期间,拥塞窗口保持不变,并比较期 望吞吐量和实际吞吐量。由于Vegas采用预测进行拥塞控制,可以得到较高的吞吐量,比其他算法更适用 于长时延、高带宽的卫星网络。虽然,Vegas算法虽然有很多优点,但是并不适用于节点相对高速运动的卫星网 络。在卫星网络中,传播时延随着卫星之间距离的变化而变化,通信距离每增加1000km,会 带来额外的13. 3ms的往返时延。通过STK场景仿真可知,高度为780km的一颗铱星和同步 轨卫星通信时,它们之间的距离变化在30分钟之内可达9940km,由于距离变化而引起的往 返时延变化高达66ms。巨大的传播时延差值可能会隐藏掉排队时延对往返时延的影响,成为左右往返时 延的主要因素,致使Vegas算法不能准确预测网络的拥塞状况。此外,当卫星间轨道高度不 同时,Vegas算法的性能也不同。卫星轨道高度越高,往返时延的变化范围越大,Vegas算法的性能也就越差。
发明内容
本发明针对卫星网络中,通信距离变化较大,对网络的可用带宽不能准确估算的 问题,提出了适用于卫星网络的拥塞控制方法。该方法能够提高卫星网络的吞吐量,改进卫 星网络带宽分配的不公平性,提高卫星网络的性能。本发明为实现上述目的采用的技术方案是具有以下步骤第一步,根据卫星间的瞬时地心角与卫星的轨道高度计算相互通信的卫星间距离 作为通信链路长度;所述计算相互通信卫星间链路长度L的步骤为卫星间瞬时地心角的计算公式为
θ = arccos[sinφχ sinφ2 + cos φχ cos φ2 cosi^ -/I2)]其中,θ为瞬时地心角,(/I1,妁)、(毛,灼)为相互通信卫星星下点的经纬度、卫星间距离的计算公式为
权利要求
1.一种基于Vegas算法改进的卫星网络拥塞控制方法,其特征在于具有以下步骤第一步,根据卫星间的瞬时地心角与卫星的轨道高度计算相互通信的卫星间距离作为 通信链路长度;所述计算相互通信卫星间链路长度L的步骤为 卫星间瞬时地心角的计算公式为
2.根据权利要求1所述的基于Vegas算法改进的卫星网络拥塞控制方法,其特征在于 所述更新拥塞窗口的公式如下
3.根据权利要求1所述的基于Vegas算法改进的卫星网络拥塞控制方法,其特征在于, 所述第1步中通信链路长度为数据包从源节点到宿节点经过多跳,如下公式计算整条链路 长度 distance distace = I^+I^+L+Ln其中Li (i = 1,2, L,η)为第i-Ι个通信节点到第i个通信节点的通信距离,每个Li (i =1,2, L, η)的计算方法如所述权利要求1第一步的方法;此时,第2步中的往返传播时延RPD的计算公式为
4.根据权利要求1或2所述的基于Vegas算法改进的卫星网络拥塞控制方法,其特征 在于当β < δ < α时,如果新的吞吐量>上一个RTT内的吞吐量,则将窗口加一 cwnd = cwnd+1,且α = α+1,β = β+l ;如果新的吞吐量彡上一个RTT内的吞吐量,则窗口不变, α,β也不变;当δ < β时,如果α > 1且新的吞吐量>上一个RTT内的吞吐量,则将窗口加一 cwnd =cwnd+1, α,β不变;如果α > 1且新的吞吐量彡上一个RTT内的吞吐量,则将窗口减 —cwnd = cwnd-Ι, α = α -1, β = β _l ;如果 α = 1,则将窗□力口一 cwnd = cwnd+1, α,β不变;当δ > α时,如果新的吞吐量彡上一个RTT内的吞吐量,则将窗口减一 cwnd = cwnd-1 ;如果新的吞吐量彡上一个RTT内的吞吐量且窗口 cwnd彡2,则α = α -1, β =;如果新的吞吐量>上一个RTT内的吞吐量,窗口不变。
全文摘要
本发明是一种基于Vegas算法改进的一种卫星网络拥塞控制方法,适用于对卫星网络的拥塞控制。在RTT中去掉由于距离变化而造成的RTT波动的影响,改进Vegas中BaseRTT的计算方法,改进后的BaseRTT称为BaseRTT_sat可以随距离的变化而变化,这样可以更准确的估算卫星网络的性能,可以对网络的拥塞窗口做出准确的调整。去掉了通信距离变化对Vegas算法在卫星网络进行拥塞控制造成的影响,提高了Vegas算法在卫星网络中性能,提高了卫星网络带宽分配的公平性,改进后的算法更适用于卫星网络。
文档编号H04W28/02GK102083133SQ20111002666
公开日2011年6月1日 申请日期2011年1月25日 优先权日2011年1月25日
发明者宣景朋, 潘成胜, 蔡睿妍, 魏德宾 申请人:大连大学