CN1946078A - 一种适用于卫星网络的高效交互传输方法 - Google Patents
一种适用于卫星网络的高效交互传输方法 Download PDFInfo
- Publication number
- CN1946078A CN1946078A CNA2006101140870A CN200610114087A CN1946078A CN 1946078 A CN1946078 A CN 1946078A CN A2006101140870 A CNA2006101140870 A CN A2006101140870A CN 200610114087 A CN200610114087 A CN 200610114087A CN 1946078 A CN1946078 A CN 1946078A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- packet
- value
- client
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims description 14
- 230000002452 interceptive effect Effects 0.000 title claims description 4
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000011084 recovery Methods 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 239000013256 coordination polymer Substances 0.000 claims description 2
- 230000007115 recruitment Effects 0.000 claims description 2
- 230000008054 signal transmission Effects 0.000 claims 1
- 238000011217 control strategy Methods 0.000 abstract description 2
- 230000002441 reversible effect Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001154 acute effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 235000019832 sodium triphosphate Nutrition 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000209202 Bromus secalinus Species 0.000 description 1
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 101710194948 Protein phosphatase PhpP Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000001684 chronic effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- HWGNBUXHKFFFIH-UHFFFAOYSA-I pentasodium;[oxido(phosphonatooxy)phosphoryl] phosphate Chemical compound [Na+].[Na+].[Na+].[Na+].[Na+].[O-]P([O-])(=O)OP([O-])(=O)OP([O-])([O-])=O HWGNBUXHKFFFIH-UHFFFAOYSA-I 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于卫星信道传输技术领域,其特征在于:采用了超起始Super Start窗口增长策略;采用基于不同优先级的IP数据包间隔发送的数据丢失判断策略,来区分不同原因造成的数据丢失,并采用相应的传输控制策略;采用主动周期性选择式应答信息,其内容不仅包括期望发送的后续数据段的序列号,期望发送的连续数据段的后续数据段序列号,而且还包括丢失的数据段。在具有随机误码和突发误码的卫星信道环境中,它不仅可以迅速提升发送窗口,而且可以有效地区分前向链路数据的具体丢失原因,对抗信道误码对协议的不利影响,即使在误码率非常高以及存在恶劣的突发误码的情况下,协议的吞吐量仍能够接近最大值。另外,此协议还大大降低了反向链路的带宽要求。
Description
技术领域:
本发明属于卫星信道传输技术领域。
背景技术:
在国际互联网上得到广泛应用的TCP协议,在有线网络中性能表现良好。TCP协议是专为误码率低于10-8的有线网络设计的,它认为网络中TCP数据段的丢失和损坏是由于网络拥塞造成的。然而,这样的假设在卫星网络中却不适用。卫星信道所具有的几个特点恰恰降低了TCP的性能。这些特性主要是:
1)长传播延时:数据在卫星信道中的传播时延大,特别是在同步卫星系统GEO中,传输往返时间(发送端从发送数据到收到应答所需的时间)在550毫秒左右。然而在一般的地面网络的传输往返时间为几个到几十个毫秒,典型的往返时间为80毫秒。同步卫星GEO系统中的传输往返时间是地面网络的7倍左右!这样大的延时使得慢启动状态的TCP拥塞窗口增长速度缓慢,在慢启动状态花费很长的时间,有效带宽的利用明显降低,文件传输时间增长,特别是当传输几K到十几K字节的文件时(网页浏览等),效率更低。
2)带宽不对称:由于地面数据发送设备的费用昂贵,目前卫星网络的前向链路带宽往往是反向链路带宽的几十倍,甚至上百倍。这样,反向链路带宽过窄会导致TCP应答信息的拥塞,从而使得TCP的前向链路数据传输速率降低。
3)较高的随机误码率:卫星信道属于无线信道。在通常的同步卫星GEO通信环境下,卫星信道主要呈现高斯加性白噪声信道,误码以零散随机误码为主,误码率在10-4~10-6的范围内。而且卫星信道的好坏还直接受到气候的影响,当天气条件恶化时(雨、雪天气等),信道的误码率还会更大,甚至不能正常的通信。卫星信道表现出的比地面网络更高的误码率,给TCP性能带来了不利的影响。
4)突发误码:卫星通信环境中,由于地形变化和通信设备的移动变化,会出现通信信号被遮蔽和信号多径传输的现象。这样,就会出现数据的连续丢失。在这种情况下,TCP的性能更加不稳定,有时甚至还会导致超时重传,使得TCP的性能达到最差。
研究和分析表明,TCP协议中的慢启动、拥塞控制机制是导致TCP协议在卫星网络中性能差的主要原因。另外,TCP的应答策略也影响了其在非对称卫星信道环境中的性能。
卫星信道数据传播时间长,这就导致了按照指数方式增长的慢启动策略效率低下。在经过多个信号来往传输时间RTT之后,发送端的拥塞窗口才能达到最大。这样,当传输只有几K字节和十几K字节的网页浏览业务时,整个数据的传输都处于慢启动阶段,不仅传输时间“漫长”,而且卫星链路带宽利用也非常低。
当信道发生错误造成数据丢失时,为地面网络设计的TCP协议就会认为信道发生了拥塞,于是进入拥塞回避状态Congestion Avoidance,并采用拥塞回避机制来恢复错误数据和调整发送速率。Congestion Avoidance机制的主要内容是发送窗口减小1/2、每过一个数据传输往返RTT时间,发送窗口线性增加1。因此卫星信道上从数据包出错丢弃到完全恢复发送速率,所需的时间远远大于地面网络所需时间,在这么长的时间里,卫星信道带宽浪费,信道容量都没有得到充分的利用。如果出现突发误码而导致连续数据段丢失时,发送窗口还会减少到最小值,并重新进入慢启动阶段,卫星信道资源更加浪费。
在实际的应用中往往是采用延迟应答机制,即并不是每个数据包的到达都发送一个应答。这样对于采用慢启动和拥塞回避策略的TCP来说,会使得TCP的发送窗口增长更加缓慢,文件传输时间延长,实际卫星信道带宽利用率降低。
另外,非对称卫星信道也会影响TCP协议性能。当前向带宽与反向带宽比例超过50∶1时,应答信息往往会导致反向信道的拥塞。显而易见,TCP的窗口增长速率随之降低,协议性能下降。
目前提出的TCP协议改进方案很多,主要从以下几方面入手:
一、提高前向数据传输速率
1)增大初始拥塞窗口值:将初始拥塞发送窗口值从一个数据段按照以下公式增加:
cwnd=min[4·MSS,max(2·MSS,4380bytes)]。其中,MSS为最大TCP数据段长度。
2)T/TCP:在收发两端第一次连接建立成功之后,接下来的TCP连接将省略三次握手的连接建立过程,直接进行数据的传输。
3)多TCP连接:将一个TCP连接分成多个TCP连接。
4)在网关处采用代理方式:目前的代理方式主要分为TCP切分TCP-Splitting和TCP欺骗TCP-Spoofing两种,就是通过伪应答的方式使得数据发送端察觉不到卫星链路的传播时延和数据丢失。
5)Fast Start:连接开始阶段采用Fast Start策略,即初始拥塞窗口值采用先前连接的窗口值。为了避免造成网络拥塞,在Fast Start阶段的数据为低优先级。
6)TCP Peach:连接开始阶段采用Sudden Start策略,在此阶段发送低优先级、信息重复的“Dummy”数据段,发送端根据“Dummy”数据的在接收端的接收状况决定拥塞窗口值。
7)TP-S:此协议不仅采用了增大初始拥塞窗口的办法,而且还将最大窗口值从16bit增加到了32bit。这样,就突破了TCP协议中的64K字节的限制。另外,此协议还采用了较少的拥塞窗口“回缩”策略,拥塞窗口只减少为原来的2/3。
第一和第二两种办法虽然能够在连接开始阶段增大数据传输速率,但并没有从本质上解决TCP协议在卫星网络中效率低下的问题。多TCP连接方法虽然可以提高传输速率,但是也增加了网络拥塞的风险,从而导致整个网络效率低。代理方法虽然“屏蔽”了卫星链路对终端的影响,但仍需要设计适合卫星网络的传输策略才能解决卫星链路的不利影响。FastStart策略只适合于网络及连接状态缓慢变化情况,而TCP Peach则需要发送大量的重复信息,从而导致了网络资源的浪费。TP-S虽然一定程度上保持了相对较高的数据发送速率,但是也增加了网络拥塞的风险。
二、降低反向链路带宽占用
1)周期发送应答信息:接收端采用周期发送应答信息策略,发送周期为数据的传输返回时间。
2)应答信息拥塞控制:接收端根据网络拥塞状况动态维持一个参数d,即每隔d个数据段发送一个应答信息。
3)应答信息过滤和重建:过滤是指为了避免拥塞,路由器去除多余的应答信息;重建则是指为了保持稳定的传输速率,路由器产生应答信息。
4)STP、STPP和TP-S协议:发送端定时发送查询指令,接收端每接收到一个查询指令,就返回一个状态信息。
应答信息的拥塞控制、过滤和重建策略不仅实现起来复杂,而且还要求网络中的路由器实现传输层的数据处理功能,使得路由器负担过重。在应用的角度看,查询指令不携带任何有用信息,因此,也就浪费了网络的前向链路带宽。通过比较,周期发送应答信息是一个不错的选择。但是,应答信息的发送周期成为影响协议性能的关键。
三、区分数据丢失原因
1)明确拥塞指示:路由器根据网络状况改变IP包头中的拥塞指示比特,这样发送端通过此比特信息判断网络状态。当前主要有前向和反向两种拥塞指示方式。
2)可用带宽估计:目前,采用这种方式的主要有TCP Westwood和TCP STAR两个协议。其基本方式是根据接收到的应答信息,定时估计现有网络可用带宽。当网络出现数据丢失,发送端首先判断估计值是否高于当前传输速率,并设定相应的发送速率。
明确拥塞指示要求路由器不仅具有数据的转发,还要有网络状态的计算、估计和传输层的数据处理功能。可用带宽估计方法不仅实现复杂,而且由于卫星链路延时长,无法保证估计的带宽与真实的带宽一致。
通过以上的分析可以看出,目前这些改进方法,虽然在一定程度上改善了协议性能,但是要么实现起来复杂,要么性能改善并不明显。特别是随着卫星链路误码率的增加,以及由于信号遮蔽导致多个数据包连续丢失的突发误码情况出现时,这些改进协议的性能就会变得很差,仍然不能令人满意。
发明内容:
本发明的目的在于提供一种可靠的为卫星IP网络设计的TP-Sat卫星网络传输控制方法。
本发明的特征在于,它是在源代码公开的Linux操作系统上实现。
本发明在图6的环境中进行了仿真实验。实验中,卫星链路的前向和反向带宽均为10Mbits/s,RTT=550ms,rwnd=64,实验时间为550s。随机误码的情况下,丢包率为10-2,突发误码的情况下,链路平均突发误码长度为100个数据包。实验结果如下:
1、单个连接情况下的前向链路吞吐量
2、单个连接情况下的反向链路带宽占用
3、多个连接情况下的前向链路吞吐量(连接数为20)
4、多个连接情况下的反向链路带宽占用(连接数为20)
从表1和表2可以看出,单个连接时,无论是在随机误码还是在突发误码的情况下,TP-Sat均能够保持非常高的前向链路吞吐量。与此同时,反向链路的带宽占用受到前向链路误码的影响非常小,并且保持在非常低的水平。然而,其他协议的前向链路吞吐量则受到了误码的严重影响,而变得非常低。另外,反向链路的占用也受到误码的影响而剧烈变化。从表3和表4可以看出,当网络中存在多个连接存在拥塞可能时,无论是在随机误码还是在突发误码的情况下,TP-Sat的前向链路吞吐量仍能够接近卫星链路带宽。与此同时,反向链路的带宽占用受到前向链路误码的影响非常小,并且保持在非常低的水平。然而,其他协议的前向链路吞吐量则受到了误码的严重影响,而变得非常低。另外,反向链路的占用也受到误码的影响而剧烈变化。
由于TP-Sat需要修改系统的协议堆栈,所以只能在源代码公开的Linux和FreeBSD等操作系统上实现。
实验证明,不论在单连接的情况下,还是在多个连接的情况下,不论网络是否出现随机误码或者突发误码,TP-Sat的前向链路吞吐量为最高,同时,反向链路的带宽占用也为最小。
附图说明:
图1:TP-Sat协议框架。
图2:超起始状态Super Start策略。
图3:数据丢失原因判断Loss Distinguish策略。
图4:M-NACK应答信息数据格式。
图5:数据基本传输示意图。
图6:交互式同步卫星网络框图。
具体实施方式:
TP-Sat的协议框架如图1所示,主要包含超起始Super Start阶段、拥塞回避CongestionAvoidance阶段、数据包是否丢失、数据丢失原因判断Loss Distinguish阶段、拥塞恢复Congestion Recovery阶段。它与TCP协议及其改进版本比较,创新点主要体现在以下几方面。
一、高低优先级数据交错发送
与其他协议不同,在整个连接过程中,TP-Sat始终将数据分为两种优先级,并且高低优先级的数据交错发送。优先级的设置是在IP包头中的TOS字段中的一位优先级比特(“pri”)实现。这样的数据传输方式可以为带来如下好处:
1、当网络出现拥塞时,路由器可以根据数据的优先级有选择地丢弃,即先丢弃低优先级的数据包。
2、发送端可以根据数据的丢失状况判断网络是否拥塞,以及网络的拥塞程度,并采取相应的传输速率控制策略。
二、超起始Super Start策略
TP-Sat不再采用TCP协议中的慢启动Slow Start策略,而是采用名为超起始Super Start策略来提高连接开始阶段的数据发送速率。具体的超起始Super Start策略如图2所示,在连接建立之后,发送端设置拥塞窗口cwnd值为接收端通报的接收窗口rwnd值的一半,即cwnd=rwnd/2。发送端每隔一个时间间隔τ发送一个TCP数据段,发送数据段的优先级交替变换。时间间隔τ按照如下公式计算得出:
τ=RTT/rwnd (1)
其中,发送返回时间RTT是在连接建立过程中估计得出。在此阶段,除了IP包头TOS字段中的一位优先级比特(“pri”)用来表示数据包的优先级,还有一位状态比特(“start”)用来表示数据发送状态。在超起始Super Start阶段发送的IP数据包中的start=1,当接收到第一个M-NACK信息后,增加拥塞窗口值cwnd,增加量为成功接收的数据包数量。与此同时,设置IP数据包中的状态比特start=0,在此之后发送的IP数据包中的状态比特start=0。发送端结束超起始Super Start策略,进入拥塞回避Congestion Avoidance状态。
与慢启动Slow Start相比较,超起始Super Start策略具有以下的优点:
1、可以在一个发送返回RTT时间内,使拥塞窗口cwnd值迅速达到接收窗口rwnd值。而慢启动Slow Start策略则需要(log2rwnd+1)个发送返回RTT时间。如果接收端采取延迟应答,则需要更长的时间。
2、并且可以在连接建立之后的第一个发送返回RTT时间内,完成rwnd/2个数据段的传输。若要求传送的数据量小于rwnd/2个数据段,则整个传输时间仅为一个RTT。
三、周期主动应答策略
TCP协议的应答机制是数据驱动的,即每收到一个数据段就返回一个应答信息。显而易见,这种机制会在返回信道中产生大量的应答数据流。而TP-Sat则采用周期性的主动应答方式,即每隔一个发送返回RTT时间,接收端就主动返回一个应答信息——M-NACK。M-NACK的数据格式是基于NACK的数据格式,包括:期待发送的最大序列的数据包、期待发送的最大连续序列的数据包、丢失数据列表。
M-NACK的具体格式如图4所示。应答信息的数据段头,是以20个字节的标准TCP头做封装,并增加了希望发送端发送的下一个TCP数据段的序列值,希望发送端发送的下一个连续TCP数据段的序列值,以及所有未正确接收的TCP数据段的序列值等部分。
周期主动应答方式的反向带宽占用主要依赖于发送返回RTT时间长度。这样,在发送返回RTT时间很长的卫星网络中,反向链路的带宽占用非常小。在网络中只存在一个连接,并且接收窗口值rwnd为最大值,即64时,在网络没有误码的情况下,带宽占用非常低,不到TCP-Reno协议回传数据量的1/35。即使在网络丢包率达到10-2或者网络出现较为严重的突发误码时,带宽占用也不足1Kbits/s。
四、数据丢失原因判断Loss Distinguish策略
为了对数据的具体丢失原因进行区分和判断,TP-Sat中增加了用于区分数据丢失原因的部分,数据丢失原因判断Loss Distinguish策略。
数据丢失原因判断Loss Distinguish策略的具体内容是:发送端根据接收到的M-NACK信息判断是否有数据丢失。当发送端发现有数据丢失时,如图3所示,发送端根据高,低优先级数据包的丢失情况判断造成数据包丢失的原因。
当网络出现拥塞时,网络中的路由器首先将队列中的低优先级数据包丢弃,即如公式2所示,丢失的低优先级数据包数量(low_pri)等于整个丢失的数据包数量(lost_num):
low_pri=lost_num (2)
当网络中拥塞情况严重时,路由器队列中低优先级的数据包已经全部被丢弃。这时,高优先级的数据包也开始被丢弃,即如公式3所示,丢失的数据包数量大于拥塞窗口值的一半:
lost_num>cwnd/2 (3)
因此,当M-NACK信息满足以上两种情况时,数据丢失原因判断Loss Distinguish策略认为网络中出现了拥塞。否则,发送端认为数据的丢失是因为随机误码或者是突发误码造成的,拥塞窗口cwnd值不变。需要说明的是:当只有一个数据包丢失时,数据丢失原因判断Loss Distinguish认为数据的丢失是因为误码造成的,拥塞窗口cwnd值不变。
带有数据丢失原因判断Loss Distinguish策略的TP-Sat不再简单地将数据丢失归结为网络拥塞或者误码,它不仅可以区分拥塞和随机误码,而且还能够区分突发误码。网络只存在一个连接时,当丢包率高于10-4时,TP-Sat的性能就高于TCP协议及其改进版本。在丢包率达到10-2时,TP-Sat的吞吐量为TCP-Reno的4倍,是TCP Westwood的2.6倍,是XCP的1.6倍,是TCP Peach的1.1倍。在突发误码的情况下,TP-Sat的性能就更加高于其他协议。即使当平均突发误码长度达到100个数据包时,TP-Sat的吞吐量仍能接近最大值。网络存在多个连接出现拥塞时,不论误码率为多少,卫星链路的带宽利用能够达到90%。在丢包率高达10-2的情况下,链路利用率是TCP-Reno的2.5倍,是XCP的1.9倍,是TCP Westwood的1.6倍,是TCP Peach的1.1倍。即使平均突发误码长度达到100个数据包,卫星链路的带宽利用仍能够达到80%,是TCP Peach的1.8倍,是其他协议的4倍。
五、拥塞恢复Congestion Recovery策略
在数据丢失原因判断Loss Distinguish策略认为网络出现拥塞后,采取拥塞回避Congestion Recovery策略来降低发送速率。其具体内容是:cwnd减半,重新计算数据发送间隔τ,高低优先级间隔发送丢失数据。在发送完丢失数据后,结束拥塞恢复Congestion Recovery阶段,进入到拥塞回避Congestion Avoidance阶段。
六、路由器端的数据丢弃原则
根据数据包头的优先级(“pri”)和状态(“start”)值,可以将数据分为以下四类:1、start=1,pri=0;2、start=1,pri=1;3、start=0,pri=0;4、start=0,pri=1。当出现拥塞时,路由器采用以下的数据丢弃原则:首先丢弃低优先级、高开始状态的数据包,即start=1,pri=0;当以上的数据包不存在时,丢弃高优先级、高开始状态的数据包,即start=1,pri=1;当没有高开始状态的数据包时,丢弃低优先级、低开始状态的数据包,即start=0,pri=0;当以上三种数据包都不存在时,丢弃高优先级、低开始状态的数据包,即start=0,pri=1。
由于在Super Start阶段发送的IP数据包头的状态值start=1,路由器采取上述的数据丢弃策略可以避免由于新建立的连接导致网络拥塞而造成其他连接的数据丢弃。
本发明的特征在于:它是在源码公开的Linux操作系统中实现。
具体的工作流程如下:
1、连接监听
服务器端,服务器进入“监听”状态,等待客户端的连接。
2、连接建立
(1)地面网络中的客户端,发送连接请求,请求与服务器连接;
(2)从地面网的一个客户终端来的TCP连接请求,经过卫星网络传输到达服务器;
(3)服务器收到连接请求,TCP协议返回连接应答信号,准备传输数据;
(4)客户端接收连接应答信号后,返回应答确认信号,信号中包含接收窗口rwnd值,估计数据发送返回RTTh时间值,并进入到数据接收状态,开始接收数据;
(5)服务器接收到确认应答信号后,估计数据发送返回RTTs时间,并进入数据传输状态,开始传送数据。
3、数据传输
(1)超起始Super Start阶段
(1.1)服务器根据接收窗口rwnd值,计算初始拥塞窗口值cwnd=rwnd/2,并设置IP包头中的“start”为1,高低优先级数据包交错发送,每间隔一个时间τ就发送一个数据包。其中,τ=2·RTTs/rwnd;
(1.2)服务器发送rwnd个数据包后,设置IP包头中的“start”为0;
(1.3)当第一个M-NACK信息到达后,根据客户端的数据接收情况,计算拥塞窗口cwnd值,即每成功接收一个数据包,拥塞窗口cwnd就增加1。随后,服务器退出超起始Super Start阶段,进入到拥塞回避Congestion Avoidance阶段;
(2)拥塞回避Congestion Avoidance阶段
(2.1)每接收到一个M-NACK信息,判断是否有数据包丢失:
(2.1.1)若无数据包丢失,则判断当前拥塞窗口cwnd值是否等于接收窗口rwnd值:若小于rwnd,并且接收到的应答信息不是第一个M-NACK信息,则cwnd=cwnd+1;若等于rwnd,则不变。就重新计算τ,并根据τ值间隔交错发送高低优先级的数据;
(2.1.2)若发现数据包丢失,则转入到数据丢失原因判断Loss Distinguish阶段;
(3)数据丢失原因判断Loss Distinguish阶段
根据数据的丢失状态,判断网络是否拥塞:
(3.1)网络拥塞:当丢失的数据包的优先级全部为低优先级时,即公式2所示,或者丢失的数据包数量超过了拥塞窗口值的一半,即公式3所示,则认为网络拥塞,同时转入到拥塞恢复Congestion Recovery阶段;
(3.2)误码:当只有一个数据包丢失,或者丢失状况不满足以上两种情况,则认为网络出现误码,高低优先级间隔重传丢失数据,发送时间间隔为τ,当发送完丢失数据后,转入到拥塞回避Congestion Avoidance阶段;
(3)拥塞恢复Congestion Recovery阶段
拥塞窗口值cwnd减半,即cwnd=cwnd/2,重新计算数据发送间隔时间τ,即τ=RTT/cwnd,高低优先级间隔重传丢失数据,发送时间间隔为τ,当发送完丢失数据后,转入到拥塞回避Congestion Avoidance阶段;
4、连接拆除
服务器端发起TCP连接拆除请求:
(1)服务器发送连接结束TCP数据包,等待客户端的应答;
(2)服务器收到结束应答数据包后,拆除此连接,进入监听状态;
客户端发起TCP连接拆除请求:
(1)客户端发送连接结束数据包,等待应答;
(2)服务器收到连接结束TCP数据包后,返回连接拆除确认应答数据包,拆除此次连接,进入到监听状态;
(3)客户端接收拆除应答后,拆除此连接。
Claims (1)
1、一种适用于卫星网络的高效交互传输方法,其特征在于它是在源代码公开的Linux操作系统上实现,该方法一次包含以下步骤:
步骤(1),连接监听
服务器进入“监听”状态,等待客户连接;
步骤(2),建立连接
步骤(2.1),从地面网络的一个客户终端发来的TCP连接请求,经过卫星网络的传输,到达服务器;
步骤(2.2),服务器接收到该连接请求后,TCP协议返回连接应答请求,准备传输数据;
在所述数据的IP包头中的TOS字段中设一位优先级比特,用pri表示,pri=1,为高优先级,pri=0,为低优先级;同时,在所述TOS字段还设一个状态比特,用start表示,并根据数据包头的优先级pri和状态start值,把数据分为以下四类:start=1,pri=0,start=1,pri=1,start=0,pri=0,start=0,pri=1;
start=1,pri=0,表示当网络出现拥塞时,服务器首先丢弃低优先级、高开始状态数据包;
start=1,pri=1,当低优先级、高开始状态的数据包不存在时,丢弃高优先级、高开始状态的数据包;
start=0,pri=0,当没有高开始状态的数据包时,丢弃低优先级、低开始状态的数据包;
start=0,pri=1,当以上三种数据包都不存在时,丢弃高优先级、低开始状态的数据包;
步骤(2.3),该客户端接收连接应答信号后,估计该客户与服务器之间的信号来回传输时间值RTTh,返回应答确认信号,信号中包含接收窗口值rwnd,并进入到数据接收状态,开始接收数据;
步骤(2.4),该服务器接收到确认应答信号后,估计服务器与客户之间的信号来回时间值RTTs,开始传送数据;
步骤(3),服务器向客户端传输数据:
步骤(3.1),超起始状态Super Start阶段:
步骤(3.1.1),该服务器根据rwnd值,计算初始的拥塞窗口值cwmd,cwnd=rwnd/2,再设置IP包头中的状态值start为1,高低优先级数据包交错发送,每间隔一个时间τ就发送一个数据包,τ=2·RTTs/rwnd,最多发送rwnd个数据包,并等待来自客户端的第一个应答信息;
步骤(3.1.2),该客户端在成功接收到第一个数据包后开始计时,当计时时间达到估计时间RTTh就向服务器发送一个应答信息M-NACK,所述的M-NACK信息中包括:20个字节的标准TCP头,期待服务器发送的下一个TCP数据段的序列值,期待服务器发送的下一个连续TCP数据段的序列值,以及所有没有正确接受的TCP数据段的序列值;
步骤(3.1.3),服务器接收到来自客户端的第一个M-NACK信息后,根据M-NACK的信息内容计算拥塞窗口cwnd值,增加量为成功接收的数据包数量,这样,如果没有数据包的丢失,则cwnd最大值为rwnd;与此同时,服务器设置IP包头中的状态值start为0,这样随后发送数据包的IP包头中的状态值start为0;服务器退出超起始状态Super Start阶段,进入到拥塞回避阶段Congestion Avoidance;
步骤(3.2),拥塞回避阶段Congestion Avoidance:
服务器每接收到一个M-NACK信息,包括第一个M-NACK,判断是否有数据丢失:
若:无数据丢失,则判断当前cwnd值是否等于rwnd:若小于rwnd,并且接收到的M-NACK不是第一个M-NACK,则cwnd=cwnd+1;若等于rwnd,则不变;重新计算数据发送间隔τ值,并根据τ值间隔交错发送高低优先级的数据;
若:发现数据丢失,则转入到丢失判断阶段Loss Distinguish;
步骤(3.3),丢失判断阶段Loss Distinguish:根据数据的丢失状态,判断网络是否拥塞:
步骤(3.3.1),按照步骤(2.2)所述判断丢失数据包的种类;
步骤(3.3.2),若丢失的数据包的优先级全部为低优先级时,lost_pri=lost_num,或者丢失的数据包数量超过了拥塞窗口值cwnd的一半,lost_num>cwnd/2,则认为网络拥塞,同时转入到拥塞恢复阶段Congestion Recovery;
步骤(3.3.3),当只有一个数据包丢失,或者丢失状况不满足步骤(3.3.2)所述的情况,则认为网络出现误码,服务器按照时间间隔τ高低优先级交错重传丢失数据,在发送完丢失数据后,转入到拥塞回避阶段Congestion Avoidance;
步骤(3.4),拥塞恢复阶段Congestion Recovery:
服务器把拥塞窗口值cwnd减半,即cwnd=cwnd/2,重新计算时间间隔τ,即τ=RTTs/cwnd,并按照时间间隔τ高低优先级交错重传丢失数据,当发送完丢失数据后,转入到拥塞回避阶段Congestion Avoidance;
步骤(4),服务器拆除连接,依次包含以下步骤:
当服务器端发送TCP连接拆除请求时:执行以下步骤:服务器发送连接结束TCP数据包,等待客户端的应答;客户端接收到拆除请求后,返回连接拆除确认应答数据包,拆除此连接;服务器收到结束应答数据包后,拆除此连接,进入监听状态;
当客户端发起TCP连接拆除请求时:客户端发送TCP连接拆除数据包,等待应答;服务器收到连接拆除TCP数据包后,返回连接拆除确认应答数据包,拆除此次连接;客户端接收拆除应答后,拆除此连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101140870A CN1946078B (zh) | 2006-10-27 | 2006-10-27 | 一种适用于卫星网络的高效交互传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101140870A CN1946078B (zh) | 2006-10-27 | 2006-10-27 | 一种适用于卫星网络的高效交互传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1946078A true CN1946078A (zh) | 2007-04-11 |
CN1946078B CN1946078B (zh) | 2010-08-11 |
Family
ID=38045292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101140870A Expired - Fee Related CN1946078B (zh) | 2006-10-27 | 2006-10-27 | 一种适用于卫星网络的高效交互传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1946078B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854297A (zh) * | 2010-05-21 | 2010-10-06 | 南京邮电大学 | 一种卫星网络中传输控制协议跨层的设计方法 |
CN101854367A (zh) * | 2010-06-13 | 2010-10-06 | 用友软件股份有限公司 | 用于服务器端监控客户端的方法和系统 |
CN101895332A (zh) * | 2010-08-09 | 2010-11-24 | 中国电子科技集团公司第五十四研究所 | 一种空间tcp流量控制和差错控制方法 |
CN101944974A (zh) * | 2010-09-28 | 2011-01-12 | 北京邮电大学 | 卫星网络的高效内容分发技术 |
CN102420676A (zh) * | 2011-11-30 | 2012-04-18 | 中国人民解放军西安通信学院 | 一种适用于深空星际卫星网络的高效交互传输方法 |
CN108965150A (zh) * | 2018-07-27 | 2018-12-07 | 广东电网有限责任公司 | 具有直接加速框架的数据传输系统 |
CN111371533A (zh) * | 2020-03-09 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、存储介质及设备 |
CN112165355A (zh) * | 2020-10-23 | 2021-01-01 | 中国电子科技集团公司第三十研究所 | 一种面向卫星网络的基于udp的可靠数据传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1172458C (zh) * | 2002-11-08 | 2004-10-20 | 清华大学 | Tp-s卫星信道传输方法 |
CN1266847C (zh) * | 2003-07-14 | 2006-07-26 | 中国科学院计算技术研究所 | 一种分布式的卫星网络tcp性能加速协议格式和方法 |
KR101085677B1 (ko) * | 2005-04-26 | 2011-11-22 | 삼성전자주식회사 | 레지덴셜 이더넷에서 수퍼 프레임의 시작에 대한 주기적동기 방법 |
-
2006
- 2006-10-27 CN CN2006101140870A patent/CN1946078B/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854297A (zh) * | 2010-05-21 | 2010-10-06 | 南京邮电大学 | 一种卫星网络中传输控制协议跨层的设计方法 |
CN101854297B (zh) * | 2010-05-21 | 2013-01-02 | 南京邮电大学 | 一种卫星网络中传输控制协议跨层的设计方法 |
CN101854367A (zh) * | 2010-06-13 | 2010-10-06 | 用友软件股份有限公司 | 用于服务器端监控客户端的方法和系统 |
CN101895332B (zh) * | 2010-08-09 | 2012-11-28 | 中国电子科技集团公司第五十四研究所 | 一种空间tcp流量控制和差错控制方法 |
CN101895332A (zh) * | 2010-08-09 | 2010-11-24 | 中国电子科技集团公司第五十四研究所 | 一种空间tcp流量控制和差错控制方法 |
CN101944974A (zh) * | 2010-09-28 | 2011-01-12 | 北京邮电大学 | 卫星网络的高效内容分发技术 |
CN102420676A (zh) * | 2011-11-30 | 2012-04-18 | 中国人民解放军西安通信学院 | 一种适用于深空星际卫星网络的高效交互传输方法 |
CN102420676B (zh) * | 2011-11-30 | 2014-03-26 | 中国人民解放军西安通信学院 | 一种适用于深空星际卫星网络的高效交互传输方法 |
CN108965150A (zh) * | 2018-07-27 | 2018-12-07 | 广东电网有限责任公司 | 具有直接加速框架的数据传输系统 |
CN108965150B (zh) * | 2018-07-27 | 2021-11-16 | 广东电网有限责任公司 | 具有直接加速框架的数据传输系统 |
CN111371533A (zh) * | 2020-03-09 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、存储介质及设备 |
CN111371533B (zh) * | 2020-03-09 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、存储介质及设备 |
CN112165355A (zh) * | 2020-10-23 | 2021-01-01 | 中国电子科技集团公司第三十研究所 | 一种面向卫星网络的基于udp的可靠数据传输方法 |
CN112165355B (zh) * | 2020-10-23 | 2022-03-22 | 中国电子科技集团公司第三十研究所 | 一种面向卫星网络的基于udp的可靠数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1946078B (zh) | 2010-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1324862C (zh) | 通信网络中调整拥塞窗口的方法 | |
CN1946078A (zh) | 一种适用于卫星网络的高效交互传输方法 | |
CN1778079A (zh) | 用于协调tcp/ip网络与其他网络之间的流控制的方法和设备 | |
CN1244211C (zh) | 发射控制方法和系统 | |
CN1227854C (zh) | 用于蜂窝电信的链路层确认和重发 | |
JP5020076B2 (ja) | 低頻度ackのシステムに適した高性能tcp | |
CN1968074A (zh) | 网络封包串流仿真方法 | |
CN1266847C (zh) | 一种分布式的卫星网络tcp性能加速协议格式和方法 | |
CN1700629A (zh) | 移动自组织网中发送数据的方法及利用该方法的网络设备 | |
CN1909503A (zh) | 一种探测路径最大传输单元的方法 | |
CN1172458C (zh) | Tp-s卫星信道传输方法 | |
CN1568607A (zh) | 无线通信系统内的重发方法和装置 | |
CN1545286A (zh) | 基于ecn且带预测验证的拥塞控制方法 | |
CN101047485A (zh) | 通信终端以及重发控制方法 | |
CN1568603A (zh) | 用于在无线通信系统内消息分段的方法和设备 | |
CN102340535B (zh) | 数据传输方法、设备和系统 | |
EP2486686A1 (en) | An efficient application-layer automatic repeat request retransmission method for reliable real-time data streaming in networks | |
CN1812313A (zh) | 无线链路控制层缓冲区溢出的控制方法 | |
CN104243097A (zh) | 基于卫星网络的数据传输方法及系统 | |
CN1633796A (zh) | 针对广播或无线网络修改tcp/ip | |
CN1622536A (zh) | 用于控制数据发送的发送器设备 | |
CN1504037A (zh) | 数据通信方法、数据通信系统和程序 | |
CN1287568C (zh) | 局域网内的数据传输方法 | |
CN115883680A (zh) | 一种基于arq的udp协议数据传输方法、系统及设备 | |
CN1298132C (zh) | 接收设备、发送设备和程序 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100811 Termination date: 20111027 |