ImageVerifierCode 换一换
格式:PDF , 页数:20 ,大小:609.06KB ,
资源ID:4311643      下载积分:30 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zhuanlichaxun.net/d-4311643.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一种适用于深空星际卫星网络的高效交互传输方法.pdf)为本站会员(000****221)主动上传,专利查询网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知专利查询网(发送邮件至2870692013@qq.com或直接QQ联系客服),我们立即给予删除!

一种适用于深空星际卫星网络的高效交互传输方法.pdf

1、(10)申请公布号 CN 102420676 A (43)申请公布日 2012.04.18 C N 1 0 2 4 2 0 6 7 6 A *CN102420676A* (21)申请号 201110390561.3 (22)申请日 2011.11.30 H04L 1/00(2006.01) H04L 29/06(2006.01) (71)申请人中国人民解放军西安通信学院 地址 710106 陕西省西安市长安区西安通信 学院 (72)发明人刘炯 谢小平 徐辉 底翔 马军骥 战文杰 陈麒 宋宇 罗凯 罗国栋 (74)专利代理机构西安文盛专利代理有限公司 61100 代理人佘文英 (54) 发明名称

2、 一种适用于深空星际卫星网络的高效交互传 输方法 (57) 摘要 本发明属于深空星际卫星网络传输技术领 域,其特征在于:在连接建立阶段就开始发送信 息数据;采用三级优先级分组数据等间隔交错发 送的传输策略;采用初始发送Initialization Sending策略;根据不同优先级分组数据的丢失 情况,判断数据丢失原因,分析网络的拥塞程度, 并采用相应的信息流量控制算法;采用主动周期 选择的接收应答策略。在随机误码极高、突发误码 严重、传播时延极长、信道带宽非常不对称的深空 星际卫星网络中,此方法能够避免连接等待的时 间消耗,迅速提升信息流量,有效区分链路误码和 拥塞情况,并根据网络的拥塞程度

3、采用相应的信 息流量控制,极大地降低了反向链路的传输带宽 要求。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 12 页 附图 4 页 CN 102420688 A 1/3页 2 1.一种适用于深空星际卫星网络的高效交互传输方法,其特征在于它是在源代码公开 的Linux操作系统上实现,该方法包含以下步骤: 步骤(1),连接监听 客户端进入“监听”状态,等待服务器连接; 步骤(2),建立连接 步骤(2.1),从服务器端发送连接请求,并按照拥塞窗口最大值cwnd max 的1/6开始发送 数据信息,设置数据信息IP包头中的两比特“p

4、ri”分别为2、1、0,即高、中、低优先级分组数 据交错发送,每间隔一个时间就发送一个分组数据,其中,RTT min 为服务器 与客户端的星际网络中两行星之间最短的传播时延; 步骤(2.2),从服务器来的连接请求,经过深空星际网络传输到达客户端; 步骤(2.3),客户端收到连接请求后,判断是否建立连接: 步骤(2.3.1)若拒绝连接,则返回拒绝连接应答信息,丢弃之后接收到的分组数据,结 束连接; 步骤(2.3.2)若接受连接,则开始估计RTT i 时间,返回连接应答信息,并接收到达的分 组数据; 步骤(2.4),客户端在接收了cwnd max /6的分组数据后,返回数据接收应答信息,应答信 息

5、采用M-NACK格式,计算出数据发送返回RTT i 时间,并按照RTT i 时间定时发送M-NACK应 答信息; 步骤(2.5),服务器接收到连接应答信息后,返回应答确认信息,估计数据发送返回 RTT i 时间,并转入到步骤(3); 步骤(3),数据的丢失判断: 步骤(3.1),服务器接收到M-NACK应答信息后,根据M-NACK的信息内容判断是否有数 据丢失: 步骤(3.1.1),若存在数据丢失,则根据丢失数据的优先级和数量判断是否网络出现拥 塞; 步骤(3.1.1.1),若丢失数据高、中、低优先级都存在,而且成功接收数据中各种优先级 的数据都有,则判断为网络中出现链路误码,则转入到(3.1

6、.2); 步骤(3.1.1.2),其他情况则判断为网络拥塞,根据具体的数据丢失情况分析网络拥塞 的情况: 步骤(3.1.1.2.1),若丢失的分组数据都是低优先级分组数据,即lost_numlow_ pri,lost_num为整个丢失分组数据的数量,low_pri为丢失的低优先级分组数据数量, 则判断网络的拥塞情况较轻,则将拥塞窗口cwnd值设置为当前值的1/2,并转入到步骤 (3.1.1.2.4); 步骤(3.1.1.2.2),若丢失分组数据为低优先级的全部分组数据和部分中等优先级分 组数据,即lost_numlow_num+mid_num,mid_num为丢失的中等优先级分组数据数量,则

