Processing math: 9%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于链路信息估计的低轨卫星网络传输控制协议

王子涵, 张娇, 张远, 潘恬, 黄韬

王子涵, 张娇, 张远, 潘恬, 黄韬. 基于链路信息估计的低轨卫星网络传输控制协议[J]. 计算机研究与发展, 2023, 60(8): 1846-1857. DOI: 10.7544/issn1000-1239.202220299
引用本文: 王子涵, 张娇, 张远, 潘恬, 黄韬. 基于链路信息估计的低轨卫星网络传输控制协议[J]. 计算机研究与发展, 2023, 60(8): 1846-1857. DOI: 10.7544/issn1000-1239.202220299
Wang Zihan, Zhang Jiao, Zhang Yuan, Pan Tian, Huang Tao. A Transport Control Protocol for Low Earth Orbit Satellite Networks Based on Link Information Estimation[J]. Journal of Computer Research and Development, 2023, 60(8): 1846-1857. DOI: 10.7544/issn1000-1239.202220299
Citation: Wang Zihan, Zhang Jiao, Zhang Yuan, Pan Tian, Huang Tao. A Transport Control Protocol for Low Earth Orbit Satellite Networks Based on Link Information Estimation[J]. Journal of Computer Research and Development, 2023, 60(8): 1846-1857. DOI: 10.7544/issn1000-1239.202220299
王子涵, 张娇, 张远, 潘恬, 黄韬. 基于链路信息估计的低轨卫星网络传输控制协议[J]. 计算机研究与发展, 2023, 60(8): 1846-1857. CSTR: 32373.14.issn1000-1239.202220299
引用本文: 王子涵, 张娇, 张远, 潘恬, 黄韬. 基于链路信息估计的低轨卫星网络传输控制协议[J]. 计算机研究与发展, 2023, 60(8): 1846-1857. CSTR: 32373.14.issn1000-1239.202220299
Wang Zihan, Zhang Jiao, Zhang Yuan, Pan Tian, Huang Tao. A Transport Control Protocol for Low Earth Orbit Satellite Networks Based on Link Information Estimation[J]. Journal of Computer Research and Development, 2023, 60(8): 1846-1857. CSTR: 32373.14.issn1000-1239.202220299
Citation: Wang Zihan, Zhang Jiao, Zhang Yuan, Pan Tian, Huang Tao. A Transport Control Protocol for Low Earth Orbit Satellite Networks Based on Link Information Estimation[J]. Journal of Computer Research and Development, 2023, 60(8): 1846-1857. CSTR: 32373.14.issn1000-1239.202220299

基于链路信息估计的低轨卫星网络传输控制协议

