CN104821843B - 一种基于丢包率的卫星通信分段式拥塞控制方法 - Google Patents
一种基于丢包率的卫星通信分段式拥塞控制方法 Download PDFInfo
- Publication number
- CN104821843B CN104821843B CN201510170924.0A CN201510170924A CN104821843B CN 104821843 B CN104821843 B CN 104821843B CN 201510170924 A CN201510170924 A CN 201510170924A CN 104821843 B CN104821843 B CN 104821843B
- Authority
- CN
- China
- Prior art keywords
- packet loss
- data block
- data
- loss rate
- satellite communication
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
Abstract
本发明公开了一种基于丢包率的卫星通信分段式拥塞控制方法,其按如下步骤:步骤101、发送端生成初始数据块并发送至接收端;步骤102、接收端生成确认数据块并发送回发送端;步骤103、发送端确认返回数据块并生成新发送数据块;步骤201、丢包率α<Xi≤ε时,发送端进行普通拥塞处理;α为卫星通信正常链路状况通信时的丢包率,Xi是第i次发送数据的丢包率,ε为较差链路状况时的丢包率;步骤202、丢包率Xi>ε时,发送端进行严重拥塞处理。本发明尽可能保持最大发送窗口,提高了传输效率,降低了算法的复杂度。
Description
技术领域
本发明属于卫星通信技术领域,具体涉及一种基于丢包率的卫星通信分段式拥塞控制方法。
背景技术
常用的卫星通信模型由通信终端、地面站及地面端链路、卫星及卫星链路组成,如图1所示。其中,地面站与卫星之间的卫星链路在整个通信链路中占主体地位,地面端链路相对较短而忽略不计。卫星链路由于受到天气等外界条件的影响极易出现突发性错误。
基于卫星链路的上述特征,传统TCP协议应用于卫星通信时数据传输的效率很低,其主要原因在于:(1)传统TCP协议将链路错误当作网络拥塞进行窗口减小的处理,这样不仅降低了传输效率,而且浪费了信道的可用带宽;(2)传统TCP协议不能持续使用较大窗口进行传输,数据传输一旦失败,其窗口值会立即减小,这样就导致带宽严重浪费,大大降低了数据的传输速率。
目前,用于卫星通信的TCP改进协议主要有TCP Vegas、TCP-peach、TCP-Westwood等。TCP Vegas的主要思想是用传输速率来控制拥塞窗口。TCP-Peach的算法思想是针对长时延对传输效率的影响,通过快速发送较多的虚报文段,来更快地获得确认ACK(Acknowledgment,确认数据包),从而加快TCP启动和重传后的恢复速率。此处,虚报文段指的是由发送端产生的优先级较低的数据包。TCP-Westwood算法的关键思想是一直在发送端对TCP链接的可用带宽进行估计(Bandwidth Estimate),估计的方法是观察返回ACK的速度,一旦发生丢包就迅速把窗口恢复到带宽相应水平。上述三种方法虽然对于传统的TCP协议有较大改动,但都要求对RTT进行较为精确的测量,这在卫星通信链路中实现非常困难。另外,上述方案并没有针对卫星链路高突发错误率的特点进行优化,链路的利用率较低。
为此,本发明提出了由基于数据块发送的直接启动算法和基于丢包率判定的分段式拥塞避免算法组成的卫星通信拥塞控制算法,以提高卫星通信的拥塞控制处理能力。
发明内容
本发明提出了一种基于丢包率的卫星通信分段式拥塞控制方法,其包括基于数据块发送的直接启动算法和基于丢包率判定的分段式拥塞避免算法。
本发明将发送单位定义为数据块,数据块由多个数据段组成,而每个数据段又由1个或多个数据包组成,如图2所示。为简化卫星通信链路资源分配的复杂性,将发送窗口的大小定义为数据块中新发送数据包的个数或者新发送数据段的长度,忽略发送端和接收端的数据处理时延。
本发明技术方案的主要思路是基于对丢包率判定的判断从而实现分段式拥塞控制。整个拥塞控制方法包含基于数据块发送的直接启动算法和基于丢包率判定的分段式拥塞处理算法。其中,基于数据块发送的直接启动算法代替传统的慢开始算法,直接以历史最大窗口进行数据发送,并通过反馈调节的方式实现算法的正常运行。基于丢包率判定的分段式拥塞处理算法是根据丢包率的大小对链路状态进行分段判断,从而采取更准确的窗口调整策略。
本发明采取以下技术方案:
1、启动阶段
101、生成并发送初始数据块。
生成初始发送数据块时,将发送端(终端A)缓存中的最大窗口值M作为初始发送窗口值,记为M1。发送端(终端A)生成数据块并将其发送至接收端(终端B)。初始发送数据块的结构如图2所示,包括初始发送数据段的长度M1、由编号1到M1的数据包所组成的初始发送数据段。
102、生成并发送确认数据块。
接收端(终端B)收到数据块后,进行差错检测,形成一个由“0”和“1”组成的长度为Mi个比特的接收指示序列(正确接收的数据包置为“0”,未正确接收的数据包置为“1”)。此处假设重传数据段中的数据重传后不再出现错误,因此不论是初始确认还是后续确认,该01序列均只进行1到Mi的排列。
接收端(终端B)生成确认数据块并将其发送至发送端(终端A)。确认数据块的结构如图3所示,包括丢包起始序号Si、数据接收指示序列(长度为Mi个比特)及丢包数Ni。
103、接收确认数据块后生成新数据块。
发送端(终端A)接收到确认数据块后,按照下列步骤生成新的数据块:
1)计算丢包率Xi。根据确认数据块中的丢包数Ni和发送数据段长度Mi进行计算,计算式如下:
2)计算新发送数据段的长度Mi+1。根据Mi计算Mi+1,计算方法如下:
0<α<ε<1,1<β<2 (3)
其中,α、β、ε为预设的固定值,其取值范围如式(3)所示,α为卫星通信正常通信时的丢包率,ε为卫星通信较差链路状况时的丢包率,β为链路状况参考值。Mi+1值取整数。当Xi≤α时,链路状况很好,发送数据段的长度增大β倍;当α<Xi≤ε时,链路恶化但程度较轻,发送数据段的长度减小β-1倍;当Xi>ε时,链路状况极度恶化,发送数据段长度减小1-Xi倍。α、β、ε的具体取值是根据对长期的历史数据判断所得。
3)通过数据接收序列与原数据段的比对提取所有未成功接收的数据包,并重新组合成为重传数据段,编号1到Ni。
4)生成新数据块。其结构为新发送数据段长度Mi+1、编号1到Mi+1的新发数据段、编号为1到Ni的重传数据段。其中,重传数据段用丢包起始序号Si进行标识以便接收端(终端B)进行辨认,见图4。
2、拥塞处理阶段
201、普通拥塞处理。
若丢包率α<Xi≤ε,则进入普通拥塞避免阶段。此时下一次发送新数据段的长度Mi+1根据式(2)计算得到。其余按照步骤103进行。
202、严重拥塞处理。
若丢包率Xi>ε,则进入严重拥塞避免阶段。此时下一次发送新数据段的长度Mi+1根据公式(2)计算得到。其余按照步骤103进行。
整个算法的流程按图5所示。
本发明方法具有以下三个优势:
(1)本发明采用数据块为发送单位,直接采用历史最大窗口值启动,并且将每次需要重传的数据加入到下次发送数据块中,再通过算法的反馈特性,使窗口快速逼近临界值,尽可能保持最大发送窗口。
(2)本发明通过对丢包率的计算进行分段式的拥塞情况判断,按不同比例对发送窗口进行调整,传输效率得到提高。
(3)确认数据块的结构体现了丢包的位置和顺序,发送端易于对下次需要重传的数据包进行识别和重组,降低了算法的复杂度。
附图说明
图1是实例中采用的卫星通信常用模型。
图2是初始发送数据块的结构图。
图3是确认数据块的结构图。
图4是新发送数据块的结构图。
图5是本发明的流程图。
图6是初始发送数据块的实例图。
图7是确认数据块的实例图。
图8是发送数据块的实例图。
具体实施方式
下面对本发明优选实施例作详细说明。
本实施例采用常用的卫星通信网络进行说明,该卫星网络如图1所示,是由通信终端、地面站和卫星端三部分组成。其中,终端A为发送端,终端B为目的端,地面站由关口站和地面网络组成,卫星端组成一个转发云网络。在本实施例中,只考虑TCP连接后数据传输的拥塞控制问题,不涉及TCP连接、地面网络转发和卫星转发等问题。
1、启动阶段(基于数据块发送的直接启动算法)
101、生成并发送初始数据块。
将发送端(终端A)缓存中的最大窗口值M作为初始发送窗口,记为M1,此例中设置M1=M=100。假设根据对长期的历史数据判断得到,正常通信时错误率α=10%,信道环境恶劣时错误率ε=50%,链路状况参考值β=1.5。发送端(终端A)生成数据块并将其发送至接收端(终端B)。初始发送数据块的实例如图6所示,包括初始发送数据段长度100、由编号1到100的数据包所组成的初始发送数据段。
102、生成并发送确认数据块。
接收端(终端B)收到数据块后,进行差错检测,形成一个长度为100个比特的由“0”和“1”组成的接收指示序列(正确接收的数据包置为“0”,未正确接收的数据包置为“1”)。因为假设重传数据段中的数据重传后不会再出现错误,所以不论是初始确认还是后续确认,该01序列均只进行1到100的排列。
接收端(终端B)生成确认数据块并将其发送至发送端(终端A)。确认数据块的实例如图7所示,包括丢包起始序号S1=30、数据接收序列及丢包数N1=9。
103、确认返回数据块及生成新的发送数据块。
发送端(终端A)接收到确认数据块后,按照下列步骤生成新的数据块:
1)计算丢包率X1及下一次发送数据段的长度M2。若X1≤10%,则新的发送数据段长度M2=1.5M1=150;若10%<X1≤50%,则新发送数据段长度M2=(1.5-1)×M1=0.5M1=50;若X1>50%,则新发送数据段长度M2=(1-X1)M1。此处X1=9%≤10%,所以新的发送数据段长度为150。
2)通过数据接收序列与原数据段的比对提取出所有未成功接收的数据包,并重新组合成为重传数据段,编号1到N1,此例为1到9。
3)生成新数据块。新发送数据块的实例如图8(此处绘出M2=150的情况,另外两种情况结构相同),包括新发送数据段的长度150、编号1到150的新发送数据段以及编号为1到9的重传数据段。其中,重传数据段用丢包起始序号30进行标识以便接收端(终端B)进行辨认。
2、拥塞处理阶段(基于丢包率判定的分段式拥塞处理算法)
201、普通拥塞处理。
当10%<Xi≤50%时,进入普通拥塞避免阶段。此时Mi+1=(1.5-1)×Mi=0.5Mi,即新发送数据段的长度减半,其他处理按照步骤103进行数据块的生成。
202、严重拥塞处理。
当Xi>50%时,进入严重拥塞避免阶段。此时Mi+1=(1-Xi)Mi,1-Xi<0.5,故新发送数据段的长度缩减超过一半,其他处理按照步骤103进行数据块的生成。
本发明的流程图如图5所示。
当然,本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明的,而并非作为对本发明的限定,只要在本发明的范围内,对以上实施例的变化、变型都将落入本发明的保护范围。
Claims (3)
1.一种基于丢包率的卫星通信分段式拥塞控制方法,其按如下步骤:
步骤101、发送端生成初始数据块并发送至接收端;将发送端缓存中的最大窗口值M作为初始发送窗口值,记为M1;发送端生成数据块并将其发送至接收端;发送数据块的结构为初始发送数据段的长度M1、由编号1到M1的数据包所组成的初始发送数据段;
步骤102、接收端生成确认数据块并发送回发送端;接收端收到数据块后,进行差错判断,形成一个由“0”和“1”组成的长度为Mi个比特的接收指示序列,正确接收的数据包置为“0”,未正确接收的数据包置为“1”;接收端生成确认数据块并将其发送至发送端;确认数据块的结构为丢包起始序号Si、数据接收指示序列及丢包数Ni;
步骤103、发送端确认返回数据块并生成新发送数据块;发送端接收到确认数据块后,按照以下步骤生成新的数据块:
1)计算丢包率Xi
根据确认数据块中的丢包数Ni和发送窗口Mi,计算式如(1):
<mrow>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>N</mi>
<mi>i</mi>
</msub>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
2)计算新发送数据段的长度Mi+1
根据Xi计算Mi+1,计算式如下:
<mrow>
<msub>
<mi>M</mi>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&beta;</mi>
<mo>&CenterDot;</mo>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
<mo>&le;</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>&le;</mo>
<mi>&alpha;</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mi>&beta;</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
<mo>&CenterDot;</mo>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>&alpha;</mi>
<mo><</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>&le;</mo>
<mi>&epsiv;</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
<mo>&CenterDot;</mo>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>&epsiv;</mi>
<mo><</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>&le;</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
0<α<ε<1,1<β<2 (3)
其中,α、β、ε为预设的固定值,β为链路状况参考值,Mi+1值取整数;
3)通过数据接收序列与原数据段的比对提取所有未成功接收的数据包,并重新组合成为重传数据段,编号1到Ni;
4)生成新数据块:其结构为新发送数据段长度Mi+1、编号1到Mi+1的新发送数据段、编号为1到Ni的重传数据段;其中,重传数据段采用丢包起始序号Si进行标识以便接收端进行辨认
步骤201、丢包率α<Xi≤ε时,发送端进行普通拥塞处理;α为卫星通信正常链路状况通信时的丢包率,Xi是第i次发送数据的丢包率,ε为较差链路状况时的丢包率;
步骤202、丢包率Xi>ε时,发送端进行严重拥塞处理。
2.如权利要求1所述的基于丢包率的卫星通信分段式拥塞控制方法,其特征在于:步骤201、若丢包率α<Xi≤ε,则进入普通拥塞避免阶段;此时,下一次发送新数据段长度Mi+1根据式(2)计算得到;其余按照步骤103进行。
3.如权利要求1所述的基于丢包率的卫星通信分段式拥塞控制方法,其特征在于:步骤202、若丢包率Xi>ε,则进入严重拥塞避免阶段;此时,下一次发送新数据段的长度Mi+1根据式(2)计算得到;其余按照步骤103进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510170924.0A CN104821843B (zh) | 2015-04-13 | 2015-04-13 | 一种基于丢包率的卫星通信分段式拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510170924.0A CN104821843B (zh) | 2015-04-13 | 2015-04-13 | 一种基于丢包率的卫星通信分段式拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104821843A CN104821843A (zh) | 2015-08-05 |
CN104821843B true CN104821843B (zh) | 2018-02-23 |
Family
ID=53732027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510170924.0A Active CN104821843B (zh) | 2015-04-13 | 2015-04-13 | 一种基于丢包率的卫星通信分段式拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104821843B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603719B (zh) * | 2017-01-03 | 2020-03-24 | 中车株洲电力机车有限公司 | 一种远程文件无线下载的方法 |
CN107800471B (zh) * | 2017-11-17 | 2019-12-24 | 西安电子科技大学 | 基于多包接收的卫星随机接入拥塞控制方法 |
CN115174003B (zh) * | 2022-07-20 | 2023-11-24 | 普联技术有限公司 | 块确认控制方法、装置、计算机可读存储介质及终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101677292A (zh) * | 2008-09-16 | 2010-03-24 | 中兴通讯股份有限公司 | 一种流控传输协议中数据分片的方法 |
CN102420676A (zh) * | 2011-11-30 | 2012-04-18 | 中国人民解放军西安通信学院 | 一种适用于深空星际卫星网络的高效交互传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533764B2 (en) * | 2007-10-19 | 2013-09-10 | Lawrence Lo | System and method for regulating bandwidth in a multicast video transmission system |
-
2015
- 2015-04-13 CN CN201510170924.0A patent/CN104821843B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101677292A (zh) * | 2008-09-16 | 2010-03-24 | 中兴通讯股份有限公司 | 一种流控传输协议中数据分片的方法 |
CN102420676A (zh) * | 2011-11-30 | 2012-04-18 | 中国人民解放军西安通信学院 | 一种适用于深空星际卫星网络的高效交互传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104821843A (zh) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855400B (zh) | 基于纠错码的自适应丢包恢复方法、计算设备及存储介质 | |
JP4708978B2 (ja) | 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル | |
US8306062B1 (en) | Method and apparatus of adaptive large receive offload | |
US8102829B2 (en) | Wireless transmission device, wireless transmission method, wireless communication system, and program | |
CN109194450B (zh) | 天地一体化网络通信的snack-p应答系统及方法、无线通信系统 | |
CN108111434A (zh) | 一种基于可靠udp和喷泉码的航空自组网可靠传输方法 | |
WO2016045332A1 (zh) | 编码参数的调整、反馈信息的处理方法及装置 | |
US8761605B2 (en) | Communication data transmission equipment, a communication data transmission system, a communication data transmission method and a communication data transmission program | |
CN104796235B (zh) | 基于丢包率的卫星通信自适应拥塞控制方法 | |
US9876727B2 (en) | Physical-layer signaling of flow control updates | |
CN107592185B (zh) | 一种适用于网络编码传输控制协议的前向重传方法 | |
CN104821843B (zh) | 一种基于丢包率的卫星通信分段式拥塞控制方法 | |
US8811500B2 (en) | Data transmission | |
US7860108B2 (en) | Methods and devices for transferring and for recovering data packets | |
CN110943810A (zh) | 面向深空通信的可变滑动窗口长度的回退n帧自动重传方法及系统 | |
CN111131179B (zh) | 业务处理方法、装置、网络设备及存储介质 | |
CN104184568B (zh) | 通信系统的数据传输方法及系统 | |
CN104980365A (zh) | 一种基于连续丢包拥塞判断的tcp传输加速方法 | |
CN105406915A (zh) | 一种面向星地链路的文件传输方法 | |
JP2017092692A (ja) | データ伝送制御システム及び方法、並びに、データ伝送制御プログラム | |
JP2006217530A (ja) | データ伝送システム、送信側端末装置、受信側端末装置、データ送信プログラム及びデータ受信プログラム | |
CN109660320B (zh) | 网络端到端差错控制传输方法、装置及电子设备 | |
JP2010118894A (ja) | パケット生成装置、パケット生成方法及びパケット生成プログラム | |
JP2861851B2 (ja) | データ通信再送方法 | |
Fotiadis et al. | Improving TCP throughput in 802.11 WLANs with high delay variability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |