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

上传人:000****221 文档编号:4311643 上传时间:2018-09-13 格式:PDF 页数:20 大小:609.06KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110390561.3

申请日:

2011.11.30

公开号:

CN102420676A

公开日:

2012.04.18

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 1/00申请日:20111130授权公告日:20140326终止日期:20141130|||授权|||实质审查的生效IPC(主分类):H04L 1/00申请日:20111130|||公开

IPC分类号:

H04L1/00; H04L29/06

主分类号:

H04L1/00

申请人:

中国人民解放军西安通信学院

发明人:

刘炯; 谢小平; 徐辉; 底翔; 马军骥; 战文杰; 陈麒; 宋宇; 罗凯; 罗国栋

地址:

710106 陕西省西安市长安区西安通信学院

优先权:

专利代理机构:

西安文盛专利代理有限公司 61100

代理人:

佘文英

PDF下载: PDF下载
内容摘要

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

权利要求书

1: 一种适用于深空星际卫星网络的高效交互传输方法, 其特征在于它是在源代码公开 的 Linux 操作系统上实现, 该方法包含以下步骤 : 步骤 (1), 连接监听 客户端进入 “监听” 状态, 等待服务器连接 ; 步骤 (2), 建立连接 步骤 (2: 1), 从服务器端发送连接请求, 并按照拥塞窗口最大值 cwndmax 的 1/6 开始发送 数据信息, 设置数据信息 IP 包头中的两比特 “pri” 分别为 2、 1、 0, 即高、 中、 低优先级分组数 据交错发送, 每间隔一个时间 τ 就发送一个分组数据, 其中, RTTmin 为服务器 与客户端的星际网络中两行星之间最短的传播时延 ; 步骤 (2.2), 从服务器来的连接请求, 经过深空星际网络传输到达客户端 ; 步骤 (2.3), 客户端收到连接请求后, 判断是否建立连接 : 步骤 (2.3: 1) 若拒绝连接, 则返回拒绝连接应答信息, 丢弃之后接收到的分组数据, 结 束连接 ; 步骤 (2.3.2) 若接受连接, 则开始估计 RTTi 时间, 返回连接应答信息, 并接收到达的分 组数据 ; 步骤 (2.4), 客户端在接收了 cwndmax/6 的分组数据后, 返回数据接收应答信息, 应答信 息采用 M-NACK 格式, 计算出数据发送返回 RTTi 时间, 并按照 RTTi 时间定时发送 M-NACK 应 答信息 ; 步骤 (2.5), 服务器接收到连接应答信息后, 返回应答确认信息, 估计数据发送返回 RTTi 时间, 并转入到步骤 (3) ; 步骤 (3), 数据的丢失判断 : 步骤 (3.1), 服务器接收到 M-NACK 应答信息后, 根据 M-NACK 的信息内容判断是否有数 据丢失 : 步骤 (3.1.1), 若存在数据丢失, 则根据丢失数据的优先级和数量判断是否网络出现拥 塞; 步骤 (3.1.1.1), 若丢失数据高、 中、 低优先级都存在, 而且成功接收数据中各种优先级 的数据都有, 则判断为网络中出现链路误码, 则转入到 (3.1.2) ; 步骤 (3.1.1.2), 其他情况则判断为网络拥塞, 根据具体的数据丢失情况分析网络拥塞 的情况 : 步骤 (3.1.1.2.1), 若丢失的分组数据都是低优先级分组数据, 即 lost_num = low_ pri, lost_num 为整个丢失分组数据的数量, low_pri 为丢失的低优先级分组数据数量, 则判断网络的拥塞情况较轻, 则将拥塞窗口 cwnd 值设置为当前值的 1/2, 并转入到步骤 (3.1.1.2.4) ; 步骤 (3.1.1.2.2), 若丢失分组数据为低优先级的全部分组数据和部分中等优先级分 组数据, 即 lost_num = low_num+mid_num, mid_num 为丢失的中等优先级分组数据数量, 则 判断网络的拥塞情况比较严重, 不仅路由器队列中的低优先级分组数据全部被丢弃, 而且 中等优先级的分组数据开始被丢弃, 则将拥塞窗口 cwnd 值设置为当前值的 1/3, 并转入到 步骤 (3.1.1.2.4) ; 2 步骤 (3.1.1.2.3), 若丢失分组数据为中、 低优先级的全部分组数据和部分或者全部 高优先级分组数据, 即 , 则判断网络的拥塞情况非常严重, 不仅中、 低优先级分组数据全部丢弃, 而且还会有高优先级分组数据的丢弃, 则将拥塞窗口 cwnd 值设置为当前值的 1/4, 并转入到步骤 (3.1.1.2.4) ; 步骤 (3.1.1.2.4), 转入步骤 (7) ; 步骤 (3.1.2), 没有分组丢失, 则直接进入到步骤 (4) ; 若判断为网络出现误码, 则开始 重传丢失的分组数据, 丢失分组数据的重传仍然按照等间隔三级优先级交错发送的方式进 行, 发送间隔 τ 按照如下公式计算得出 : 在发送完丢失数据后, 并转入到步骤 (4) ; 步骤 (4), 拥塞回避阶段的判断 : 判断收发两端是否已经执行过拥塞回避 Congestion Avoidance 策略 : 步骤 (4: 1) 若没有, 则并转入到步骤 (6) ; 步骤 (4.2) 若已经执行过拥塞回避 Congestion Avoidance 策略, 则转入到步骤 (7) ; 步骤 (5), 拥塞恢复 : 步骤 (5: 1), 重新计算数据发送间隔时间 τ, 即 τ = RTTi/cwnd ; 步骤 (5.2), 三级优先级间隔重传丢失数据, 发送完丢失数据后, 并转入到步骤 (7) ; 步骤 (6), 初始发送数据 : 步骤 (6: 1), 将 cwnd 值增加 1 倍, 即 cwnd = 2·cwnd, 若 cwnd ≥ cwndmax, 则令 cwnd = cwndmax, 重新计算数据发送间隔 τ, 即 并按照三级优先级等间隔交错发送的方 式发送分组数据 ; 步骤 (6.2), 当 cwnd 的分组数据发送完后, 将 cwnd 减半, 即 cwnd = cwnd/2, 重新计算 数据发送间隔 τ, 即 按照三级优先级等间隔交错发送的方式发送分组数据 ; 步骤 (6.3), 在发送完数据后, 将 cwnd 增加 1 倍, 即 cwnd = 2·cwnd, 比较 cwnd 值 : 步骤 (6.3.1) 若 cwnd < cwndmax, 则转入到步骤 (3) ; 步骤 (6.3.2) 若 cwnd ≥ cwndmax, 则令 cwnd = cwndmax, 并转入到步骤 (7) ; 步骤 (7), 拥塞回避 : 每接收到一个 M-NACK 信息, 判断是否有数据包丢失 : 步骤 (7: 1) 若无分组数据丢失, 则判断当前拥塞窗口 cwnd 值是否等于 cwndmax 值 : 若小 于 cwndmax, 则按照成功接收的分组数据数量增加 cwnd ; 若等于 cwndmax, 则不变。重新计算 τ, 即 τ = RTTi/cwnd, 并根据 τ 值间隔交错发送三级优先级的分组数据 ; 步骤 (7.2) 若发现分组数据丢失, 则转入到步骤 (3) ; 步骤 (8), 连接拆除 : 步骤 (8: 1), 若服务器端发起连接拆除请求 : 步骤 (8.1.1), 服务器发送连接结束分组信息, 等待客户端的应答 ; 3 步骤 (8.1.2), 客户端收到连接结束分组信息后, 返回确认应答信息, 拆除此次连接, 进 入监听状态 ; 步骤 (8.1.3), 服务器接收到确认应答分组信息后, 拆除此次连接, 进入监听状态 ; 步骤 (8.2), 若客户端发起连接拆除请求 : 步骤 (8.2.1), 客户端发送连接结束分组信息, 等待服务器的应答 ; 步骤 (8.2.2), 服务器收到连接结束分组信息后, 返回确认应答信息, 拆除此次连接, 进 入到监听状态 ; 步骤 (8.2.3), 客户端接收到确认应答分组信息后, 拆除此次连接, 进入到监听状态。

