基于星间链路状态的低轨卫星网络路由算法

2021-09-11 01:38章跃跃夏玮玮石云墀沈连丰
上海航天 2021年4期
关键词:颗卫星路由链路

张 路,燕 锋,章跃跃,夏玮玮,谢 晔,石云墀,沈连丰

(1.东南大学 移动通信国家重点实验室,江苏 南京 210096;2.上海航天电子技术研究所,上海 201109)

0 引言

天地一体化信息网络[1-3]是由天基骨干网、天基接入网和地基节点网组成,以传统地面移动网络为基础,以卫星、航天器等组成的天基网络为主,可以为海陆空各类用户提供时空连续、高可靠通信服务的信息网络。作为天地一体化信息网络的重要组成部分,卫星网络通过星间链路和组网技术为全球范围内的用户提供通信服务,可以弥补地面网络在覆盖范围和全天候移动接入服务等方面的缺陷。

卫星网络中,与中轨(Medium Earth Orbit,MEO)和地球静止轨道(Geostationary Earth Orbit,GEO)卫星相比,低轨(Low Earth Orbit,LEO)卫星具有发射成本低、传输时延小和传输能量损耗低等特性,并且可以通过卫星组网的方式实现全球覆盖。国外SpaceX 公司提出的“星链”计划将搭建由约1.2 万颗卫星组成的全球宽带卫星星座。此外,中国航天科技集团公司提出的“鸿雁”计划[3],预计将由300 颗LEO 卫星组成,可提供全时段、全天候的通信服务。同时,中国航天科工集团提出的“虹云工程”[3]计划发射156 颗卫星,旨在构建覆盖全球的低轨宽带卫星通信系统。

为了更好地利用卫星网络构建天地一体化网络,不仅要解决卫星高速运动带来的网络拓扑快速变化的问题,还要在大规模的卫星星座网络中选择合适的路由[4-11]。目前,根据应对卫星网络拓扑结构动态变化的方法,路由算法主要分为两种[4]:一种是集中式路由[5-7],此种路由利用卫星轨道的周期性划分多个时间片,由地面站计算每个时间片内静态拓扑的路由,其余卫星节点只需要存储路由表,不需要进行实时计算,但是这种方法很难应对链路拥塞和卫星故障等突发情况;另一种是分布式路由[8-9],此种路由没有中心节点,由星座中的每颗卫星实时计算路由,可以应对突发状况,但是这种路由方法对卫星的处理能力要求高,且单颗卫星较难获取全局网络拓扑信息。

在虚拟拓扑结构和链路状态信息的基础上,刘永健等[9]提出了一种分布式的路由算法,利用低轨卫星网络的周期性和可预测性,计算出静态拓扑的序列,并根据节点的实时链路状态,更新节点的动态路由表,但此种路由方法既需要存储静态序列,又需要动态获取链路状态,路由算法过于复杂。潘恬等[10]提出了一种轨道预测最短路优先(Orbit Prediction Shortest Path First,OPSPF)的路由算法,利用LEO 卫星星座的规律性,并进行周期性路由计算,同时以按需方式处理链路故障引起的拓扑不规则变化,虽然路由收敛快,但是在丢包率和端到端时延方面性能较差。

针对其他路由算法难以应对卫星突发故障及易出现网络拥塞等问题,本文提出了一种基于星间链路状态信息的路由算法。该算法在链路状态检测阶段,周期性获取链路状态信息,并在本地记录12 条星间链路状态信息;在路由计算阶段,利用卫星之间的相对位置关系,计算初始路由路径;在路由修正阶段,查本地链路状态表,对初始路由路径进行修正。与其他路由算法相比,本文中的路由算法复杂度低,并能有效应对网络拥塞和卫星故障等问题,具有较好的鲁棒性。

1 系统模型

1.1 信息网络模型

如图1 所示,本文采用的天地一体化信息网络模型由地面网络和低轨卫星星座网络构成,地面网络由分布在全球的地面站和终端节点组成,低轨卫星星座网络由LEO 卫星组网构成,LEO 卫星间存在星间链路,LEO 卫星与地面站之间存在馈电链路,LEO 卫星与终端节点之间存在用户链路。为提供全时段、全天候的通信服务,需要保证地面站或终端节点在任意时刻至少被一颗LEO 卫星覆盖。同时,因单颗卫星为某个地面站提供服务的时间有限,需要采用距离最短、时延最小和持续时间最长等路由切换策略以保证持续的通信服务。

