基于GEO/LEO双层卫星网络的路由算法优化设计

2020-07-17 07:35张泰江李勇军赵尚弘
计算机工程 2020年7期
关键词:卫星网络双层数据包

张泰江,李勇军,赵尚弘

(空军工程大学 信息与导航学院,西安 710077)

0 概述

卫星通信技术已成为当今世界最先进的通信技术之一,具有通信距离远、覆盖面积大和信道质量高等优点,在环境监测、防灾减灾、交通管理和城市规划等领域发挥着越来越重要的作用。卫星根据轨道高度的不同可以划分为高轨道卫星(Geostationary Earth Orbit,GEO)、中轨道卫星(Medium Earth Orbit,MEO)和低轨道卫星(Low Earth Orbit,LEO),不同轨道的卫星由于所在轨道高度的不同导致卫星运行速度、卫星对地面的覆盖区域大小和时间等参数存在较大差异。随着卫星通信技术的不断发展,多层卫星网络结构逐渐取代单层卫星网络结构,我国迫切需要依托卫星网络构建覆盖全球的空间信息网络。由于卫星网络存在网络结构不规则、星间连接关系复杂、链路间歇性通断及网络拓扑变化频繁等问题,因此可能导致路由环路、链路质量差及延迟时间长等情况发生。为确保卫星网络满足自主性、自治性、实时性、可靠性和安全性等要求,需要针对卫星网络特点设计更加高效的卫星网络架构和路由算法。

国内科研团队针对空间信息网络开展了相关研究。文献[1]通过天地链路实现一体化网络互联的天地一体化航天互联网。文献[2]通过卫星系统整合实现天基信息传递的天基综合信息网。文献[3]提出对飞行器、航天器及卫星等天基信息载体整合的空间信息网络。文献[4]提出为“一带一路”提供空间信息支撑的“一带一路”空间信息走廊。文献[5]提出由天基信息网、互联网和移动通信网互联而成的天地一体化信息网络。文献[6]提出由156颗小卫星构建覆盖全球的低轨互联网接入系统“虹云星座”以及由300余颗LEO卫星提供两极地区覆盖、全球航空航海监视、智能终端互联网和物联网服务的“鸿雁星座”。由此可见,开展多层卫星网络相关研究对我国空间信息网络的构建具有极大的现实意义和极高的应用价值[6]。本文构建了GEO和LEO双层卫星网络架构,并对GEO/LEO双层卫星网络进行分层分簇设计,提出一种优化的临时按序路由算法(Temporally Ordered Routing Algorithm,TORA)。

1 相关工作

1.1 卫星网络路由

卫星网络路由算法在早期主要是针对单层网络开展相关研究,而随着卫星网络路由技术的发展,单层网络无法满足相应需求,因此多层卫星网络架构相继被提出,相关路由算法也得到迅速发展,如基于负载均衡的路由算法、多业务路由算法及QoS路由策略等。文献[7]通过屏蔽卫星的移动性及基于分组的路由决策,生成的路径为无环路,并且路由算法能够避开拥塞区域。文献[8]提出地球静止轨道/低地球轨道混合卫星网络的路由设计方案,并基于混合网络提出用户移动性管理机制,实现一种具有负载均衡能力的跳跃约束自适应路由机制。文献[9]提出一种基于非对称离散时间的LEO卫星网络路由算法(A-DTRA)。对于每个连续时间间隔之间的链路状态,该算法通过备份路由和路由表压缩机制,保证非对称链路上报文转发的可靠性、故障节点处理的实时性和卫星节点开销的低功耗。

1.2 卫星网络管理

传统基于地面站-卫星的点对点集中式网络管理模式使得卫星缺乏管理自主性和高效性,而分层卫星网络管理结构的提出有助于解决传统网络管理模式对于卫星网络管理功能执行的制约问题。对分簇算法的研究在近年来一直是多层卫星网络(Multi-layer Satellite Network,MSN)领域的研究热点并获得快速发展[10]。分簇对于分布式网络中的移动性管理、路由机制优化、带宽利用等方面具有重要作用[11]。并且由于卫星的高速移动性及卫星网络的拓扑动态性、分布性等因素,因此分簇管理在卫星网络中得到广泛应用。在该管理体系中,卫星星座通过分簇的方式进行管理,通常将空间位置相对临近、功能任务存在协同关系的卫星构建为星簇,由簇首空间进行直接管理,从而提高卫星网络管理的可靠性和灵活性[12],并且分簇算法能够充分利用同轨道链路的稳定性,约束同轨道相邻卫星节点以组成簇的核心成员,并提高星簇管理的稳定性。同时,由于卫星节点间的通信距离、管理开销所造成的功耗在卫星网络中相对通信业务及卫星网络平台的功耗而言可以忽略,因此在设计星座网络分簇算法时,需充分考虑卫星网络的固有特点,使设计的分簇算法更加适用于卫星网络的自主管理[13-14]。