7、判断网络的拥塞情况比较严重,不仅路由器队列中的低优先级分组数据全部被丢弃,而且 中等优先级的分组数据开始被丢弃,则将拥塞窗口cwnd值设置为当前值的1/3,并转入到 步骤(3.1.1.2.4); 权 利 要 求 书CN 102420676 A CN 102420688 A 2/3页 3 步骤(3.1.1.2.3),若丢失分组数据为中、低优先级的全部分组数据和部分或者全部 高优先级分组数据,即,则判断网络的拥塞情况非常严重, 不仅中、低优先级分组数据全部丢弃,而且还会有高优先级分组数据的丢弃,则将拥塞窗口 cwnd值设置为当前值的1/4,并转入到步骤(3.1.1.2.4); 步骤(3.1.1.2

8、.4),转入步骤(7); 步骤(3.1.2),没有分组丢失,则直接进入到步骤(4);若判断为网络出现误码,则开始 重传丢失的分组数据,丢失分组数据的重传仍然按照等间隔三级优先级交错发送的方式进 行,发送间隔按照如下公式计算得出:在发送完丢失数据后,并转入到步骤 (4); 步骤(4),拥塞回避阶段的判断: 判断收发两端是否已经执行过拥塞回避Congestion Avoidance策略: 步骤(4.1)若没有,则并转入到步骤(6); 步骤(4.2)若已经执行过拥塞回避Congestion Avoidance策略,则转入到步骤(7); 步骤(5),拥塞恢复: 步骤(5.1),重新计算数据发送间隔时间

9、,即RTT i /cwnd; 步骤(5.2),三级优先级间隔重传丢失数据,发送完丢失数据后,并转入到步骤(7); 步骤(6),初始发送数据: 步骤(6.1),将cwnd值增加1倍,即cwnd2cwnd,若cwndcwnd max ,则令cwnd cwnd max ,重新计算数据发送间隔,即并按照三级优先级等间隔交错发送的方 式发送分组数据; 步骤(6.2),当cwnd的分组数据发送完后,将cwnd减半,即cwndcwnd/2,重新计算 数据发送间隔,即按照三级优先级等间隔交错发送的方式发送分组数据; 步骤(6.3),在发送完数据后,将cwnd增加1倍,即cwnd2cwnd,比较cwnd值: 步

10、骤(6.3.1)若cwndcwnd max ,则转入到步骤(3); 步骤(6.3.2)若cwndcwnd max ,则令cwndcwnd max ,并转入到步骤(7); 步骤(7),拥塞回避: 每接收到一个M-NACK信息,判断是否有数据包丢失: 步骤(7.1)若无分组数据丢失,则判断当前拥塞窗口cwnd值是否等于cwnd max 值:若小 于cwnd max ,则按照成功接收的分组数据数量增加cwnd;若等于cwnd max ,则不变。重新计算 ,即RTT i /cwnd,并根据值间隔交错发送三级优先级的分组数据; 步骤(7.2)若发现分组数据丢失,则转入到步骤(3); 步骤(8),连接拆除

11、: 步骤(8.1),若服务器端发起连接拆除请求: 步骤(8.1.1),服务器发送连接结束分组信息,等待客户端的应答; 权 利 要 求 书CN 102420676 A CN 102420688 A 3/3页 4 步骤(8.1.2),客户端收到连接结束分组信息后,返回确认应答信息,拆除此次连接,进 入监听状态; 步骤(8.1.3),服务器接收到确认应答分组信息后,拆除此次连接,进入监听状态; 步骤(8.2),若客户端发起连接拆除请求: 步骤(8.2.1),客户端发送连接结束分组信息,等待服务器的应答; 步骤(8.2.2),服务器收到连接结束分组信息后,返回确认应答信息,拆除此次连接,进 入到监听状

12、态; 步骤(8.2.3),客户端接收到确认应答分组信息后,拆除此次连接,进入到监听状态。 权 利 要 求 书CN 102420676 A CN 102420688 A 1/12页 5 一种适用于深空星际卫星网络的高效交互传输方法 技术领域 0001 本发明属于深空星际卫星网络传输技术领域。 背景技术 0002 目前,在国际互联网上得到广泛应用的TCP协议提出于上世纪80年代,在几十年 的发展演变过程中,先后出现了TCP-Tahoe、TCP-Reno、TCP-NewReno以及TCP-SACK等协议 版本,TCP-Reno的应用最普遍。这些不同版本的TCP协议都是针对误码率极低和传播延时 非常小