图1 信息网络模型Fig.1 Information network model

1.2 低轨卫星星座网络

本文采用的极轨道低轨卫星星座作为信息网络中的天基网络,如图2 所示,低轨卫星星座网络由M个轨道面组成,每个轨道面均匀分布着N颗卫星,每颗卫星一般有4 个邻居卫星。初始时刻,根据卫星所在轨道面和水平面,为卫星设置逻辑地址(i,j),表示第i平面的第j颗卫星。极轨道模型中存在一条反向缝,反向缝两侧卫星的运动方向相反,且卫星高速运动,难以建立稳定的星间链路。此外,在卫星经过极地地区时,卫星运动速度快,难以建立长时间稳定的星间链路。

图2 极轨道星座模型Fig.2 Polar orbit constellation model

1.3 通信链路

本文考虑的场景中,通信链路主要有星间链路、馈电链路和用户链路。

星间链路是指卫星之间的通信链路,主要分为轨道内链路和轨道间链路。轨道内链路长度仅与地球半径、轨道高度和轨道内卫星数目有关,系统中这3 个参数均相同,故轨道内链路长度一样;轨道间链路长度与地球半径、轨道高度、轨道个数和卫星所在纬度有关,故纬度越高,轨道间链路长度越短。卫星间的信道模型可以使用自由空间传播模型。

用户链路是指用户终端到卫星之间的通信链路。馈电链路是指卫星和地面站之间的链路。用户链路和馈电链路需要考虑自由空间损耗[12-14]、雨水吸收造成的雨衰[13]、大气散射造成的损耗[12-14]、电离层和极化损耗带来的影响。由于自由空间损耗一般占星地链路衰减的90%以上,为简化模型,考虑用近似值来表示雨衰和大气衰减等的影响。

考虑自由空间传播模型,接收信号的功率PR为

式中:PT为发射天线功率;GT为发射天线增益;GR为接收天线的增益;d为传输距离;λ为通信的波长。

自由空间传播模型为

式中:fu为信号频率;du为传输距离;λu为信号波长。

卫星通信中,衡量通信链路质量的信噪比可以表示为载噪比[C/N],链路余量[14]可用于判断通信链路是否满足通信要求,只要链路余量大于0,则该通信链路满足要求。链路余量计算公式为

式中:[C/N]为链路总载噪比;[C/N]th为接收机的门限载噪比。

2 路由算法

本文提出的基于星间链路状态的路由算法分为链路状态检测、路由计算及路由修正阶段,路由流程如图3 所示。

首先,根据故障链路数目设置链路检测周期,周期性获取星间链路状态,并在本地链路状态表中动态维护12 条链路的状态。当有路由请求时,根据源卫星和目的卫星间相对位置,确定路由跳数、传输方向和轨道间数据转发时机,并为数据包计算初始路由路径。然后,路径中的卫星根据本地链路状态表,对初始路由路径进行改正,并进行数据转发。

2.1 链路状态检测

首先,根据LEO 卫星运行周期计算拓扑变化周期,设LEO 卫星绕地周期为T,设单轨道内有N颗卫星,记T/N为拓扑变化周期Th,即最多经过Th时间将有一颗新卫星进入极地地区,进而卫星网络逻辑拓扑发生变化。

考虑到网络中故障链路数目不固定,存在故障链路较多和故障链路较少的时刻,本文根据网络中故障链路数目设置发送hello 包的检测周期Td,共有3 种级别,分别为Th、Th/2 和Th/3,正常情况下,检测周期Td设置为Th/2。当故障链路数超过一定阈值时,设置检测周期Td为Th/3,可以更快发现链路故障;当故障链路数低于一定值时,不需要频繁进行链路检测,设置检测周期Td为Th,可以减少发送hello 包的开销。如果在检测周期Td内,没有收到邻居卫星的hello 包,则认为与该卫星的链路故障,并周期性检测链路是否恢复。