国内学者针对卫星网络分簇管理开展了相关研究。文献[15]针对低轨卫星网络,在分布式管理模式下,利用成簇方式建立星座自主管理体系架构,提高了管理自主性和高效性。文献[16]在分析卫星网络簇首空间安全需求的基础上,提出能够实现簇首快速切换的备份机制和基于优先级的主备簇首选举算法,保证簇首对卫星星簇的管理开销最少。

2 GEO/LEO双层卫星网络架构设计

2.1 LEO卫星星座结构

卫星星座是由多个相同类型的卫星按照一定设计规则组成的具有特定功能的卫星集合。通过构建卫星星座能够有效解决单颗卫星覆盖范围有限和服务能力受限的问题,达到星间高效协同、网络功能拓展以及卫星网络服务能力和服务质量提高的目的。在现阶段研究中,极轨道卫星星座和倾斜轨道卫星星座的应用较普遍[17]。

极轨道卫星星座的主要特征是每个轨道都会在两极位置相交。极轨道卫星星座是星型星座的代表,升交点均匀分布于赤道平面,并且每个轨道面分布相同数量的卫星。轨道倾角为90°,极轨道星座第一轨道面上的卫星和最后一个轨道面上的卫星相向而行形成一个明显的缝隙。一方面,由于缝隙两侧的卫星保持高速反向运动,因此相比其他同向运行的卫星更难建立轨间链路。另一方面,极轨道星座卫星所在纬度越低,星间距离越大,并且其在赤道地区的覆盖特性相对较差,在两极区域由于卫星分布过于密集,因此会关闭部分卫星转发器。极轨道卫星星座的优点是结构简单、易于操作,是比较成熟的星座设计方式。

为解决极轨道卫星星座相向运行轨道间具有明显缝隙且其对地覆盖不均匀的问题,倾斜轨道卫星星座被提出。由于其轨道面沿赤道面2π弧度圆内均匀分布,因此称为2π型星座或者walker delta(δ)倾斜轨道卫星星座,其覆盖特性远优于极轨道卫星星座,如图1所示。

图1 倾斜轨道卫星星座结构

倾斜轨道卫星星座由具有相同轨道高度和倾角的T个卫星组成,P个轨道面在参考面上按升节点均匀分布,为每个轨道平面设置相同的卫星节点数量T/P,各个轨道之间设置特定的相位关系,令相邻轨道的卫星在相同时间间隔内有序通过升交点。倾斜轨道卫星星座在逻辑上具有稳定拓扑,该特性满足了卫星链路组网拓扑结构稳定的要求,可以极大简化路由和减少切换。

在LEO卫星星座设计方面,如果采用倾斜圆轨道,那么在LEO卫星运行过程中两个相邻轨道面的卫星拓扑关系变化剧烈,由于建立轨间链路比较困难,因此仅能保持较短时间内的链路连通。倾斜轨道卫星也无法实现对两极地区的有效覆盖,因此为实现双层卫星网络全球无缝覆盖并使星间链路(Inter-Satellite Link,ISL)相对稳定和易于建立连接,构建轨道倾角为90°的极轨道卫星星座能够更好地满足需求。为验证本文提出的路由算法的实用性,采用已投入使用且技术相对成熟的铱星系统作为LEO卫星星座。

2.2 GEO/LEO双层卫星网络架构

本文构建双层卫星网络架构,虽然3颗GEO卫星即可实现除南北极地地区以外区域的全球覆盖,但为了增强系统的可靠性,增加1颗冗余GEO卫星,以确保如果某颗GEO卫星发生故障无法正常运行时整个卫星网络仍然能高效运转。

铱星系统作为LEO卫星星座,最初规划的是77颗卫星,但最后经过验证只需66颗卫星均匀分布在6个极地轨道上即可实现全球覆盖。铱星系统的设计能够保证卫星网络在任意时间及地球任意区域内都保持LEO卫星的对地有效覆盖,满足全球无缝连接和实时通信的要求。GEO和LEO卫星星座参数如表1和表2所示。

表1 GEO卫星星座参数

表2 LEO卫星星座参数

