主从分布式卫星网络接入协议研究
2018-08-23王丽冲
王丽冲,高 峰
(中国电子科技集团公司航天信息应用技术重点实验室,河北 石家庄 050081)
0 引言
自从小卫星开始应用后,国内外对小卫星组网的研究以及应用逐渐增多,例如Iridium Next、O3b以及OneWeb系统[1]等。分布式卫星网络系统(Distributed Satellite Network System,DSNS)是小卫星组网的一种形式,一般以编队飞行的方式组网运行[2]。目前在分布式卫星网络领域,研究的关键技术主要有卫星网络架构设计、卫星编队构型控制技术、星间导航技术以及星间通信技术等,其中,接入协议是星间通信技术中的一个研究热点以及难点[3]。文献[4]通过对在卫星网络中应用较为广泛的MF-TDMA协议进行了参数最优化配置而使仿真的信道利用率得到了明显的提高。文献[5-6]对地面无线网络中的竞争类的接入协议在卫星网络中的应用进行了研究,并得到了较好的仿真结果。对于主从结构的分布式卫星网络,为了降低地面系统的复杂度,一般在网络中由主卫星节点收集从卫星节点监测到的地面以及其他信息,然后由主卫星节点与地面系统进行数据信息的交互[7],本文主要针对这样的网络结构来研究其接入协议。时隙Aloha(Slotted Aloha,S-Aloha)协议由于其实现简单的特点[8]被广泛应用在主从结构的网络中,但是,S-Aloha协议中每项数据的传输成功率均是相同的,对于相对较重要的数据而言并没有什么优势,因此本文设计了基于数据优先级的S-Aloha协议,在网络信道利用率持平或提高的前提下,提高高优先级数据(相对重要数据)的传输成功率,并验证较合适的网络数据产生时间间隔。
1 网络架构
针对主从结构的分布式卫星网络,其网络架构采用编队飞行的模式,如图1所示,即各个小卫星在各自的轨道上围绕地球运行的同时,各从卫星节点也围绕着主卫星节点运行[9],其中,大部分时间从卫星节点围绕着主卫星节点的俯视图呈椭圆形。主从分布式卫星网络的通信过程可以从上行和下行两方面来描述。
上行:地面系统将控制信息等数据发送给主卫星节点,然后主卫星节点以广播的形式发送给各个从卫星节点;
下行:各个从卫星节点将监测到的信息传输给主卫星节点,主卫星节点将接收到的数据信息先是存储,等到合并为一个较长的数据帧后,然后发送给地面系统。
图1 主从分布式卫星网络编队飞行模式
2 基于数据优先级的S-Aloha协议
2.1 S-Aloha协议
在S-Aloha协议中,对网络中的时隙划分为若干个时隙,时隙值等于一个节点数据的传输时长,如图2所示。
图2 S-Aloha协议接入信道方式
在S-Aloha协议中,由于对时隙进行了划分,因此节点不再像纯Aloha协议中有数据就发送,而是当有数据要发送时,如果正好在某一个时隙的开始,则可以立即传输数据,否则就需要等到下一个时隙的开始才能传输数据。这样就在一定程度上减少了数据碰撞的概率,从而提高了系统的信道利用率以及数据的传输成功率[10]。
2.2 数据优先级分配方案
在基于主从分布式卫星网络的S-Aloha协议中,当从卫星节点数量和每个卫星节点产生数据的时间间隔选取都比较合适时,可以保证网络信道利用率最高达到36.8%左右[11-12]。而当网络比较繁忙、产生数据的间隔时间较短时,就会将大量的数据排队存储,然后按照数据产生的先后顺序逐一发送。如果数据的重要程度一致,那么S-Aloha可以完全保证数据传输的公平性,然而,对于某些数据重要程度不一致的场景,S-Aloha这样的数据传输机制显然是不合理的,例如从卫星节点中监测到的数据信息,有关于地震信息的,有关于海洋亮温变化的,那么关于地震信息的数据应该具有更高的优先级来被优先发送,因此对S-Aloha协议进行数据优先级的设计,来提高高优先级数据(较重要数据)的传输成功率[13]。数据优先级分配方案如图3所示,每个优先级的数据按照一定的时间间隔产生,然后组成各个优先级数据队列,之后若数据队列不为空,则从这些优先级队列中检测出具有最高优先级的数据进行发送,其他的数据返回,等待下一次的发送[14]。
图3 数据优先级分配方案
3 仿真结果统计及分析
3.1 仿真软件OMNeT++
运用OMNeT++网络仿真软件进行主从分布式卫星网络接入协议的仿真过程如下[15-16]:
① 用OMNeT++特有的网络描述(Network Description,NED)语言来设计网络拓扑结构;
② 通过新建C++类(包括与模块对应的*.cc和相应的*.h文件)为网络拓扑中的各节点模块定义功能,实现各节点之间的数据传输,如果需要,可以添加消息定义文件;
③ 为网络添加配置文件(一般是omnetpp.ini文件),用于配置网络仿真所需要的参数,例如节点数量、数据传输速率、传输时延等;
④ 将整个网络仿真project进行编译、运行,得到仿真结果。
3.2 仿真参数设置
一般分布式卫星网络中卫星节点之间的距离会在几十km到几百km变化[17],本文的仿真中取主从卫星节点之间的距离为300 km,从而传输时延就是由300 km的传输距离与真空传输速率3×108 m/s的比值得到,时隙值是由数据包长度和数据速率比值得到,数据发送间隔时间服从平均数为2 s的指数分布,数据产生间隔时间gene_iaTime与数据发送间隔时间send_iaTime平均值2 s之间成比值关系。仿真过程中优先级数量设为8个,数字越小,优先级越高[18]。仿真过程中主要参数设置如表1所示。
表1 仿真主要参数值
仿真参数参数值数据速率txRate/kbps96 数据包长度pkLenBits/b9 520 时隙slotTime/s0.1传输时延radioDelay/s0.001数据发送间隔时间send_iaTimeExponential (2 s)数据产生间隔时间gene_iaTimeratio*2 s(ratio可变)
3.3 仿真结果
3.3.1 网络拓扑架构
基于上述仿真参数设置,对主从分布式卫星网络中下行链路中各从卫星节点向主卫星节点发送数据过程中的S-Aloha协议进行仿真。基于OMNET++仿真软件搭建的网络拓扑架构如图4所示,显示的是卫星网络的俯视拓扑架构。图4(a)是网络的初始化界面,图4(b)是网络仿真过程中从卫星节点向主卫星节点发送数据的过程,图4(c)是主卫星节点接收到数据,图4(d)是在主卫星节点处接收数据发生碰撞。图4中所示为从卫星节点数为8的仿真过程,随着仿真的进行,从卫星节点数量会逐渐从8增长到42,以验证不同从卫星节点数量下网络信道利用率和数据传输成功率的变化。
图4 主从分布式卫星网络架构仿真
3.3.2 仿真结果统计
本次仿真主要验证基于数据优先级的S-Aloha协议的网络信道利用率和数据传输成功率随从卫星节点数量变化的特性,仿真时间为500 s。在仿真过程中,变化的量还有数据产生间隔时间gene_iaTime,该时间与数据发送间隔时间send_iaTime的平均值2 s之间的比值为ratio,仿真过程中ratio的变化范围为[0.5,1.75],递增间隔为0.25,相应的数据产生间隔时间gene_iaTime的变化范围是[1 s,3.5 s],递增间隔为0.5 s。仿真过程中优先级数据随机产生,各个数据的优先级别在[1,8]之间均匀分布,因此所有优先级的数据量基本上是相等的,优先级1数据的优先级最高,优先级8数据的优先级最低。图5、图6和图7代表性地显示随着ratio的变化,未设置优先级时和设置优先级后分别对S-Aloha协议进行仿真得到的网络信道利用率和数据传输成功率随从卫星节点数量的变化对比图。由于优先级数量一共有8个,为了避免显示混乱,将优先级1~4与优先级5~8的数据传输成功率仿真曲线分开展示。
参数ratio=0.5,gene_iaTime=1 s时的网络仿真结果如图5所示。从图5(a)中可以看出,从卫星节点数在[8,22]之间变化时,设置优先级后网络信道利用率和未设置数据优先级时的信道利用率相比持平或提高;而在(22,42]之间变化时,信道利用率基本上持平或降低。从图5(b)和图5(c)中可以看出,当gene_iaTime为1 s时,只有优先级1的数据成功率高于未设置优先级时的数据传输成功率,最高也可到90%,但是优先级2的数据基本上与未设置数据优先级时的数据传输成功率持平,优先级3~6的数据传输成功率也基本上低于未设置数据优先级时的数据传输成功率,除此之外,优先级7和8的数据传输成功率变化幅度较大,出现很多或0或1的情形。
(a) 网络信道利用率对比曲线
(b) 网络数据传输成功率对比曲线(优先级1~4)
(c) 网络数据传输成功率对比曲线(优先级5~8)图5 设置优先级(ratio=0.5)后S-Aloha性能对比
参数ratio=0.75,gene_iaTime=1.5 s时的网络仿真结果如图6所示。和图5类似,从卫星节点数在[8,22]之间变化时,设置优先级后网络信道利用率和未设置数据优先级时的信道利用率相比持平或提高;而在(22,42]之间变化时,信道利用率基本上持平或降低。与图5不同的是,图6(b)和图6(c)中当gene_iaTime为1.5 s后,优先级1和2数据的传输成功率均高于未设置优先级时的数据传输成功率,最高可达91%,优先级3数据的传输成功率和未设置数据优先级时基本上持平,优先级4~6数据的传输成功率基本上均低于未设置数据优先级时的数据传输成功率,而优先级7和8数据传输的成功率变化幅度减小,逐渐呈现规律性。
(a) 网络信道利用率对比曲线
(b) 网络数据传输成功率对比曲线(优先级1~4)
(c) 网络数据传输成功率对比曲线(优先级5~8)图6 设置优先级(ratio=0.75)后S-Aloha性能对比
参数ratio=1.25,gene_iaTime=2.5 s时的网络仿真结果如图7所示。
(a) 网络信道利用率对比曲线
(b) 网络数据传输成功率对比曲线(优先级1~4)
(c) 网络数据传输成功率对比曲线(优先级5~8)图7 设置优先级(ratio=1.25)后S-Aloha性能对比
图7(a)显示当gene_iaTime=2.5 s时,设置优先级后,在网络信道利用率方面,在从卫星节点(22,42]的变化范围内,S-Aloha协议信道利用率和未设置优先级时相比持平或降低;而在从卫星节点[8,22]的范围内,是持平或提高。在数据传输成功率方面,设置数据优先级后,从图7(b)和图7(c)中可以看出,gene_iaTime为2.5 s时,优先级1~4的数据传输成功率基本上均高与未设置优先级时的数据传输成功率,最高可达91%;优先级5~8的数据传输成功率基本上低于未设置数据优先级时的数据传输成功率;对于优先级1~8的数据,当从卫星节点数量小于22时,基本上所有优先级数据的传输成功率均达到50%以上。
当ratio=1,gene_iaTime=2 s以及ratio=1.5,gene_iaTime=3 s时,在从卫星节点[8,22]的范围内,设置优先级后的S-Aloha协议和未设置优先级时的网络信道利用率相比或持平,或降低,或提高,而图7(a)中是持平或提高。在数据传输成功率方面,当gene_iaTime=2 s时,优先级4数据传输成功率和未设置数据优先级时持平,且优先级7和8相对图7(c)中传输成功率较低;当gene_iaTime=3 s时,与图7(b)相比,优先级4数据传输成功率和未设置数据优先级时持平和降低的概率更大一些。
对于ratio=1.75,即gene_iaTime为3.5 s时,由于数据产生间隔时间较长,导致仿真过程中数据队列为空,仿真无法继续进行下去。因此在本文的网络仿真场景中,gene_iaTime取到3 s为止。
3.3.3 仿真结果分析
通过以上仿真结果统计,从信道利用率的提高和数据尤其是高优先级数据传输成功率提高方面而言,当ratio=1.25,即gene_iaTime为2.5 s,并且只有当网络节点数量在[8,22]范围变化时,S-Aloha的网络性能最好。当网络仿真参数ratio=1.25,gene_iaTime=2.5 s时,设置优先级后的网络性能以及性能提高程度总结如表2和表3所示。
表2 S-Aloha协议网络信道利用率 (%)
表3 S-Aloha协议中高优先级数据传输成功率 (%)
4 结束语
针对主从分布式卫星网络系统设计了基于数据优先级的S-Aloha协议,为数据设置了8个优先级别,然后在不同的数据产生间隔时间的情况下进行仿真,在OMNET++软件上的仿真结果表明,在选取的主从卫星节点距离300 km的网络场景中,当数据发送时间间隔服从均匀值为2 s的指数分布时,选取数据产生时间间隔为2.5 s,就能够保证在[8,22]的从卫星节点数量范围内,一方面使信道利用率持平或提高1.5%~3%,另一方面使优先级1~4数据的传输成功率均高于未设置优先级时的数据传输成功率,最高可达91%,最低也为64.1%,同时能保证优先级1~8数据的传输成功率均达到50%以上。本文中基于数据优先级的S-Aloha协议的设计思想对于某些具有不同重要程度数据的网络场景的接入协议的研究具有一定的参考价值。