基于云平台的天地一体化信息网络仿真方法与流程

文档序号:18736728发布日期:2019-09-21 01:17阅读:377来源:国知局
基于云平台的天地一体化信息网络仿真方法与流程

本发明涉及网络仿真技术领域,特别是涉及一种基于云平台的天地一体化信息网络仿真方法。



背景技术:

天地一体化卫星网络由天基骨干网、天基接入网、地基节点网、地面互联网、移动通信网等多种异构网络互联融合而成,以建成一个“全球覆盖、安全性高、按需服务”的天地一体化信息网络体系。

天地一体化信息网络在实际部署之前,网络协议、应用程序以及体系结构需要先在仿真平台上进行严格的测试与性能评估。当前卫星网络仿真常用仿真方法包括:网络模拟技术、网络仿真技术和实物测试平台。其中实物测试平台的仿真最接近真实情况,但存在维护量高和灵活性差的缺点,且难以支撑大规模网络仿真;与实物平台相比,网络模拟技术具有管理简单、可扩展性高的优点,但所仿真的网络在逼真度上具有很大限制;基于虚拟化的网络仿真技术,不仅具有实物测试平台仿真的高逼真度和高可信度,而且还保持了网络模拟器的可扩展性。

STK是一款在航天领域处于领先地位的商业分析软件,在卫星轨道计算、星上载荷(如接收机、传感器)模拟方面具有优势,但无法真实仿真出卫星链路特性如带宽、延迟等。OpenStack作为典型的云平台,因其可靠性、灵活性及可拓展性成为了仿真平台的首选。

中国专利CN105357039A,公开了一种时延容忍网络的仿真方法及装置,通过载入STK仿真场景,根据卫星间的通断状态,通过虚拟机之间的链路仿真卫星链路通断。该方法仅仅仿真了卫星链路通断特性,无法满足天地一体化信息网络中卫星链路特性实际仿真需求。



技术实现要素:

本发明的目的在于克服现有技术中存在的不足,提供一种基于云平台的天地一体化信息网络仿真方法,从卫星仿真软件工具包STK中获取卫星真实轨道数据作为仿真数据源,借助OpenStack云平台进行仿真,在保证仿真逼真度的同时,技术成本较低。本发明采用的技术方案是:

一种基于云平台的天地一体化信息网络仿真方法,包括以下步骤:

S1,基于STK卫星网络仿真软件构建天地一体化仿真网络场景{Gα,Lβ,Sθ},其中,高轨卫星集合:Gα={GEO1,…,GEOt,…,GEOα},t为高轨卫星编号,1≤t≤α,α为高轨卫星个数;低轨卫星星座集合:Lβ={LEO_CON1,…,LEO_CONi,...,LEO_CONβ},i为低轨卫星星座轨道编号,1≤i≤β,β为低轨卫星星座总个数,其中,LEO_CONi为轨道i上的低轨卫星集合,表示为:LEO_CONi={LEOi1,...,LEOij,...,LEOiNi},Ni为轨道i上低轨卫星的总个数,LEOij为轨道i上第j颗低轨卫星,1≤j≤Ni;地面站集合Sθ={Station1,…,Stationr,…,Stationθ},r为地面站编号,1≤r≤θ;

S2,仿真数据交换模块负责云平台OpenStack与STK卫星网络仿真软件的通信,实现OpenStack获取步骤S1中STK所构建的天地一体化仿真网络场景数据,包括场景信息{Gα,Lβ,Sθ},以及场景中各种卫星链路的链路特性数据;其中卫星链路分为5种,包括低轨同轨道卫星链路、低轨卫星轨道间链路、高轨低轨星间链路、高轨卫星星间链路以及星地卫星链路;链路通用表示形式为Link(x,y),其中x、y为卫星链路两端高轨卫星、低轨卫星或地面站;卫星链路总条数为num;卫星链路Link(x,y)的链路特性数据reportLink(x,y)={BLink(x,y),DLink(x,y),FLink(x,y),ELink(x,y)},其中BLink(x,y)表示链路Link(x,y)的链路带宽,DLink(x,y)表示链路Link(x,y)的链路延时,FLink(x,y)表示链路Link(x,y)的链路通断,ELink(x,y)表示链路Link(x,y)的误码率;链路特性数据以文件形式存在;

