CN102083133A - 基于Vegas算法改进的一种卫星网络拥塞控制方法 - Google Patents
基于Vegas算法改进的一种卫星网络拥塞控制方法 Download PDFInfo
- Publication number
- CN102083133A CN102083133A CN2011100266641A CN201110026664A CN102083133A CN 102083133 A CN102083133 A CN 102083133A CN 2011100266641 A CN2011100266641 A CN 2011100266641A CN 201110026664 A CN201110026664 A CN 201110026664A CN 102083133 A CN102083133 A CN 102083133A
- Authority
- CN
- China
- Prior art keywords
- cwnd
- throughput
- satellite
- rtt
- window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Radio Relay Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明是一种基于Vegas算法改进的一种卫星网络拥塞控制方法,适用于对卫星网络的拥塞控制。在RTT中去掉由于距离变化而造成的RTT波动的影响,改进Vegas中BaseRTT的计算方法,改进后的BaseRTT称为BaseRTT_sat可以随距离的变化而变化,这样可以更准确的估算卫星网络的性能,可以对网络的拥塞窗口做出准确的调整。去掉了通信距离变化对Vegas算法在卫星网络进行拥塞控制造成的影响,提高了Vegas算法在卫星网络中性能,提高了卫星网络带宽分配的公平性,改进后的算法更适用于卫星网络。
Description
技术领域
本发明是基于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的步骤为:
卫星间瞬时地心角的计算公式为:
卫星间距离的计算公式为:
其中,L为卫星间距离,R为地球半径,H1是卫星A的高度,H2是卫星B的高度;
第二步,计算数据包的往返传播时延,并进一步计算往返非传播时延;
所述计算往返传播时延RPD的公式为
其中,c为光速,L为卫星之间的距离、
所述计算往返非传播时延RNPD的公式为
RNPD=RTT-RPD
其中,RTT为数据包的往返时延;
第三步,对比源节点到宿节点间各数据包的往返非传播时延,获取其中最小的一个,记为最小往返非传播时延RNPDmin;
第四步,将最小往返非传播时延与此时刻通过计算得到的往返传播时延相加,得到卫星链路往返时延的最小值,记为BaseRTT_sat;
BaseRTT_sat=RNPDmin+RPD
第五步,将BaseRTT_sat代入下列公式计算期望吞吐量Expected和实际吞吐量Actual的差值Diff,
Expected=cwnd(t)/BaseRTT_sat
Actual=cwnd(t)/RTT
Diff=Expected-Actual
其中,BaseRTT为卫星链路往返时延的最小值;cwnd(t)为目前拥塞窗口的大小;RTT是当前链路往返时延值;
第六步,若实际吞吐量和期望吞吐量数值很接近,δ<α,判断为网络没有发生拥塞;若实际吞吐量远小于期望吞吐量,δ>β,则判断为出现拥塞状况,更新拥塞窗口。
所述更新拥塞窗口的公式如下:
其中,δ=Diff*RTT,α和β是定义的两个阈值,α触发发送速率的提升;β触发发送速率的降低。
所述第1步中通信链路长度为数据包从源节点到宿节点经过多跳,如下公式计算整条链路长度distance:
distace=L1+L2+L+Ln
其中Li(i=1,2,L,n)为第i-1个通信节点到第i个通信节点的通信距离,每个Li(i=1,2,L,n)的计算方法如所述权利要求1第一步的方法;
此时,第2步中的往返传播时延RPD的计算公式为
其它同权利要求1,这样可对由多跳构成的链路进行拥塞控制。
当β<δ<α时,如果新的吞吐量>上一个RTT内的吞吐量,则将窗口加一cwnd=cwnd+1,且α=α+1,β=β+1;如果新的吞吐量≤上一个RTT内的吞吐量,则窗口不变,α,β也不变;
当δ<β时,如果α>1且新的吞吐量>上一个RTT内的吞吐量,则将窗口加一cwnd=cwnd+1,α,β不变;如果α>1且新的吞吐量≤上一个RTT内的吞吐量,则将窗口减一cwnd=cwnd-1,且α=α-1,β=β-1;如果α=1,则将窗口加一cwnd=cwnd+1,α,β不变;
当δ>α时,如果新的吞吐量≤上一个RTT内的吞吐量,则将窗口减一cwnd=cwnd-1;如果新的吞吐量≤上一个RTT内的吞吐量且窗口cwnd≤2,则α=α-1,β=β-1;如果新的吞吐量>上一个RTT内的吞吐量,窗口不变。
在传统的Vegas算法中阈值α,β是固定的,如果让阈值α,β能随着网络的负荷情况变化,新算法的性能将更加优越。
本发明的有益效果是:在RTT中去掉由于距离变化而造成的RTT波动的影响,改进Vegas中BaseRTT的计算方法,改进后的BaseRTT称为BaseRTT_sat可以随距离的变化而变化,这样可以更准确的估算卫星网络的性能,可以对网络的拥塞窗口做出准确的调整。去掉了通信距离变化对Vegas算法在卫星网络进行拥塞控制造成的影响,提高了Vegas算法在卫星网络中性能,提高了卫星网络带宽分配的公平性,改进后的算法更适用于卫星网络。
附图说明
图1是卫星间距离关系示意图;
图2是算法流程示意图;
图3是Vegas算法与Vegas_sat算法吞吐量比较;
图4是Vegas算法与Vegas_sat算法在不同高度卫星系统上的吞吐量比较
图5是Vegas算法与Vegas_sat算法时延比较。
图6是卫星网络拓扑结构
具体实施方式
本发明针对Vegas算法中链路长度的变化对BaseRTT的影响,提出了一种基于Vegas算法改进的适用于卫星网络的拥塞控制方法。在具体实施时,可将此算法放在卫星节点上,在数据发送的过程中,通过路由与星历信息获取卫星所经过节点,并进行上述计算,完成卫星网络的流量控制。
例如:设本次卫星网络拥塞控制方法中节点信息设置如表1所示:
表1节点信息表
节点 | 高度 | 经度 | 纬度 |
GEO1 | 35786km | 0° | 0° |
GEO2 | 35786km | 120° | 0° |
Fac1 | 0km | 39.9° | 116.3° |
Fac2 | 0km | 36° | 118° |
该拓扑结构中存在两条链路,分别是LEO1-GEO1-GEO2-Fac1和LEO2-GEO1-GEO2-Fac2,其中GEO1和GEO2之间的链路是主干网的瓶颈链路。低轨卫星和高轨卫星之间的链路的带宽为25M,高轨卫星之间的链路带宽为40M,星地链路的带宽为55M。在相同的拓扑结构中,分别对传统TCP Vegas算法和Vegas_Sat算法进行了仿真。
(1)当低轨卫星的轨道高度为780km时,通过仿真结果可以看出,本专利提出的Vegas_sat算法的吞吐量是传统Vegas算法的1.55倍,如图3所示的Vegas算法与Vegas_sat算法吞吐量比较可知。
具体的数据对比如下表2:
(2)当低轨卫星的轨道高度为2000km时,通过仿真,本专利提出的Vegas_sat算法的吞吐量是传统Vegas算法的1.71倍。说明随着低轨卫星轨道高度的增加,Vegas_sat算法的性能将更加优越。表3进一步说明,随着卫星轨道高度的增加,Vegas算法Vegas_sat与相比更好地保持较高的吞吐量(图4)。
表3吞吐量对比关系(Mb/s)
轨道高度 | Vegas | Vegas-sat | 提高率 |
780km | 0.200 | 0.309 | 54.5% |
1500km | 0.190 | 0.295 | 55.3% |
2000km | 0.184 | 0.313 | 70.6% |
(3)当Vegas和Vegas_sa算法中取随网络负载情况变化的阈值α,β时,分别称为Vegas_A和Vegas_SA算法。此时,Vegas_SA算法系统吞吐量将比Vegas_A算法提高5.9%,见图5。
Claims (4)
1.一种基于Vegas算法改进的卫星网络拥塞控制方法,其特征在于具有以下步骤:
第一步,根据卫星间的瞬时地心角与卫星的轨道高度计算相互通信的卫星间距离作为通信链路长度;
所述计算相互通信卫星间链路长度L的步骤为:
卫星间瞬时地心角的计算公式为:
其中,L为卫星间距离,R为地球半径,H1是卫星A的高度,H2是卫星B的高度;
第二步,计算数据包的往返传播时延,并进一步计算往返非传播时延;
所述计算往返传播时延RPD的公式为
其中,c为光速,L为卫星之间的距离、
所述计算往返非传播时延RNPD的公式为
RNPD=RTT-RPD
其中,RTT为数据包的往返时延;
第三步,对比源节点到宿节点间各数据包的往返非传播时延,获取其中最小的一个,记为最小往返非传播时延RNPDmin;
第四步,将最小往返非传播时延与此时刻通过计算得到的往返传播时延相加,得到卫星链路往返时延的最小值,记为BaseRTT_sat;
BaseRTT_sat=RNPDmin+RPD
第五步,将BaseRTT_sat代入下列公式计算期望吞吐量Expected和实际吞吐量Actual的差值Diff,
Expected=cwnd(t)/BaseRTT_sat
Actual=cwnd(t)/RTT
Diff=Expected-Actual
其中,BaseRTT为卫星链路往返时延的最小值;cwnd(t)为目前拥塞窗口的大小;RTT是当前链路往返时延值;
第六步,若实际吞吐量和期望吞吐量数值很接近,δ<α,判断为网络没有发生拥塞;若实际吞吐量远小于期望吞吐量,δ>β,则判断为出现拥塞状况,更新拥塞窗口。
2.根据权利要求1所述的基于Vegas算法改进的卫星网络拥塞控制方法,其特征在于所述更新拥塞窗口的公式如下:
其中,δ=Diff*RTT,α和β是定义的两个阈值,α触发发送速率的提升;β触发发送速率的降低。
3.根据权利要求1所述的基于Vegas算法改进的卫星网络拥塞控制方法,其特征在于,所述第1步中通信链路长度为数据包从源节点到宿节点经过多跳,如下公式计算整条链路长度distance:
distace=L1+L2+L+Ln
其中Li(i=1,2,L,n)为第i-1个通信节点到第i个通信节点的通信距离,每个Li(i=1,2,L,n)的计算方法如所述权利要求1第一步的方法;
此时,第2步中的往返传播时延RPD的计算公式为
其它同权利要求1,这样可对由多跳构成的链路进行拥塞控制。
4.根据权利要求1或2所述的基于Vegas算法改进的卫星网络拥塞控制方法,其特征在于:
当β<δ<α时,如果新的吞吐量>上一个RTT内的吞吐量,则将窗口加一cwnd=cwnd+1,且α=α+1,β=β+1;如果新的吞吐量≤上一个RTT内的吞吐量,则窗口不变,α,β也不变;
当δ<β时,如果α>1且新的吞吐量>上一个RTT内的吞吐量,则将窗口加一cwnd=cwnd+1,α,β不变;如果α>1且新的吞吐量≤上一个RTT内的吞吐量,则将窗口减一cwnd=cwnd-1,且α=α-1,β=β-1;如果α=1,则将窗口加一cwnd=cwnd+1,α,β不变;
当δ>α时,如果新的吞吐量≤上一个RTT内的吞吐量,则将窗口减一cwnd=cwnd-1;如果新的吞吐量≤上一个RTT内的吞吐量且窗口cwnd≤2,则α=α-1,β=β-1;如果新的吞吐量>上一个RTT内的吞吐量,窗口不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110026664 CN102083133B (zh) | 2011-01-25 | 2011-01-25 | 基于Vegas算法改进的一种卫星网络拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110026664 CN102083133B (zh) | 2011-01-25 | 2011-01-25 | 基于Vegas算法改进的一种卫星网络拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102083133A true CN102083133A (zh) | 2011-06-01 |
CN102083133B CN102083133B (zh) | 2013-07-31 |
Family
ID=44088841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110026664 Expired - Fee Related CN102083133B (zh) | 2011-01-25 | 2011-01-25 | 基于Vegas算法改进的一种卫星网络拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102083133B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051554A (zh) * | 2013-01-05 | 2013-04-17 | 北京航空航天大学 | 基于吞吐量变化率和ecn机制的tcp拥塞控制方法 |
CN104243342A (zh) * | 2014-09-19 | 2014-12-24 | 深圳市优视技术有限公司 | 数据传输控制方法及系统 |
CN104202257B (zh) * | 2014-09-12 | 2017-07-21 | 大连大学 | 一种基于带宽估计的卫星网络拥塞控制方法 |
CN107800471A (zh) * | 2017-11-17 | 2018-03-13 | 西安电子科技大学 | 基于多包接收的卫星随机接入拥塞控制方法 |
CN110120921A (zh) * | 2019-05-13 | 2019-08-13 | 深圳市赛为智能股份有限公司 | 拥塞避免方法、装置、计算机设备及存储介质 |
CN110752912A (zh) * | 2019-11-05 | 2020-02-04 | 上海汉邦京泰数码技术有限公司 | 一种基于低延迟加密的数据传输方法 |
CN113014505A (zh) * | 2021-03-30 | 2021-06-22 | 北京邮电大学 | 一种高动态拓扑卫星网络中时延区分的传输控制方法 |
CN113268023A (zh) * | 2021-05-13 | 2021-08-17 | 哈尔滨工程大学青岛船舶科技有限公司 | 适用于卫星空间信息传输网络的滑模预测拥塞控制系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030044465A (ko) * | 2001-11-30 | 2003-06-09 | 한국전자통신연구원 | 전송 제어 프로토콜 혼잡 제어 방법 |
-
2011
- 2011-01-25 CN CN 201110026664 patent/CN102083133B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030044465A (ko) * | 2001-11-30 | 2003-06-09 | 한국전자통신연구원 | 전송 제어 프로토콜 혼잡 제어 방법 |
Non-Patent Citations (2)
Title |
---|
JINGYAO QU: "An Enhanced TCP Vegas Algorithm Based on Route Surveillance and Bandwidth Estimation over GEO Satellite Networks", 《IEEE》 * |
KEITH SCOTT等: "TCP CONGESTION CONTROL IN SHARED SATELLITE ENVIRONMENTS", 《IEEE》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051554A (zh) * | 2013-01-05 | 2013-04-17 | 北京航空航天大学 | 基于吞吐量变化率和ecn机制的tcp拥塞控制方法 |
CN103051554B (zh) * | 2013-01-05 | 2015-09-16 | 北京航空航天大学 | 基于吞吐量变化率和ecn机制的tcp拥塞控制方法 |
CN104202257B (zh) * | 2014-09-12 | 2017-07-21 | 大连大学 | 一种基于带宽估计的卫星网络拥塞控制方法 |
CN104243342A (zh) * | 2014-09-19 | 2014-12-24 | 深圳市优视技术有限公司 | 数据传输控制方法及系统 |
CN107800471B (zh) * | 2017-11-17 | 2019-12-24 | 西安电子科技大学 | 基于多包接收的卫星随机接入拥塞控制方法 |
CN107800471A (zh) * | 2017-11-17 | 2018-03-13 | 西安电子科技大学 | 基于多包接收的卫星随机接入拥塞控制方法 |
CN110120921A (zh) * | 2019-05-13 | 2019-08-13 | 深圳市赛为智能股份有限公司 | 拥塞避免方法、装置、计算机设备及存储介质 |
CN110120921B (zh) * | 2019-05-13 | 2022-07-01 | 深圳市赛为智能股份有限公司 | 拥塞避免方法、装置、计算机设备及存储介质 |
CN110752912A (zh) * | 2019-11-05 | 2020-02-04 | 上海汉邦京泰数码技术有限公司 | 一种基于低延迟加密的数据传输方法 |
CN113014505A (zh) * | 2021-03-30 | 2021-06-22 | 北京邮电大学 | 一种高动态拓扑卫星网络中时延区分的传输控制方法 |
CN113014505B (zh) * | 2021-03-30 | 2022-10-14 | 北京邮电大学 | 一种高动态拓扑卫星网络中时延区分的传输控制方法 |
CN113268023A (zh) * | 2021-05-13 | 2021-08-17 | 哈尔滨工程大学青岛船舶科技有限公司 | 适用于卫星空间信息传输网络的滑模预测拥塞控制系统 |
CN113268023B (zh) * | 2021-05-13 | 2022-07-22 | 哈尔滨工程大学青岛船舶科技有限公司 | 适用于卫星空间信息传输网络的滑模预测拥塞控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102083133B (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102083133B (zh) | 基于Vegas算法改进的一种卫星网络拥塞控制方法 | |
US10263904B2 (en) | Kind of self-adaptive network congestion control method based on SCPS-TP | |
JP4632874B2 (ja) | 通信端末 | |
US7965698B2 (en) | Method for preventing unnecessary retransmission due to delayed transmission in wireless network and communication device using the same | |
CN109194450B (zh) | 天地一体化网络通信的snack-p应答系统及方法、无线通信系统 | |
CN105245451A (zh) | 卫星dtn网络的时间扩散性路由搜寻方法 | |
US7443804B2 (en) | Method and apparatus of estimating available bandwidth on a packet network | |
CN102694632B (zh) | 基于中继存储-转发的深空文件传输方法 | |
US20160308775A1 (en) | Base station and communication control method | |
CN104081721A (zh) | 融合增强以太网络 | |
CN105939184A (zh) | 基于无迹卡尔曼滤波的空天DTN网络bundle传输时延估计算法 | |
Lu et al. | Performance improvement in DTNs by packet size optimization | |
Monowar et al. | Multipath congestion control for heterogeneous traffic in wireless sensor network | |
CN104980365A (zh) | 一种基于连续丢包拥塞判断的tcp传输加速方法 | |
CN105227457A (zh) | 面向dtn动态链路下的协议数据单元跨层优化方法 | |
Sardar et al. | A novel enhancement of TCP for on-board IP networks with wireless cellular connectivity | |
Subramanya et al. | Performance evaluation of high speed TCP variants in dumbbell network | |
Kaur et al. | Performance evaluation of congestion control TCP variants in vanet using omnet++ | |
CN102624927A (zh) | 面向高频段信道预测的cfdp协议传输方法 | |
Tomar et al. | A Comprehensive Analysis and Comparison of TCP Tahoe, TCP Reno and TCP Lite | |
Nada | Service time distribution of selective repeat ARQ protocol used in transmitting short messages over noisy channels | |
Shang et al. | TCP splitting protocol for broadband aeronautical satellite network | |
Jude et al. | Analysis of Internet Congestion Control Algorithm under Multi-hop Vehicular Conditions | |
Raj et al. | Satellite-TCP: A flow control algorithm for satellite network | |
Fu et al. | Evaluation of SCTP for space networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130731 Termination date: 20190125 |
|
CF01 | Termination of patent right due to non-payment of annual fee |