空间延迟容忍网络半物理仿真平台的设计和实现
2016-11-30张思耀吴静江昊相煜帆
张思耀,吴静,江昊,相煜帆
(武汉大学电子信息学院,湖北 武汉 430072)
空间延迟容忍网络半物理仿真平台的设计和实现
张思耀,吴静,江昊,相煜帆
(武汉大学电子信息学院,湖北 武汉 430072)
空间延迟容忍网络(DTN)架构通过“存储—携带—转发”等功能可以有效地支持具有长时延、高误码率、链路频繁通断等特性的深空通信网络。由于深空通信方面应用的实验不易搭载测试,于是,搭建准确可信的半物理仿真平台对深空通信任务的设计进行仿真论证是非常必要的。提出了支持各种特定的深空通信任务仿真的空间DTN半物理仿真平台。本仿真平台为深空通信新理论、技术等提供地面仿真与验证,为开展深空通信应用研究提供了分析工具以及测试手段。
延迟容忍网络;深空通信;半物理仿真平台;SDN
1 引言
随着空间通信方面的需求日益增加,空间通信逐渐趋向网络化发展,而且这种趋势已成为空间通信研究的主流。空间网络具有时延长、误码率高、网络拓扑不断变化、链路通断频繁等特点,使得在报文传输的过程中,收发两端不能稳定地保持端到端的路径。DTN(delay tolerant network,延迟容忍网络)可以提供跨越间歇、中断、动态网络的可靠消息传递,适合应用于空间网络这类受限网络,为空间网络互联提供有效连接方式。空间DTN将DTN结构[1]引入空间网络体系中。
空间DTN在深空通信方面已有许多研究。NASA(美国国家航空航天局)开展了大量的空间DTN互联研究。在国际空间站的应用环境中,也进行了相应的DTN应用验证实验[2],空间站上进行的生物实验生成的实验数据被成功地传回地面控制中心。在基于DTN体系结构的深度撞击航天器中进行了数据传输飞行验证[3],项目将300幅图像从地面传到深度撞击航天器后成功传回,对基于DTN的空间网络数据传输的许多环节(数据束的生成、传输、获取、动态路由计算、拥塞控制等)进行了验证。灾难检测星座是由一些近地轨道卫星组成的星座,在这个星座中也开展基于DTN的数据传输飞行验证实验[4],对地面遥测的数据先保存,等到适当的时机再通过地面站传回控制中心。参考文献[5]描述了在NASA的空间网络环境中按需提供快速上行数据服务的方案。该方案提出了一种动态的、按需服务的方式:通过使用DTN协议栈,以一种清晰、简洁的方式满足服务的数据传输需求。ESA(European Space Agency,欧洲航天局)资助的“扩展 Internet到太空”[6]是一个研究开发项目,在一个实验平台主体上实现CCSDS(Consultative Committee for Space Data Systems,国际空间数据系统咨询委员会)和DTN的许多协议。DTN为SIS提供了有效的解决方案,但是目前太空中已经部署了大量各种类型的资产,不可能一步到位地在其中部署DTN协议。为此CCSDS提出了DTN体系与现有的协议体系共存,并最终发展到以DTN为主的体系结构演进方案[7]。
我国空间信息网络建设起步比较晚,在DTN方面的研究主要集中在移动无线传感器网络、无线移动自组织网的路由算法等细节技术层面,并没有在系统层面上提出可靠的解决方案,而且也没有具体的异构网络互联的可操作性规范,在航天领域尤其是在深空通信中的应用研究仍是空白。深空通信面临着与传统地面无线通信截然不同的通信难题,不仅对技术要求高,同时具有高成本、高风险的特点,研究代价大,因此,在深空通信任务进行前,建立准确、可靠的仿真平台进行前期的仿真论证是必要的
国内外面向DTN设计实现的仿真平台主要有NS2、OMNeT++、DTNsim和ONE等。NS2和OMNeT++主要针对通用的网络,对DTN不具备良好支持,而且需要用户自己开发特定模块,如果要进行深空通信网络仿真,效果不好,而且开发起来比较困难;DTNsim和ONE仿真器都是针对DTN开发的模拟器,然而DTNsim只是集中在路由的模拟,不符合本文的要求,而ONE具有模拟分析多种DTN协议的能力,在DTN模拟中具备很强大的优势,但是ONE仿真的环境缺少物理层和链路层的支持,换句话说,只是在软件层面对DTN进行仿真,只能模拟传输虚拟数据,不能进行真实的数据传输。为了能够直观、真实、系统地仿真深空通信网络,基于用户特定的深空通信场景,本文搭建了空间DTN半物理仿真平台,在深空通信载体对应的PC间模拟深空通信网络中真实的数据传输。利用流量控制工具Netem模拟深空通信网络的长时延、高分组丢失率、高误码率等特性,而链路的频繁通断则基于SDN(software defined networking)架构来实现,从而达到与深空通信场景相对应的网络拓扑。通过实验证明,本平台仿真模拟的空间链路灵活性好、参数全面可配置,而且是对深空环境的真实模拟;在HLA架构下,采用联邦管理各联邦成员,成员之间互不影响,仿真平台扩展性以及重用性好。
2 仿真平台设计与实现
仿真平台应实时反映出深空通信环境,对相应参数(传输时延、误码率、链路状态等)进行实时的自动更新。深空通信过程复杂,需要仿真平台具备多个子系统来同步模拟,采用HLA/RTI时间管理技术可以使各个子系统分别保持数据中时间逻辑同步以及各子系统间的信息和数据交互同步。整个平台包含3个子模块:数据中心模块、深空环境仿真模块和通信节点模块。平台整体结构如图1所示,RTI(run-time infrastructure)为运行支撑环境。
图1 仿真平台结构示意
2.1 通信节点模块
真实的深空通信场景可以通过STK (satellite tool kit)卫星工具软件包来模拟仿真,但真实的数据流动则必须由对应的通信节点设备实现,所以得采用硬件设施(电脑)来模拟通信节点设备。在数据传输过程中,各节点能完整地模拟数据的保管传输、存储转发和间断连接等特性。在实现中,为了节省资源,采用虚拟化的方式在一台主机上模拟多个网络节点,这就对虚拟机(VM)的I/O性能有很高的要求。虚拟机操作系统多数情况下是通过VMM(virtual machine monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问,而VMM工作运行则会进一步增加服务器处理器的负载。这里采用Intel虚拟化技术(VT),直接分配物理 I/O设备给 VM,这个模型下,VM内部的驱动程序直接和硬件设备直接通信,只需要经过少量或者不经过VMM的管理,这个模型几乎完全消除了在VMM中运行驱动程序的需求,从而大大提升了虚拟化的I/O性能。具体的实现是:每台主机上通过KVM虚拟机虚拟出4个节点,每个节点拥有两块网卡:虚拟网卡(管理网卡)和PCIe物理网卡(通信网卡),前者用于与数据收集调度分析模块交互,接收配置命令,后者用于通信仿真中Bundle分组传输。
根据已经发布的DTN协议,DTN研究小组已经用C++语言实现了DTN协议的原型——DTN2软件,DTN2中实现了Bundle协议中的几乎全部关键功能,如Bundle分组的托管传输、Bundle路由以及数量众多的汇聚层实现,可以直接用于实际的部署。直接将DTN2编译安装在VM上。外部主机主要用于管理VM,包括创建、分配资源、启动和停止等操作,内部VM则运行DTN协议栈和通信应用,模拟真实的DTN通信。在每台电脑上搭建的虚拟化平台如图2所示。
图 2 节点软硬件平台示意
2.2 深空环境仿真模块
模拟深空通信真实场景可以为仿真平台提供实时链路信息,主要包括空间DTN中各个通信设备间的链路实时通断情况、链路质量(时延、上下行带宽比)、链路传输性能等。STK中的仿真功能可以实时提供所需的各种仿真参数。需要将这些仿真参数反馈到真实的通信链路上。在通信过程中,通信节点之间的链路传输性能(时延、误码率、分组丢失率),可以通过Linux系统下的Netem模块实现,通过Netem设置带宽限制、分组丢失率和时延等参数,以达到真实的空间链路效果。使用到的主要命令及其功能见表1。
表1 Netem命令及其功能
深空通信中的网络拓扑是在不断变化的,链路通断频繁。这里采用SDN的思想模拟深空通信中的各个通信节点间链路的通断,通过流表控制SDN交换机以达到链路通断目的。Floodlight控制器是开源的SDN控制器,提供REST API编程接口,通过REST API可以使用HTTP的get/post/delete方法实现对流表的信息获取、添加、删除等操作,见表2。图3所示为利用Floodlight控制SDN交换机的示意,工作过程如下:控制程序利用STK提供的connect命令,通过执行命令获取各个STK对象之间的access信息;在可见性的starttime和endtime时间点调用Floodlight提供的REST API,进行流表修改,即可控制通信节点之间的通断。而在通信过程中,拓扑是动态变化的,链路的通断也不断变化,所以利用Floodlight下发的流表应该实时更新。在控制程序中设计了一个算法,由于对象之间的可见性都有间隔,于是每隔0.1 s获取当前STK场景里的时间,然后判断是否在某一段可见性时间内,基本的算法流程如图4所示,这样就实现了链路动态变化。
表2 本平台常用的REST API
图3 Floodlight控制SDN交换机示意
2.3 数据中心模块
数据中心模块主要有3个功能:数据采集、数据处理分发和数据分析。
(1)数据采集
采集当前深空通信场景仿真的实时数据和仿真过程中真实数据流的统计信息。
(2)数据处理分发
依据这些采集的数据进行评判,然后分发给各个通信节点,保证节点根据参数模拟通信链路,从而保证数据有效运行。
(3)数据分析
分析数据流的统计信息,将这些信息提供给指标函数进行更新计算。
在数据传输以及接收的过程中,数据中心模块通过RTI与 VM(通信节点)的 dtnd(delay tolerant network daemon,dtn守护进程)通信,获取所需的性能参数,并进行计算得到要求的性能指标。指标计算的大体工作过程是:按固定间隔发送命令,获取统计信息,将统计信息提供给各指标的计算函数进行更新计算,将计算结果呈现在图表中,其工作流程如图5所示。数据中心模块程序通过Telnet协议连接位于VM中的dtnd进程,发送统计命令以获取统计信息。
已实现的指标有5个:队列长度、平均成功交付率、报文传输比、网络平均时延、网络开销比。
(1)队列长度
假设在仿真时刻t,节点i上缓存的Bundle报文数量为 Mi,则节点 i在时刻t的队列长度为 Mi。
(2)平均成功交付率
图4 动态下发流表的算法流程
图5 指标计算显示的流程
假设在仿真时间[0,t)内,共有N个节点生成并发送了Bundle报文。对于节点i∈[1,N),将它发送的 Bundle报文总数记为xi;将xi个Bundle报文中,成功到达目的节点的Bundle报文数量记为yi,那么在仿真时间[0,t)内,平均成功交付概率可以定义为:
(3)报文传输比
在仿真时间[0,t)内,将各网络节点新生成的Bundle报文总数记为X(不包含由于路由策略不同,而产生的Bundle报文复制);将X个Bundle报文中,成功传送到目的节点的数量记为Y,则报文传输比可以定义为:
(4)网络平均时延
在仿真时间[0,t)内,将各网络节点新生成的Bundle报文总数记为X。对于Bundle报文i∈[1,X),将它从源节点开始,到达目的节点为止,所花费的时间记为ti,则网络平均时延可以定义为:
(5)网络开销比
在仿真时间[0,t)内,将已经开始传送,但最终没有到达目的节点的Bundle报文总数记为Q,将已经开始传送,并最终成功到达目的节点的Bundle报文总数记为P,则网络开销比可以定义为:
前文分别介绍了3个模块的设计及实现,整个平台的具体部署结构如图6所示,4个Linux主机实现通信节点模块,控制程序中DTN路由及链路的配置、数据传输服务配置、链路参数的配置、交换机控制各个DTN节点链路属于深空通信环境模块,而数据采集分析及处理和虚拟机的管理程序则属于数据中心模块。平台的工作流程如图7所示。STK仿真程序先建立仿真场景,计算节点轨迹、覆盖性等并保存。控制台从STK获取场景文件等,送给STKX进行场景演示。控制台将场景信息经过转换后生成SDN控制器可识别的指令,由SDN控制器执行并对SDN交换机进行链路配置。控制台将链路状况信息发送给节点模拟设备的Netem模块,Netem模块根据这些信息进行节点的链路配置。全部信息配置好后,系统开始运行,STKX实时显示2D、3D场景,节点模拟设备的DTN2根据链路情况控制业务源发送业务数据。节点模拟设备将状态信息实时回送给控制台程序进行同步显示。
3 仿真平台测试与分析
图 6 平台具体部署结构
根据深空通信的特性,此处采用了一种比较典型的月球信息采集场景,数据源为环月卫星A,中继节点为拉格朗日点的卫星B和地球同步卫星C,地面站为数据接收端。仿真场景如图8所示。在通信过程中,环月卫星A围绕月球飞行时不断采集信息,A不能时刻保持与B的通信链路,它将需要传送的消息进行缓存,当A移动到B的通信范围内时,向B交付消息。B收到消息后可能与卫星C也没有直接的通信链接,必须对消息进行缓存,待C运动到B的通信范围内时,B与C建立通信连接,B将消息发送给C,C将消息最终交付给D。
图7 平台工作流程
图8 仿真场景
图9 队列长度曲线
此场景选用图片作为传送数据,选用图片的优势是:在通信过程中,根据图片的同步接收及显示情况可以直观地反映出深空通信环境的变化对数据传输的影响及所设计的深空通信任务方案的可行性。在仿真过程中可以得到各指标曲线,图9为队列长度曲线,队列长度曲线可以很直观地反映出通信过程中,通信节点缓存Bundle分组数量的变化情况,所以这里主要分析队列长度曲线。
在最初阶段,环月卫星和地面站的视频流是连通的,所以环月卫星和拉格朗日点卫星的缓存队列为0,随着卫星的运转,拉格朗日点卫星和地球同步卫星GEO的链路断开,这时拉格朗日点的卫星仍在继续接收环月卫星传来的数据,且将这些数据缓存在Bundle层里面,所以曲线在不断上升。在环月卫星和拉格朗日点卫星的链路断开之后,环月卫星开始缓存数据,曲线开始上升,而拉格朗日点缓存的数据上升速率会有变化,主要由拉格朗日点和GEO之间的链路通断引起。后面的情况也如此。队列长度曲线如预期的变化也验证了仿真平台在模拟深空通信过程方面的可行性。图10分别为其余4个指标的曲线。
由图10可以看出,报文传输比和平均成功交付率以及网络开销比的曲线形状大致相似,从式(1)、式(2)、式(4)来分析,平均成功交付率类似于报文传输比的平均值,都是到达的Bundle分组在所发出的Bundle中的比例,所以曲线相似,而网络开销比就是未收到的Bundle分组与收到的Bundle分组的比值,所以也与报文传输比、平均成功交付率的曲线类似。图 10(a)、图 10(b)中曲线的下降阶段,表示抵达的Bundle分组的速率对比发出的Bundle分组速率直线下降,而这个时段正是链路断开,Bundle分组不断产生的时候;而曲线上升则表示链路连通,Bundle分组会不断地到达目的接收端,与STK中运行中的场景正好对应。图10(c)中曲线的高低分别对应未抵达Bundle分组的多少,由于场景正在运行中,在不断地产生Bundle分组,而产生Bundle分组的速率比到达目的地的Bundle分组的速率快,所以未到达目的地的Bundle分组很多,但是在通信过程的后期,发出分组的速率变小或者分组越来越少时,未到达的分组比例会变少,曲线会一直下降,直到一个合适的比例。图10(d)中曲线上升阶段正是目的接收端与数据转发节点端链路断开的阶段,所以这个时候时延会一直上升,时延比较大,而一旦链路连通时,时延会急速下降,与STK中运行的场景相对应。
图10 仿真平台指标曲线
4 结束语
本文实现了一套实时性好、可扩展重用以及互操作性好的分布式空间延迟容忍网络半物理仿真平台。通过STK软件仿真空间环境系统,把真实的空间环境实时地映射到平台中。通过虚拟化的方式在资源占用率低的情况下模拟出多个通信节点,而且运用SDN的方法以及流量控制工具,解决了模拟深空通信环境中链路的动态变化难题,实现与空间环境同步的DTN通信仿真。在特定的场景模拟了真实的数据传输,完成了本平台上的仿真,同时也验证了本平台设计实现的可行性。该平台能够为相关通信技术提供切实可行的验证手段和实现分析方法。但是本平台还有些许不足,比如SDN控制器目前只部署在模拟地面站节点中,这会导致在地面站对卫星不可见的时候,SDN控制器会失去控制效果。而对于深空通信环境的模拟,深空通信环境远比想象复杂,比如磁暴、宇宙噪声、电波的传输损耗等对链路传输质量带来的影响在本平台中并未考虑。后期的工作重点会放在SDN控制器在飞行器的部署和SDN控制器的集群以及使用卫星链路仿真器 (satellite link emulator,SLE)来模拟真实链路上。
[1]CERF V,BERLEIGH S,HOOKE A,et al.Delay-tolerant networking architecture[EB/OL]. (2013-05-07)[2016-03-24].htttp://tools.ietf.org/html/rfc4838.
[2]JENKINS A,KUZMINSKY S,GIFFORD K K,et al.Delay/disruption-tolerantnetworking:flighttestresults from the international space station[C]//2010 IEEE Aerospace Conference,March 6-13,2010,Big Sky,MT,USA.New Jersey:IEEE Press,2010:1-8.
[3]WYATT J,BURLEIGH S,JONES R,et al.Disruption tolerant networking flight validation experiment on NASA’s EPOXI mission[C]//2009 First International Conference on Advances in Satellite and Space Communications,July 20-25,2009,Colmar,France.New Jersey:IEEE Press,2009:187-196.
[4]WOOD L,IVANCIC W,EDDY W,etal.Useofthe delay-tolerant networking bundle protocol fromspace[EB/OL].(2008-06-03)[2016-03-24].https://www.researchgate.net/publication/228598657_Use_of_the_Delay-Tolerant_Networking_Bundle_protocol_from_space.
[5]ISRAEL D J,DAVIS F,MARQUART J.A DTN-based multiple access fast forward service for the NASA space network[C]//2011 IEEE Fourth International Conference on Space Mission Challenges for Information Technology(SMC-IT),Aug 2-4,2011,Palo Alto,CA,USA.New Jersey:IEEE Press,2011:61-65.
[6]DISCOS:distributed information storage and communication in outer space[EB/OL]. (2013-05-17)[2016-03-24].http://www.intersys-lab.org/pages/projects.php.
[7]CCSDS. CCSDS 734, 0-G-1 rationale, scenarios, and requirements for DTN in space[S].2010.
Design and implementation of semi-physical simulation platform in space delay tolerant network
ZHANG Siyao,WU Jing,JIANG Hao,XIANG Yufan
School of Electronics and Information,Wuhan University,Wuhan 430072,China
The architecture of space delay tolerant networking can effectively support a deep space communication network with long delay,high error rate and on-off frequently link characteristics through “store-carry-forwards” and other features.Due to the experiment of application of deep space communication is not easy to carry,so building an accurate and reliable semi-physical simulation platform for simulating and making an argumentation of the design of deep space communication tasks was very necessary.A space DTN semi-physical simulation platform was proposed which supported a variety of specific deep space communication tasks simulation.The simulation platform provided new theory and technology for ground simulation and verification,and provided analysis tools and test instruments for carrying out deep space communication application study.
delay tolerant network,deep space communication,semi-physical simulation platform,SDN
s:Higher Education Cooperation Foundation of the 54th Research Institute of China Electronics Technology Group Corporation“the Key Technology Research and Performance Simulation in Spatial Information Network and SDN”,Autonomous Science Research Project in Central Affiliated University(No.2042014gf020,No.2042014kf0256),Natural Science Foundation of Hubei Province of China(No.2014CFB716,No.2011CDA042),The National Natural Science Foundation of China(No.61371126)
TP393
A
10.11959/j.issn.1000-0801.2016187
2016-03-24;
2016-07-07
中国电子科技集团公司第54研究所高校合作基金资助项目“空间信息网络SDN关键技术研究与效能仿真验证”;中央高校自主科研项目(No.2042014gf020,No.2042014kf0256);湖北省自然科学基金面上项目(No.2014CFB716,No.2011CDA042);国家自然科学基金资助项目(No.61371126)
张 思 耀 (1990-),男 ,武 汉 大 学 电 子 信 息 学院硕士生,主要研究方向为无线网络、DTN、SDN 等。
吴静(1981-),女,武汉大学电子信息学院副教授,主要研究方向为网络管理和性能优化、网络路由技术。
江昊(1976-),男,武汉大学电子信息学院教授、博士生导师,主要研究方向为无线网络、移动互联网、大数据分析与挖掘、空间综合信息网络等。
相煜帆(1992-),男,武汉大学电子信息学院硕士生,主要研究方向为无线网络、DTN、SDN 等。