马骏超 郭福亮 曾 斌
(1.海军工程大学计算机系 武汉 430033)(2.海军工程大学管理工程系 武汉 430033)
卫星网络设备调度仿真平台设计研究*
马骏超1郭福亮1曾 斌2
(1.海军工程大学计算机系 武汉 430033)(2.海军工程大学管理工程系 武汉 430033)
在卫星网络中每一个卫星节点的负载设备不断测量采集数据,并通过中继节点进行转发,根据任务要求调度星载设备并进行路由是当前的研究重点问题。因此需要建立一种仿真工具,能够对卫星通信链路、路由策略以及调度算法进行模拟和性能评估。为此提出了该仿真系统的体系结构及其设计思想,并论述了系统中采用的关键技术,包括星间路由、设备负载调度以及信道仿真算法等。最后给出了一个典型仿真脚本的实验数据。
卫星网络; 星间路由; 网络仿真; 设备调度
Class Number TP301
为了充分展示卫星网络在分布资源管理以及全球监控方面的优势,需要采用更新的通信网络仿真手段。这种全方位的仿真技术将涵盖网络层、协议层、信息发布层以至表达层等各个方面,以便能够表达出海、陆、空、天一体化的网络特性。所以仿真对象的范围也非常广泛,包括卫星网络动态特性、卫星上下行链路(UDLs)、星间链路、卫星负载调度、传输协议、星间和星地路由以及天基流量等。
尽管现在从不同角度研究卫星网络仿真技术的文献有不少[1~2],但卫星设备级调度方面的研究还很少。为此本文主要讨论如何设计卫星网络仿真的架构,该架构指明了要建立一个卫星网络仿真模型需要对哪些基本元素进行设计并对这些元素提出设计方案。研究人员可以利用这个卫星网络仿真架构,设计符合卫星网络研究人员需要的各种网络仿真模型,并可以对卫星网络系统中链路层协议、路由机制、传输层协议、拓扑结构以至应用类型等各个方面进行研究。
本系统主要包括五个部分:
1) 仿真节点:仿真节点仿真的对象主要为卫星或地面站。
2) 仿真管理器:监控整个仿真场景的运行。
3) 数据通道:节点之间的数据传输通道。
4) 控制通道:管理器与仿真节点之间的命令传输通道。
5) STK:本系统利用STK来执行有关具体卫星的轨道计算。
系统的工作流程如下:
1) 用户根据自己的需求建立仿真场景的配置文件,其格式由系统通过XML语言规范,并通过控制台把它提交给仿真管理器。
2) 仿真管理器远程启动STK,并以客户端的形式建立与STK的TCP连接。
3) 仿真管理器接着启动控制通道、数据通道以及节点控制器。
4) 节点控制器根据场景配置文件发送相应命令至各个仿真节点,使之进入相应的运行状态。
5) 仿真运行过程中,仿真管理器的STK接口把各仿真节点以及自身内部模块的计算请求转发给STK,并回传对应的应答报文。请求/应答报文的类型主要包括当前仿真时刻、指定卫星处于视距(LOS)通信的持续时间、指定卫星对之间的距离、卫星的轨道位置等,这些消息都缓存在节点数据库内。
6) LOS事件保存在事件队列中,当事件时钟到达后通过调用相应事件处理程序重新计算星际路由,并把路由更新消息发送至各个仿真节点。
7) 调度模块从STK接口获取卫星位置信息,从地理信息库获取地表信息,利用它们计算卫星负载的调度时间,并产生调度事件,通知卫星节点产生数据流量。
图1 卫星网络仿真系统结构
8) 仿真节点从控制通道获取路由更新及调度消息,并执行自己的功能模块,如根据调度事件产生对应类型的数据流,根据路由表转发数据,进行数据接收、处理、发送等。
9) 节点控制器从各仿真节点中获取状态信息,并发送到显示终端。
本文重点介绍仿真管理器采用的路由算法和调度算法。
3.1 路由算法
系统采用了动态路由算法,利用卫星网络运行时状态来动态调整路径。
3.1.1 上下行链路路由
为了降低卫星切换概率,选择对地面站G具有最大剩余覆盖事件的卫星S作为UDL出口路由器。其算法为:
从STK中获得并计算的参数有:rf:卫星S覆盖区的半径。rf=R·[arccos(R/rs·cosθmin)-θmin],其中R为地球半径,rs为卫星轨道半径,θmin为地面站G的最小仰度角;(v,δ):卫星S覆盖区的移动速率及方向;G(ag,og):地面站G的纬度、经度;S(as,os):卫星S的纬度、经度。
1) 计算S相对G的方位角(AM):
sinα=sin|og-os|sinas/sinγ
(1)
cosγ=cosagcosascos(os-og)+sinagsinas
(2)
(3)
2) 计算S相对于G的剩余覆盖时间:设时刻T后,卫星从位置P移动到位置P′,且这时地面站处于卫星覆盖区边界,PP′表示事件T内卫星的移动路径。
如果P,P′和G处于一条直线:
(4)
否则ε=∠GPP′=|π-|AM-δ||,在球面三角形GPP′上采用sine函数
(5)
则PP′可被写为
(6)
(7)
3.1.2 星间链路路由
当前研究较为广泛的星间路由协议PRP(基于概率的路由协议)把具有最小切换开销的ISLs作为最优路径。这种方法的缺点是假设链路开销是时间和位置的线性函数[3]。但卫星网络在用于实时监控(如C4ISR)时,它的流量是动态相关的,当调度流量的突发性较大时,该算法会导致PRP路径出现拥塞情况,而且PRP算法也较为复杂。而文献[4]认为具有最小跳跃次数的路径才能最大限度地减少资源消耗。我们的算法也是基于该论点。
(p,q):目标节点在卫星矩阵中的坐标。
3) 路径选择规则:从源到目的的路径集合中,计算每条路径的流量,其中流量最小的路径为最优选择。
(8)
4) 约束条件:
(9)
一旦仿真节点发出连接请求或链路状态发生改变时,即可利用修改的Dijkstra算法来搜索具有最小开销的路径。这种算法所要求的计算量小,可以在ISL带宽可变的条件下寻找最优路径[5],比较适合采用不同类型卫星节点的天基拓扑环境。它把链路负载(数据流)直接作为路径开销并认为具有最大可用带宽的路径开销最小。
3.2 调度算法
当卫星处于某一空间轨道坐标时,如果所能观测的地表类型与预设的目标类型相符合时,星载设备开始工作,收集数据并产生相应流量。我们通过一个JPEG文件来表示地表数据。卫星所关心的地理目标用特殊符号表示,并把其作为JPEG文件中对应位置的象素值。算法如下:
1) 调度算法的输入参数(从STK得到)有:卫星在处于某一轨道坐标时的时间、卫星需要观测的目标类型,轨道周期。
2) 利用JAVA图像库获取在该轨道坐标下所能观测的地表信息。
3) 沿着卫星后续坐标点扫描地表,并计数i。
4) 当地表值与目标值相同时,计数i停止。
5) 由于已知轨道周期以及坐标点的数目,所以可以计算出从一个坐标到另一个坐标的时间。因此根据i就可以计算出卫星设备打开的时间。
6) 随后算法继续沿着运动坐标扫描地表并计数j,当发现地表值已不再符合时,停止计数j,这时可以利用j计算出设备负载的持续工作时间,即流量的持续时间。
7) 把设备的开启持续时间、关闭持续时间以及对应的流量类型放入事件队列中。
仿真节点的一个重要功能是对天基信道链路进行建模。由于各个卫星节点距离遥远而且遭受干扰较多,所以对天基链路的仿真应该反映出其高延迟、位错率以及信号衰减[6]等特性。
4.1 BER仿真
在卫星信道中采用较多的调制方法为四相移相键控(QPSK)。这时所需带宽可表示为
BN=(1+ρ)Rb/2
(10)
其中ρ为滚降值。当采用提升Cosine滤波时,ρ一般为0.3左右。
接收方的信号辐射流密度(天线每单元所捕获的信号能量)可被表达为
DM=EIRP/(4πr2)
(11)
其中r为传送方到接收方的距离,即地面站和卫星间距离,EIRP(等效全向辐射功率)为传输天线增益和传输功率的综合效果。
设[X]为X的分贝值,即[X]=10log10XorX=10[X]/10。信号噪声比SNR可表达为
[C/N]=[PR]-[PG]
(12)
其中PR为所接收到的传输功率,PG为高斯白噪声。
接收方天线增益(GR)可表示为
GR=4πηA/λ2
(13)
其中A(天线效率)一般为0.55。λ为信号波长。
所接收的功率即可表达为
[PR]=[EIRP]+[GR]-[Losses]
(14)
其中[Losses]包含自由空间损耗(FSL),接收方线损耗以及传输路径损耗,FSL可表达为
[FSL]=10log(4πr/λ)2
Boltzman′常数[K]=-228.6。高斯噪声可表达为PG=KTGBN=NoBN。所以PG可表示为
[PG]=10log10(KTGBN)
(15)
则整条线路的信噪比[C/N]可表达为
[C/N]= [EIRP]+[GR]-[Losses]
-[K]-[TN]-[BN]
(16)
上式的另一种表达为
[C/N]=[EIRP]+[G/T]-[Losses]-[K]-[BN]
(17)
由于信号噪声密度比
[C/NO]=[C/N]+[BN]
(18)
所以有下式
[C/NO]=[EIRP]+[G/T]-[Losses]-[K]
(19)
利用饱和流密度式(11)和式(19)可写成
[C/NO]=[DM]+[Ao]+[G/T]-[Losses]-[K]
(20)
其中Ao为以GHz为单位的频率函数。
此时整条链路单位频段内位能量与噪声比为
[Eb/No]=[C/No]-[Rm]=C/N]+[BN]-[Rm]
(21)
对于QPSK而言,Rm的值为4。
对于以QPSK调制的卫星信号,BER可用[Eb/No]计算
(22)
由于一条完整的卫星信道包含上、下行两条链路,设(N/C)U和(N/C)D分别表示上、下行链路的噪声信号比,则文献[4]已经证明:
N/C=(N/C)U+(N/C)D
(23)
上式可进一步写成
最后利用[C/N]=-[N/C],则完整信道的[C/N]可写成
(24)
同理,完整信道的Eb/No和BER可按式(24)方法计算得到。
由于(N/C)U和(N/C)D可以根据STK报告计算得到,利用带宽BN按上述公式可求出[C/No],[Eb/No]和BER。
4.2 延迟控制
STK以秒为步长发送报文,延迟控制程序利用STK的“接近报告”消息获取卫星进入通信范围内的持续时间(接近时间)[7]。进一步,对于卫星对的每一次接近,算法都要计算出延迟保持相对稳定时的相互距离。
延迟控制算法如下:
1) 欲发送的报文缓存到一个FIFO队列中,且队列长度与该节点数据链路的传输容量相等。
2) 当队列中的报文被延迟了报文头中指定的时间后即可出列。出列的报文数应该与传输链路能够容纳的报文数相等。
3) 出列的报文数(Nf)按以下方法计算。该计算需要两个参数:传输时间(dt)和传播延迟(dp)。
dt=Sp/BN·Sp(Average Packet Size)
(25)
Nf=dp/dt
(26)
4) 在算法中需要考虑的另一个参数是延迟抖动,由于卫星相互距离不断变化,延迟也会发生改变,这种变化会使队列长度也跟着发生变化。从STK对不同轨道卫星距离给出的延迟结果得出,最大的延迟抖动为每分钟3秒,也就是队列长度在约25个报文范围内变化,这种变化是比较平滑的。
我们设置了不同的仿真场景在该系统上进行了仿真实验,现对其中一个场景的仿真结果作简要分析说明。
例如一个3轨道,每轨道8颗均匀分布的卫星的星座场景,加上一个地面站。其配置如下
表1 24个卫星节点的仿真场景
该场景能够以小于30颗的卫星对地球进行最大范围的覆盖。其中SMA为椭球长半轴,Ecc为轨道偏心率。Inc为轨道倾角,AoP为近地点俯角,RAoA为升交点赤经。
该仿真场景中有五种对地观测卫星的调度类型1,2,3,4 or 5。1为观测陆地和海洋;2为观测陆地和冰原;3为观测海洋和冰原;4为观测沙漠和绿洲;5为观测陆地、海洋和冰原。
表2 实验场景配置
结果如表3所示。
表3 调度结果
ON表示卫星被调度开启的时刻,OFF为卫星负载持续工作时间。
本文阐述了建立卫星网络模型的各个元素,并阐述了如何建立各种卫星网络拓扑结构及如何建立空间环境下的链路。接下来,通过对一个卫星网络对地观测系统的仿真实现和对仿真结果的分析,对文章所设计的卫星网络仿真架构的可靠性和对卫星网络通信仿真的支持性进行了验证。
[1] 申建平,虞红芳,章小宁,等.基于OPNET的低轨卫星网络仿真平台[J].计算机工程,2009,35(18):47-50.
[2] 张永健,康艳梅,王东昱,等.基于信息网格的卫星网络仿真方法研究[J].太原理工大学学报,2012,43(4):22-25.
[3] Br ten L. E, Tjelta T. Semi-Markov Multistate Modeling of the Land Mobile Propagation Channel for Geostationary Satellites[J]. IEEE Trans. on Antennas and Propagation,2002(5):1795-1802.
[4] Castanet L, Mertens D, Bousquet M. Simulation of the performance of a Ka-band VSAT videoconferencing system with uplink power control and data rate reduction to mitigate atmospheric propagation effects[J]. Journal of Satellite Communication,2002(20):56-64.
[5] 李洪鑫,张传富,苏锦海.基于OPNET的卫星网络路由协议仿真[J].计算机工程,2011,37(11):15-19.
[6] 潘艳辉,王韬,李华.背景流量仿真及其在卫星网络性能分析中的应用[J].计算机科学,2011,38(5):32-36.
[7] 徐帆江,李之棠.面向卫星网络的延迟监测算法及仿真实现[J].计算机仿真,2010,27(5):23-25.
[8] 叶晓国,肖甫,孙力娟,等.基于NS-2的卫星网络仿真方法的研究[J].南京邮电大学学报,2009,29(1):78-82.
[9] 杨力,杨校春,潘成胜.一种GEO/LEO双层卫星网络路由算法及仿真研究[J].宇航学报,2012,33(10):1445-1452.
[10] 邵星,王汝传.卫星网路由分布式仿真系统研究与构建[J].计算机工程与应用,2010,46(25):85-88.
Simulation Tool Design for Equipment Scheduling of Satellite Networks
MA Junchao1GUO Fuliang1ZENG Bin2
(1. Department of Computer, Naval University of Engineering, Wuhan 430033) (2. Department of Management, Naval University of Engineering, Wuhan 430033)
As satellite equipments in the satellite network keep on making measurements and gathering data which are forwarded by the inter-satellite node, therefore it is important to design a simulation tool for the performance evaluation and modelling of satellite communication channel, routing methods and scheduling algorithms. An architecture and design of the simulation system is proposed, which describes the key technologies including inter-satellite routing, equipment scheduling and channel simulation. Finally the experiment data is given according to a typical simulation scenario.
satellite networks, Inter-satellite routing, network simulation, equipment scheduling
2014年6月11日,
2014年7月29日
马骏超,男,硕士研究生,研究方向:卫星网络。郭福亮,男,教授,博士生导师,研究方向:计算机网络及应用。曾斌,男,教授,研究方向:网络管理及信息管理。
TP301
10.3969/j.issn1672-9730.2014.12.016