13、的有线网络设计的,即数据在传输过程中由于误码导致差错的可能非常小,以及等 待数据接收应答的时间非常短。所以,一旦出现数据的丢失或损坏以及长时间的无应答, TCP协议就会认为网络出现了拥塞,并采取拥塞回避等流量控制算法。这些假设不仅简化了 TCP协议的处理流程,而且很好地利用了有线网络的传输特性,满足了地面互联网的发展需 要。 0003 然而,这些基于高速和可靠的信道传输假设却在深空星际卫星网络环境中无法成 立,因此也就对TCP协议的传输性能造成了非常不利的影响。深空星际卫星网络的特点主 要包括如下几点: 0004 1)极长的传播时延 0005 地面网络的数据传输往返时间(RTT,发送端从发送数

14、据到收到应答所需的时间) 为几到几十个毫秒,典型的RTT为80毫秒。在深空星际卫星网络中的传播时延则比地面网 络大得多,地球与月球之间的RTT在2.6秒左右,是地面网络的30多倍;地球与火星之间距 离更远、RTT更长,是地面网络的几千倍;地球与太阳系内其它行星之间的传播时延最长可 达几小时。 0006 深空星际卫星网络中极长的传播时延对TCP协议造成了非常不利的影响,突出表 现在如下两方面:a)连接建立等待时间过长,超过了连接等待超时时间,使得TCP协议在数 据传输之前就终止了连接;b)拥塞窗口增长速度非常缓慢,使得协议的慢启动阶段耗时过 长,严重影响了星际网络的链路资源利用。 0007 2)

15、极高的信道随机误码率 0008 深空星际卫星网络的电磁环境非常恶劣,不仅包括传播距离非常远造成的信号能 量大量衰减,而且还包括空间环境中强烈的电磁干扰。这些都造成了星际卫星网络极高的 链路随机误码,误码率可以高达10 -1 。 0009 深空星际卫星网络中极高的链路随机误码率严重影响了TCP协议的传输性能,使 得协议在不断重传丢失信息的同时,重复启动慢启动算法,严重限制了TCP连接信息流量 的高速传输,有时甚至导致信息的无法传输。 0010 3)严重的信道突发误码 0011 由于深空环境中的带电粒子冲击、运动天体传输链路的遮蔽以及行星大气层的剧 烈变化,经常会有持续数分钟的突发误码情况发生。

16、0012 深空星际卫星网络中严重的信道突发误码,使得TCP协议的性能更加不稳定,有 说 明 书CN 102420676 A CN 102420688 A 2/12页 6 时甚至还会导致超时重传,使得TCP的性能达到最差。 0013 4)严重的信道带宽不对称 0014 由于受到卫星、飞船等等航天器的功率限制,深空星际网络的传输链路带宽呈现 出非常严重的不对称现象,即从地球向深空的前向传输链路带宽比由深空返回的反向传输 链路带宽大的多,往往相差百余倍,有时甚至高达上千倍。 0015 深空星际卫星网络中严重的链路带宽不对称,使得TCP协议在信息传输过程中, 往往会因为反向传输链路的信息拥塞造成前向链

17、路吞吐量的急剧下降。 0016 5)周期性的链路中断 0017 由于受到地球、其它行星的自转和卫星运动轨道相互之间的影响,深空星际卫星 网络中的信息传输链路呈现周期性中断的特点。在传输链路周期中断期间,TCP协议的信 息传输显然无法实现。 0018 研究和分析表明,TCP协议中的连接建立、慢启动、拥塞控制、接收应答以及超时等 待等算法和关键参数的设置是导致TCP协议在深空星际卫星网络中性能差的主要原因。 0019 为了改善TCP协议在误码率高、长传播延时等各种网络环境中的传输性能,目前 已经提出了很多改进方案,可以归纳为如下几类。 0020 一、基本改进方案 0021 这些方案提出较早,对TC

18、P协议的改动也很小,有些已经成为TCP协议中的扩展选 项。 0022 1)增大初始拥塞窗口值:就是初始拥塞窗口cwnd值IW从1个数据段按照以下公 式增加:IWmin4MSS,max(2MSS,4380bytes),MSS为最大TCP数据段长度。 0023 2)扩大最大TCP发送窗口:就是把发送窗口从16位比特扩展到30位比特,这样 最大发送窗口值从64k字节扩展到了1G字节。 0024 3)T/TCP:在收发两端的第一次连接之后,其后的TCP连接跳过连接建立的三次握 手过程,直接进入到信息传输阶段。 0025 4)多TCP连接:将一个TCP连接拆分成多个TCP连接,从收发两端的信息传输效 果

19、上看,无疑是增加了数倍的信息传输流量。 0026 5)明确拥塞指示:通过在IP数据报头中设置网络拥塞指示信息位来告知发送端 网络的信息传输状态。 0027 6)TCP头压缩:压缩TCP头的信息量从而提高传输效率。 0028 这些基本改进方案虽然具有协议改动小、实施方便的优点,但对协议性能的改进 非常有限。 0029 二、数据报优先级方案 0030 1)Fast Start协议:为了解决连接开始阶段数据流量低的问题,在数据传输初始 阶段采用最近一次TCP连接的发送窗口来控制数据流量。为了避免突发的数据流量造成网 络拥塞,设置初始阶段的IP分组优先级为低优先级。 0031 2)TCP Peach:

20、采用了Sudden Start和Rapid Recovery等新的算法,其核心思想 是发送大量低优先级的重复数据段,根据返回的应答情况探测网络中的可用带宽和控制信 息流量。 0032 3)TCP PBS:沿用了TCP-Peach协议低优先级数据段发送的思路,并改进了Sudden 说 明 书CN 102420676 A CN 102420688 A 3/12页 7 Start和Rapid Recovery,提出了Accelerative Start和Expeditious Recovery两个新 的算法。 0033 4)TP-Planet:对TCP协议改动非常大,包括“INITIAL STATE

21、”和“STEDY STATE” 两个状态集,两个状态集又包含多个子状态。在两个状态集,协议均会发送大量低优先级的 无效数据段来探测网络状态。 0034 5)TP-Satellite:采用了超起始Super Start算法以取代慢启动算法,增加了数 据丢失判断算法,并采用了主动周期选择的应答算法。协议的突出特点就是间隔发送高低 优先级数据段,根据不同优先级数据的接收情况判断网络状态,并采取相应的信息流量控 制算法。 0035 三、可用带宽估计方案 0036 1)TCP Westwood:通过不断监测接收到的应答数据段实现端到端的可用带宽估 计,并当出现数据丢失时,利用可用带宽的估计计算拥塞窗口和

22、慢启动门限等重要参数。 0037 2)TCP-STAR:除了通过监测应答数据段来估计可用带宽,还增加了发送查询数据 段来判断数据接收情况。 0038 3)Faster Recovery:是对TCP Westwood协议的改进,提出了一个基于带宽估计的 数据丢失恢复机制。 0039 四、拥塞窗口指示方案 0040 此类方案的典型代表是XCP协议以及其改进协议P-XCP。XCP协议中,ECN不再仅 仅采用单比特信息来表示网络拥塞与否,而是在TCP头部分增加拥塞字段,传输过程中路 由器参与拥塞字段参数值的调整和修改,以此达到信息流量的精确控制和传输带宽的公平 分配。 0041 五、信道不对称改进方案

23、 0042 1)SACK:接收端通知发送端哪些数据段已经正确接收,发送端可以根据SACK信息 判断出没有成功接收的数据段,并一次重传多个丢失的TCP数据段,减少重传等待时间,提 高重传效率。 0043 2)NACK:当接收端发现有数据丢失时,直接向发送端发送未正确接收的数据段的 信息。 0044 3)ACK拥塞控制:为了减少瓶颈链路TCP应答数据段的数量,接收端动态调整应答 数据段的发送周期因子。当网络出现应答信息拥塞时,则延长ACK的发送间隔;反之,则减 小应答间隔。 0045 六、其它协议层修改方案 0046 在其它协议层的修改主要集中在网络层下的数据链路层。链路层的协议修改则大 多是增加

24、重传机制,即在发送端的链路层对接收到的ACK信息进行判断,若发现有数据丢 失,则直接重传该数据,而不向传输层传送重传请求信息。目前,链路层的典型修改方案是 Snoop协议。 0047 七、代理方案 0048 1)TCP-Splitting代理:就是在网络物理环境发生变化的交界处设置网关代理以 切断TCP连接。这样一个端到端的TCP连接就会被切分成多段TCP连接。每一段连接都可 以采用特殊的传输控制协议,如STP、突发误码重传协议、AeroTCP等。 说 明 书CN 102420676 A CN 102420688 A 4/12页 8 0049 2)TCP-Spoofing代理:与TCP-Spl

25、itting代理方案的不同是保持了TCP协议端到 端连接的完整性,在数据链路层实现虚假ACK应答的发送以及差错数据段的重传。 0050 八、跨层联合设计 0051 为了达到数据传输的最优,各层内部的信息相互共享,层次之间相互协作、联合设 计逐渐成为研究热点。应用层中的数据传输状态信息(长数据流传输的开始、中间、结束, 或者一个单独的数据传输),物理层的链路可用带宽和误码率信息,都可以成为各个层设计 时考虑的参数。跨层联合设计是把原本各层中的“私有”信息“共享”,使得每个层的设计不 再独立、单一,有利于整体性能提高。 0052 上述这些不同类型的改进方案大多是针对网络的某种特点而提出的,有的是针

26、对 误码率高的信道特点,有的是针对特殊网络拓扑结构的情况,有的则是针对传输延时不断 变化的特点,综合考虑深空星际网络环境特点提出的改进方案则非常少。因此,这些TCP改 进方案在深空星际网络中的性能表现就很差,现在就分析深空星际网络的网络特点对改进 方案的性能影响。 0053 1、极长的传播时延,使得Fast Start、STP、TCP-Peach、TCP Westwood、TCP-STAR、 XCP和TP-Satellite等各类改进方案中的典型协议消耗非常长的时间来等待连接建立的 确认,同时也使得拥塞窗口增长非常缓慢,限制了信息流量; 0054 2、极高的信道随机误码率,导致Fast Sta

27、rt、STP、TCP Westwood、TCP-STAR等改 进协议错误地认为网络拥塞情况严重,使得协议不断启动慢启动算法,协议前向吞吐量受 到极大限制; 0055 3、严重的信道突发误码,使得Fast Start、STP、TCP Westwood、XCP和TCP-STAR协 议已经无法正常传输数据,也使得TCP-Peach协议通过发送大量无效数据段探测网络链路 状态的方法失去作用,同时也降低了利用高低优先级交替发送数据的TP-Satellite协议 对链路状态判断的准确性; 0056 4、严重的信道带宽不对称,使得反向链路数据传输严重拥塞,导致很多改进方案 的前向链路吞吐量极低,甚至无法传输

28、数据; 0057 目前提出的改进方案除了存在上述的问题外,对于深空星际网络的拥塞状况也不 能作出判断,即无法针对网络不同程度的拥塞作出相应的数据流量控制。 发明内容 0058 本发明的目的在于提供一种可靠的为深空星际卫星网络设计的TP-DSN深空星际 卫星网络高效交互传输方法。此方法能够避免连接等待的时间消耗,迅速提升信息流量,有 效区分链路误码和拥塞情况,并根据网络的拥塞程度采用相应的信息流量控制,极大地降 低了反向链路的传输带宽要求。 0059 本发明的技术方案是:一种适用于深空星际卫星网络的高效交互传输方法,特征 在于,它是在源代码公开的Linux操作系统上实现。该方法包含以下步骤: 0

29、060 步骤(1),连接监听 0061 客户端进入“监听”状态,等待服务器连接; 0062 步骤(2),建立连接 0063 步骤(2.1),从服务器端发送连接请求,并按照拥塞窗口最大值cwnd max 的1/6开始 说 明 书CN 102420676 A CN 102420688 A 5/12页 9 发送数据信息,设置数据信息IP包头中的两比特“pri”分别为2、1、0,即高、中、低优先级分 组数据交错发送,每间隔一个时间就发送一个分组数据。其中,RTT min 为服 务器与客户端的星际网络中两行星之间最短的传播时延; 0064 步骤(2.2),从服务器来的连接请求,经过深空星际网络传输到达客

30、户端; 0065 步骤(2.3),客户端收到连接请求后,判断是否建立连接: 0066 步骤(2.3.1)若拒绝连接,则返回拒绝连接应答信息,丢弃之后接收到的分组数 据,结束连接; 0067 步骤(2.3.2)若接受连接,则开始估计RTT i 时间,返回连接应答信息,并接收到达 的分组数据; 0068 步骤(2.4),客户端在接收了cwnd max /6的分组数据后,返回数据接收应答信息,应 答信息采用M-NACK格式,即包括:20个字节的标准TCP头、期待服务器发送的下一个TCP 数据段的序列值、期待服务器发送的下一个连续TCP数据段的序列值,以及所有没有正确 接受的TCP数据段的序列值。计算

31、出数据发送返回RTT i 时间,并按照RTT i 时间定时发送 M-NACK应答信息; 0069 步骤(2.5),服务器接收到连接应答信息后,返回应答确认信息,估计数据发送返 回RTTi时间,并转入到步骤(3)。 0070 步骤(3),数据的丢失判断: 0071 步骤(3.1),服务器接收到M-NACK应答信息后,根据M-NACK的信息内容判断是否 有数据丢失: 0072 步骤(3.1.1),若存在数据丢失,则根据丢失数据的优先级和数量判断是否网络出 现拥塞: 0073 步骤(3.1.11),若丢失数据高、中、低优先级都存在,而且成功接收数据中各种优 先级的数据都有,则判断为网络中出现链路误码

32、,则转入到(3.1.2); 0074 步骤(3.1.1.2),其他情况则判断为网络拥塞,根据具体的数据丢失情况分析网络 拥塞的情况: 0075 步骤(3.1.1.2.1),若丢失的分组数据都是低优先级分组数据,即lost_num low_pri,lost_num为整个丢失分组数据的数量,low_pri为丢失的低优先级分组数据数 量,则判断网络的拥塞情况较轻,则将拥塞窗口cwnd值设置为当前值的1/2,并转入到步骤 (3.1.1.2.4); 0076 步骤(3.1.1.2.2),若丢失分组数据为低优先级的全部分组数据和部分中等优先 级分组数据,即lost_numlow_num+mid_num,m

33、id_num为丢失的中等优先级分组数据数 量,则判断网络的拥塞情况比较严重,不仅路由器队列中的低优先级分组数据全部被丢弃, 而且中等优先级的分组数据开始被丢弃,则将拥塞窗口cwnd值设置为当前值的1/3,并转 入到步骤(3.1.1.2.4); 0077 步骤(3.1.1.2.3),若丢失分组数据为中、低优先级的全部分组数据和部分或者 全部高优先级分组数据,即,则判断网络的拥塞情况非常严 说 明 书CN 102420676 A CN 102420688 A 6/12页 10 重,不仅中、低优先级分组数据全部丢弃,而且还会有高优先级分组数据的丢弃,则将拥塞 窗口cwnd值设置为当前值的1/4,并转

34、入到步骤(3.1.1.2.4); 0078 步骤(3.1.1.2.4),转入步骤(7); 0079 步骤(3.1.2),没有分组丢失,则直接进入到步骤(4)。若判断为网络出现误码,则 开始重传丢失的分组数据。丢失分组数据的重传仍然按照等间隔三级优先级交错发送的方 式进行,发送间隔按照如下公式计算得出:在发送完丢失数据后,并转入到 步骤(4); 0080 步骤(4),拥塞回避阶段的判断: 0081 判断收发两端是否已经执行过拥塞回避Congestion Avoidance策略: 0082 步骤(4.1)若没有,则并转入到步骤(6); 0083 步骤(4.2)若已经执行过拥塞回避Congestio

35、n Avoidance策略,则转入到步骤 (7); 0084 步骤(5),拥塞恢复: 0085 步骤(5.1),重新计算数据发送间隔时间,即RTT i /cwnd; 0086 步骤(5.2),三级优先级间隔重传丢失数据,发送完丢失数据后,并转入到步骤 (7); 0087 步骤(6),初始发送数据: 0088 步骤(6.1),将cwnd值增加1倍,即cwnd2cwnd,若cwndcwnd max ,则令cwnd cwnd max 。重新计算数据发送间隔,即并按照三级优先级等间隔交错发送的 方式发送分组数据; 0089 步骤(6.2),当cwnd的分组数据发送完后,将cwnd减半,即cwndcwn

36、d/2,重新计 算数据发送间隔,即按照三级优先级等间隔交错发送的方式发送分组数据; 0090 步骤(6.3),在发送完数据后,将cwnd增加1倍,即cwnd2cwnd,比较cwnd值: 0091 步骤(6.3.1)若cwndcwnd max ,则转入到步骤(3); 0092 步骤(6.3.2)若cwndcwnd max ,则令cwndcwnd max ,并转入到步骤(7); 0093 步骤(7),拥塞回避: 0094 每接收到一个M-NACK信息,判断是否有数据包丢失: 0095 步骤(7.1)若无分组数据丢失,则判断当前拥塞窗口cwnd值是否等于cwnd max 值: 若小于cwnd max