说明书


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

    【技术领域】
     本发明属于深空星际卫星网络传输技术领域。背景技术 目前, 在国际互联网上得到广泛应用的 TCP 协议提出于上世纪 80 年代, 在几十年 的发展演变过程中, 先后出现了 TCP-Tahoe、 TCP-Reno、 TCP-NewReno 以及 TCP-SACK 等协议 版本, TCP-Reno 的应用最普遍。这些不同版本的 TCP 协议都是针对误码率极低和传播延时 非常小的有线网络设计的, 即数据在传输过程中由于误码导致差错的可能非常小, 以及等 待数据接收应答的时间非常短。所以, 一旦出现数据的丢失或损坏以及长时间的无应答, TCP 协议就会认为网络出现了拥塞, 并采取拥塞回避等流量控制算法。 这些假设不仅简化了 TCP 协议的处理流程, 而且很好地利用了有线网络的传输特性, 满足了地面互联网的发展需 要。
     然而, 这些基于高速和可靠的信道传输假设却在深空星际卫星网络环境中无法成 立, 因此也就对 TCP 协议的传输性能造成了非常不利的影响。深空星际卫星网络的特点主 要包括如下几点 :
     1) 极长的传播时延
     地面网络的数据传输往返时间 (RTT, 发送端从发送数据到收到应答所需的时间 ) 为几到几十个毫秒, 典型的 RTT 为 80 毫秒。在深空星际卫星网络中的传播时延则比地面网 络大得多, 地球与月球之间的 RTT 在 2.6 秒左右, 是地面网络的 30 多倍 ; 地球与火星之间距 离更远、 RTT 更长, 是地面网络的几千倍 ; 地球与太阳系内其它行星之间的传播时延最长可 达几小时。
     深空星际卫星网络中极长的传播时延对 TCP 协议造成了非常不利的影响, 突出表 现在如下两方面 : a) 连接建立等待时间过长, 超过了连接等待超时时间, 使得 TCP 协议在数 据传输之前就终止了连接 ; b) 拥塞窗口增长速度非常缓慢, 使得协议的慢启动阶段耗时过 长, 严重影响了星际网络的链路资源利用。
     2) 极高的信道随机误码率
     深空星际卫星网络的电磁环境非常恶劣, 不仅包括传播距离非常远造成的信号能 量大量衰减, 而且还包括空间环境中强烈的电磁干扰。这些都造成了星际卫星网络极高的 链路随机误码, 误码率可以高达 10-1。
     深空星际卫星网络中极高的链路随机误码率严重影响了 TCP 协议的传输性能, 使 得协议在不断重传丢失信息的同时, 重复启动慢启动算法, 严重限制了 TCP 连接信息流量 的高速传输, 有时甚至导致信息的无法传输。
     3) 严重的信道突发误码
     由于深空环境中的带电粒子冲击、 运动天体传输链路的遮蔽以及行星大气层的剧 烈变化, 经常会有持续数分钟的突发误码情况发生。
     深空星际卫星网络中严重的信道突发误码, 使得 TCP 协议的性能更加不稳定, 有
     时甚至还会导致超时重传, 使得 TCP 的性能达到最差。
     4) 严重的信道带宽不对称
     由于受到卫星、 飞船等等航天器的功率限制, 深空星际网络的传输链路带宽呈现 出非常严重的不对称现象, 即从地球向深空的前向传输链路带宽比由深空返回的反向传输 链路带宽大的多, 往往相差百余倍, 有时甚至高达上千倍。
     深空星际卫星网络中严重的链路带宽不对称, 使得 TCP 协议在信息传输过程中, 往往会因为反向传输链路的信息拥塞造成前向链路吞吐量的急剧下降。
     5) 周期性的链路中断
     由于受到地球、 其它行星的自转和卫星运动轨道相互之间的影响, 深空星际卫星 网络中的信息传输链路呈现周期性中断的特点。在传输链路周期中断期间, TCP 协议的信 息传输显然无法实现。
     研究和分析表明, TCP 协议中的连接建立、 慢启动、 拥塞控制、 接收应答以及超时等 待等算法和关键参数的设置是导致 TCP 协议在深空星际卫星网络中性能差的主要原因。
     为了改善 TCP 协议在误码率高、 长传播延时等各种网络环境中的传输性能, 目前 已经提出了很多改进方案, 可以归纳为如下几类。
     一、 基本改进方案 这些方案提出较早, 对 TCP 协议的改动也很小, 有些已经成为 TCP 协议中的扩展选项。 1) 增大初始拥塞窗口值 : 就是初始拥塞窗口 cwnd 值 IW 从 1 个数据段按照以下公 式增加 : IW = min[4·MSS, max(2·MSS, 4380bytes)], MSS 为最大 TCP 数据段长度。
     2) 扩大最大 TCP 发送窗口 : 就是把发送窗口从 16 位比特扩展到 30 位比特, 这样 最大发送窗口值从 64k 字节扩展到了 1G 字节。
     3)T/TCP : 在收发两端的第一次连接之后, 其后的 TCP 连接跳过连接建立的三次握 手过程, 直接进入到信息传输阶段。
     4) 多 TCP 连接 : 将一个 TCP 连接拆分成多个 TCP 连接, 从收发两端的信息传输效 果上看, 无疑是增加了数倍的信息传输流量。
     5) 明确拥塞指示 : 通过在 IP 数据报头中设置网络拥塞指示信息位来告知发送端 网络的信息传输状态。
     6)TCP 头压缩 : 压缩 TCP 头的信息量从而提高传输效率。
     这些基本改进方案虽然具有协议改动小、 实施方便的优点, 但对协议性能的改进 非常有限。
     二、 数据报优先级方案
     1)Fast Start 协议 : 为了解决连接开始阶段数据流量低的问题, 在数据传输初始 阶段采用最近一次 TCP 连接的发送窗口来控制数据流量。为了避免突发的数据流量造成网 络拥塞, 设置初始阶段的 IP 分组优先级为低优先级。
     2)TCP Peach : 采用了 Sudden Start 和 Rapid Recovery 等新的算法, 其核心思想 是发送大量低优先级的重复数据段, 根据返回的应答情况探测网络中的可用带宽和控制信 息流量。
     3)TCP PBS : 沿用了 TCP-Peach 协议低优先级数据段发送的思路, 并改进了 Sudden
     Start 和 Rapid Recovery, 提出了 Accelerative Start 和 Expeditious Recovery 两个新 的算法。
     4)TP-Planet : 对 TCP 协议改动非常大, 包括 “INITIAL STATE” 和 “STEDY STATE” 两个状态集, 两个状态集又包含多个子状态。 在两个状态集, 协议均会发送大量低优先级的 无效数据段来探测网络状态。
     5)TP-Satellite : 采用了超起始 Super Start 算法以取代慢启动算法, 增加了数 据丢失判断算法, 并采用了主动周期选择的应答算法。协议的突出特点就是间隔发送高低 优先级数据段, 根据不同优先级数据的接收情况判断网络状态, 并采取相应的信息流量控 制算法。
     三、 可用带宽估计方案
     1)TCP Westwood : 通过不断监测接收到的应答数据段实现端到端的可用带宽估 计, 并当出现数据丢失时, 利用可用带宽的估计计算拥塞窗口和慢启动门限等重要参数。
     2)TCP-STAR : 除了通过监测应答数据段来估计可用带宽, 还增加了发送查询数据 段来判断数据接收情况。
     3)Faster Recovery : 是对 TCP Westwood 协议的改进, 提出了一个基于带宽估计的 数据丢失恢复机制。 四、 拥塞窗口指示方案
     此类方案的典型代表是 XCP 协议以及其改进协议 P-XCP。XCP 协议中, ECN 不再仅 仅采用单比特信息来表示网络拥塞与否, 而是在 TCP 头部分增加拥塞字段, 传输过程中路 由器参与拥塞字段参数值的调整和修改, 以此达到信息流量的精确控制和传输带宽的公平 分配。
     五、 信道不对称改进方案
     1)SACK : 接收端通知发送端哪些数据段已经正确接收, 发送端可以根据 SACK 信息 判断出没有成功接收的数据段, 并一次重传多个丢失的 TCP 数据段, 减少重传等待时间, 提 高重传效率。
     2)NACK : 当接收端发现有数据丢失时, 直接向发送端发送未正确接收的数据段的 信息。
     3)ACK 拥塞控制 : 为了减少瓶颈链路 TCP 应答数据段的数量, 接收端动态调整应答 数据段的发送周期因子。当网络出现应答信息拥塞时, 则延长 ACK 的发送间隔 ; 反之, 则减 小应答间隔。
     六、 其它协议层修改方案
     在其它协议层的修改主要集中在网络层下的数据链路层。 链路层的协议修改则大 多是增加重传机制, 即在发送端的链路层对接收到的 ACK 信息进行判断, 若发现有数据丢 失, 则直接重传该数据, 而不向传输层传送重传请求信息。目前, 链路层的典型修改方案是 Snoop 协议。
     七、 代理方案
     1)TCP-Splitting 代理 : 就是在网络物理环境发生变化的交界处设置网关代理以 切断 TCP 连接。这样一个端到端的 TCP 连接就会被切分成多段 TCP 连接。每一段连接都可 以采用特殊的传输控制协议, 如 STP、 突发误码重传协议、 AeroTCP 等。
     2)TCP-Spoofing 代理 : 与 TCP-Splitting 代理方案的不同是保持了 TCP 协议端到 端连接的完整性, 在数据链路层实现虚假 ACK 应答的发送以及差错数据段的重传。
     八、 跨层联合设计
     为了达到数据传输的最优, 各层内部的信息相互共享, 层次之间相互协作、 联合设 计逐渐成为研究热点。应用层中的数据传输状态信息 ( 长数据流传输的开始、 中间、 结束, 或者一个单独的数据传输 ), 物理层的链路可用带宽和误码率信息, 都可以成为各个层设计 时考虑的参数。跨层联合设计是把原本各层中的 “私有” 信息 “共享” , 使得每个层的设计不 再独立、 单一, 有利于整体性能提高。
     上述这些不同类型的改进方案大多是针对网络的某种特点而提出的, 有的是针对 误码率高的信道特点, 有的是针对特殊网络拓扑结构的情况, 有的则是针对传输延时不断 变化的特点, 综合考虑深空星际网络环境特点提出的改进方案则非常少。因此, 这些 TCP 改 进方案在深空星际网络中的性能表现就很差, 现在就分析深空星际网络的网络特点对改进 方案的性能影响。
     1、 极长的传播时延, 使得 Fast Start、 STP、 TCP-Peach、 TCP Westwood、 TCP-STAR、 XCP 和 TP-Satellite 等各类改进方案中的典型协议消耗非常长的时间来等待连接建立的 确认, 同时也使得拥塞窗口增长非常缓慢, 限制了信息流量 ; 2、 极高的信道随机误码率, 导致 Fast Start、 STP、 TCP Westwood、 TCP-STAR 等改 进协议错误地认为网络拥塞情况严重, 使得协议不断启动慢启动算法, 协议前向吞吐量受 到极大限制 ;
     3、 严重的信道突发误码, 使得 Fast Start、 STP、 TCP Westwood、 XCP 和 TCP-STAR 协 议已经无法正常传输数据, 也使得 TCP-Peach 协议通过发送大量无效数据段探测网络链路 状态的方法失去作用, 同时也降低了利用高低优先级交替发送数据的 TP-Satellite 协议 对链路状态判断的准确性 ;
     4、 严重的信道带宽不对称, 使得反向链路数据传输严重拥塞, 导致很多改进方案 的前向链路吞吐量极低, 甚至无法传输数据 ;
     目前提出的改进方案除了存在上述的问题外, 对于深空星际网络的拥塞状况也不 能作出判断, 即无法针对网络不同程度的拥塞作出相应的数据流量控制。
     发明内容 本发明的目的在于提供一种可靠的为深空星际卫星网络设计的 TP-DSN 深空星际 卫星网络高效交互传输方法。 此方法能够避免连接等待的时间消耗, 迅速提升信息流量, 有 效区分链路误码和拥塞情况, 并根据网络的拥塞程度采用相应的信息流量控制, 极大地降 低了反向链路的传输带宽要求。
     本发明的技术方案是 : 一种适用于深空星际卫星网络的高效交互传输方法, 特征 在于, 它是在源代码公开的 Linux 操作系统上实现。该方法包含以下步骤 :
     步骤 (1), 连接监听
     客户端进入 “监听” 状态, 等待服务器连接 ;
     步骤 (2), 建立连接
     步骤 (2.1), 从服务器端发送连接请求, 并按照拥塞窗口最大值 cwndmax 的 1/6 开始
     发送数据信息, 设置数据信息 IP 包头中的两比特 “pri” 分别为 2、 1、 0, 即高、 中、 低优先级分 组数据交错发送, 每间隔一个时间 τ 就发送一个分组数据。 其中, RTTmin 为服务器与客户端的星际网络中两行星之间最短的传播时延 ;
     步骤 (2.2), 从服务器来的连接请求, 经过深空星际网络传输到达客户端 ;
     步骤 (2.3), 客户端收到连接请求后, 判断是否建立连接 :
     步骤 (2.3.1) 若拒绝连接, 则返回拒绝连接应答信息, 丢弃之后接收到的分组数 据, 结束连接 ;
     步骤 (2.3.2) 若接受连接, 则开始估计 RTTi 时间, 返回连接应答信息, 并接收到达 的分组数据 ;
     步骤 (2.4), 客户端在接收了 cwndmax/6 的分组数据后, 返回数据接收应答信息, 应 答信息采用 M-NACK 格式, 即包括 : 20 个字节的标准 TCP 头、 期待服务器发送的下一个 TCP 数据段的序列值、 期待服务器发送的下一个连续 TCP 数据段的序列值, 以及所有没有正确 接受的 TCP 数据段的序列值。计算出数据发送返回 RTTi 时间, 并按照 RTTi 时间定时发送 M-NACK 应答信息 ; 步骤 (2.5), 服务器接收到连接应答信息后, 返回应答确认信息, 估计数据发送返 回 RTTi 时间, 并转入到步骤 (3)。
     步骤 (3), 数据的丢失判断 :
     步骤 (3.1), 服务器接收到 M-NACK 应答信息后, 根据 M-NACK 的信息内容判断是否 有数据丢失 :
     步骤 (3.1.1), 若存在数据丢失, 则根据丢失数据的优先级和数量判断是否网络出 现拥塞 :
     步骤 (3.1.11), 若丢失数据高、 中、 低优先级都存在, 而且成功接收数据中各种优 先级的数据都有, 则判断为网络中出现链路误码, 则转入到 (3.1.2) ;
     步骤 (3.1.1.2), 其他情况则判断为网络拥塞, 根据具体的数据丢失情况分析网络 拥塞的情况 :
     步骤 (3.1.1.2.1), 若丢失的分组数据都是低优先级分组数据, 即 lost_num = low_pri, lost_num 为整个丢失分组数据的数量, low_pri 为丢失的低优先级分组数据数 量, 则判断网络的拥塞情况较轻, 则将拥塞窗口 cwnd 值设置为当前值的 1/2, 并转入到步骤 (3.1.1.2.4) ;
     步骤 (3.1.1.2.2), 若丢失分组数据为低优先级的全部分组数据和部分中等优先 级分组数据, 即 lost_num = low_num+mid_num, mid_num 为丢失的中等优先级分组数据数 量, 则判断网络的拥塞情况比较严重, 不仅路由器队列中的低优先级分组数据全部被丢弃, 而且中等优先级的分组数据开始被丢弃, 则将拥塞窗口 cwnd 值设置为当前值的 1/3, 并转 入到步骤 (3.1.1.2.4) ;
     步骤 (3.1.1.2.3), 若丢失分组数据为中、 低优先级的全部分组数据和部分或者
     全部高优先级分组数据, 即, 则判断网络的拥塞情况非常严重, 不仅中、 低优先级分组数据全部丢弃, 而且还会有高优先级分组数据的丢弃, 则将拥塞 窗口 cwnd 值设置为当前值的 1/4, 并转入到步骤 (3.1.1.2.4) ;
     步骤 (3.1.1.2.4), 转入步骤 (7) ;
     步骤 (3.1.2), 没有分组丢失, 则直接进入到步骤 (4)。若判断为网络出现误码, 则 开始重传丢失的分组数据。 丢失分组数据的重传仍然按照等间隔三级优先级交错发送的方 式进行, 发送间隔 τ 按照如下公式计算得出 : 步骤 (4) ;
     在发送完丢失数据后, 并转入到步骤 (4), 拥塞回避阶段的判断 : 判断收发两端是否已经执行过拥塞回避 Congestion Avoidance 策略 : 步骤 (4.1) 若没有, 则并转入到步骤 (6) ; 步骤 (4.2) 若已经执行过拥塞回避 Congestion Avoidance 策略, 则转入到步骤 步骤 (5), 拥塞恢复 : 步骤 (5.1), 重新计算数据发送间隔时间 τ, 即 τ = RTTi/cwnd ; 步骤 (5.2), 三级优先级间隔重传丢失数据, 发送完丢失数据后, 并转入到步骤 步骤 (6), 初始发送数据 : 步骤 (6.1), 将 cwnd 值增加 1 倍, 即 cwnd = 2· cwnd, 若 cwnd ≥ cwndmax, 则令 cwnd 并按照三级优先级等间隔交错发送的(7) ;
     (7) ;
     = cwndmax。 重新计算数据发送间隔 τ, 即 方式发送分组数据 ;
     步骤 (6.2), 当 cwnd 的分组数据发送完后, 将 cwnd 减半, 即 cwnd = cwnd/2, 重新计 按照三级优先级等间隔交错发送的方式发送分组数据 ;算数据发送间隔 τ, 即
     步骤 (6.3), 在发送完数据后, 将 cwnd 增加 1 倍, 即 cwnd = 2· cwnd, 比较 cwnd 值 : 步骤 (6.3.1) 若 cwnd < cwndmax, 则转入到步骤 (3) ; 步骤 (6.3.2) 若 cwnd ≥ cwndmax, 则令 cwnd = cwndmax, 并转入到步骤 (7) ; 步骤 (7), 拥塞回避 : 每接收到一个 M-NACK 信息, 判断是否有数据包丢失 :步骤 (7.1) 若无分组数据丢失, 则判断当前拥塞窗口 cwnd 值是否等于 cwndmax 值 : 若小于 cwndmax, 则按照成功接收的分组数据数量增加 cwnd ; 若等于 cwndmax, 则不变。 重新计 算 τ, 即 τ = RTTi/cwnd, 并根据 τ 值间隔交错发送三级优先级的分组数据 ;
     步骤 (7.2) 若发现分组数据丢失, 则转入到步骤 (3) ;
     步骤 (8), 连接拆除 :
     步骤 (8.1), 若服务器端发起连接拆除请求 :
     步骤 (8.1.1), 服务器发送连接结束分组信息, 等待客户端的应答 ;
     步骤 (8.1.2), 客户端收到连接结束分组信息后, 返回确认应答信息, 拆除此次连 接, 进入监听状态 ;
     步骤 (8.1.3), 服务器接收到确认应答分组信息后, 拆除此次连接, 进入监听状态; 步骤 (8.2), 若客户端发起连接拆除请求 :
     步骤 (8.2.1), 客户端发送连接结束分组信息, 等待服务器的应答 ;
     步骤 (8.2.2), 服务器收到连接结束分组信息后, 返回确认应答信息, 拆除此次连 接, 进入到监听状态 ;
     步骤 (8.2.3), 客户端接收到确认应答分组信息后, 拆除此次连接, 进入到监听状 态。
     本发明在图 5 的环境中进行了仿真实验。实验中, 深空星际卫星网络中从地球 到月球的前向链路带宽为 1Mbits/s, 从月球到地球的反向链路带宽分别设为 10kbits/s、 5kbits/s、 1kbits/s 等, RTTmin 设为 2.4s, RTT 设为 3s, cwndmax 设为 60。随机误码的情况下, -2 分组数据的丢包率为 10 , 突发误码情况下, 链路平均突发误码长度为 40 个分组数据。实 验结果如下 :
     表 1 文件传输时间 (s)
     表 2 单个连接情况下的前向链路吞吐量 (kbits/s)
     表 3 单个连接情况下的反向链路带宽占用 (kbits/s)
     表 4 不同反向链路带宽情况下的前向链路吞吐量 (kbits/s)
     表 5 不同反向链路情况下的反向链路带宽占用 (kbits/s)
     从表 1 可以看出, TP-DNS 协议在不同大小文件的传输方面比其他协议占用的时间 少, 特别在传输几十 k 字节的小文件优势更明显。对于网页浏览方式的访问来说, TCP 连接 的文件传输一般也只有 10 ~ 20k 字节。表 2 和表 3 可以看出, 单个连接时, 无论是在随机 误码还是在突发误码的情况下, TP-DNS 均能够保持很高的前向链路吞吐量。并且反向链路 的带宽占用受到前向链路误码的影响非常小, 并且保持在非常低的水平。 然而, 其他协议的 前向链路吞吐量则受到了误码的严重影响, 而变得非常低。虽然 TP-Peach 协议在随机误码 情况时前向链路吞吐量也较高, 但其传输了大量用于探测网络的无效分组数据, 实际的信 息传输量很小。从表 4 和表 5 可以看出, 由于 TP-DNS 协议的反向链路带宽使用很少, 所以 当深空星际卫星网络中的反向链路带宽从 10kbits/s 减少到 1kbits/s 时, 前向链路的带宽 并没有受到影响。然而其他协议在反向链路带宽小于 5kbits/s 后, 前向链路的吞吐量就受 到了影响, 当反向链路接近 1kbits/s 时, 前向链路的吞吐量则非常低。
     由 于 TP-DSN 需 要 修 改 系 统 的 堆 栈 协 议, 所 以 只 能 在 源 代 码 公 开 的 Linux 和 FreeBSD 等操作系统上实现。
     实验证明, 不论在单连接的情况下, 还是在多个连接的情况下, 不论是否出现随机 误码或者突发误码, TP-DSN 能够节省连接过程消耗的等待时间, 迅速提升信息流量, 其前向 链路吞吐量为最高, 反向链路的带宽占用也最小。
     附图说明
     图 1 是 TP-DSN 协议框架。 图 2 是三级优先级数据交错发送策略。 图 3 是数据丢失原因判断 Loss Distinguish 策略。 图 4 是初始发送 Initialization Sending 策略。 图 5 是深空星际卫星网络框图。具体实施方式
     TP-DSN 的协议框架如图 1 所示, 主要包含连接建立 Connection 阶段、 数据丢失 原 因 判 断 Loss Distinguish 阶 段、 初 始 发 送 Initialization Sending 阶 段、 拥塞回避 Congestion Avoidance 阶段、 拥塞恢复 Congestion Recovery 阶段。与 TCP 协议及改进方 案相比, 创新点主要体现在以下几方面。
     一、 三级优先级数据交错发送
     在整个信息传输过程中, TP-DSN 将分组数据分为三级优先级, 优先级的设置是在 IP 包头中的 TOS 字段中的二位优先级比特 (“pri” ) 实现。高、 中、 低三级优先级分组数据 采用交错发送的方法, 具体发送方法如图 2 所示, 即首先发送一个高优先级分组数据, 之后 连续发送两个中等优先级分组数据, 紧接着发送一个高优先级分组数据, 而后连续发送两 个低优先级分组数据。后面的分组数据按照上述方法循环执行。
     二、 连接建立阶段数据发送
     在连接建立阶段, 即收发两端在 TCP 连接握手过程中就开始传送信息数据。这样, 收发两端能够节省过长的连接等待时间, 在地球和月球之间的信息传输就可以节省 2 ~ 3s, 地球与其他行星之间的信息传输则能够节省更多的时间。在三次往返的连接建立交互 过程中, 分组数据等间隔发送。每次连接建立交互过程中的信息流量为发送拥塞窗口最大 值的 1/6, 即发送的分组数据为 cwndmax/6。为了避免协议过于复杂, 发送时间间隔 τ 设定 为地球与行星之间 RTT 的最小值 RTTmin 与拥塞窗口之间的比值, 即 若在地球与月球之间的 TCP 连接, 则 RTTmin 为 2.4s ; 若在地球与火星之间的连接, 则 RTTmin 为 200s。
     三、 数据丢失原因判断 Loss Distinguish 策略
     为了实现对数据丢失原因的区分和判断, 借鉴了 TP-Satellite 协议的设计思路, 增加了数据丢失原因判断 Loss Distinguish 策略。
     数据丢失原因判断 Loss Distinguish 策略的具体内容是 : 发送端根据接收到的 M-NACK 信息判断是否有数据丢失。 当发送端发现有数据丢失时, 如图 3 所示, 在重传丢失数 据的同时, 发送端根据高、 中、 低三级优先级分组数据的丢失情况分析数据丢失原因, 并采 用相应的流量控制算法。
     当星际卫星网络出现拥塞并且网络拥塞情况较轻时, 网络中的路由器首先将队列 中的低优先级数据包丢弃。这样的情况下, 整个丢失分组数据的数量 (lost_num) 就是丢失 的低优先级分组数据数量 (low_pri), 如公式 (1) 所示 :
     lost_num = low_pri (1)
     这种情况下, 数据丢失原因判断 Loss Distinguish 策略则减小拥塞窗口 cwnd 值, 将其设置为当前值的 1/2, 并启动拥塞回避 Congestion Recovery 策略。
     当网络拥塞情况比较严重时, 不仅路由器队列中的低优先级分组数据全部被丢 弃, 而且中等优先级的分组数据开始被丢弃。 这种情况下, 丢失的分组数据数量为低优先级 分组数量 (low_num) 和丢失的中等优先级分组数据数量 (mid_num) 之和, 如公式 (2) 所示 :
     lost_num = low_num+mid_num (2)
     这种情况下, 数据丢失原因判断 Loss Distinguish 策略则将拥塞窗口 cwnd 值设 置为当前值的 1/3, 并启动拥塞回避 Congestion Recovery 策略。网络拥塞情况非常严重时, 路由器队列中已没有低优先级和中等优先级的分组数 据, 此时开始丢弃高优先级的分组数据。因此, 应答信息中表示的丢失分组数据表明, 不仅 中、 低优先级分组数据全部丢弃, 而且还会有高优先级分组数据的丢弃。所以, 丢弃的分组 数据量大于发送的低优先级和中等优先级两种分组数据量的总和, 如公式 (3) 所示 :
     low_pri == low_num
     mid_pri = mid_num (3)
     lost_num > low_pri+mid_pri
     这种情况下, 数据丢失原因判断 Loss Distinguish 策略则将 cwnd 值设置为当前 值的 1/4, 并启动拥塞回避 Congestion Recovery 策略。
     除了上述三种情况外, TP-DSN 协议都认为数据的丢失是因为随机误码或者是突发 误码造成的, 所以不减小 cwnd 值, 信息流量不发生变化。
     四、 初始发送 Initialization Sending 策略
     TP-DSN 协议中的初始发送 Initialization Sending 策略的具体执行如图 4 所示, 在连接建立之后, 将发送端的拥塞窗口设置为连接建立阶段拥塞窗口值的两倍, 即 cwnd = cwndmax/3。数据按照三级优先级交错发送的算法等间隔发送, 时间间隔 τ 按照公式 (4) 计 算得出 :
     其中, 发送返回时间 RTTi 是在连接建立过程中估计得出。
     当按照上述方式完成分组数据的发送后, TP-DNS 协议将 cwnd 值减少一半, 按照公 式 (4) 重新计算数据发送时间间隔 τ, 并按照优先级等间隔交错发送的方法发送数据。
     在完成数据发送后, 协议将 cwnd 值恢复为最大拥塞窗口值的 1/3, 并启动拥塞回 避 Congestion Avoidance 策略。
     可以看出, 协议在初始发送 Initialization Sending 阶段的维持时间为一个 RTTi。在此阶段协议所发送的分组数据量为最大拥塞窗口值的一半。
     本实施例是在源码公开的 Linux 操作系统中实现。
     具体的工作流程如下 :
     1、 连接监听
     客户端, 客户端进入 “监听” 状态, 等待服务器端的连接。
     2、 连接建立 Connection 阶段
     (1) 服务器端发送连接请求, 请求与客户端的连接, 并按照拥塞窗口最大值 cwndmax 的 1/6 开始发送数据信息, 设置数据信息 IP 包头中的两比特 “pri” 分别为 2、 1、 0, 即高、 中、
     低优先级分组数据交错发送, 每间隔一个时间 τ 就发送一个分组数据。 其中, RTTmin 为服务器与客户端的星际网络中两行星之间最短的传播时延 ;
     (2) 从服务器端来的连接请求, 经过深空星际网络传输到达客户端 ;
     (3) 客户端收到连接请求后, 判断是否建立连接 :
     (3.1) 若拒绝连接, 则返回拒绝连接应答信息, 结束连接, 并丢弃之后接收到的分 组数据 ;(3.2) 若接受连接, 则开始估计 RTTi 时间, 返回连接应答信息, 并接收到达的分组数据 ; (4) 客户端在接收了 cwndmax/6 的分组数据后, 返回数据接收应答信息, 应答信息 采用 M-NACK 格式, 即包括 : 20 个字节的标准 TCP 头、 期待服务器发送的下一个 TCP 数据段的 序列值、 期待服务器发送的下一个连续 TCP 数据段的序列值, 以及所有没有正确接受的 TCP 数据段的序列值。计算出数据发送返回 RTTi 时间, 在等待 RTTi/2 时间之后按照 RTTi 时间 定时发送 M-NACK 应答信息 ; 有关 M-NACK 格式, 本申请人在专利号为 ZL200610114087.0 发 明名称为一种适用于卫星网络的高效交互传输方法的专利中有详细说明。
     (5) 服务器接收到连接应答信息后, 返回应答确认信息, 估计数据发送返回 RTTi 时 间, 并进入到数据丢失判断阶段。
     3、 数据丢失判断 Loss Distinguish 阶段
     (1) 服务器接收到 M-NACK 应答信息后, 根据 M-NACK 的信息内容判断是否有数据丢 失:
     (1.1) 若存在数据丢失, 则根据丢失数据的优先级和数量判断是否网络出现拥 塞:
     (1.1.1) 若丢失数据高、 中、 低优先级都存在, 而且成功接收数据中各种优先级的 数据都有, 则判断为网络中出现链路误码, 则转入到 (1.2) ;
     (1.1.2) 其他情况则判断为网络拥塞, 根据具体的数据丢失情况分析网络拥塞的 情况 :
     (1.1.2.1) 若丢失的分组数据都是低优先级分组数据, 如公式 (1) 所示, 则判 断网络的拥塞情况较轻, 则将拥塞窗口 cwnd 值设置为当前值的 1/2, 并进入到拥塞回避 Congestion Avoidance 阶段 ;
     (1.1.2.2) 若丢失分组数据为低优先级的全部分组数据和部分中等优先级分组数 据, 如公式 (2) 所示, 则判断网络的拥塞情况比较严重, 不仅路由器队列中的低优先级分组 数据全部被丢弃, 而且中等优先级的分组数据开始被丢弃, 则将拥塞窗口 cwnd 值设置为当 前值的 1/3, 并进入到拥塞回避 Congestion Avoidance 阶段 ;
     (1.1.2.3) 若丢失分组数据为中、 低优先级的全部分组数据和部分或者全部高优 先级分组数据, 如公式 (3) 所示, 则判断网络的拥塞情况非常严重, 不仅中、 低优先级分组 数据全部丢弃, 而且还会有高优先级分组数据的丢弃, 则将拥塞窗口 cwnd 值设置为当前值 的 1/4, 并进入到拥塞回避 Congestion Avoidance 阶段。
     (1.2) 没有分组丢失, 则直接进入到拥塞回避阶段的判断状态。 若判断为网络出现 误码, 则开始重传丢失的分组数据。丢失分组数据的重传仍然按照等间隔三级优先级交错
     发送的方式进行, 发送间隔 τ 按照如下公式计算得出 :在发送完丢失数据后,进入到拥塞回避阶段的判断阶段。
     4、 拥塞回避阶段的判断
     判断收发两端是否已经进入到拥塞回避 Congestion Avoidance 阶段 :
     (1) 若没有, 则进入到初始发送 Initialization Sending 阶段 ;
     (2) 若已经进入到拥塞回避阶段, 则进入到拥塞回避 Congestion Avoidance 阶段。 5、 拥塞恢复 Congestion Recovery 阶段
     重新计算数据发送间隔时间 τ, 即 τ = RTTi/cwnd, 三级优先级间隔重传丢失数 据, 当发送完丢失数据后, 转入到拥塞回避 Congestion Avoidance 阶段。
     6、 初始发送 Initialization Sending 阶段
     (1) 将 cwnd 值 增 加 1 倍, 即 cwnd = 2·cwnd。 若 cwnd ≥ cwndmax, 则 令 cwnd =
     cwndmax。重新计算数据发送间隔 τ, 即并按照三级优先级等间隔交错发送的方式发送分组数据 ;
     (2) 当 cwnd 的分组数据发送完后, 将 cwnd 减半, 即 cwnd = cwnd/2, 按照上述的公 式重新计算数据发送间隔 τ, 按照三级优先级等间隔交错发送的方式发送分组数据 ;
     (3) 在发送完数据后, 将 cwnd 值增加 1 倍, 即 cwnd = 2·cwnd, 比较 cwnd 值 :
     (3.1) 若 cwnd < cwndmax, 则转入数据丢失判断 Loss Distinguish 阶段 ;
     (3.2) 若 cwnd ≥ cwndmax, 则结束初始发送 Initialization Sending 阶段, 转入到 拥塞回避 Congestion Avoidance 阶段。 7、 拥塞回避 Congestion Avoidance 阶段
     (1) 每接收到一个 M-NACK 信息, 判断是否有数据包丢失 :
     (1.1) 若无分组数据丢失, 则判断当前拥塞窗口 cwnd 值是否等于 cwndmax 值 : 若小 于 cwndmax, 则每接收到一个 M-NACK 应答信息 cwnd 增加 1 ; 若等于 cwndmax, 则不变。重新计 算 τ, 即 τ = RTTi/cwnd, 并根据 τ 值间隔交错发送三级优先级的分组数据 ;
     (2.1.2) 若发现分组数据丢失, 则转入到数据丢失原因判断 Loss Distinguish 阶 段。
     8、 连接拆除
     服务器端发起连接拆除请求 :
     (1) 服务器发送连接结束分组信息, 等待客户端的应答 ;
     (2) 客户端收到连接结束分组信息后, 返回确认应答信息, 拆除此次连接, 进入监 听状态 ;
     (3) 服务器接收到确认应答分组信息后, 拆除此次连接, 进入监听状态 ;
     客户端发起连接拆除请求 :
     (1) 客户端发送连接结束分组信息, 等待服务器的应答 ;
     (2) 服务器收到连接结束分组信息后, 返回确认应答信息, 拆除此次连接, 进入到 监听状态 ;
     (3) 客户端接收到确认应答分组信息后, 拆除此次连接, 进入到监听状态。
    

一种适用于深空星际卫星网络的高效交互传输方法.pdf_第1页
第1页 / 共20页
一种适用于深空星际卫星网络的高效交互传输方法.pdf_第2页
第2页 / 共20页
一种适用于深空星际卫星网络的高效交互传输方法.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《一种适用于深空星际卫星网络的高效交互传输方法.pdf》由会员分享,可在线阅读,更多相关《一种适用于深空星际卫星网络的高效交互传输方法.pdf(20页珍藏版)》请在专利查询网上搜索。

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