图2为GEO/LEO双层卫星网络的三维示意图。可以看出,每颗GEO卫星都能对7颗~13颗LEO卫星实现有效覆盖,部分LEO卫星由于纬度较高无法实现覆盖,南北极区域有4颗~7颗LEO卫星无法实现覆盖。每颗GEO卫星能够有效覆盖4个或5个LEO卫星轨道面。

图2 GEO/LEO双层卫星网络的三维示意图

图3为GEO/LEO双层卫星网络的二维示意图,其中实线表示GEO卫星星座覆盖区域、LEO卫星星座之间的星间链路情况以及LEO卫星星座各个轨道面的运行轨迹。由于存在反向缝隙的两个轨道面之间的卫星高速逆向运行,建立星间链路难度高且成本大,因此在本文中这两个轨道面之间的LEO卫星不建立轨间链路。两极范围内的LEO卫星由于卫星分布密集,运行速度相对较快,并且两极地区人烟稀少,服务需求相对较低,因此两极区域不建立轨间链路。每个轨道面的11颗卫星均匀分布,卫星距离地面高度为780 km,卫星相对地面的运行速度约为7 400 m/s。铱星系统在设计时采用48个点波束,每个点波束的覆盖直径为689 km,各个点波束可以进行整合。铱星系统每颗卫星覆盖地面用户的时间约为10 min。

图3 GEO/LEO双层卫星网络的二维示意图

图4为GEO1与LEO2-1卫星可见时间。由此可知,GEO1与LEO2-1在24 h的仿真时间内,共能够建立10次层间链路,最长建链时间为1 783.780 s,最短建链时间为346.378 s,平均建链时间为1 277.204 s,建链时间共计12 772.036 s,约3.5 h。

图4 GEO1与LEO2-1卫星可见时间

3 分层分簇路由算法

TORA是一种高度自适应的分布式路由算法[18],其基于链路反转算法找到从源卫星到目的卫星的多个无循环路径。由于TORA仅在拓扑发生变化时才定位控制消息,因此其能快速适应拓扑变化。本文针对GEO/LEO双层卫星网络,基于TORA算法设计优化的HCR算法。在LEO层,使用HCR算法建立从源卫星到目的卫星的多个无循环路径,并且当LEO层受到网络拥塞时,GEO层中的卫星也参与数据传输业务。

3.1 网络管理

GEO/LEO双层卫星网络管理是通过在低轨道卫星星座内设置分组并选取相应的簇首实现。GEO卫星与所有低轨道卫星都建立星间链路会导致网络连接关系过于复杂,通过将簇首与GEO卫星进行通信能有效降低ISL的复杂性。

定义1将同一LEO轨道平面中的卫星划分为两个小组,地球轴线同一侧的卫星属于一个小组。对于每个小组,选择处于小组中最低纬度的一颗卫星作为簇首,但当先前卫星出现拥挤情况时,选择纬度第2低的卫星。由于LEO卫星时刻保持高速运动,因此簇首不固定。

定义2将GEO卫星星座作为管理层,每个GEO卫星负责管理其覆盖范围内的各组LEO卫星。GEO卫星通过与不同LEO簇首进行通信,收集各卫星的状态消息。每颗LEO簇首卫星仅与一颗GEO卫星共享状态信息,GEO与LEO卫星之间的ISL依据可见性进行激活和停用。当一颗LEO簇首卫星同时存在多颗GEO卫星覆盖时,选取距离最近的GEO卫星共享消息。

在本文提出的GEO/LEO双层卫星网络中,GEO层和LEO层中的卫星具有不同的任务,其使用网络管理方法实现任务分工。GEO/LEO双层卫星网络管理方法的具体步骤如下:

步骤1GEO卫星创建小组等待LEO卫星簇首的加入。

步骤2LEO卫星选择簇首。

步骤3通过LEO卫星网络簇首确定相应的GEO卫星。

步骤4LEO卫星簇首与GEO卫星进行数据传输。

3.2 路由算法原理

由于LEO层具有较低的端到端延迟,因此其完成了用户之间的大部分数据传输,然而,在某些情况下系统可借助GEO卫星提高路由性能。

3.2.1 LEO单层路由

本文使用TORA算计进行LEO层路由优化。该算法主要包括创建路由、维护路由和删除路由 3个步骤,其能在源卫星与目的卫星之间提供多条路由,一旦卫星出现损坏等特殊情况,可将控制信息控制在较小的拓扑变化范围内,从而降低路由开销。