在卫星网络中,每颗卫星按照检测周期Td周期性检测与4 个邻居间的链路状态,并把上述4 条链路状态在自身轨道面和相邻轨道面进行广播。同时,每颗卫星在本地链路状态表中动态维护如图4所示的12 条链路的状态,状态包括正常和故障。

2.2 路由计算

在路由算法中,选择距离地面源节点最近的卫星作为源卫星(Si,Sj),选择距离地面目的节点最近的卫星作为目的卫星(Di,Dj),根据逻辑地址间的关系,可以获取路由跳数、传输方向及传输时机。路由计算包括以下步骤:

步骤1确定轨道间路由跳数为|Si-Di|和轨道内路由跳数为min{|Sj-Dj|,N-|Sj-Dj|}。

步骤2根据4 个邻居的逻辑地址与自身逻辑地址间的大小关系,确定轨道间传输方向和轨道内传输方向。如邻居能使轨道间跳数减小,则该方向为轨道间传输方向;如邻居能使轨道内跳数减小,则该方向为轨道内传输方向。

步骤3判断轨道间传输的时机:1)如果在同一轨道面内,只需要进行轨道内数据传输;2)根据轨道间链路长度,选择最短的链路进行轨道间数据传输;3)如果源卫星和目的卫星均位于极地地区,因极地区域无法进行轨道间数据传输,需将数据包通过距离极地最近的卫星中继;4)如果源卫星和目的卫星中有且仅有一颗位于极地地区,在最接近极地区域且存在轨道间链路的卫星进行轨道间数据传输。

步骤4根据路由跳数、传输方向和轨道间传输时机可确定初始路由路径。

2.3 路由修正

路由修正阶段,根据路由计算得到的传输方向,确定链路状态表中需要用的4 条链路状态,并利用传输方向和链路状态进行路由修正。路由修正包括以下步骤:

步骤1当前卫星到路由路径中的下一跳卫星之间的链路正常,则按照初始路由转发数据。

步骤2根据本地链路状态表中在传输方向上的4 条链路的故障情况,选择下一跳路由。1)如果当前要进行轨道内数据传输,且故障,则先进行一次轨道间数据传输;2)如果当前要进行轨道间数据传输,且故障,则先进行一次轨道内数据传输;3)如果当前需进行轨道内数据传输,下一跳为轨道间数据传输,且该轨道间链路故障,则在当前节点进行轨道间数据传输;4)如果当前需进行轨道间数据传输,下一跳为轨道内数据传输,且该轨道内链路故障,则在当前节点进行轨道内数据传输。

步骤3如果源卫星和目的卫星在同一水平面或在同一轨道面内,且存在链路故障,则必须利用邻居水平面或邻居轨道面进行中继。

星间链路故障场景的例子如图5 所示,源卫星为(1,1),目的卫星为(5,5)。路由初始化阶段,通过卫星节点间的逻辑地址关系,得出需要进行的轨道间路由跳数为4,轨道内路由跳数为4,轨道间传输方向为右,轨道内传输方向为上,因靠近极地地区轨道间链路较短,所以优先通过(1,5)所在的平面进行轨道间数据传输,初始路由路径为(1,1)→(1,2)→(1,3)→(1,4)→(1,5)→(2,5)→(3,5)→(4,5)→(5,5)。路由修正阶段中,因链路a 故障,满足路由修正步骤2 中的条件1),选择先进行一次轨道间数据传输,下一跳卫星为(2,1),然后可进行轨道内数据传输,到达卫星(2,4);因链路c 故障,满足路由修正步骤2 中的条件3),进行轨道间数据传输到(3,4);再根据路由计算阶段的传输方向及轨道间传输时机,进行路由,最终到达目的卫星。

图5 星间链路故障场景Fig.5 Inter-satellite link failure scenario

2.4 复杂性分析

