杨佳欣 ,禹 航
随着航天器通信技术的发展,航天器天地数据通信速率、灵活性、信道利用率等性能得到了显著提高,国内外航天器正逐步实现天地一体化网络通信平台[1-2],在提升天地数据传输速率的同时,为航天器内提供标准的以太网接口,由航天器平台系统提供统一的天地链路,实现航天器局域网与地面测控系统局域网双向接入,支持任意类型的载荷设备接入航天器网络平台,与地面测控系统网络内任意测控设备进行双向通信,有效提升天地通信的灵活性.
由于航天器天地通信链路的限制,上下行双向链路带宽不对称[3],并且天地数据传输速率低于航天器内数据通信总线或数据传输接口的速率[4],导致天地通信链路成为天地一体化通信系统的瓶颈[5],天地通信各种业务类型数据共享天地链路资源,为确保天地数据传输的可靠性及实时性,通常对航天器飞行程序进行规划,对重要业务类型数据预留相应的链路资源,导致天地信道利用率存在进一步提升的空间[6].
本文研究了天地信道利用率方法,在某大型航天器型号任务实践中,航天器天地通信平台节点设备与载荷终端设备可自主交互,在保证关键业务数据通信优先可靠的条件下,对载荷终端设备进行了动态流量控制和以太网平台的设计,在网络终端与天地网关之间采用动态流量控制网络协议,由网关根据缓存区状态对终端的传输速率进行实时、动态速率调整,确保缓存区处于健康平稳的阈值范围,实现了在保证终端数据可靠下传的同时,提升了天地链路下行资源的利用率,并进行了仿真验证.本文采用的方法同样适用于地面指控中心系统对上行网络数据进行处理.
航天器天地网络通信系统常采用节点式通信结构,对于单独一条通信链路,航天器内统一配置一台天地网关设备,对航天器内各类型业务数据进行采集,并按照天地接口协议组成数据帧进行传输,典型的天地数据传输系统模型如图1所示.
天地网关实现对不同类型业务数据的集中采集和分发,实现天地数据通信主干链路节点功能,支持终端业务数据采用以太网平台、1533B总线、直连接口等方式接入主干链路,天地之间可采用国际空间数据系统咨询委员会(CCSDS)的分包传输体制[7],对不同业务类型数据采用虚拟信道标识(VCID)进行划分,并按照VCID制定相应的优先级.
天地网关对下行数据通常采用缓存调度策略,对航天器内下行业务数据进行集中采集、缓存,并通过统一的调度策略对缓存区内的数据进行组帧下行,调度策略可根据任务需求按照VCID执行、或直接轮询.天地网关对上行数据进行数据帧分析,根据VCID将数据转发到相应的航天器内接口链路.
为支持终端业务数据的灵活性,可在航天器内设计以太网平台,采用二层、三层路由转发体制进行数据交换,对于天地通信数据采用三层路由机制送天地网关,天地网关对网络数据包(IP)包头及上层数据信息进行封装处理,天地之间数据传输保留了路由数据信息[8],通过航天器网关与地面网关的配合,实现了航天器内任意终端与地面网络中任意终端直接网络通信,具体通信机制可参见空间链路承载互联网协议业务(IP over CCSDS)通信协议.
在天地通信模型中,天地网关采用缓存调度机制,对于天地射频链路之间始终维护固定信道,通常按照航天器飞行任务期间天地传输最大资源需求进行设计,或在有限的信道资源下对业务数据传输速率进行限制[9].根据飞行程序安排,当航天器内某一业务数据停止天地传输时,天地链路会释放一定链路资源.传统的飞行方案中,通常采用三种应对方案[10]:
(1)对该部分信道资源进行填充帧传输,导致信道利用率下降;
(2)通过地面控制指令或航天器固化的飞行程序开启其他业务类型数据,导致系统模式灵活性下降;
(3)开启其他类型业务数据替代当前关闭的业务数据,由于不同设备传输速率存在一定的差异性,同时为保证信道资源不会出现冲突,信道资源分配通常会预留一定的余量,导致不可避免会填充一定的传输帧,信道利用率有待提高.
基于以上方案,由于天地链路带宽高于航天器内各类型业务总平均速率,天地网关的集中采集缓存的数量通常较小,缓存区仅用于对接口突发数据进行缓存,防止数据溢出,当缓存区处于空状态,天地链路将进行填充帧处理,当缓存区持续增长使缓存区满时,业务数据总量超过天地链路资源,导致传输数据丢失.由于终端数据传输通常设置为固定速率或有限几个档位速率,导致缓存区未达到最优使用.
由于缓存区内数据是衡量天地链路利用率的直接参量,为提升系统传输效率,可对天地网关缓存区使用策略进一步研究,对缓存区设置不同的安全阈值,利用天地网关对缓存区占用量进行自检测,当缓存区超过高安全阈值时,自主控制终端降低传输速率,当缓存区低于低安全阈值时,自主控制终端增加传输速率,使天地网关的缓存区始终在安全区间内进行动态调整,保证天地信道“有数可传、数据不丢”.
网关与终端之间动态可采用多种方式进行动态流量控制,常用的方式包括:
1)采用串行数据通信接口的终端,可采用时钟、数据、使能的三线制接口,数据传输速率设置高于天地链路带宽,由天地网关根据缓存区状态对使能信号进行控制,终端根据使能信号开启或停止传输数据;
2)采用总线或网络接口的终端,可通过总线或网络协议控制终端传输速率.
以上两种方式中网络接口可同时支持对多个业务终端进行流量控制,数据传输更灵活,是未来航天器发展趋势.在系统设计过程中需要考虑网络平台架构、路径传输时延、多终端控制响应等影响因素,本研究重点对航天器内网络数据通信方法进行研究,对基于动态流量控制的网络传输方法进行阐述.
为确保流量控制机制可靠性不依赖于数据传输的可靠性,数据通信采用周期传输机制,在网关和终端分别进行状态维护,以网关内缓存区运行状态为主,由终端进行周期(Tp)汇报,由网关周期性(Ts)进行自主流量控制,缓存区参数设置具备一定鲁棒性,当终端异常时,可在一个或几个Ts周期进行有效控制,具体的实现方式如下:
(1)对于有实时性传输要求的终端业务数据始终开启数据传输,航天器系统设计需保证天地链路带宽大于关键实时数据的总量,并且始终为关键实时数据分配高优先级,天地网关对缓存区调取过程优先将该数据传输至地面,对于天地链路其他资源采用动态流量控制策略进行最优传输.
(2)终端开启业务数据传输后,将初始速率设置为0,向网关周期性发送汇报信息(见上节标识为55(H)的数据包),发送周期为Tp,计数位从0开始按序加1.终端同时监测网络送入的网关流量控制信息(见上节标识为00(H)的数据包),当终端接收到流量设置数据包后,按照数据包中的档位取值对自身的传输速率进行调整,调整后汇报速率进行相应更新.终端数据传输流程如图2示.
(3)天地网关对网络接口接入的终端设备统一进行流量控制,网关开启后,网关内部维护一张终端传输速率控制表,对终端的IP地址标识(Tab-A)、网关设置档位(Tab-B)、终端汇报档位(Tab-C)、接入次序(Tab-D)等信息进行记录.初始状态下,该表为空,记录无终端接入.对网络终端发送的流量汇报数据进行监测,当接收到终端主动汇报的流量信息时,对该终端的状态进行记录.当终端首次向网关发送流量汇报信息时,网关在流量控制列表中增加该终端项,IP地址信息(Tab-A)为该网络终端IP地址,网关设置档位(Tab-B)初始值与终端汇报速率档位一致,终端汇报档位(Tab-C)初始值与网络包中终端汇报速率档位一致,接入次序(Tab-D)按照流量控制列表中各终端接入的先后顺序进行排序.终端接入后将等周期向网关发送传输速率档位,网关记录的终端汇报档位(Tab-C)根据终端发送的汇报状态进行更新,当网关在时间(Tq)未接收到终端汇报信息时,将该终端从状态列表中清除.
(4)网关内部开辟存储缓存区,缓存区大小V,缓存区设置3个安全阈值V-、V+1、V+2,V-为控制终端提高传输速度标志、V+1为控制终端降低传输速率标志、V+2为控制终端暂停传输速度标志,网关按固定周期Ts查询当前缓存区状态,根据缓存区的状态对终端档位进行调整,具体的速率调整策略如下:
1)若缓存区低于V-,则将网关将流量控制列表中“网关设置档位”(Tab-B)最低的终端增加一个档位,当出现多个终端相同档位时,可按照接入的顺序进行优先级调整;
2)若缓存区高于V-且低于V+1,①若记录表“网关设置档位”(Tab-B)中最高档位与最低档位差不超过1,则不进行处理,②若最高档位与最低档位差超过1,则将最高的终端降低一个档位,将最低的终端提高一个档位,当出现多个终端相同档位时,可按照接入的顺序进行优先级调整;
3)若缓存区高于V+1且低于V+2,则将网关将流量控制列表中“网关设置档位”(Tab-B)最高的终端降低一个档位,当出现多个终端相同档位时,可按照接入的顺序进行优先级调整;
4)若缓存区高于V+2,则将网关将流量控制列表中所有终端设置为速度为0的档位.
网关记录终端的初始状态和终端传输数据的初始状态均设置为0,网关以自身记录的“网关设置档位”(Tab-B)为准,对终端的传输速率进行控制,“终端汇报档位”(Tab-C)主要用于状态记录,不参与网关自主流量控制的状态控制.
以上给出了对多个终端同时进行动态流量控制时,多个终端的传输速率优先级是一致的,尽量保证各终端处于相同的传输速率,稳定状态下,终端之间速率差异不超过一个档位.当有一个新的终端接入时,可通过几个网关控制周期Ts内,将各终端速率进行均匀调整.在实际设计过程中可根据任务需求确定相应的策略,对终端进行优先级差异控制调整.
由于航天器产品用元器件性能及软件工程化的限制,选用的网络协议需要简单可靠,并且状态可控,本研究采用UDP/IP协议传输,在对流量控制机制本身进行可靠性设计,给出一种可行的应用层协议格式.
应用层协议格式包括标识、计数、速率指示等信息,其格式如图3所示,字段取值定义如表1所示.
表1 流量控制协议应用层格式字段定义Tab.1 The definition of application layer format field of flux control
在动态流量控制机制中,终端汇报周期Tp、网关控制周期Ts、缓存区3个安全阈值V-、V+1、V+2均为配置参数,参数的选取需根据实际通信系统进行确认,参数的选取对传输性能的影响主要包括:
(1)终端汇报周期Tp带来比较少的网络开销,终端的硬件性能影响该参数较大,建议将Tp设置的较小,应保证低于网关控制周期Ts的一半,确保网关及时对终端状态进行监控.
(2)网关控制周期Ts直接影响缓存区大小的选择和安全阈值的确定,一次网关控制周期为ΔT=Ts+τ发送+T响应+τ接收+T处理,其中τ发送为网关向终端发送控制数据的链路时延,T响应为终端接收控制数据到调整速率的响应的时间,τ发送为终端向网关发送数据链路时延、T处理为网关内部运行机制处理的时间,后四个时间相比于控制周期Ts可忽略不计.
(3)当缓存区内数据在V-与V+1之间动态调整时,天地信道可百分百利用,达到通信稳定状态下最优.当低于V-、在V+1~V+2之间、高于V+2时,需要进行动态速率的调整,调整时需确保状态稳定可控.
(4)当缓存区超过V+1后,表明当前速率总和超过了天地链路的传输能力,需要通过降低某一个终端的传输速率降低整个链路的传输数据,正常情况下,缓存区在V-与V+1之间应达到速率平衡,当超过V+1时表明总速率相比于天地传输能力超过1个速率档位ΔS以内,网关可通过一次调整将总速率控制到链路带宽以下,应确保V+1到V+2缓存区可以存储ΔTΔS的数据,为容忍内网络系统传输控制包的丢失导致某一控制周期失效等问题,在缓存区设置时可要求V+2-V+1≥kΔTΔS,其中k为安全系数.
5)当缓存区超过V+2后,表明当前总速率超出链路资源较多,适用于航天器内其他平台数据、或按飞行计划传输的高优先级业务数据开机情况,网关需优先传输这类数据,对于动态可控的数据会进行大量存储,网关会将所有终端速率清零,需确保V+2以上的存储区可以存储所有终端一个控制周期ΔTSmax的数据,其中Smax可选取为与天地链路带宽一致,即对缓存区的具体要求Vmax-V+2≥kΔTSmax,其中k为安全系数,Vmax为缓存区的上限.
6)当缓存区低于V-后,表明当前速率总和低于天地链路的传输能力,链路传输会填充一定的填充帧,需要通过提高某一个终端的传输速率提升整个链路的传输数据,当低于V-时表明总速率相比于天地传输能力降低1个速率档位ΔS以内,网关可通过一次调整将总速率控制到链路带宽以上,应确保0到V-缓存区可以存储ΔTΔS的数据,即对缓存区设置要求V-≥kΔTΔS,其中k为安全系数.
7)缓存区V-与V+1之间进行动态平衡,缓存区会由于高出V+1后降低速率处理使其进入平衡区后总速率低于天地链路带宽一个速率档位ΔS以内,缓存区低于V-后提高速率处理使其进入平衡区后总速率高于天地链路带宽一个速率档位ΔS以内,建议缓存区大小不低于3~4个控制周期,即V+1-V-≥(3~4)kΔTΔS.
8)当由于平台数据或高优先级业务数据开启,导致缓存区超过V+2后,会立刻关闭终端数据传输,缓存区数据很快会被读空,网关在缓存区读空后会逐渐开启终端数据传输达到平衡状态,该段时间内天地链路会有一定的填充帧,持续时间为mod(ΔB,ΔS)ΔT,其中ΔB为高优先级数据开启后天地链路带宽剩余的资源,缓存区会在mod(ΔB,ΔS)轮调整后重新达到平衡.
针对本研究提出的动态流量控制方案,采用opnet仿真平台进行仿真验证,系统仿真模型如图4所示.其中右边4个模块代表高优先级实时业务数据,传输速率分别为8 Mb/s、40 Mb/s、8 Mb/s、60 Mb/s,左边12个为载荷终端设备,具备动态速率调整功能.网关对外天地链路速率设置为600 Mb/s,速率档位ΔS设置为10 Mb/s,V-设置为10 Mb,V+1设置为200 Mb,V+2设置为300 Mb,Vmax设置为1 Gb,网关控制周期Ts设置为0.1 s.
仿真运行后,网关缓存区内的使用情况如图5所示.
通过仿真结果可以看出,缓存区内始终未空,缓存区占用率基本维持在10 Mb与240 Mb之内,与预设的(V-=10 Mb、V+2=300 Mb)保持一致,缓存区始终保持在健康平稳的状态,天地信道率有效利用,并且无数据丢失.
本文提出了基于动态流量控制的天地网络数据传输方法,通过网关对缓存区自主检测,实现了对终端设备输出速率的动态控制,并给出了网络控制协议格式及运行机制,分析了缓存区安全阈值、控制周期等关键参数对系统传输性能的影响,并给出一个系统仿真实例,仿真结果证明该方法在保证数据不丢失的前提下,提升天地信道利用率,可以为后续航天器提升通信系统效率、增加系统灵活性提供借鉴.