TORA算法的核心是给每个卫星节点配置一个相对源卫星节点的高度值,目的卫星的高度值最小,依据相邻卫星之间的高度差形成多条可用的有向路由,方向为由高到底。卫星i使用五元组表示其高度:Hi=(τi,oidi,ri,δi,i),其中,τi表示设置为链路故障的逻辑时间标签,oidi表示发送参考高度的卫星节点识别码,ri表示相邻卫星数量,δi表示传播排序参数,i表示卫星节点本身的唯一识别码。

图5显示了路由建立的过程,当源卫星节点发送数据包到目标卫星节点时,广播QRY数据包,当卫星节点i收到QRY数据包时,重新广播QRY数据包,但如果卫星节点i没有下游链路,则拒绝广播QRY数据包。循环此过程直至目标卫星节点收到QRY数据包,然后目的卫星节点的邻居将其高度设置为Hi=(τi,oidi,ri,1,i)并广播UPD数据包。当卫星节点j接收到UPD分组时,将其高度设置为Hi=(τi,oidi,ri,δi+1,j),假设Hi=(τi,oidi,ri,δi,i)为邻居的最小高度。最终源卫星节点接收到UPD数据包,并得到相邻卫星节点的高度值。为便于分析,将Hi=(τi,oidi,ri,δi,i)中的初始值设置为Hi=(0,0,0,δi,i)。

图5 路由建立过程

TORA路由算法会始终沿着单一路径进行数据包传输,造成部分卫星节点负载过重,能量损耗较大,从而增加路由时延并降低传输效率。为解决上述问题,针对低轨道卫星网络设计分簇结构,在路由前将低轨道卫星网络划分为不同的簇,然后按照分簇机制寻找路由进行数据包传输,从而降低卫星网络的开销,并提升网络的整体性能。

如图6所示,通过簇首间的通信可减少低轨道卫星与同步卫星之间的长距离链路传输,并降低GEO/LEO双层卫星网络路由拓扑复杂度及长距离数据包传输导致的能量损耗。将同一轨道的LEO卫星以地球自转轴为分界线分为东西两个小组,同一个小组内将纬度最低的低轨道卫星作为簇首,负责管理本小组的卫星。选择纬度最低卫星的原因为:1)由于GEO卫星网络分布于赤道上空,因此LEO簇首卫星与GEO卫星进行数据传输时更加稳定;2)GEO与LEO卫星在赤道上空通信时具有最短的传输路径,能有效降低时延;3)在赤道上空的簇首卫星离南北两端的卫星距离基本相同,有利于路由算法快速实现收敛。若其中一颗簇首卫星出现故障,则选取该轨道内正常运行的低轨道卫星中纬度最小的卫星进行替代。

图6 低轨道卫星星座簇首示意图

HCR路由算法采用TORA按需路由的机制,主要包括创建路由、维护路由和删除路由3个步骤。虽然路由创建过程采用泛洪机制,但是由于只有簇首卫星建立报文分组QRY,才能降低卫星网络泛洪次数及卫星能量损耗,从而延长卫星网络运行时间,提升网络整体性能,因此为寻找源卫星节点至目的卫星的最优路径,源卫星节点向相应的簇首发送QRY报文分组,报文分组经过簇首卫星、LEO中继卫星、簇首卫星……等多次传递后到达目的卫星,从而建立由源卫星至目的卫星的路由。

3.2.2 GEO/LEO双层路由

为GEO/LEO双层卫星网络设计的路由算法基于Dijkstra算法,Dijkstra算法解决了非负加权有向图上的单源最短路径问题。如上文所述,LEO卫星网络簇首收集的LEO卫星状态信息被转移到GEO中进行管理,在GEO星座处获得有关其簇首的所有信息后,根据Dijkstra算法计算相应的路由表。LEO卫星和GEO卫星之间的ISL仅在满足以下情况时才会激活:

情况1源卫星和目的卫星均不在极区。考虑到GEO卫星的覆盖范围,未在高纬度地区进行信息传递。

情况2计算得到的LEO卫星跳数大于设定阈值。根据端到端延迟确定阈值,假设通过LEO层的端到端延迟与通过GEO卫星的端到端延迟相同,具体计算如下:

(1)

TGEO=DUDL+D′ISL+DP

(2)

其中,DUDL=51 ms表示地面站与卫星之间的返回延迟,DISL=30 ms表示两个LEO卫星链路之间的接入延迟,DP=5 ms表示卫星处理延迟,D′ISL=235 ms表示LEO卫星和GEO卫星之间的接入延迟。通过将这些值代入式(1)和式(2),计算得到当使用GEO卫星发送消息时TGEO=291 ms,并且该值低于LEO卫星之间的7跳传输,表明当LEO卫星网络所需的跳数大于6时,本文选择GEO/LEO双层卫星网络可获得更好的路由性能。

