CN110740098A - 一种针对空间数据通信的拥塞控制算法 - Google Patents
一种针对空间数据通信的拥塞控制算法 Download PDFInfo
- Publication number
- CN110740098A CN110740098A CN201810787946.5A CN201810787946A CN110740098A CN 110740098 A CN110740098 A CN 110740098A CN 201810787946 A CN201810787946 A CN 201810787946A CN 110740098 A CN110740098 A CN 110740098A
- Authority
- CN
- China
- Prior art keywords
- window
- congestion
- bdp
- congestion control
- cwnd
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种针对空间数据通信的拥塞控制算法,通过状态机的方式将拥塞控制过程分成四个状态:快速启动阶段、拥塞避免阶段、状态稳定阶段和快速恢复阶段。算法采用扩张计时器和等待计时器的双计时模式,针对拥塞控制过程的不同状态,进行可变窗口设计;针对快速恢复阶段,提出快速恢复曲线。本发明能够改善传统TCP慢启动的过程对于传输速率的影响,克服了丢包后恢复窗口慢恢复的缺点,算法在传输过程中维护了大的发送窗口,能有效提升卫星链路的带宽的利用率和数据传输的实时性,改善通信性能。
Description
技术领域
本发明涉及网络技术领域,特别是指一种针对空间数据通信的拥塞控制算法。
背景技术
近年来,国内自然灾害频发,为了提高电力通信网络抵御自然灾害的能力,满足灾害及突发事件情况下的通信需求,应急通信应运而生。应急通信主要用于电力光缆受到严重破坏时的电力调度业务。在各类应急通信方式中,电力卫星应急通信具有其它通信方式无法比拟的灵活、稳定、抗灾能力强等优势,已经逐渐成为通信技术的重要发展方向。
然而在卫星链路中使用传统的传输控制协议(Transmission Control Protocol,TCP)时,卫星链路固有的长时延、高误码、高时延带宽积等缺陷,会导致TCP协议的通信性能严重下降,数据传输实时性较差:
一方面,在传统TCP协议的慢开始阶段,TCP的拥塞窗口(congestion window,cwnd)会根据链路的往返时延(Round-Trip Time,RTT)周期性的倍增,直至达到慢开始门限后进入拥塞避免状态。然而卫星链路中的RTT很大,使得cwnd倍增的速度大幅降低,TCP协议需要在慢开始阶段滞留较长时间后,才能进入拥塞避免状态;
另一方面,卫星链路的高误码率会使得网络的丢包率显著提高,而传统的TCP协议对于丢包的处理方式是将cwnd设置为最小且回退到慢开始状态,导致TCP协议很可能在链路带宽利用率并不高的情况下大幅缩小发送窗口。
综上所述,在卫星链路中使用传统TCP协议会造成带宽资源的极大浪费,从而导致通信性能的严重下降。
发明内容
有鉴于此,本发明的目的在于提出一种针对空间数据通信的拥塞控制算法,通过状态机的方式将拥塞控制过程分成四个阶段:快速启动阶段、拥塞避免阶段、状态稳定阶段和快速恢复阶段。算法采用扩张计时器和等待计时器的双计时模式,通过设计不同阶段的窗口变化,克服了传统TCP慢启动的缺点,克服了丢包后恢复窗口需再次慢开始的缺点,同时在传输过程中维护了较高的发送窗口。
本实施例中,通过在发送方加入扩张计时器和等待计时器,每个计时器内统计发送窗口的滑动情况,设计计时器与窗口滑动关系探测网络链路情况,并设计窗口扩张因子α;
所述窗口滑动变化,指接收方接收到数据后,会返回一个ACK报文通过确认号告诉发送方已经完全接收上一轮发送的数据,可以发送下一轮数据。由于TCP协议需要维护可靠传输,已发送的数据需要保存在发送窗口中,直到被接收方确认收到后才从发送窗口清除,即窗口滑动。
所述计时器分为扩张计时器TimeStamp1和等待计时器TimeStamp2,其中等待计时器设置为1个RTT的时长,用于检测在单个RTT内数据是否能够被完全接收;扩张计时器设置为1/N个RTT的时长(N为整数,取值视具体链路类型而定),用于将RTT分解成多个细小的发送轮次,增加发送速率。同时根据RTT与cwnd计算时延带宽积(Bandwidth-Delay Product,BDP),对照标准时延带宽积来增大或减小窗口扩张因子。
所述窗口滑动因子α,为本实施例中拥塞控制的关键参数,通过窗口滑动因子动态调整发送窗口大小,实现空间数据传输的性能提升。窗口滑动因子α在本方案的不同阶段具有不同的计算方式,后续实施例对此具体说明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的针对空间数据通信的拥塞控制过程的状态转移图;
图2为本发明实施例的快速恢复阶段拥塞控制窗口随时间调整的函数示意图;
具体实施方式
本发明实施例提供了一种基于空间数据通信的拥塞控制算法,将拥塞控制过程分为四个阶段,结合双计时模式对每个阶段进行设计。四个阶段包括快速启动阶段、拥塞避免阶段、状态稳定阶段和快速恢复阶段,参考图1,具体设计如下:
所述快速启动阶段,首先发送方和接收方进行三次握手获得RTT值,此时设置TimeStamp1为RTT,设置TimeStamp2为1/N个RTT。在发送报文开始时,初始的拥塞窗口cwnd为1,最大发送窗口门限为max_cwnd,初始的窗口扩张因子α为1。发送方以TimeStamp2为周期发送数据,且每轮拥塞窗口增加为上一次的α倍。当一个TimeStamp1内发送的数据全部确认接收以后,根据窗口滑动情况重新记录RTT,并更新TimeStamp1,根据TimeStamp1和cwnd计算当前的BDP值,具体计算公式如下:
BDP=Timestamp1×cwnd (1)
MAX_BDP=Timestamp1×max_cwnd (2)
若此时的BDP小于或等于链路可承载的最大时延带宽积MAX_BDP,则扩张因子α扩大为原来的2倍;若测试的BDP大于MAX_BDP,则快速启动后窗口已经占满了带宽资源,可能会产生拥堵,因此进入拥塞避免阶段。
所述拥塞避免阶段,由于快速启动阶段的拥塞窗口增长非常快,可以较早地到达传统TCP中的拥塞避免状态。当本轮BDP大于MAX_BDP时,此时网络可能已经超载,判断进入拥塞避免阶段。设置α为α0(一个略小于1的正数,具体取值视网络状况而定),继续比较每轮的BDP与MAX_BDP,直至BDP小于MAX_BDP,则进入状态稳定阶段。
所述状态稳定阶段,是保证网络不丢包的同时能够维护较高发送窗口的阶段。拥塞避免完成以后,网络仍有较小的带宽资源可以利用,但若持续占用所有管道则会使网络发生拥堵,因此设置状态稳定集合A={α1,α2,α3},在每个TimeStamp2内,快速扩张因子从状态稳定集合中随机选取一个值,进行拥塞控制窗口的调整;
所述状态稳定集合包含但不限于3个值,其中α1小于1,α2约等于1,α3大于1,具体公式如下:
其中,α2的设置会根据TimeStamp1的变化在1左右浮动,TimeStamp1’表示上一轮RTT记录下的TimeStamp1。α2的值根据网络抖动的情况在1附近波动,当延时降低,则增大扩张窗口的概率;当延时增加,则增大缩小窗口的概率。最终cwnd上下徘徊达到稳定状态。
所述快速恢复阶段,设计了快速恢复曲线R(t),参考图2,克服了传统TCP协议中由于发生丢包而大幅降低拥塞窗口的缺点。所述R(t)的相关计算公式如下:
其中t代表快速恢复阶段持续的时间,t=0对应图2中的t0;cwnd’为t=0时刻的cwnd值。在快速恢复阶段,R(t)动态地根据状态稳定集合A中的参数调整斜率变化,使该阶段尽可能保持较大的拥塞窗口。待cwnd逐渐恢复至初始值cwnd’,快速恢复阶段结束,转移至状态稳定阶段。另外,对于快速启动阶段、拥塞避免阶段、状态稳定阶段这三个阶段,一旦监测到丢包,立即进入快速恢复阶段,参考图1。
Claims (9)
1.一种针对空间数据通信的拥塞控制算法,通过设计状态机,将拥塞控制过程分成不同于传统TCP协议的四个状态:快速启动阶段、拥塞避免阶段、状态稳定阶段和快速恢复阶段。算法采用扩张计时器和等待计时器的双计时模式,通过设计不同阶段的窗口变化,克服了传统TCP慢启动的缺点,克服了丢包后恢复窗口需再次慢开始的缺点,以及在传输过程中维护了大的发送窗口。
2.根据权利要求1所述的针对空间数据通信的拥塞控制算法,其特征在于,通过在发送方加入两个计时器,每个计时器内统计发送窗口的滑动情况,设计计时器与窗口滑动关系探测网络链路情况,并设计窗口扩张因子α。
3.根据权利要求2所述的针对空间数据通信的拥塞控制算法,其特征在于,所述计时器分为扩张计时器TimeStamp1和等待计时器TimeStamp2,其中等待计时器设置为1个RTT的时长,用于检测在单个RTT内数据是否能够被完全接收;扩张计时器设置为1/N个RTT的时长(N为整数,取值视具体链路类型而定),用于将RTT分解成多个细小的发送轮次,增加发送速率。同时根据RTT与拥塞窗口cwnd计算时延带宽积(Bandwidth-Delay Product,BDP),对照标准时延带宽积来判断窗口扩张因子的增大或减小。
4.根据权利要求2所述的针对空间数据通信的拥塞控制算法,其特征在于,所述窗口滑动因子α为本实施例中拥塞控制的关键参数,通过窗口滑动因子动态调整发送窗口大小,实现空间数据传输的性能提升。窗口滑动因子α在本方案的不同阶段具有不同的计算方式,后续实施例对此具体说明。
5.根据权利要求3所述的针对空间数据通信的拥塞控制算法,其特征在于,所述快速启动阶段,首先发送方和接收方进行三次握手获得RTT值,此时设置TimeStamp1为RTT,设置TimeStamp2为1/N个RTT。在发送报文开始时,初始的拥塞窗口cwnd为1,最大发送窗口门限为max_cwnd,初始的窗口扩张因子α为1。发送方以TimeStamp2为周期发送数据,且每轮拥塞窗口增加为上一次的α倍。当一个TimeStamp1内发送的数据全部确认接收以后,根据窗口滑动情况重新记录RTT,并更新TimeStamp1,根据TimeStamp1和cwnd计算当前的BDP值,具体计算公式如下:
BDP=Timestamp1×cwnd (1)
MAX_BDP=Timestamp1×max_cwnd (2)
若此时的BDP小于或等于链路可承载的最大时延带宽积MAX_BDP,则扩张因子α扩大为原来的2倍;若测试的BDP大于MAX_BDP,则快速启动已经后窗口已经占满了带宽资源,可能会产生拥堵,因此进入拥塞避免阶段。
6.根据权利要求5所述的针对空间数据通信的拥塞控制算法,其特征在于,所述拥塞避免阶段,由于快速启动阶段的拥塞窗口增长非常快,可以较早地到达传统TCP中的拥塞避免状态。当本轮BDP大于MAX_BDP时,此时网络可能已经超载,判断进入拥塞避免阶段。设置α为α0(一个略小于1的数,具体取值视网络状况而定),继续比较每轮的BDP与MAX_BDP,直至BDP小于MAX_BDP,则进入状态稳定阶段。
7.根据权利要求6所述的针对空间数据通信的拥塞控制算法,其特征在于,所述状态稳定阶段,是保证网络不丢包的同时能够维护较高发送窗口的阶段。拥塞避免完成以后,网络仍有较小的带宽资源可以利用,但若持续占用所有管道则会使网络发生拥堵,因此设置状态稳定集合A={α1,α2,α3},在每个TimeStamp2内,快速扩张因子从状态稳定集合中随机选取一个值,进行拥塞控制窗口的调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810787946.5A CN110740098A (zh) | 2018-07-18 | 2018-07-18 | 一种针对空间数据通信的拥塞控制算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810787946.5A CN110740098A (zh) | 2018-07-18 | 2018-07-18 | 一种针对空间数据通信的拥塞控制算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110740098A true CN110740098A (zh) | 2020-01-31 |
Family
ID=69234270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810787946.5A Pending CN110740098A (zh) | 2018-07-18 | 2018-07-18 | 一种针对空间数据通信的拥塞控制算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110740098A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629856A (zh) * | 2022-05-16 | 2022-06-14 | 湖南戎腾网络科技有限公司 | 拥塞控制方法、装置、电子设备及可读存储介质 |
CN115514710A (zh) * | 2022-11-08 | 2022-12-23 | 中国电子科技集团公司第二十八研究所 | 一种基于自适应滑动窗的弱连接流量管控方法 |
-
2018
- 2018-07-18 CN CN201810787946.5A patent/CN110740098A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629856A (zh) * | 2022-05-16 | 2022-06-14 | 湖南戎腾网络科技有限公司 | 拥塞控制方法、装置、电子设备及可读存储介质 |
CN115514710A (zh) * | 2022-11-08 | 2022-12-23 | 中国电子科技集团公司第二十八研究所 | 一种基于自适应滑动窗的弱连接流量管控方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Issues of transport control protocols for wireless sensor networks | |
CN102468941A (zh) | 网络丢包处理方法及装置 | |
US7808910B2 (en) | Communication terminal, congestion control method, and congestion control program | |
CN103929370A (zh) | 一种用于带宽预留网络的tcp拥塞控制方法 | |
WO2017124985A1 (zh) | 一种数据传输的方法以及相关设备 | |
CN112821992B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN109698797B (zh) | 一种tcp拥塞控制方法和装置 | |
CN107634823B (zh) | 基于网络编码的传输控制协议的数据传输方法 | |
CN111614572B (zh) | 一种基于rtt的tcp网络拥塞控制方法 | |
CN105227484B (zh) | 一种面向卫星网络的数据传输控制方法 | |
CN110740098A (zh) | 一种针对空间数据通信的拥塞控制算法 | |
CN105471757A (zh) | 一种tcp拥塞控制方法及装置 | |
CN107395325B (zh) | 一种服务于战术级通信网的自适应估计传输方法 | |
CN101969432B (zh) | 基于随机回退的tcp拥塞窗口的控制方法 | |
WO2016065676A1 (zh) | 基于吞吐率和丢包控制cwnd的优化方法和系统 | |
US20220376814A1 (en) | Data forwarding method and apparatus in bluetooth mesh network | |
CN104202257A (zh) | 一种基于带宽估计的卫星网络拥塞控制方法 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
WO2022042589A1 (zh) | 网络数据断流检测方法及装置、终端设备和存储介质 | |
Al-Saadi et al. | Characterising LEDBAT performance through bottlenecks using PIE, FQ-CoDel and FQ-PIE active queue management | |
KR100772192B1 (ko) | 대역과 지연의 곱이 큰 네트워크에서 혼잡 제어 방법 및장치 | |
Guan et al. | An Improved TCP Vegas Model for the Space Networks of the Bandwidth Asymmetry. | |
Yun et al. | An improved TCP congestion control algorithm over mixed wired/wireless networks | |
US11438275B2 (en) | Congestion response | |
Shi et al. | Receiver assistant congestion control in high speed and lossy networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200131 |