37、 ,则按照成功接收的分组数据数量增加cwnd;若等于cwnd max ,则不变。重新计 算,即RTT i /cwnd,并根据值间隔交错发送三级优先级的分组数据; 0096 步骤(7.2)若发现分组数据丢失,则转入到步骤(3); 0097 步骤(8),连接拆除: 0098 步骤(8.1),若服务器端发起连接拆除请求: 0099 步骤(8.1.1),服务器发送连接结束分组信息,等待客户端的应答; 0100 步骤(8.1.2),客户端收到连接结束分组信息后,返回确认应答信息,拆除此次连 接,进入监听状态; 0101 步骤(8.1.3),服务器接收到确认应答分组信息后,拆除此次连接,进入监听状 说 明

38、 书CN 102420676 A CN 102420688 A 7/12页 11 态; 0102 步骤(8.2),若客户端发起连接拆除请求: 0103 步骤(8.2.1),客户端发送连接结束分组信息,等待服务器的应答; 0104 步骤(8.2.2),服务器收到连接结束分组信息后,返回确认应答信息,拆除此次连 接,进入到监听状态; 0105 步骤(8.2.3),客户端接收到确认应答分组信息后,拆除此次连接,进入到监听状 态。 0106 本发明在图5的环境中进行了仿真实验。实验中,深空星际卫星网络中从地球 到月球的前向链路带宽为1Mbits/s,从月球到地球的反向链路带宽分别设为10kbits/s

39、、 5kbits/s、1kbits/s等,RTT min 设为2.4s,RTT设为3s,cwnd max 设为60。随机误码的情况下, 分组数据的丢包率为10 -2 ,突发误码情况下,链路平均突发误码长度为40个分组数据。实 验结果如下: 0107 表1文件传输时间(s) 0108 0109 表2单个连接情况下的前向链路吞吐量(kbits/s) 0110 0111 表3单个连接情况下的反向链路带宽占用(kbits/s) 0112 0113 表4不同反向链路带宽情况下的前向链路吞吐量(kbits/s) 说 明 书CN 102420676 A CN 102420688 A 8/12页 12 011

40、4 0115 表5不同反向链路情况下的反向链路带宽占用(kbits/s) 0116 0117 从表1可以看出,TP-DNS协议在不同大小文件的传输方面比其他协议占用的时间 少,特别在传输几十k字节的小文件优势更明显。对于网页浏览方式的访问来说,TCP连接 的文件传输一般也只有1020k字节。表2和表3可以看出,单个连接时,无论是在随机 误码还是在突发误码的情况下,TP-DNS均能够保持很高的前向链路吞吐量。并且反向链路 的带宽占用受到前向链路误码的影响非常小,并且保持在非常低的水平。然而,其他协议的 前向链路吞吐量则受到了误码的严重影响,而变得非常低。虽然TP-Peach协议在随机误码 情况时

41、前向链路吞吐量也较高,但其传输了大量用于探测网络的无效分组数据,实际的信 息传输量很小。从表4和表5可以看出,由于TP-DNS协议的反向链路带宽使用很少,所以 当深空星际卫星网络中的反向链路带宽从10kbits/s减少到1kbits/s时,前向链路的带宽 并没有受到影响。然而其他协议在反向链路带宽小于5kbits/s后,前向链路的吞吐量就受 到了影响,当反向链路接近1kbits/s时,前向链路的吞吐量则非常低。 0118 由于TP-DSN需要修改系统的堆栈协议,所以只能在源代码公开的Linux和 FreeBSD等操作系统上实现。 0119 实验证明,不论在单连接的情况下,还是在多个连接的情况下

42、,不论是否出现随机 误码或者突发误码,TP-DSN能够节省连接过程消耗的等待时间,迅速提升信息流量,其前向 链路吞吐量为最高,反向链路的带宽占用也最小。 附图说明 0120 图1是TP-DSN协议框架。 0121 图2是三级优先级数据交错发送策略。 0122 图3是数据丢失原因判断Loss Distinguish策略。 0123 图4是初始发送Initialization Sending策略。 0124 图5是深空星际卫星网络框图。 说 明 书CN 102420676 A CN 102420688 A 9/12页 13 具体实施方式 0125 TP-DSN的协议框架如图1所示,主要包含连接建立