情况3当前路由路径中发生拥塞。本文通过设定100 ms的阈值判断拥塞,即当排队延迟大于100 ms时,通过GEO层进行数据传输。

当且仅当同时满足上述情况时,才能通过GEO/LEO双层卫星网络进行数据传输,如图7所示。

图7 路由算法流程

4 仿真结果与分析

本文基于STK和OPNET对HCR路由算法进行仿真。OPNET是一款功能强大的系统级通信仿真软件,采用层次化建模方式,从协议层次看,其卫星节点模型的建立符合OSI标准;从网络层次看,其提供了3层建模机制,分别为网络模型、卫星节点模型和进程模型,并且3层模型与实际网络、设备、协议完全对应,全面反映了网络的相关特性。通过OPNET可以方便地进行协议开发和仿真分析,但其价格相对昂贵且学习难度较大、编程过程较复杂。STK是由美国Analytical Graphics公司开发的一款广泛应用于航天领域的专业分析软件。STK在2D和3D建模环境下对系统特性进行分析,有效评估网络在复杂环境下的性能,通过集成通信、导航、雷达和光电等技术提供附加分析模块,对可视化约束、通信链路、轨道机动等任务进行模型构建与分析。

利用STK搭建GEO/LEO双层卫星网络模型,将轨道文件导入OPNET进行仿真并与传统Dijkstra最短路径算法(Dijkstra Shortest Path,DSP)进行比较。网络中包含4颗GEO卫星和66颗LEO卫星,LEO星间链路速率为2.5 Mb/s,GEO星间链路速率为25 Mb/s,GEO与LEO层间链路速率为25 Mb/s。

4.1 平均端到端时延分析

图8为网络平均端到端时延随数据发送速率的变化情况。在数据发送速率为500 Kb/s时,本文提出的HCR算法相比传统DSP算法平均端到端时延降低31.8%。其原因为HCR算法是无循环路由算法,针对GEO/LEO双层卫星网络进行设计,且根据分层传输机制设置路由选择的门限值,有效降低了网络拥塞导致的排队时延。

图8 2种路由算法的平均端到端时延比较

4.2 吞吐量分析

图9为数据吞吐量随数据发送速率的变化情况。随着数据发送速率的增加,HCR算法在数据吞吐量上相对传统DSP算法具有较大优势,且数据量越大优势越明显。在数据发送速率为500 Kb/s时,HCR算法相比传统DSP算法数据吞吐量增加39%。其原因为在卫星传输过程中,HCR算法利用分簇算法的优势,可降低卫星网络泛洪次数,减少数据拥塞的发生,同时基于双层卫星网络平衡网络数据流,减少数据包的滞留和丢失,从而提高网络整体运行效率,保证其始终具有较高的吞吐量。

图9 2种算法的数据吞吐量比较

4.3 丢包率分析

图10为丢包率随数据发送速率的变化情况。HCR算法可有效降低丢包率,在数据发送速率为500 Kb/s时,相比传统DSP算法丢包率降低58.3%。其原因为HCR算法能有效应对链路拥塞情况的产生,在LEO卫星网络即将出现拥塞时通过双层卫星网络进行传输,一定程度上缓解了拥塞带来的数据包丢失问题。

图10 2种算法的丢包率比较

5 结束语

由于卫星网络时变拓扑会导致星间链路的频繁中断和端到端的长延迟,并且卫星平台限制使得网络资源受限,因此本文通过对GEO/LEO双层卫星网络进行分层分簇设计,基于TORA路由算法提出一种优化的HCR算法,可快速适应卫星运动引起的时变拓扑。实验结果表明,与传统DSP路由算法相比,HCR算法可有效降低卫星网络传输时延及网络丢包率,提高链路吞吐量,并且当数据发送速率为500 Kb/s时,HCR算法相比传统DSP算法的平均端到端时延和丢包率分别降低了31.8%和58.3%,数据吞吐量增加了39%。但由于卫星网络在实际应用中容易发生故障导致路由算法性能下降,因此后续将对卫星网络故障发现和路由选择方法做进一步研究,从而有效规避故障卫星并实现数据的高效传输。

猜你喜欢
卫星网络双层数据包
二维隐蔽时间信道构建的研究*
双层最值问题的解法探秘
全球低轨卫星网络最新态势研判
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
墨尔本Fitzroy双层住宅
C#串口高效可靠的接收方案设计
“双层巴士”开动啦
卫星网络HTTP加速技术研究
基于NS2的多层卫星网络路由协议开发方案
卫星网络环境下TFRC与窗口协议的比较