详细信息
    作者简介:

    王子涵: 1999年生. 硕士. 主要研究方向为软件定义网络、卫星网络传输控制

    张娇: 1986年生. 博士,副教授. CCF高级会员. 主要研究方向为数据中心组网、网络功能虚拟化和未来互联网架构

    张远: 1997年生. 硕士. 主要研究方向为软件定义网络、卫星网络路由

    潘恬: 1987年生. 博士,副教授. 主要研究方向为网络体系架构、软件定义网络、可编程数据平面和卫星网络

    黄韬: 1980年生. 博士,教授. 主要研究方向为网络体系架构、软件定义网络、内容中心网络

    通讯作者:

    张娇(jiaozhang@bupt.edu.cn

  • 中图分类号: TP393

A Transport Control Protocol for Low Earth Orbit Satellite Networks Based on Link Information Estimation

More Information
    Author Bio:

    Wang Zihan: born in 1999.Master. His main research interests include software-defined networks and satellite network transport control

    Zhang Jiao: born in 1986. PhD, associate professor. Senior member of CCF. Her main research interests include data center networking, network function virtualization, and future Internet architecture

    Zhang Yuan: born in 1997.Master. His main research interests include software-defined networks and satellite network routing

    Pan Tian: born in 1987. PhD, associate professor. His main research interests include network architecture, software-defined networking, programmable data plane, and satellite networks

    Huang Tao: born in 1980.PhD, professor. His main research interests include network architecture, software-defined networks, and content-centric networking

  • 摘要:

    近年来,低轨卫星星座快速发展,其在军事和民用领域也将发挥越来越重要的作用. 如何提高低轨卫星网络的带宽利用率成为保障低轨卫星星座发挥价值的重要研究方向. 而传统TCP(Transmission Control Protocol)协议及其变种主要针对地面网络设计,难以适应长往返时延、高误码率、高动态变化的低轨卫星网络. 因此,为了充分利用低轨卫星网络的带宽资源,承载高速率业务,需要针对卫星网络的特点设计新型传输控制协议. 首先,分析了低轨卫星网络的特点以及现有传输控制协议在卫星网络中存在的问题;然后,提出了基于路径信息估计和时延区分的新型拥塞控制DDTCP(delay-differentiated TCP)算法. 低轨卫星网络端到端时延可能由多种因素引起,DDTCP在源端会保存过去一段时间内的时延信息,进而通过路径时延区分机制对拥塞窗口演化进行分类处理,可以在网络状况发生突变后,快速设置合理的拥塞窗口,避免链路缓存溢出或吞吐下降. 实验结果表明,新的传输控制协议DDTCP可以在低轨卫星网络中实现更高、更稳定的吞吐量,与传统拥塞控制算法相比,吞吐量提升19%以上.

    Abstract:

    In recent years, low-orbit satellite constellations have been rapidly developed. They will play an increasingly important role in the military and civilian fields. How to improve the bandwidth utilization of low-orbit satellite networks is of great significance for them to play a valuable role. The traditional TCP (Transmission Control Protocol) protocol and its variants are designed for terrestrial networks. They cannot adapt to low-orbit satellite networks with long delay, high bit error rate, and high dynamic changes. Therefore, in order to fully utilize the bandwidth resource of low-orbit satellite networks and thus enable high-speed services to be carried, new transport control protocol needs to be designed according to the characteristics of low-orbit satellite networks. In this paper, we firstly analyze the characteristics of low-orbit satellite networks and the problems of existing transport control protocols in satellite networks. Then, a novel congestion control algorithm, called DDTCP (delay-differentiated TCP), based on path information estimation and delay differentiation is proposed. The path delay in low-orbit satellite networks may be caused by a variety of factors. Next the delay information of the past period of time in DDTCP is stored at the source. Finally, a path delay differentiation mechanism is proposed and the congestion window will be adjusted according to the classification results. In this way, a reasonable congestion window can be set quickly to avoid link cache overflow or throughput degradation after a change in network conditions. The experimental results show that the new transport control protocol achieves higher and more stable throughput in low-orbit satellite networks, and the throughput improvement in DDTCP is more than 19% compared with that in the traditional congestion control algorithms.

  • 随着商业低轨卫星(low earth orbit, LEO)星座快速发展,在可以预见的将来,低轨卫星星座网络将会给大众提供更加廉价、方便、快捷、稳定的网络接入. 而截至2017年6月,全球互联网普及率为51.7%,意味着全球仍有一半的人口未实现互联网连接. 相对于地面通信系统,低轨卫星通信系统易于快速实现大范围的全球覆盖,适合低人口密度、有限业务流量的国家或地区. 相对于高轨以及静止轨道卫星通信系统,低轨卫星通信系统链路具有多方面优势:1)传播损耗小,更有利于系统为手持终端用户提供服务;2)传输时延小,实时性较好;3)采用极地轨道或大倾角轨道时可为高纬度地区提供服务;4)可利用多普勒频移进行定位,实现导航增强功能;5)星座能够对用户提供多重覆盖,可以增强抗毁性.

    虽然低轨卫星网络有着诸多优势和应用潜能,但目前的应用大都还局限在语音、短消息等低速通信业务. 随着互联网的不断发展,卫星网络作为地面网络的重要补充必然会承载更多种类的业务,如视频、直播、远程教育等. 而这些业务都需要卫星网络提供可靠的高速率接入. 为了与地面网络协同,卫星网络必然会顺应当前的趋势采用TCP(Transmission Control Protocol)/IP协议体系来提供可靠传输. 而卫星网络固有的长时延、高突发误码率、上下行信道带宽不对称、拓扑时变等特性,使得卫星网络直接应用针对地面网络设计的TCP传输控制协议时性能表现很差.

    首先,卫星网络较长的端到端往返时延(round-trip time,RTT)会使TCP在慢启动阶段的拥塞窗口(congestion window,CWND)增长缓慢,并且无法从丢包后带宽减半的状态快速恢复到填满带宽的状态,不能充分利用网络的带宽资源;卫星链路较高的误码率也会让TCP频繁降低拥塞窗口,这是因为TCP认为所有的丢包都是由于链路拥塞造成的,使得卫星链路在传输过程中由误码引起的丢包也被当作网络拥塞的信号,引起源端不必要的降窗操作;文献[1]指出,地面网络的误码率小于10−9,卫星网络误码率范围为10−4~10−8. 卫星网络中上行和下行带宽通常有着很大的不对称性,上行链路的有效带宽一般远小于下行链路的带宽,这导致TCP确认信号流具有突发特性,进而导致发送端速率增长缓慢、快速恢复机制效率低下.

    另外,低轨卫星网络中的端到端往返时延变化较大,在地球同步轨道卫星场景下,传输时延取决于用户之间的距离,而在有着星间链路(inter-satellite link, ISL)的低轨卫星网络中,星座的拓扑关系会随时间快速变化,导致传输时延发生变化,这可能会影响TCP对RTT的估计[2]. 每当RTT发生变化,TCP都需要一些时间来适应这种变化. 在低轨卫星星座网络中,RTT会不断发生变化,导致TCP无法足够快速更新其估算的RTT.这可能会导致过早的超时重传,降低链路的带宽利用率. 在低轨卫星网络中使用面向连接的TCP协议时,每次发生卫星切换,都可能引发较大数量的TCP数据包丢失,特别是在信令交换没有正确执行的情况下. 另外,在切换完成后,TCP会因为发生大量丢包而将其拥塞窗口减到最低[3].

    这些卫星网络的特点导致现有典型网络拥塞控制协议面临严重的性能下降. 例如基于丢包的TCP Cubic[4]、基于时延的TCP Vegas[5]、基于带宽时延积(bandwidth-delay product,BDP)估计的TCP Westwood[6]和BBR[7]. 当前这些针对地面网络和高轨卫星网络设计的拥塞控制协议在低轨卫星星座网络中,都会遇到不同程度的性能降级.

    本文分析了典型TCP拥塞控制协议在卫星网络中性能下降的原因,并提出了基于时延区分的卫星网络传输控制协议(delay-differentiated TCP,DDTCP). DDTCP通过新的时延探测机制可以在动态变化的低轨卫星网络中根据时延变化趋势快速、准确探测当前链路状况,然后基于探测结果控制发送端的拥塞窗口变化,能够有效提高网络带宽利用率. 针对卫星切换造成的短时间内大量数据包丢失,DDTCP通过快速丢包重传机制,可以在源端快速将丢失的数据包重传,避免触发超时重传机制,重传结束后拥塞窗口不会减到初始窗口,而是基于最新的探测值重新计算,避免再次从慢启动阶段开始. 针对卫星网络长时延、小缓存的链路状况,DDTCP使用动态拥塞窗口上界调整算法根据丢包率、网络时延变化等信息,实时调整拥塞窗口上界,避免过大的拥塞窗口导致链路缓存溢出造成TCP数据包丢失.

    我们在Linux内核中实现了DDTCP协议,并在半实物卫星网络仿真平台上进行了性能验证. 实验结果表明,与TCP Vegas,Cubic,BBR对比,DDTCP的吞吐量提高了19%以上, 同时可以保证数据传输更加稳定,不会受到低轨卫星网络高动态变化的影响.

    与传统地面网络不同,低轨卫星通信网络具有拓扑时变、高误码、长时延、大时延带宽积等特点. 因此,传统传输控制协议在卫星网络中会产生带宽利用率低、丢包率较高等问题. 在提出适应低轨卫星网络的传输控制方案之前,我们将首先分析低轨卫星网络与传输控制协议性相关的独有特征. 具体地,将从丢包产生原因、时延变化规律、链路中断3方面进行分析.

    1)链路拥塞导致丢包. 卫星网络同地面网络的最大区别是卫星网络的往返时间较长. 地面网络的往返时间在几十毫秒之内,而卫星网络的往返时间往往在几百毫秒. 卫星网络更容易触发超时重传机制,该机制重新发送数据,导致数据在传输时造成拥塞,使得数据传输的时间进一步增加,恶性循环,造成网络的崩溃.

    2)比特错误导致丢包. 卫星链路具有较高的误码率,在同步轨道通信环境下,卫星信道表现为高斯加性白噪声,误码以随机误码为主,而在中轨和低轨的环境下,由于受到多普勒频移的影响,卫星信道表现为莱斯或者瑞利信道,除了随机误码的情况之外还有突发误码的出现. 传输控制协议在验证数据包出现比特错误时,便会主动丢弃这一数据包,降低了网络传输数据的效率.

    1)队列长度导致时延变化. 在卫星网络中的每一个节点都有一定的缓存队列,而在网络拥塞程度不同的时候,缓存队列的长度也不同,这就会导致在不同拥塞程度时,队列长度会发生变化进而往返时延发生改变. 但是在低轨卫星网络中,由队列长度变化导致的时延变化较小,卫星运动以及卫星切换往往是决定时延变化的主要因素.

    2)卫星运动引发时延变化. 卫星相对于地面端运动时,由于传输路径改变,无线电在大气层及电离层中的传播时延也随之改变. 在低轨卫星网络中,传播时延随着卫星之间的距离以及传输路径的变化而变化,通信距离每增加1000 km,就会带来额外约13.3 ms的往返时延[8].

    3)卫星切换引发时延变化. 在低轨卫星通信系统中,作为核心交换节点的卫星为了维持较低的恒定轨道高度,必须围绕地球高速旋转,造成卫星覆盖区域在地球表面上的快速移动,从而产生卫星与用户之间的切换. 卫星切换不可避免地会产生切换时延,易造成传输数据的大量丢失,由卫星切换引起的时延往往在100 ms左右[9]. 图1展示了在以传播时延作为基础度量,路由选择传播最短时延路径(least delay path,LDP)时,由48颗卫星组成的近极轨卫星网络中2颗卫星之间链路传播时延和跳数随时间变化的结果. 可以看到在低轨卫星网络中,链路传播时延始终处于变化状态,并且每隔10 min左右就会发生1次路径变更,导致链路传播时延发生较大突变.

    图  1  低轨卫星星座中的传播时延和跳数变化
    Figure  1.  Propagation delay and hops variation in LEO satellite constellations

    低轨卫星星座由于高动态变化,导致TCP链路可能因为天气情况、卫星切换、网络拓扑关系变化以及轨道变化等多种原因发生频繁中断. 在低轨卫星网络中,由于卫星绕地球快速运行导致其服务范围不断变化,对于地面固定用户,每个卫星的最大可见时间在8~11 min之间,当用户即将离开当前卫星的服务范围时需要将连接切换到新的卫星,而每次卫星切换都可能导致TCP数据包乱序、丢失,甚至产生短时间链路中断[10].

    此外当卫星运行至极地轨道交汇点附近时,由于相邻轨道卫星间的距离和视角快速变化,很难建立稳定的卫星间链路,所以卫星会暂时关闭部分星间链路,等到离开极区后,重新建立卫星间链路. 在这个过程中发生的卫星间链路切换以及由于卫星运动引起的星座网络拓扑关系的变化都会导致网络路由发生变化,在路由更新过程中,旧路由不能被使用而新路由还未就绪,导致卫星链路发生中断.

    网络传输控制协议是为了在不可靠且多种应用共享的互联网络上为网络应用提供可靠公平传输而设计. 由于其重要性,工业界和学术界对此协议都进行了持续研究. 根据现有工作进行源端速率调节的依据因素不同,应用于卫星网络的拥塞协议主要可以分为3类:

    1)基于丢包的传输控制协议

    基于丢包的传输控制协议将丢包作为网络出现拥塞的标志. 发送端逐步增大拥塞窗口以充分利用带宽,而当网络出现丢包时,将拥塞窗口减小. 这种类型的控制协议原理较为简单,近年来主要的实现方法有TCP Hybla,TCP Hybla+,TCP Peach,TCP Peach+,TCP Swift,TCP Cherry等[11-12].

    TCP Hybla主要修改了Reno在慢启动和拥塞避免阶段拥塞窗口的增加方式,以一个短RTT(25 ms)为基准,使得不同RTT的TCP连接获得相同的传输速率,抵消了由卫星网络长RTT引起的性能恶化.

    TCP Peach 使用低优先级的虚拟段探测带宽以增加慢启动阶段拥塞窗口的增加速度.TCP Cherry部署了一种新型的低优先级数据段,除探测网络之外,还携带尚未传输的数据段.

    2)基于时延的传输控制协议

    基于时延的传输控制协议将时延增加作为出现拥塞的标志. 当时延增加时,减小拥塞窗口;当时延减小时,增加拥塞窗口.Vegas使用时延估计网络情况,通过比较实际吞吐量和期望吞吐量来调节拥塞窗口的大小. SCPS-TP协议(Space Communication Protocol Specification — Transport Protocol)是面向空间链路设计的传输协议,可以有效提高卫星网络的传输性能[13]. 但是SCPS-TP默认使用的拥塞控制算法是Vegas,在低轨卫星星座网络中无法区分时延变化是由卫星运动引起还是网络拥塞引起,因此存在带宽竞争能力较弱的问题.Illinois[14]则是动态地调整加性增加窗口和乘性增加窗口来充分利用带宽. Illinois将丢包作为主要的拥塞信号决定窗口的增减,并将排队时延作为次要拥塞信号决定窗口变化的速率.

    3)基于BDP估计的传输控制协议

    基于BDP估计的传输控制协议通过测量网络的带宽和时延来调节发送窗口. Westwood在报文丢失时,利用带宽估计值和最小RTT设定拥塞窗口的大小,能够实现更快速地恢复,其在无线网络中表现较好. TCP-J使用可用带宽估计(available bandwith estimation, ABE),进行带宽估计能够实现更快速地恢复,TCP-J在无线网络中表现较好. TCP-WestwoodBR是TCP-Westwood的一个扩展,解决了卫星网络等高错误环境中的性能问题. TCP-WestwoodBR主要修改了3个部分:在同一窗口中检测到多个损失时可能会立即重发送所有未完成的数据包;在连续损失发生时使用固定的超时值而不是在指数后退和发生损失时仍保持拥塞窗口. BBR由谷歌在2016年提出,它认为网络上的数据包总量大于瓶颈链路带宽和时延的乘积时出现拥塞. BBR分别估计带宽和时延,得到的网络容量更加准确,减少了缓冲区膨胀现象的发生,使得时延大大降低. BBR不再将丢包作为拥塞控制信号,在丢包率较高的网络中,BBR依旧拥有较高的吞吐量.

    当前卫星网络传输控制协议主要沿用类似于地面传输控制协议的设计思路[15],缺乏专门针对低轨卫星网络的特点而设计的高性能的传输控制协议. 因此,本文将首先分析低轨卫星网络特点,然后提出面向卫星网络特征的高性能传输控制协议.

    本节通过实验分析现有典型协议Vegas和BBR在卫星网络中性能下降的原因.

    实验拓扑如图2所示,2台主机分别作发送端,1台主机作接收端. 发送端1使用TCP Vegas作为默认的TCP拥塞控制算法,发送端2使用TCP BBR作为默认的拥塞控制算法. 我们使用一台具有双网卡的主机作为交换机,并在上面通过Linux提供的tc命令设置网络的传播时延为40 ms、带宽为100 Mbps. 然后在发送端运行iperf软件进行网络吞吐量测试.

    图  2  实验拓扑
    Figure  2.  Experimental topology

    Vegas通过RTT的变化来计算期望吞吐量与实际吞吐量的差值,进而主动调整拥塞窗口. 因此,Vegas不依靠丢包就能预测网络拥塞,从而在丢包之前拥塞避免,能减少数据包的丢失,更有效地利用带宽. 然而,Vegas算法以RTT为主要参数来控制拥塞窗口的变化,而低轨卫星星座网络的拓扑结构是实时且高动态变化的,这会造成RTT的非拥塞原因增大. Vegas算法本身并没有能力识别RTT的增大是由于网络拥塞造成的还是由于路径变化造成的. 如果是路径的改变导致RTT的增加,那么Vegas算法也会减小发送窗口,从而浪费了网络带宽资源.

    图3显示了TCP Vegas在链路时延动态变化的场景下的吞吐量与拥塞窗口的变化. 链路的初始传播时延设置为40 ms,在第20 s的时候,我们通过脚本将传播时延修改为100 ms. 可以看到,在开始的20 s内,Vegas将40 ms作为基准 RTT,然后根据RTT值的变化调整拥塞窗口,在这种稳定状态下可以达到95 Mbps左右的吞吐量,充分利用了链路带宽. 而在传播时延变为100 ms后,Vegas仍然将基准RTT维持在40 ms,然后因为探测到的RTT值始终大于基准 RTT,Vegas一直在尝试减小拥塞窗口,导致吞吐持续降低. 可以看到,由于Vegas在链路状况发生变化后不会主动探测新的链路信息,在这种高动态网络中不能充分利用网络的带宽资源.

    图  3  TCP Vegas的吞吐量与拥塞窗口值
    Figure  3.  Throughput and congestion window value of TCP Vegas

    此外,虽然Vegas是基于RTT的拥塞控制协议,但是在具体实现中,Vegas仍然会对具体的丢包事件做出反应. 这会导致Vegas在有着一定误码率的卫星链路上性能表现更加糟糕.

    BBR通过主动探测链路带宽和时延来最大化利用当前网络带宽资源. 根据BBR的拥塞控制流程,只要网络拓扑环境不发生剧烈变化,几乎不会引起拥塞丢包而发起数据重传. 但是在高度动态变化的低轨卫星星座网络中,卫星与地面用户之间会频繁发生链路切换,造成当前连接所在链路的可用带宽和时延产生突变. 这种情况会在一定程度上降低BBR在卫星网络环境中的吞吐量.

    图4显示了TCP BBR在2种不同场景下的吞吐量变化. 对于场景1,我们在20 s的时候将链路时延从40 ms修改为100 ms,可以看到在链路时延发生变化后,BBR仍然以最小历史RTT作为RTT估计值,导致计算出的BDP偏小,无法将可用带宽占满. 对于场景2,我们在第20 s后,通过脚本逐渐将RTT增大到100 ms,可以看到在20 s以后,BBR每隔10 s吞吐量就会有一个波谷,这是因为BBR进入时延探测阶段基本不发数据包导致的. 尽管此时时延变化并不是由于拥塞引起的,但是因为BBR没有对这类时延变化进行区分,所以会强制进入时延探测阶段. 对于实时性要求较高的应用来说,这会对服务质量造成一定影响.

    图  4  TCP BBR在2种不同场景下的吞吐量变化
    Figure  4.  Throughput changes of TCP BBR in two different scenarios

    DDTCP是一个基于BDP探测的传输控制协议. 针对卫星网络特点和现有方案的不足,DDTCP在保留原BBR算法拥塞控制机制的基本原理的基础上,在发送端通过确认包到达时间计算链路RTT,并且保存近期内的RTT信息,然后根据时延变化趋势对链路状况进行分类处理. 针对卫星运动导致的时延变化,由于其对链路BDP影响较小,所以发送端拥塞窗口保持不变. 针对卫星切换导致的时延变化,由于时延会发生比较大的突变,同时卫星切换也会伴随着路由变化,在这种情况下,DDTCP会经历一个完整的带宽时延探测,并根据探测结果更新拥塞窗口. DDTCP的窗口调节算法可以保障卫星网络在卫星运动切换过程中吞吐量保持平稳,不会因路由切换出现较大波动.

    1) 时延区分

    在低轨卫星星座网络中,时延变化可能由卫星运动引起,也可能由于卫星切换而导致的链路变化引起. 卫星和地面的相对运动会造成链路时延缓慢,接近线性的增加,而卫星切换可能会造成十几到上百毫秒的时延突变.DDTCP利用这个现象区分卫星网络的变化状态,在BBR算法的基础上,提出的改进的拥塞控制机制能更好地适应卫星网络状况的变化.

    2) 卫星运动引起的时延变化

    在BBR算法中,如果在一段时间内发送端没有监测到更低的RTT,就会重新进入时延探测阶段,在无误码情况下会造成2%的带宽流失. 在地面网络中,时延变化基本是由于缓存队列长度变化引起的,这个机制可以探测当前网络状况是否发生大的改动. 而在卫星网络中,即使网络中缓存队列没有发生变化,链路时延也会随着卫星的运动而不断发生改变. 随着卫星逐渐远离地面用户,链路时延会不断增大,在这种情况下,BBR算法就会在链路没有发生变化的情况下频繁进入时延探测阶段,导致平均吞吐量下降. 同时,BBR在进入时延探测阶段后,为了排空网内堆积的缓存队列,会限制已发送未确认的数据包数量,一般是限制在4个数据包以内,通过这种方式来探测接近真实的传播时延,但是也会导致待发送数据包在这段时间内堆积在源端发送队列中,使得服务时延增加. 对于实时性要求比较高的音视频业务来说,BBR不必要地频繁进入时延探测阶段,会极大影响这类业务的服务质量. 针对这个问题,DDTCP在发送端会保存过去一段时间内的链路时延信息. 在拥塞控制状态机进入时延探测阶段前,DDTCP会通过保存的RTT和当前的RTT信息,判断当前时延是否处于缓慢线性增加,如是,则说明时延变化是由于卫星运动引起的,就会跳过这次时延探测;否则,就进入时延探测阶段. 具体来说,DDTCP会利用式(1)计算最近nRTT周期内的时延变化率,如果连续n个周期RTT都处于增加状态,并且变化率不超过δ,那么认为时延变化是卫星运动引起的;否则是网络中缓存队列增加引起的.

    RTTiRTTi1RTTi<δ. (1)

    3) 卫星切换引起的时延变化

    在BBR算法中,发送端在整个发送过程中会维持一个最小的RTT作为基础RTT用于链路时延的估计,并根据这个值计算拥塞窗口. 但是在低轨卫星星座网络中,由于卫星切换、路由更新等都会造成传输路径的变化,导致链路时延发生十几毫秒甚至上百毫秒的时延突变.

    如果链路时延值从较小突然增大时BBR算法仍然按照之前探测到的最小RTT计算,将造成链路带宽时延积估计偏小,无法充分利用带宽资源. 例如,如果RRT由路径变化之前的10 ms变化为100 ms,BBR还按照RTT = 10 ms计算拥塞窗口,那么带宽利用率会下降为原来的1/10.而传输路径变化在低轨卫星网络中会频繁发生,因此DDTCP在源端监测到时延发生较大突变后,会立即进入时延探测阶段,并将基础RTT更新为时延探测阶段中的最小值,然后按照新的基础RTT计算拥塞窗口.

    在拥塞控制状态机进入时延探测阶段之前,DDTCP使用新的时延探测算法,根据输入的当前以及历史RTT,输出是否进入时延探测阶段以及引起时延变化的原因. 具体算法为:

    算法1. 新的时延探测算法.

    输入:当前以及历史往返时延RTTi.

    if RTTi – RTTi−1 > threshold then

    /* 传输路径可能发生变化*/

    goto ProbeRTT(true);

    else

    for index := i downto i − n do

    diff := RTTindex – RTTindex1

    if diff / RTTindex > delta then

    goto ProbeRTT(false);

    endif

    endfor

    /*RTT变化是由于卫星运动引起*/

    Skip ProbeRTT

    endif

    一般情况下,随着卫星运动引起拓扑关系发生变化,卫星网络的路由也需要随之更新,在更新路由规则这段时间内,为了避免路由环路产生,旧路由不能被使用,因此卫星会将收到的所有数据包和确认包进行丢弃处理. 如果丢弃的数据包和确认包是数据流的中间部分,那么在路由更新完成后,可以通过后续数据包到达接收端后产生重复确认包,然后利用TCP快速重传机制重新发送路由更新过程中丢失的数据包;而如果丢弃的数据包是数据流的尾部,那么发送端只能等待超时重传(retransmission timeout,RTO),计时器超时后利用超时重传机制重新发送丢失的数据包. 但是如果路由更新需要较长时间,那么前几次的超时重传会由于链路不可用而失败,导致RTO定时器以指数形式退让到比较大的值,降低了卫星网络的传输效率,增加了流完成时间.

    针对这种情况,DDTCP在发送端增加一个计时器,每收到一个确认包就将计时器重置一次. 如果计时器超时,说明可能发生了路由更新导致的大量数据包被丢弃,DDTCP就将当前已发送未确认的数据包全部插入到发送队列. 在完成时延探测阶段,即探测到链路恢复正常后,就开始发送这部分数据包. 这样,通过发送冗余包的机制解决了路由更新导致的超时重传等问题,减小了流完成时间. 具体算法为:

    算法2. 快速重传算法.

    输入:往返时延RTTi,重传计时器Timer:

    if 计时器超时 then

    /* 一段时间内没有收到确认包*/

    for已发送未确认的数据包 do

    插入到发送队列;

    endfor

    else if 接收到确认 then

    重置计时器;

    endif

    BBR算法将当前链路中的已发送未确认数据包的数量上限设置为2倍的BDP,这会在链路瓶颈处造成大约1个BDP的缓存队列长度,如果网络中交换机的缓存很小,那么多个使用BBR算法的TCP数据流同时传输时可能会产生大量数据包丢失;而如果网络中交换机的缓存很大,BBR算法在和其他基于丢包驱动的拥塞控制算法竞争时,固定的上限设置也会限制使用BBR算法的数据流可以占用的缓存比例,导致BBR算法的带宽估计偏小,无法与其他拥塞控制算法公平占用带宽.

    基于这些问题,DDTCP使用动态拥塞窗口上限调整算法来根据网络状况实时调整已发送未确认数据包的数量上限. 具体算法为:

    算法3. 拥塞窗口上限调整算法.

    输入:丢包率loss,吞吐throughput,往返时延RTT,带宽估计值BtlBwRTT估计值RTprop

    输出:拥塞窗口上限CWND.

    if loss > threshold then

    /* 队列缓存占用过大*/

    Decrease CWND

    else if throughput < B+lBw then

    /* 带宽利用率不足,或者有确认包被堆积在 网络中*/

    Increase CWND

    else if RTT > RTprop then

    /* 队列缓存占用偏大*/

    Decrease CWND

    else

    Maintain CWND

    endif

    当发送端监测到上一个RTT周期内丢包率大于一定阈值或者实际RTT测量值大于RTT估计值,这表明当前的拥塞窗口上限偏大,导致网络中缓存队列过大甚至溢出,因此DDTCP会减小拥塞窗口上限. 而如果上一个RTT周期内的实际吞吐量小于带宽估计值,表明当前的拥塞窗口上限不足以完全利用链路可用带宽,因此DDTCP会尝试增加拥塞窗口上限. 当然,为了维持数据传输的稳定性,拥塞窗口上限CWND的变化范围被限制在1倍BDP到2倍BDP之间.

    本节通过建立DDTCP算法在稳态时(即带宽探测阶段)的数学模型以证明其在RTT动态变化的卫星网络场景中的稳定性. 具体来说,基于DDTCP算法的拥塞窗口动态调整,卫星网络的传输性能将不受频繁的时延变化的影响.

    由于DDTCP与BBR在启动阶段和排空阶段的行为相同,同时在启动阶段仅估计链路的瓶颈带宽BWe,而且排空阶段的持续时间较短,两者对稳态时算法的性能没有重大影响. 为简化分析,我们将忽略这2个阶段,仅对一些重要结论进行阐述.

    在启动阶段,发送端首先发送10个数据包,随后等待对数据包的确认. 收到每一个已发送数据包的ACK时,BBR便会基于该RTT内传输字节数与RTT的比率更新链路带宽的实时估计值BWje和数据包的发送间隔Δtj,同时得到下一个RTT的数据包发送速率dP,满足

    BWje=dP=B[tP]B[tC]tPtC,j (2)
    \Delta {t^j} = \frac{{\Delta {t^{j - 1}}}}{\alpha },j \geqslant 1 \text{,} (3)

    其中 j 代表第 j RTT持续时间,B[{t_{{{P}}}}]是收到数据包 P 的ACK时的累积字节数,B[{t_{{\rm{C}}}}]是发送数据包 P 之前的累积字节数,{t_{{{P}}}}{t_{{\rm{C}}}}则分别表示2个累积字节数对应的时间. BW_{\rm{e}}^0是基于式(2)和第1个数据包的ACK计算,\Delta {t^{0}} = 1/BW_{{\rm{e}}}^{0}(在本节的分析中将带宽单位统一为包/s). \alpha 在BBR的最初版本中被设定为2,即每经过一个RTT,源端将以2倍的比例增大数据包的发送速率.

    DDTCP在带宽探测阶段会保持相对恒定的发送速率增益和拥塞窗口,其中发送速率增益为1.25和0.75的2个RTT周期主要用于调整多流竞争场景的带宽分配,在单流情况下,这2个RTT周期的影响可以忽略不计.

    在数据传输进入带宽探测阶段,且链路处于稳定状态时,可以假设 B{W_{{\rm{e}}}} \Delta t 在一个完整的TCP连接中保持不变,两者满足

    \Delta t = \frac{1}{{B{W_{{\rm{e}}}}}} . (4)

    记此理想状态下的链路RTT RT{T_{{{\rm{stable}}}}} ,易知此值为一个常数,也即式(2)的分母将保持不变.

    此时,考虑任意一个数据包 P ,则当此包处于“飞行状态”时,源端发送的字节数为

    B[{t_{{{P}}}}] - B[{t_{{\rm{C}}}}] = \frac{{RT{T_{{{P}}}}}}{{\Delta t}} \text{,} (5)

    其中RT{T_{{{P}}}} = {t_1} - {t_0}为数据包 P RTT {t_1} {t_0} 分别表示发出数据包 P 和收到其ACK的时间.

    将式(5)代入式(2)可得稳定状态下的链路带宽估计为

    B{W^j} = {d_{{{P}}}} = \frac{1}{{RT{T_{{{P}}}}}}\times \frac{{RT{T_{{{P}}}}}}{{\Delta t}} = \frac{1}{{\Delta t}},j \geqslant 1 \text{,} (6)

    即链路在第 j 个带宽探测周期内的带宽估计值将保持恒定,后续公式均满足条件 j \geqslant 1 .

    接下来,考虑在带宽探测阶段RTT发生变化的情况. 仍记链路的平均无拥塞时延为 RT{T_{{{\rm{stable}}}}} ,则实际的RTT将在此值附近上下波动,第 j 个带宽探测周期的带宽估计值为

    B{W^j} = {d^j} = \frac{1}{{RT{T_{{{\rm{stable}}}}}}}\times \min \left( {{W^j},\frac{{RT{T_{{{\rm{stable}}}}}}}{{\Delta {t^{j - 1}}}}} \right) \text{,} (7)

    其中 {W^j} 为第 j 个带宽探测周期的CWND,其基于第 j - 1 个带宽探测周期的估计带宽和 RT{T_{\min }} 计算得到,也即此周期的BDP. {W^0} = \beta B{W_{{\rm{e}}}}RTT_{\min }^0 RTT_{\min }^0 为启动阶段和排空阶段测得的所有 RT{T_{\min }} 样值的数学期望.

    在实际系统中使用时,算法3中的拥塞窗口上限 \beta 是我们关注的重点,在1~2倍BDP,它与RTT近似满足反比例关系,即 {\beta ^j} = \gamma /RTT_{\min }^{j - 1} . 其中 \gamma 为一个常数,为一段时间内的RTT参考值,而 RTT_{\min }^{j - 1} 经指数加权移动平均(exponential weighted moving average,EWMA)算法的平滑作用,对因卫星链路切换而造成的RTT抖动不敏感.

    将相关参数代入式(7),可得

    \begin{aligned}[b] B{W^j} =& {d^j}= \\ &\frac{1}{{RT{T_{{{\rm{stable}}}}}}}\times \min \left( {\frac{{{\beta ^j}RTT_{\min }^{j - 1}}}{{\Delta {t^{j - 1}}}},\frac{{RT{T_{{{\rm{stable}}}}}}}{{\Delta {t^{j - 1}}}}} \right) =\\ &\frac{1}{{RT{T_{{{\rm{stable}}}}}}}\times \min \left( {\frac{\gamma }{{\Delta {t^{j - 1}}}},\frac{{RT{T_{{{\rm{stable}}}}}}}{{\Delta {t^{j - 1}}}}} \right), \\ \end{aligned} (8)

    式(8)表明第 j 个带宽探测周期的带宽估计与 \gamma RT{T_{{{\rm{stable}}}}}有关,而与RTT的抖动无关. \gamma RT{T_{{{\rm{stable}}}}}会根据卫星运动和拓扑变化通过指数平滑动态调整,因此带宽估计值在面对低轨卫星网络的时延抖动时能够保持相对恒定,基于DDTCP算法调节拥塞窗口具有良好的稳定性.

    文献[16-17]提出的由48颗卫星组成的低轨卫星星座是一种典型的星座设计方案. 该星座由6个圆轨道组成,每个轨道有8颗卫星,轨道高度为1450 km,具体参数如表1所示. 在极轨星座中,第2个轨道与最后一个轨道相邻,并且轨道上卫星的运动方向相反,这2个相反运动方向轨道之间的区域称为反向缝. 在反向缝两侧,由于2个轨道内卫星的相对运动角速度很大,很难建立稳定的跨越反向缝的星间链路. 因此反向缝两侧的卫星只有3条星间链路,其他卫星各自有4条卫星间链路.

    表  1  低轨卫星星座网络详细参数
    Table  1.  Detailed Parameters of LEO Satellite Constellation Network
    卫星星座网络参数取值
    轨道高度/km1450
    轨道数6
    轨道平面卫星数8
    轨道倾角/(°)86
    轨道平面间隔/(°)32.6
    反向缝两侧轨道间隔/(°)17
    相邻轨道卫星相位差/(°)22.5
    每颗卫星星间链路数4
    卫星链路误码率10−5~10−9
    卫星链路带宽/Mbps100
    跨越反向缝的星间链路
    下载: 导出CSV 
    | 显示表格

    仿真环境使用Linux操作系统,我们在安装有VMWare EXSI系统的服务器上部署了3台虚拟机,其中1台虚拟机用于低轨卫星网络仿真,另外2台虚拟机用于模拟半实物仿真中的真实用户节点. 考虑到容器有自己独立的网络命名空间,拥有独立的网络协议栈,并且容器对资源的要求比较低,批量化操作也比较容易,所以我们采用容器的方式搭建低轨卫星星座. 容器实例基于Ubuntu 14.04服务器版本镜像,在容器中安装不带内核模块的Open vSwitch(OVS),为了保证整个网络环境的吞吐量,在容器所在的物理机上安装OVS内核模块. 在容器中运行OVS时,能够在物理机中实例化一个OVS内核模块,容器中的OVS用户态程序与物理机中的OVS内核模块通过netlink的方式进行通信. 这样可以通过OVS的快速路径保证低轨卫星仿真网络可以承载较高的吞吐量. 我们使用Linux系统提供的veth pair来模拟卫星之间的链路,具体使用时,将veth pair的两端分别加到2个容器中,当作这2个卫星间的一条星间链路. 另外,使用netem对卫星网络的时延变化、误码丢包等特征进行模拟,通过配置延时、丢包率和队列长度等参数,可以准确还原真实的卫星网络环境.

    在仿真系统实际运行时,我们在物理机中运行48个容器实例,然后通过脚本控制程序来模拟卫星间的链路通断. 根据卫星实时经纬度信息计算2颗卫星间是否存在链路,如存在链路,则判断上一秒该链路的情况,执行对应的操作;如不存在,则将对应的veth pair断掉,从而实现卫星间链路通断.

    DDTCP是在BBR代码的基础上,通过内核模块的形式实现. 具体来说,在BBR的拥塞控制结构体struct bbr中增加了一个大小为10的环形缓冲区用于保存过去10个周期内的RTT信息. 在函数bbr_update_min_rtt中,DDTCP利用这些保存的历史RTT信息以及当前RTT信息,判断是否需要进入时延探测阶段. 接着,在tcp_congestion_ops中增加in_ack_event以及对应的回调函数ddtcp_ackddtep_ack在发送端收到确认包的时候被调用,因此判断DDTCP的快速重传定时器是否超时以及更新计时器. 然后在函数bbr_update_bw中增加函数dynamic_gain,根据上一周期内的吞吐量、丢包率、时延等信息,动态调整拥塞窗口增益系数cwnd_gain.

    我们选取了3种典型的拥塞控制算法与DDTCP进行比较,分别是Vegas, Cubic, BBR. Hybla和Illinois的结果与Vegas和Cubic的结果类似,因此在本节的结果展示中,为了能清晰显示不同方案的细节,我们省略了Hybla和Illinois的仿真结果. 同时,仿真速度设置为10倍的真实速度. 链路带宽设置为100 Mbps.

    文献[18-19]中指出典型的卫星网络的误码率为10−4~10−8,因此选择了2种场景进行性能验证. 第1种是误码率为0的理想场景,验证DDTCP的收敛性和公平性;第2种是误码率为10−7的典型卫星网络场景,验证DDTCP在真实低轨卫星网络中的传输性能.

    图5展示了DDTCP与其他3种算法在无误码丢包的低轨卫星网络中的吞吐量随时间变化的情况. 可以看到在无误码丢包的场景下,DDTCP,BBR,Cubic,Vegas在前80 s都可以达到较高的吞吐量,在第80 s左右,传输路径发生变化,导致链路时延由80 ms增大到140 ms左右,此后Vegas的吞吐量持续降低. 而BBR在传播时延发生变化后,经历了40 s左右的低吞吐量时期,之后吞吐量恢复到75 Mbps左右,同时几乎每隔10 s就会进入一次时延探测阶段,在图5中表现为向下的吞吐量骤降. Cubic的表现与BBR接近,可以看到在无误码丢包的场景下,基于丢包驱动的拥塞控制算法是可以取得不错的性能表现. 而DDTCP只在第80 s左右有一个明显的骤降,说明DDTCP进入时延探测阶段,获取链路最新的传播时延,之后DDTCP的吞吐量一直维持在93 Mbps左右,由于后面链路处于稳定状态,仅有卫星运动引起的时延变化,所以DDTCP不会频繁进入时延探测状态,数据传输更加稳定.

    图  5  误码率为0时不同算法的吞吐量变化
    Figure  5.  Throughput variation of different algorithms when the bit error rate is 0

    图6展示了DDTCP以及Cubic,Vegas,BBR等算法在有误码丢包场景下的吞吐量变化. 我们将网络的误码率设为10−7,按照平均数据包长度1000 B来算,对应的丢包率接近0.01%. 可以看到在这种场景下,Cubic的吞吐量有比较明显的下降. 这是因为Cubic无法区分误码丢包和拥塞丢包,导致拥塞窗口会错误地减小.Vegas由于其基于时延的拥塞窗口计算算法没有考虑到低轨卫星网络这种链路时延动态变化的场景,所以拥塞窗口无法被正确设置,几乎没有吞吐量. 而对于BBR和DDTCP来说,由于其基于BDP估计来计算拥塞窗口,所以不会受到误码丢包的影响.

    图  6  误码率为10−7时不同算法的吞吐量变化
    Figure  6.  Throughput variation of different algorithms when the bit error rate is 10−7

    图7显示了4种拥塞控制算法在跨越反向缝通信场景下的吞吐量. 在一开始,链路的传播时延为60 ms左右,在第90 s后,发送端和接收端由于卫星网络相对地面的运动位于反向缝两侧,传播时延变化为180 ms左右,同时传播路径也会发生比较大的变化. 可以看到在这种场景下,BBR和Cubic在90~110 s的吞吐量变得非常低,而DDTCP仅有不到5 s的吞吐量骤降,之后吞吐量就恢复到之前的水平. 这是因为此时网络由于路由更新而发生了短时间内的连续丢包,其他3种协议只能等待超时重传. 而DDTCP通过在发送端维护的重传定时器触发DDTCP的快速重传机制,因此能够将实际吞吐量快速恢复.

    图  7  跨越反向缝通信时不同算法的吞吐量变化
    Figure  7.  Throughput variation of different algorithms when communicating across reverse seams

    我们对DDTCP自身的公平性进行测试,在4个发送端以20 s的间隔依次向同一个接收端发送一段数据. 图8显示了这4条流在低轨卫星网络场景中的带宽占用结果. 可以看出,DDTCP不同流之间的公平性较好. 在新流加入后,旧的数据流能快速让出带宽;在某条数据流结束后,其他数据流也能快速将空出来的这部分带宽占满. 不同流之间几乎是平分瓶颈带宽.

    图  8  DDTCP不同流之间的公平性测试
    Figure  8.  Fairness test among different flows of DDTCP

    我们测试不同拥塞控制算法在同一条瓶颈路径下竞争时的带宽分配情况. 图9展示了DDTCP分别与Cubic,Vegas,BBR在同一条瓶颈路径传输时的带宽占比结果. 可以看到DDTCP的带宽抢占性比较强,与Cubic和Vegas这类传统的基于丢包或时延的拥塞控制算法共同竞争时,DDTCP会占用大部分带宽. 这其实是由于低轨卫星网络这个特殊环境造成的,低轨卫星网络中的误码丢包以及链路时延动态变化的特点都会导致这类传统算法发生误判并减小拥塞窗口. 而DDTCP可以根据探测结果实时调整拥塞窗口到合适的大小,因此可以充分利用链路带宽资源. 当DDTCP和BBR共同竞争时,在网络状况变化不剧烈的情况下,两者都可以合理设置拥塞窗口. 而在链路发生突变的情况下,例如卫星切换、路由更新等,BBR不能对这类情况做出快速反应,DDTCP却可以通过新的时延探测、快速重传以及动态拥塞窗口上限等机制在网络发生变化后针对不同的情况做出不同的动作,图9显示DDTCP和BBR竞争时,DDTCP的吞吐量比BBR多15 Mbps左右.

    图  9  DDTCP与其他算法的带宽抢占性测试
    Figure  9.  Bandwidth preemption test of DDTCP and other algorithms

    在本文中,我们首先分析了低轨卫星星座网络的特点以及这个特点对传统TCP拥塞控制协议造成的影响,通过分析和实验验证,发现现有的BBR,Vegas,Cubic典型TCP拥塞控制算法在卫星网络中都会遇到比较严重的性能降级. 然后,利用低轨卫星网络中卫星运动和路由更新引起的链路时延变化的特征,设计了新的时延探测算法来解决BBR算法存在的问题. 提出的DDTCP协议在源端监测RTT值的变化,对于卫星运动引起的时延变化,由于传输路径没有发生变化,因此保持之前的RTT估计值不变;对于卫星切换、路由更新引起的时延变化,DDTCP会立即进入时延探测阶段. 这样的设计可以避免不必要的时延探测,同时可以保证传输路径变化后源端可以及时更新RTT估计值. 另外,我们也设计了新的快速重传算法和动态拥塞窗口上限调整算法. 实验结果表明,DDTCP可以在低轨卫星星座网络中提供更高、更稳定的传输性能. 与传统拥塞控制算法相比,DDTCP可以实现19%以上的吞吐量提升. 我们认为本方案也可以为其他高随机损耗网络中的传输协议优化提供一定的参考依据.

    在后续的工作中,我们将在更加多样和真实的场景下对现有工作进行性能验证并优化参数设置,并尝试将显示拥塞通告和带内网络遥测等机制与本文方案结合,进一步提高TCP协议在卫星网络中的传输性能.

    作者贡献声明:王子涵负责文献调研、撰写全文并完成相关实验;张娇负责确定论文思路、具体方案以及修改论文;张远负责代码实现并协助分析实验结果;潘恬负责论文框架设定并修改论文;黄韬负责对论文学术性和技术性内容进行审阅和关键性修订.

  • 图  1   低轨卫星星座中的传播时延和跳数变化

    Figure  1.   Propagation delay and hops variation in LEO satellite constellations

    图  2   实验拓扑

    Figure  2.   Experimental topology

    图  3   TCP Vegas的吞吐量与拥塞窗口值

    Figure  3.   Throughput and congestion window value of TCP Vegas

    图  4   TCP BBR在2种不同场景下的吞吐量变化

    Figure  4.   Throughput changes of TCP BBR in two different scenarios

    图  5   误码率为0时不同算法的吞吐量变化

    Figure  5.   Throughput variation of different algorithms when the bit error rate is 0

    图  6   误码率为10−7时不同算法的吞吐量变化

    Figure  6.   Throughput variation of different algorithms when the bit error rate is 10−7

    图  7   跨越反向缝通信时不同算法的吞吐量变化

    Figure  7.   Throughput variation of different algorithms when communicating across reverse seams

    图  8   DDTCP不同流之间的公平性测试

    Figure  8.   Fairness test among different flows of DDTCP

    图  9   DDTCP与其他算法的带宽抢占性测试

    Figure  9.   Bandwidth preemption test of DDTCP and other algorithms

    表  1   低轨卫星星座网络详细参数

    Table  1   Detailed Parameters of LEO Satellite Constellation Network

    卫星星座网络参数取值
    轨道高度/km1450
    轨道数6
    轨道平面卫星数8
    轨道倾角/(°)86
    轨道平面间隔/(°)32.6
    反向缝两侧轨道间隔/(°)17
    相邻轨道卫星相位差/(°)22.5
    每颗卫星星间链路数4
    卫星链路误码率10−5~10−9
    卫星链路带宽/Mbps100
    跨越反向缝的星间链路
    下载: 导出CSV
  • [1] 丁锐. SCPS_TP协议在空间通信中的研究与仿真[D]. 成都: 电子 科技大学, 2011

    Ding Rui. Research and simulation of SCPS_TP protocol in space communication[D]. Chengdu: University of Electronic Science and Technology of China, 2011(in Chinese)

    [2]

    Kassing S, Bhattacherjee D, Guas A B, et al. Exploring the "internet from space" with Hypatia[C] //Proc of the 20th ACM Internet Measurement Conf. New York: ACM , 2020: 214−229

    [3]

    Loreti P, Luglio M, Kapoor R, et al. Satellite systems performance with TCP-IP applications[C] //Proc of the Thyrrhenian Int Workshop on Digital Communications ’01: Evolutionary Trends of the Internet. Berlin: Springer, 2001: 76−90

    [4]

    Ha S, Rhee I, Xu Lisong. Cubic: A new TCP-friendly high-speed TCP variant[J]. ACM SIGOPS Operating Systems Review, 2008, 42(5): 64−74 doi: 10.1145/1400097.1400105

    [5]

    Brakmo L S, O'Malley S W, Peterson L L. TCP Vegas: New techniques for congestion detection and avoidance[C] //Proc of the 8th Conf on Communications Architectures, Protocols and Applications . New York: ACM, 1994: 24–35

    [6]

    Casetti C, Gerla M, Mascolo S, et al. TCP Westwood: End-to-end congestion control for wired/wireless networks[J]. Wireless Networks, 2002, 8(5): 467−479 doi: 10.1023/A:1016590112381

    [7]

    Cardwell N, Cheng Yuchung, Gunn C S, et al. BBR: Congestion-based congestion control[J]. Communications of the ACM, 2017, 60(2): 58−66 doi: 10.1145/3009824

    [8] 戴帅,肖楠,梁俊,等. 基于处理时延的卫星网络TCP拥塞控制算法[J]. 现代防御技术,2014,42(3):127−134 doi: 10.3969/j.issn.1009-086x.2014.03.023

    Dai Shuai, Xiao Nan, Liang Jun, et al. A TCP congestion control algorithm for satellite networks based on processing delay[J]. Modern Defense Technology, 2014, 42(3): 127−134 (in Chinese) doi: 10.3969/j.issn.1009-086x.2014.03.023

    [9] 高丽娟,蒋太杰,高志翔. LEO卫星网络的切换策略及性能分析[J]. 上海航天,2007,24(4):48−52 doi: 10.19328/j.cnki.1006-1630.2007.04.010

    Gao Lijuan, Jiang Taijie, Gao Zhixiang. Handover strategy and performance analysis of LEO satellite network[J]. Aerospace Shanghai, 2007, 24(4): 48−52 (in Chinese) doi: 10.19328/j.cnki.1006-1630.2007.04.010

    [10]

    Ouyang Man, Duan Xuefei, Liu Jiang, et al. Multi-path transmission scheme based on segment control in low-earth-orbit satellite network[C/OL] //Proc of the 22nd Int Conf on High Performance Switching and Routing. Piscataway, NJ: IEEE, 2021[2022-08-31].https://ieeexplore.ieee.org/abstract/document/9481813

    [11]

    Tropea M, Fazio P. Evaluation of TCP versions over GEO satellite links[C] //Proc of the Int Symp on Performance Evaluation of Computer&Telecommunication Systems. Piscataway, NJ: IEEE, 2013: 86−90

    [12]

    Claypool S, Chung J, Claypool M. Comparison of TCP congestion control performance over a satellite network[C] //Proc of the 22nd Int Conf on Passive and Active Network Measurement. Berlin: Springer , 2021: 499−512

    [13] 安建平,靳松,许军,等. 深空通信网络协议的发展与展望[J]. 通信学报,2016,37(7):50−61

    An Jianping, Jin Song, Xu Jun, et al. Development and prospect of deep space communication network protocol[J]. Journal on Communications, 2016, 37(7): 50−61 (in Chinese)

    [14]

    Liu Shao, Basar T, Srikant R. TCP-Illinois: A loss and delay-based congestion control algorithm for high-speed networks[J]. Performance Evaluation, 2008, 65(6/7): 417−440

    [15]

    CCSDS Secretariat—NASA. Space Communication Protocol Specification (SCPS)-Transport Protocol (SCPS-TP) [S]. Washington: The Consultative Committee for Space Data Systems (CCSDS) , 2006

    [16]

    Li Hui, Shi Dongcong, Wang Weizheng, et al. Secure routing for LEO satellite network survivability[J/OL]. The International Journal of Computer and Telecommunications Networking, 2022 [2022-08-31].https://dl.acm.org/doi/abs/10.1016/j.comnet.2022.109011

    [17]

    Su Yongtao, Liu Yaoqi, Zhou Yiqing, et al. Broadband LEO satellite communications: Architectures and key technologies[J]. IEEE Wireless Communications, 2019, 26(2): 55−61 doi: 10.1109/MWC.2019.1800299

    [18] 尹艳平,刘波,赵宝康,等. 星地链路建模与分析[J]. 小型微型计算机系统,2012,33(10):2213−2218 doi: 10.3969/j.issn.1000-1220.2012.10.018

    Yin Yanping, Liu Bo, Zhao Baokang, et al. Satellite-earth link modeling and analysis[J]. Journal of Chinese Computer Systems, 2012, 33(10): 2213−2218 (in Chinese) doi: 10.3969/j.issn.1000-1220.2012.10.018

    [19] 王路,胡月梅,刘立祥,等. 基于跳到跳信息的卫星网络传输控制协议研究[J]. 通信学报,2012,33(6):91−102 doi: 10.3969/j.issn.1000-436X.2012.06.011

    Wang Lu, Hu Yuemei, Liu Lixiang, et al. Research on satellite network transmission control protocol based on hop-to-hop information[J]. Journal on Communications, 2012, 33(6): 91−102 (in Chinese) doi: 10.3969/j.issn.1000-436X.2012.06.011

  • 期刊类型引用(1)

    1. 刘行,郭靓,王正琦,韦小刚,徐雪菲,刘京. 基于Q学习的安全服务功能链编排算法. 计算机与现代化. 2024(11): 34-40 . 百度学术

    其他类型引用(1)

图(9)  /  表(1)
计量
  • 文章访问数:  187
  • HTML全文浏览量:  95
  • PDF下载量:  105
  • 被引次数: 2
出版历程
  • 收稿日期:  2022-04-11
  • 修回日期:  2022-09-26
  • 网络出版日期:  2023-05-31
  • 刊出日期:  2023-07-31

目录

/

返回文章
返回