S3,网络节点部署模块:根据描述的STK中的卫星场景,在OpenStack云平台上的网络节点部署模块开始部署天地一体化仿真网络场景中的高轨卫星节点Gα={GEO1,…,GEOt,…,GEOα},低轨卫星星座集合Lβ={LEO_CON1,…,LEO_CONi,…,LEO_CONβ},以及地面站节点Sθ={Station1,…,Stationr,…,Stationθ};

S4,网络参数设置模块:根据部署的天地一体化仿真网络场景{Gα,Lβ,Sθ},网络参数设置模块提交卫星链路参数,包括卫星发射机IP地址IPsend、卫星接收机IP地址IPrec、卫星链路带宽Blink(x,y)以及上传的卫星链路特性数据reportLink(x,y);

S5,网络仿真模块:网络仿真模块通过开启进程监听端口,获取到卫星链路参数后,开启多进程,每个进程将开启多个线程用来动态实时仿真每一条卫星链路的链路特性,线程总数NUM≥num。

步骤S5中,网络仿真模块获取到卫星链路参数后,具体进行:

S501,网络仿真模块首先处理卫星接收机IP地址IPrec这个请求,分别得到IPrec:insid和IPrec:mac的对应关系;IPrec为接收方卫星网卡的IP地址,insid为接收方卫星在云平台上的实例ID编号,每个卫星都是云平台上的一个云主机,每个云主机拥有唯一的实例ID编号,mac为接收方卫星网卡的mac地址;

S502,网络仿真模块处理得到的对应的insid和mac,解析相应路径var/lib/nova/instances下实例信息文件,分别得到(insid,mac):vport与(insid,mac):instancename的对应关系;如根据得到的insid与mac,调用虚拟化平台管理工具Libvirt API,获取接收方卫星网卡在云平台虚拟交换机OVS(Open Vswitch)上对应的二层虚拟网卡设备名vport;instancename为接收方卫星在云平台上的实例名称,每个云主机拥有唯一的实例名称;

S503,网络仿真模块下的子模块带宽设置模块处理上述IPrec:(insid,mac),(insid,mac):vport以及(insid,mac):instancename三组对应关系,根据得到的instancename,vport以及Blink(x,y)三个参数,设置虚拟卫星链路带宽;

S504,网络仿真模块下的子模块通断延迟控制模块处理上述IPrec:(insid,mac),(insid,mac):vport以及(insid,mac):instancename三组对应关系,根据得到的instancename,vport以及reportLink(x,y)三个参数,动态实时控制虚拟卫星链路的通断,若链路状态为通,则根据链路延时数据DLink(x,y)及链路误码率数据ELink(x,y),实时控制卫星链路延时及误码率;

步骤S504中,动态实时控制虚拟卫星链路的通断和延时流程如下:

S5041,解析卫星链路特性数据文件,获取卫星链路特性数据reportLink(x,y),链路通断数据用集合表示为{(StartTime1,StopTime1),…,(StartTimei,StopTimei),…,(StartTimeN,StopTimeN)},对应的链路延时数据DLink(x,y)用集合表示为{Delay1,…,Delayi,…,DelayN},链路误码率数据ELink(x,y)用集合表示为{BER1,…,BERi,…,BERN},其中N为该条链路的连通次数;

S5042,获取当前时间,记为Timecurrent,判断当前时间的虚拟卫星链路通断状态:

1)如果存在i使得StartTimei<Timecurrent<StopTimei,则将当前虚拟卫星链路状态设置为通,继续读取链路延时集合中对应的Delayi以及链路误码率集合中对应的BERi,并根据当前时间实时设置链路延时与误码率,当Timecurrent≥StopTimei时,自动切换虚拟链路状态为断开;

2)如果存在i使得StopTimei-1≤Timecurrent≤StartTimei,则将当前虚拟卫星链路状态设置为断开,当Timecurrent≥StartTimei时,自动切换虚拟卫星链路状态为通;

3)如果Timecurrent≥StopTimeN,则在当前时间下此虚拟卫星链路已无再通可能,设置虚拟链路状态为断开。

本发明的优点在于:

1、将云计算与卫星网络仿真结合,搭建基于OpenStack、STK的卫星网络仿真平台,可用来测试卫星网络协议,应用程序及体系结构;

2、可针对虚拟卫星链路的通断性、延迟、带宽等链路特性进行高逼真、动态实时仿真;

3、可基于卫星网络仿真平台实现真实卫星网络行为场景的复现。。

附图说明

图1为本发明的STK与OpenStack云平台的示意图。

图2为本发明的方法流程图。

图3为本发明的实施例所使用的具体卫星网络拓扑图。

图4为本发明的卫星链路的误码率仿真示意图。

图5为本发明的卫星链路的带宽、间歇性仿真仿真示意图。

具体实施方式

下面结合具体附图和实施例对本发明作进一步说明。

一种基于云平台的天地一体化信息网络仿真方法,如图2所示,包括以下步骤:

S1,基于STK卫星网络仿真软件构建天地一体化仿真网络场景{G3,L2,S2},其中,高轨卫星集合:G3={GEO1,GEO2,GEO3};低轨卫星星座集合:L2={LEO_CON1,LEO_CON2},LEO_CON1={LEOA1,LEOA2,LEOA3,LEOA4,LEOA5},LEO_CON2={LEOB1,LEOB2,LEOB3,LEOB4,LEOB5};地面站集合S2={SHStation,WCStation},分别位于文昌与上海,具体卫星网络拓扑见图3;

S2,仿真数据交换模块:负责云平台OpenStack与STK卫星网络仿真软件的通信,实现OpenStack获取步骤S1中STK所构建的天地一体化仿真网络场景数据,包括场景节点数据{G3,L2,S2}以及卫星链路的链路特性数据reportLink(x,y);实施例中卫星链路总条数为76;

S3,网络节点部署模块:根据步骤S2中描述的STK中的卫星场景,在OpenStack云平台上的网络节点部署模块开始部署天地一体化仿真网络场景中的高轨卫星节点G3,低轨卫星节点L2以及地面站节点S2;

S4,网络参数设置模块:网络仿真模块开启进程监听端口后,网络参数设置模块提交卫星链路参数,包括卫星发射机IP地址IPsend、卫星接收机IP地址IPrec、卫星链路带宽BLink(x,y)以及上传的卫星链路特性数据reportLink(x,y);以星地链路Link(LEOA1,SHStation)为例,提交参数包括卫星发射机IP地址IPsend:20.0.0.4,地面站接收机IP地址IPrec:20.0.0.5,卫星链路带宽BLink(LEOA1,SHStation):200KB/s,上传的卫星链路特性数据文件reportLink(LEOA1,SHStation):LEO11SH_Station.csv;

S5,网络仿真模块:网络仿真模块获取到链路仿真的卫星链路参数后,开启多进程,每个进程将开启多个线程用来动态实时仿真每一条卫星链路的链路特性,线程总数NUM≥76,详细步骤如下:

S501,网络仿真模块首先处理卫星接收机IP地址IPrec这个请求,分别得到IPrec:insid和IPrec:mac的对应关系;如("20.0.0.5":"d05b2bc3-2432-4902-bf5b-d4aa57ccc28b","fa:16:3e:73:b0:0c");

S502,网络仿真模块处理得到的对应的insid和mac,解析相应路径var/lib/nova/instances下实例信息文件,得到(insid,mac):vport,instancename的对应关系("d05b2bc3-2432-4902-bf5b-d4aa57ccc28b","fa:16:3e:73:b0:0c":"tapff4cdd32-80","instance-000003cb");

S503,网络仿真模块下的子模块带宽设置模块处理上述IPrec:(insid,mac),(insid,mac):vport以及(insid,mac):instancename三组对应关系,根据得到的instancename,vport以及Blink(x,y)三个参数,设置虚拟卫星链路带宽;以星地链路Link(LEOA1,SHStation)为例,根据"instance-000003cb","tapff4cdd32-80","200KB/s"三个参数,设置虚拟卫星链路带宽;