43、Connection阶段、数据丢失 原因判断Loss Distinguish阶段、初始发送Initialization Sending阶段、拥塞回避 Congestion Avoidance阶段、拥塞恢复Congestion Recovery阶段。与TCP协议及改进方 案相比,创新点主要体现在以下几方面。 0126 一、三级优先级数据交错发送 0127 在整个信息传输过程中,TP-DSN将分组数据分为三级优先级,优先级的设置是在 IP包头中的TOS字段中的二位优先级比特(“pri”)实现。高、中、低三级优先级分组数据 采用交错发送的方法,具体发送方法如图2所示,即首先发送一个高优先级分组数据,

44、之后 连续发送两个中等优先级分组数据,紧接着发送一个高优先级分组数据,而后连续发送两 个低优先级分组数据。后面的分组数据按照上述方法循环执行。 0128 二、连接建立阶段数据发送 0129 在连接建立阶段,即收发两端在TCP连接握手过程中就开始传送信息数据。这样, 收发两端能够节省过长的连接等待时间,在地球和月球之间的信息传输就可以节省2 3s,地球与其他行星之间的信息传输则能够节省更多的时间。在三次往返的连接建立交互 过程中,分组数据等间隔发送。每次连接建立交互过程中的信息流量为发送拥塞窗口最大 值的1/6,即发送的分组数据为cwnd max /6。为了避免协议过于复杂,发送时间间隔设定 为

45、地球与行星之间RTT的最小值RTT min 与拥塞窗口之间的比值,即若在地球 与月球之间的TCP连接,则RTT min 为2.4s;若在地球与火星之间的连接,则RTT min 为200s。 0130 三、数据丢失原因判断Loss Distinguish策略 0131 为了实现对数据丢失原因的区分和判断,借鉴了TP-Satellite协议的设计思路, 增加了数据丢失原因判断Loss Distinguish策略。 0132 数据丢失原因判断Loss Distinguish策略的具体内容是:发送端根据接收到的 M-NACK信息判断是否有数据丢失。当发送端发现有数据丢失时,如图3所示,在重传丢失数 据

46、的同时,发送端根据高、中、低三级优先级分组数据的丢失情况分析数据丢失原因,并采 用相应的流量控制算法。 0133 当星际卫星网络出现拥塞并且网络拥塞情况较轻时,网络中的路由器首先将队列 中的低优先级数据包丢弃。这样的情况下,整个丢失分组数据的数量(lost_num)就是丢失 的低优先级分组数据数量(low_pri),如公式(1)所示: 0134 lost_numlow_pri (1) 0135 这种情况下,数据丢失原因判断Loss Distinguish策略则减小拥塞窗口cwnd值, 将其设置为当前值的1/2,并启动拥塞回避Congestion Recovery策略。 0136 当网络拥塞情况

47、比较严重时,不仅路由器队列中的低优先级分组数据全部被丢 弃,而且中等优先级的分组数据开始被丢弃。这种情况下,丢失的分组数据数量为低优先级 分组数量(low_num)和丢失的中等优先级分组数据数量(mid_num)之和,如公式(2)所示: 0137 lost_numlow_num+mid_num (2) 0138 这种情况下,数据丢失原因判断Loss Distinguish策略则将拥塞窗口cwnd值设 置为当前值的1/3,并启动拥塞回避Congestion Recovery策略。 说 明 书CN 102420676 A CN 102420688 A 10/12页 14 0139 网络拥塞情况非常

48、严重时,路由器队列中已没有低优先级和中等优先级的分组数 据,此时开始丢弃高优先级的分组数据。因此,应答信息中表示的丢失分组数据表明,不仅 中、低优先级分组数据全部丢弃,而且还会有高优先级分组数据的丢弃。所以,丢弃的分组 数据量大于发送的低优先级和中等优先级两种分组数据量的总和,如公式(3)所示: 0140 low_prilow_num 0141 mid_primid_num (3) 0142 lost_numlow_pri+mid_pri 0143 这种情况下,数据丢失原因判断Loss Distinguish策略则将cwnd值设置为当前 值的1/4,并启动拥塞回避Congestion Recovery策略。 0144 除了上述三种情况外,TP-DSN协议都认为数据的丢失是因为随机误码或者是突发 误码造成的,所以不减小cwnd值,信息流量不发生变化。 0145 四、初始发送Initialization Sending策略 0146 TP-DSN协议中的初始发送Initialization Sending策略的具体执行如图4所示, 在连接建立之后,将发送端的拥塞窗口设置为连接建立阶段拥塞窗口值的两倍,即cwnd cwnd max /3。数据按照三级优先级交错发送的算法等间隔发送

copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1