面向天地一体化信息网络的动态联动仿真技术
2020-08-10李乾治王晓锋刘渊叶海洋
李乾治,王晓锋,刘渊,叶海洋
(1.江南大学物联网工程学院,无锡 214122;2.江南大学数字媒体学院,无锡 214122)
0 引言
随着航天技术的发展,实现全球信息共享,特别是天地网络融合的天地一体化信息网络引起全球的广泛关注[1-3]。空间网络覆盖面广、组网灵活、不受地理环境限制,与地面网络相互补充,实现天地信息共享是未来一体化网络发展的目标。作为具有战略意义的国家信息基础设施,天地一体化信息网络对于维护国家利益、促进经济发展具有重大意义[4]。
天地一体化信息网络由地基节点网、地面互联网、天基骨干网、天基接入网、、移动通信网等多种异构网络互联融合而成,其网络规模庞大、结构复杂、高度动态,技术体制多样,解决大量技术难点耗时耗资巨大,因此,需要建立天地一体化信息网络仿真实验平台,对各类新技术与安全防御策略进行试验验证[5-6]。伴随着云计算、虚拟化、SDN等的技术发展,基于虚拟化的网络仿真技术成为当前的主流[7-8]。基于虚拟化技术的天地一体化信息网络仿真也得到了一定的研究[9-12],可构建具有天地一体化卫星链路特性的仿真网络。
有别于传统网络,天地一体化信息网络的显著特征是高度动态变化[4],包括卫星轨道与姿态等实时变化等。文献[9-12]通过卫星链路特性参数事先计算与设置,可实现卫星链路特性的仿真,但难以应对天地一体化信息网络的动态变化。
针对上述问题,本文基于OpenStack云平台[13]与卫星工具包 STK(Satellite Tool Kit)[14],提出了一种面向天地一体化信息网络的动态联动仿真方法。该方法使用卫星工具包STK构建基于理论计算的卫星模型网络,使用OpenStack构建基于云平台的卫星仿真网络,并研究了卫星模型网络与卫星仿真网络的动态联动技术。动态联动技术综合了STK的卫星理论模型实时精确计算优势与OpenStack云平台(融合了虚拟化技术与SDN技术)的卫星链路仿真的高吞吐量与灵活切换优势。一方面,通过卫星模型网络实时精确测算各种卫星链路的特性参数,并将上述参数实时加载到卫星仿真网络中,可实时仿真出具有卫星链路动态特性的天地一体化网络;另一方面,当天地一体化信息网络出现动态变化时(例如卫星轨道与姿态调整等),卫星仿真网络可将动态变化加载到卫星模型网络中,触发其进一步实时计算并将动态结果传导到卫星仿真网络中,从而实现了天地一体化信息网络的动态变化仿真。
1 相关工作
天地一体化信息网络仿真与模拟的相关研究主要集中于面向卫星网络的数学模型、基于离散事件模拟的卫星网络数字仿真以及基于虚拟化的卫星网络仿真3个方面:
(1)面向卫星网络的数学模型
STK[14]是进行卫星各种性能分析的软件包,在卫星网络建模和分析方面具有优势,可用于新理论模型的验证[15],航天器三维模型动画演示[16],卫星覆盖测算[17],以及卫星轨道机动结果评估[18],但STK仅仅计算理论参数,并不能仿真实际协议与业务流量。
(2)基于离散事件模拟的卫星网络数字仿真
基于离散事件模拟(Discrete Event Simulation)技术的数字仿真被广泛应用于新型卫星网络技术评测与验证中。文献[19]基于NS2模拟了卫星链路,并用于Abis接口的性能评估;文献[20]基于OPNET模拟了MPLS卫星网络,并用于评测服务质量;文献[21]对天地一体化信息网络中的“星-地”链路进行了建模,并基于OMNeT++软件进行了特性仿真;文献[22]基于离散事件模拟技术仿真了“星-地”混合网络,并用于分析吞吐量、延迟与误码率等方面的性能。基于离散事件模拟的卫星网络数字仿真,可以构建复杂的卫星网络场景,并分析复杂网络的性能,且具有成本低、可扩展性高的优点,但数字仿真并不具备加载真实业务系统与流量的能力,在仿真逼真性上具有一定的局限性。
(3)基于虚拟化的卫星网络仿真
基于虚拟化、SDN等技术,可保证业务系统与流量的逼真性,并具有仿真规模的可扩展、仿真网络可灵活构建等优势,因此成为了天地一体化信息网络的主流技术。
文献[11]基于云计算平台设计并实现了面向延时容忍网络(Delay Tolerant Networks,DTN)的仿真平台EmuStack,通过使用轻量级虚拟化技术提升了仿真规模,使用流量控制工具 TC(Traffic Control)对“星-地”链路的延时、通断及丢包率进行了仿真;文献[8]基于网络功能虚拟化的思想,借助于KVM全虚拟化技术与SDN技术,设计了虚拟路由器、虚拟交换机、虚拟链路等组件,并通过研究符合卫星网络、DTN网络特性参数的处理组件,实现了对传统互联网、DTN网络、卫星链路的仿真;文献[9-10]基于云计算平台设计并实现了天地一体化卫星网络仿真场景,并重点研究了面向卫星链路性能特性(如带宽、延迟及误码率等)的仿真技术;文献[12]设计并实现了一种DTN网络的测试平台TUNIE,利用虚拟化技术与SDN技术来仿真DTN环境,通过控制数据传输来实现卫星链路时变比特率、误码率以及传输延迟的仿真。
文献[8-12]的工作重点是基于虚拟化实现卫星链路性能特性的仿真,但所提的仿真方法仅仅是预先设置了仿真场景,并通过STK等工具对卫星链路特性参数事先计算与静态设置[9-11],因此,不能满足天地一体化信息网络的高度动态变化的仿真需求。
2 面向天地一体化信息网络的动态联动仿真架构
2.1 动态联动仿真设计思路
STK的卫星网络计算模型能够有效刻画网络拓扑、链路特性等动态特性及卫星在轨运行、轨道机动、姿态变更等场景,可以准确分析复杂网络的性能和行为,且具有成本低、管理简单、可扩展性高的优点,但并不能仿真实际协议与业务流量。云平台OpenStack融合了虚拟化、SDN等技术,基于OpenStack的网络仿真,不仅能够运行真实业务流量,而且仿真结果具有较高逼真度和可扩展性,但OpenStack缺乏相关的卫星网络计算模型支持。为此,有必要综合STK与云平台两者的优势,研究两者融合的天地一体化信息网络仿真方法。
考虑到天地一体化信息网络的高度动态变化,如何无缝融合STK与云平台,实现卫星轨道机动、卫星姿态变化等场景的实时仿真是关键。为此本文提出了面向天地一体化信息网络的动态联动仿真方法,其基本思路如图1所示。
图1 动态联动仿真设计思路
如图1所示,动态联动仿真设计思路是实现卫星模型网络与卫星仿真网络的动态联动。卫星模型网络由STK生成,包含了组成天地一体化信息网络的各种要素,如天基骨干卫星、低轨卫星星座、各种航天器等,STK融合了卫星轨道模型、大气吸收模型、雨衰模型及卫星通信信道模型等,可对天地一体化信息网络的卫星轨道要素、卫星接收机天线、发射机天线参数及卫星通信品质等参数进行动态计算。卫星仿真网络由云平台OpenStack生成,主要是基于全虚拟化技术与轻量级虚拟化技术,构建天基骨干卫星、低轨卫星星座、各种航天器等虚拟化仿真单元,并基于SDN技术,构建虚拟化仿真单元间的基础连接关系,形成了与卫星模型网络对应的卫星仿真网络。卫星模型网络主要是用途是进行天地一体化信息网络中各种参数的动态计算,卫星仿真网络是天地一体化信息网络的具体复现,是真正展开天地一体化信息网络新技术验证的环境。
卫星网络特征参数处理与描述主要将卫星模型网络中的星间可见性、卫星链路长度、卫星链路通信品质等参数,实时转化为可实际进行虚拟化仿真的通断性、链路延时、链路误码率等参数。卫星网络特征参数差异化仿真主要使云平台能够逼真仿真出链路间歇性、延时及误码率等卫星链路动态特性。卫星网络特征参数处理与描述方法以及卫星网络特征参数差异化仿真主要采用文献[9-10]中所提技术,这里不再赘述。
卫星网络特征参数正向动态控制主要将卫星模型网络计算获得的天地一体化信息网络中的各类卫星链路的通断性、链路延时、链路误码率等参数实时加载到卫星仿真网络中,借助于卫星网络特征参数差异化仿真,实现卫星仿真网络的各类参数的实时动态仿真。卫星网络特征参数正向动态控制在第4节会重点展开介绍。
面向STK计算模型的反向实时调控主要监测卫星仿真网络出现的各种可能动态变化(例如通信链路、飞行器轨道、卫星轨道、卫星姿态等),并将相应变化实时反馈到卫星模型网络中,通过进一步实时计算并将动态结果传导到卫星仿真网络中,实现基于云平台的天地一体化信息网络的动态变化仿真。面向STK计算模型的反向实时调控在第5节会重点展开介绍。
2.2 动态联动仿真体系架构
面向天地一体化信息网络的动态联动仿真体系架构融合了OpenStack云平台分布式架构以及通过STKX接口实现的STK场景管控系统。如图2所示,主要分为STK卫星模型计算节点及OpenStack云平台两部分,其中OpenStack云平台主要包括控制节点、网络节点、若干计算节点。所有节点均采用网络时间同步协议NTP,选取控制节点时间作为统一时间参考,以保证各节点间的同步性与实时性。
图2 天地一体化卫星网络动态联动仿真架构
STK卫星模型计算节点负责整个仿真平台的数据层面,为OpenStack云平台提供卫星网络仿真源数据;OpenStack云平台负责整个仿真平台的控制层面,接收到仿真数据后,实时动态控制天地一体化仿真网络拓扑及卫星仿真链路的链路特性,保持卫星仿真网络与STK卫星模型网络拓扑与链路特性的动态联动。
天地一体化信息网络由地基节点网、地面互联网、天基骨干网、天基接入网、移动通信网等多种异构网络互联融合而成。天地一体化网络高性能仿真架构采用多尺度融合仿真思想,融合全虚拟化技术KVM及轻量级虚拟化技术Docker,结合低轨与高轨卫星节点自身特性,采用不同的虚拟化技术,不仅提高了仿真性能还能避免物理资源浪费。高轨骨干卫星、信关站节点采用全虚拟化技术进行仿真,能够满足天基骨干卫星链路高通量需求;天基接入网节点则采用轻量级虚拟化技术进行仿真,能够满足天基接入节点快速转发需求。基于图2,天地一体化卫星网络动态联动仿真总体工作流程如下(图中步骤1至步骤5):
步骤1.首先STK场景管控系统利用STKX接口初始化与STK的连接;
步骤2.STK场景管控系统加载STK场景文件,并设定STK中仿真场景相关参数,主要包括STK场景星历时间、雨衰模型及大气吸收模型、场景运行步长等参数;借助STK中3D模型与2D地图模型中的卫星网络拓扑生成相应卫星场景的拓扑描述文件;利用STK中的计算模型进行链路计算分析,根据对对象间可见性建模计算出卫星链路通断,根据对链路距离建模计算出卫星链路延时,根据对卫星对象接收机、发射机建模计算出卫星链路误码率;
步骤3.通过STK卫星模型计算节点与云平台接口,推送卫星网络拓扑描述文件,且按一定时间步长向云平台上的计算节点实时推送卫星链路仿真源数据;
步骤4.卫星网络拓扑联动模块负责解析拓扑描述文件,解析信息包括节点信息及网段信息,节点信息主要包括节点类型、节点大小、卫星镜像类型;网段信息包括网络名、网络子网;
步骤5.卫星网络联动仿真模块负责动态、实时控制云平台中卫星链路特性,主要包括链路通断、延时、延时抖动、数据分组丢失率及带宽等。
步骤6.反向实时调控模块负责实时监控仿真网络中地面站针对卫星的调控指令,包括轨道机动、姿态调控、太阳帆板闭合等动态参数,虚拟卫星节点将调控指令发送到计算模型的反向调控模块,并且指令将被发送到STK模拟节点中的MATLAB上,由MATLAB远程控制STK对计算模型中相对应的卫星轨道参数、太阳能帆板形态或者卫星姿态的调整。
3 卫星网络特征参数正向动态控制
天地一体化卫星网络中,卫星链路特性多样且具有时变性,仿真过程中对时变性要求最高的即为链路延时,原因在于卫星一直处于不断运动中,卫星间链路长度也在时刻变化。为此,重点介绍链路延迟参数的正向动态控制过程,其他参数的正向动态控制过程类似。
3.1 链路延迟参数的正向动态控制
面向链路延迟参数的正向动态控制过程仿真流程如图3所示。主要步骤如下:
步骤1.链路延迟参数的正向动态控制驱动引擎首先初始化与STK连接。
步骤2.完成初始化后驱动引擎开始工作,获取当前时刻时间T。
步骤3.驱动引擎利用MATLAB并行计算优势,使用STK接口函数stkAccReport获取当前时刻T下卫星计算模型当中卫星链路长度。
步骤4.根据卫星链路长度计算链路延时数据。
步骤5.驱动引擎将链路两端卫星名、延时数据封装成XML格式的延时报告,具体格式见图3,并将该报告上传至云平台。
步骤6.云平台解析延时报告,获取链路两端卫星名、延时数据,根据卫星名匹配到相应的虚拟卫星链路,并行配置每条虚拟卫星链路延时。
图3 面向链路延迟参数的正向动态控制
3.2 卫星仿真网络链路延时并行动态仿真
在卫星仿真网络部署完成之后,对于仿真节点及仿真拓扑信息,都将保存进数据库,关键信息包括卫星名、实例名、网段名等,关键属性表如表1所示。
表1 拓扑信息库属性表
云平台解析延时驱动引擎上传的XML格式的延时数据报告,将报告信息下发给图2中链路延时联动模块,主要包括发送方卫星名、接收方卫星名以及延时数据,延时动态联动流程如下:
步骤1.查询拓扑信息库,根据发送方卫星名sate_src与接收方卫星名sate_dst,确定链路网段名net;
步骤2.根据链路网段名,确定云平台上发送方卫星sate_src的实例名Ins_name;
步骤3.根据链路网段名,确定云平台上发送方卫星sate_src与接收方卫星sate_dst相连接的网卡MAC地址;
步骤 4.调用 Libvirt API,根据 Ins_name与 MAC地址,获取发送方卫星sate_src在OVS上的虚拟网卡tap设备;
步骤5.在发送方卫星节点sate_src所在的计算节点上,使用TC流量限制策略在tap上建立网卡规则,若此前规则为空则直接建立netem队列规则;若已存在则直接覆盖当前规则。
4 面向STK计算模型的反向实时调控
实时仿真过程中,不同的卫星仿真行为往往导致对卫星模型网络中的通信链路、飞行器轨道、卫星轨道、卫星姿态等参数出现不可预料的调整,为此,面向卫星虚拟网络,通过实时监控仿真网络中地面站针对卫星的调控指令,包括轨道机动、姿态调控、太阳帆板闭合等动态参数,研究实时状态监控驱动的反馈技术,将上述变化反馈到卫星模型网络中,通过进一步实时计算并将动态结果传导到卫星仿真网络中,实现基于云平台的天地一体化信息网络的动态变化仿真。
4.1 面向STK计算模型的反向实时调控流程
图4详细描述了面向STK计算模型的反向实时调控流程。OpenStack云计算平台上的虚拟地面站节点能够向虚拟卫星节点发送命令,要求卫星进行轨道机动操作、调整卫星姿态或太阳能帆板(形态控制)。在接收到命令后,虚拟卫星节点将调控指令发送到计算模型的反向调控模块,然后调控指令将被发送到STK模拟节点中的MATLAB上,由MATLAB通过功能函数stkSetPropClassical、stkSetAttitudeCBI、AddArticlation 分别控制STK对计算模型中相对应的卫星轨道参数、卫星姿态和太阳能帆板(形态控制)进行调整。此外,天地一体化卫星仿真网络中相应虚拟卫星链路的链路特性也将发生变化。
图4 面向STK计算模型的反向实时调控流程
表2 卫星轨道参数
4.2 卫星三维模型的建立
逼真的三维模型对于提高系统的仿真效果,增强仿真可信度具有关键作用。卫星三维模型如图5所示,基本图元包括圆柱形、多边形以及球形等。由基本图元组成太阳能帆板、卫星天线等局部模型,再由局部模型共同构成卫星三维模型。卫星三维模型脚本是一个倒置的树状结构,每个图元组件都需要一个父物体,卫星模型为所有组件的父物体。
图5 卫星三维模型示例
5 实验结果分析
5.1 天地一体化信息网络场景
所构建的天地一体化信息网络场景由天基接入网络、天基骨干网络以及地面网络组成。天基接入网络由120颗LEO卫星组成,天基骨干网络由6颗GEO卫星组成。地面用户可以通过天基接入网络连接到天地一体化网络,从而获得卫星电话等服务。天基骨干网络负责长途通信和信息交换。
天基接入网和天基骨干网的设计目标如下:天基骨干网络能够提供全球覆盖,且能够为我国提供不间断连接服务;天基接入网能覆盖中国及周边地区,地面用户易于从全球任何地方连接进天基接入网,包括高纬度地区。
图6和图7展示的分别是天地一体化网络的全局和部分场景,卫星轨道参数如表2所示。场景方案主要包括120颗低轨道LEO卫星、6颗高轨道GEO卫星。低轨道LEO卫星分为12个轨道平面,每个轨道面10颗卫星,GEO星座分布在一个轨道面,负责为地面宽带用户接入卫星接入天基骨干网络,为用户提供网页浏览、Ftp上传下载、Email邮件以及即时通讯等宽带服务,低轨道LEO卫星星座为地面用户提供注册、通话、短信等服务。
图6 天地一体化信息网络整体场景
图7 天地一体化信息网络局部场景
5.2 仿真场景的软硬件环境
基于OpenStack Mitaka版本、STK11及MATLAB 2013a搭建了本文提出的天地一体化信息网络的动态联动系统,用于仿真5.1节中的天地一体化信息网络场景,并进行相关的实验验证。
实验所采用的计算资源为2台机架式服务器,分别为计算节点1与计算节点2组成,如图8所示。计算节点1采用Dell PowerEdge R830机架式服务器,处理器为Intel Xeon E5-4620 v4*2,内存64G;计算节点2采用Dell PowerEdge R730 2U机架式服务器,处理器为Intel Xeon CPU E5-2620 v3*2,内存 16G。OpenStack平台的物理服务器,包括计算节点、控制节点与网络节点均通过以太网交换机互连,操作系统均为Centos 7.2。
天地一体化仿真网络拓扑部署情况如图8所示,卫星网络主要由天基接入网和天基骨干网组成。其中,120颗天基接入网卫星节点部署在计算节点1,卫星分布在12个轨道面,每个轨道面10颗卫星;6颗天基骨干网卫星节点部署在计算节点2上,卫星分布在同一轨道,呈双环结构,临近卫星节点互相备份。二层交换机负责天基接入网、天基骨干网内部通信,跨计算节点通信则通过Open vSwitch交换机,连接至物理交换机,实现天基接入网与天基骨干网的互联互通。
图8 天地一体化信息网络仿真场景部署
5.3 卫星链路延时动态联动仿真测试
在STK计算模型中构建图8中的天地一体化卫星网络场景。其中卫星网络中的卫星链路主要分为两类:一类是相同高度轨道星间ISL类型链路,包括轨道内链路及轨道间链路,另一类是不同高度轨道间IOL类型链路。星历周期设置为16 Jan 2020 00:00:00.000到17 Jan 2019 00:00:00.000,仿真步长为60秒。
卫星静态、动态链路延时动态联动仿真测试结果分别如图9、图10所示。图9表明,卫星静态链路的延时动态联动仿真具有很高的逼真性;图10表明,卫星链路延时实际测试数据曲线与卫星链路长度曲线周期性及动态变化趋势一致,表明也能够支撑卫星动态链路的延时仿真,且同样具有很高的逼真性。
图9 天地一体化卫星静态链路延时动态联动仿真测试
图10 天地一体化卫星动态链路延时动态联动仿真测试
5.4 卫星网络仿真拓扑时变测试
卫星与信关站间链路连接关系存在间歇性,因此卫星网络拓扑时刻都在发生变化。为验证OpenStack云平台支持对卫星网络拓扑的时变仿真,测试对象为leo_01和leo_02两条链路组成的网络拓扑,分别在T1时刻与T2时刻,查看该低轨卫星星座拓扑的连接关系,两时刻测试拓扑如图11(a)(b)所示。可见两时刻各卫星网络的连接关系发生了变化。将leo_unsec_01_01切断与leo_unsec_02_01低轨卫星的连接的yy_net133网络。拓扑切换前leo_unsec_01_01与leo_unsec_02_01间数据包路由途径如图11(c)所示,数据包经,拓扑切换后leo_unsec_01_01与leo_unsec_02_01间数据包路由途径如图11(d)所示,切换后由leo_unsec_01_01卫星的数据包将经过leo_unsec_01_02卫星和leo_unsec_02_02卫星的转发到leo_unsec_02_01。
图11 卫星网络仿真拓扑时变测试
5.5 卫星姿态实时变化仿真测试
为验证OpenStack云平台对STK中计算模型反向状态调控的有效性,反向调控实验对象选用低轨天基接入卫星leo_unsec_01_01,在云平台中反向调控模块监控到仿真网络中地面信关站对卫星的姿态调控指令,该指令传输到MATLAB中,MATLAB使用stkSetAttitudeCBI功能函数直接控制STK计算模型中该卫星的太阳能帆板打开。
表3 太阳帆板展开角/deg
太阳帆板展开角具体参数如表3所示。Panel_1、Panel_2、Panel_3、Panel_4、Panel_5 为卫星太阳帆板铰链机构,通过改变铰链展开角度从而控制太阳帆板闭合状态。OpenStack云平台向STK中卫星计算模型发送太阳帆板调控指令,开始执行卫星太阳帆板展开操作。卫星太阳帆板模型展开过程如图12所示,可见能够支持卫星计算模型的反向调控控制。
图12 太阳能帆板的展开
6 结语
天地一体化卫星网络作为信息时代的战略性基础设施,对于促进国家科技发展具有重要作用。在实际部署之前,天地一体化网络拓扑结构、网间互联安全网关及终端接入鉴权等必须经过严格的评估和验证,因此仿真测试平台的存在必不可少。基于STK计算模型与云平台提出的一种面向天地一体化信息网络的仿真卫星网络动态联动架构,融合STK与OpenStack仿真优势,分别采用链路延时驱动引擎与星地链路切换引擎,由计算模型驱动仿真网络,保持了延时与切换信息的动态联动;此外,支持OpenStack云平台对STK计算模型的反向调控。实验结果表明,仿真平台不仅能够满足天地一体化通信网络中卫星链路延时时变仿真需求,而且支持对仿真卫星的反向调控,能够支持各种实际应用的部署与性能评估。