路由算法分为链路状态检测、路由计算和路由修正阶段。在链路状态检测阶段,卫星需要将与4个邻居之间的链路状态周期性广播给自身所在轨道面和相邻轨道面的卫星,复杂度为O(N);在路由计算阶段,根据源卫星与目的卫星间的逻辑地址关系确定路由跳数和传输方向为常数操作,确定轨道间数据转发时机需要比较轨道间链路长度,复杂度为O(N),根据路由跳数、传输方向和轨道间数据转发时机确定路由路径为常数操作;路由修正阶段,根据本地链路状态表进行路由修正的操作次数与路径中卫星个数有关,复杂度为O(N)。

3 仿真及结果分析

本文基于STK 和NS3 对路由算法进行仿真,根据轨道参数递推轨道[15],同时,利用STK 搭建LEO 卫星网络模型,在STK 中可仿真链路的保持时间。此外,通过Matlab 与STK 互联接口,可以输出TLE 格式轨道数据,再将TLE 数据转换格式为NS3 可读入的数据,输入到NS3 进行性能仿真。

3.1 仿真参数

考虑到覆盖全球的通信范围要求,本文设计一种极轨道星座模型,如图6 所示。该模型中有12 个轨道面,每个轨道面有12 颗卫星,共计144 颗卫星组成。此模型中的卫星切换频率和星间链路长度可以满足通信质量要求,同时该模型中卫星与相邻的4 个邻居始终满足可视性原则[16]。仿真采用的星座模型参数见表1。

表1 星座模型参数Tab.1 Constellation model parameters

图6 STK 中144 颗卫星星座模型Fig.6 144 satellites constellation model in STK

3.2 结果分析

第8 个轨道面的卫星与北京地面站之间的馈电链路切换情况如图7 所示,实线部分为当前时间该链路可为北京站提供通信服务。由图7 可知,本文采用的144 颗卫星星座模型可以很好地为地面站提供全时段、全天候的通信服务,同时卫星与地面站间的馈电链路可以保持20 min 以上,满足服务要求。

图7 卫星与地面站间的链路服务时间Fig.7 Service time of links between satellite and ground station

不同路由跳数下的平均时延随仿真时间变化的趋势如图8 所示。随仿真时间的增加,本文提出的路由算法在不同路由跳数情况下都趋向于平稳,其中路由平均跳数为5 时,平均时延接近190 ms,路由平均时延在百毫秒级别。同时,随路由平均跳数增加,平均时延增加的幅度较小。在800 s 时,路由平均跳数为5 时的时延比路由平均跳数为3 时高30 ms 左右,其原因为路由平均跳数为5 时,需要多进行两次路由转发,传输的距离更远,传输时延更高。

图8 不同路由跳数下的平均时延比较Fig.8 Comparison of the average delay indifferent routing hops

3 种路由的丢包率随仿真时间的变化趋势如图9 所示。由图9 知,本文提出的路由算法的丢包率最小,在仿真时间为900 s 时,与基于虚拟拓扑的路由相比较,丢包率降低了20%。其原因为在路由计算过程中,本文提出的路由算法利用链路状态表存储的12 条星间链路状态信息,可以修正路由路径,有效规避故障链路,缓解了链路故障导致的数据包丢失问题。

图9 不同路由的丢包率比较Fig.9 Comparison of the packet loss rate for three routing algorithms

4 结束语

本文研究了基于链路状态信息的星间路由设计问题,在链路故障检测阶段,根据当前网络中故障链路数目,设置3 种级别的检测周期,周期性获取链路状态信息并存到本地链路状态表中。在路由计算阶段,根据源节点和目的节点的相对位置,计算初始路由路径。在路由修正阶段,查本地链路状态表,采用路由修正策略,选择合适下一跳。仿真结果表明:该算法可降低卫星通信中数据包的丢包率,并以较低时延进行路由转发。但本文考虑的是单层卫星系统下的星间路由设计,没有考虑多层卫星网络的设计,而多层卫星网络可以更好地满足多媒体服务要求,因此,后续研究将考虑研究多层卫星网络下的路由问题。

猜你喜欢
颗卫星路由链路
一种移动感知的混合FSO/RF 下行链路方案*
天空地一体化网络多中继链路自适应调度技术
数据通信中路由策略的匹配模式
一种用于6LoWPAN的多路径路由协议
OSPF外部路由引起的环路问题
印度开年首发,一箭31星
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
一箭20星