S504,网络仿真模块下的子模块通断延迟控制模块处理上述IPrec:(insid,mac),(insid,mac):vport以及(insid,mac):instancename三组对应关系,根据得到的instancename,vport以及reportLink(x,y)三个参数,以星地链路Link(LEOA1,SHStation)为例,根据instance-000003cb,tapff4cdd32-80,LEOA1SH_Station.csv三个参数,动态实时控制虚拟卫星链路的通断,若链路状态为通,则根据链路延时数据DLink(x,y)及链路误码率数据ELink(x,y),实时控制卫星链路延时及误码率;具体步骤如下:

S5041,解析卫星链路特性数据文件LEOA1SH_Station.csv,获取卫星链路特性数据reportLink(x,y),链路通断数据集合表示为{(02Mar 2018 12:20:26,02Mar 2018 12:44:23),(02Mar 2018 14:21:57,02Mar 2018 14:48:04),(02Mar2018 16:33:55,02Mar 2018 16:47:19),(02Mar 2018 23:13:51,02Mar 2018 23:34:51),(03Mar 2018 01:15:26,03Mar 2018 01:42:01),(03Mar 2018 03:20:20,03Mar 2018 03:40:22)},对应的链路延时数据DLink(x,y)集合表示为{17.04ms,16.08ms,…,17.02ms,17.06ms},链路误码率数据ELink(x,y)集合表示{0.27145,0.14448,…,0.26713,0.27405};

S5042,获取当前时间,记为Timecurrent,判断当前时间的虚拟卫星链路通断状态:

1)如果存在i使得StartTimei<Timecurrent<StopTimei,则将当前虚拟卫星链路状态设置为通,继续读取链路延时集合中对应的Delayi以及链路误码率集合中对应的BERi,并根据当前时间实时设置链路延时与误码率,当Timecurrent≥StopTimei时,自动切换虚拟链路状态为断开;

2)如果存在i使得StopTimei-1≤Timecurrent≤StartTimei,则将当前虚拟卫星链路状态设置为断开,当Timecurrent≥StartTimei时,自动切换虚拟卫星链路状态为通;

3)如果Timecurrent≥StopTimeN,则在当前时间下此虚拟卫星链路已无再通可能,设置虚拟链路状态为断开。

在上述技术方案中,所用OpenStack平台包含一个控制节点,一个网络节点和若干计算节点。控制节点的第一块网卡连接管理网,IP地址为192.168.1.211;网络节点的第一块网卡连接管理网,IP地址为192.168.1.212,第二块网卡连接隧道网,IP地址为10.0.1.21;计算机节点的第一块网卡连接管理网,IP地址为192.168.1.213,第二块网卡连接隧道网,IP地址为10.0.1.31。其中,在控制节点上部署网络节点部署模块,在计算节点Computen(n=1,2,...,5)上分别部署网络参数设置模块及网络仿真模块;

基于本实施例,可展开但不限于以下测试工作:

(1)使用ping命令结合编写的实时延时记录脚本可以测试出处于仿真下的虚拟链路的延时数据,并将实际延时与理论值进行比较,可知网络仿真模块可以支持同轨卫星链路、异轨卫星链路、星地链路、永久链路等多种卫星链路的延时仿真;

(2)任意取一条虚拟卫星链路,发送方使用ping命令发送100包给接收方,网络仿真模块根据误码率丢弃一定数量的包,并将实际误码率与理论值进行比较,如图4所示,可知网络仿真模块可以支持卫星链路的误码率仿真;

(3)使用iperf软件测试出处于仿真下的虚拟链路的实时带宽数据,如图5所示,可知网络仿真模块能够支撑卫星链路的带宽、间歇性仿真。

上述实验结果表明,本发明提出的一种基于云平台的天地一体化信息网络仿真方法,可以对卫星链路特性如带宽、延迟、误码率和间歇性进行仿真。

最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1