基于虚拟LEO组节点的双层卫星分组路由方法与流程

文档序号:12490219阅读:266来源:国知局
基于虚拟LEO组节点的双层卫星分组路由方法与流程

本发明涉及通信技术领域,具体地,涉及一种基于虚拟LEO组节点的双层卫星分组路由方法。



背景技术:

卫星网络具有提供全球覆盖率、不受地理条件限制等优势,支持灵活、可扩展的网络配置,为全球用户提供高带宽的通信服务。按照卫星的工作轨道分类,不同的星座具有不同的优势和劣势。LEO卫星具有较小的传播时延,但是LEO卫星的覆盖范围有限,需要较多的卫星进行全球覆盖,导致远距离传输依赖中数据包跳数过多,进而浪费卫星资源。GEO星座的高度较高,可以用较少的卫星实现全球覆盖,但是GEO直接与地面通信具有较大的传播时延,难以满足时延敏感型业务的需求。MEO星座的高度则介于GEO和LEO之间。

多层卫星组网系统充分结合不同类型星座的优势,成为下一代卫星的研究热点之一。

由于卫星严格有规律的轨道运动,卫星网络的动态拓扑是可以预测的,并呈现一定的周期性。基于这一特点,卫星网络的路由技术采用拓扑控制策略来屏蔽拓扑的动态性,而后针对静态的拓扑序列进行路由优化计算。在多层卫星网络中,虚拟拓扑路由策略可以很好的解决拓扑动态变化问题。卫星星座的系统周期被分为N个快照,每个快照内的卫星拓扑被认为是固定不变的,而后针对固定的拓扑进行路由计算。

文献(Chen C,Ekici E,Akyildiz I F.Satellite grouping and routing protocol for LEO/MEO satellite IP networks[C]//International Workshop on Wireless Mobile Multimedia,WOWMOM 2002,Atlanta,Georgia,28 September 2002,Proceedings.2002:109-116.)提出了SGRP算法,在使用虚拟拓扑的基础上进行卫星分组路由。该算法中,根据MEO与LEO卫星的覆盖关系,同一颗MEO卫星足印区的LEO卫星被分为一组,统一由该MEO进行管理。每一个特定的分组情况为一个快照。当某一颗卫星越过该MEO的足印区使得卫星分组情况发生改变时,则需要重新路由。

然而,在多层卫星网络体系结构中,MEO与LEO层间链路的变化剧烈,导致SGRP中分组关系变化剧烈,一个系统周期内快照过多,快照切换频繁,协议开销较大,对通信流量、链路拥塞及链路故障等实时情况的适应性较差。此外,SGRP中的数据传输主要通过LEO进行,MEO仅仅进行路由计算和拥塞控制,造成MEO网络资源浪费。

文献(Nishiyama H,Kudoh D,Kato N,et al.Load Balancing and QoS Provisioning Based on Congestion Prediction for GEO/LEO Hybrid Satellite Networks.[J].Proceedings of the IEEE,2011,99(11):1998-2007.)提出了基于GEO/LEO两层卫星星座的拥塞控制路由算法,针对不同的业务类型进行负载均衡。当LEO层卫星链路负载较高时,将时延较敏感型业务通过LEO卫星进行转发,而将时延不敏感型业务转发给其对应的GEO管理者,从而进行负载均衡。然而,由于将链路负载较高的LEO卫星的时延不敏感型业务通过同一个GEO管理者进行转发,很容易导致该GEO的拥塞,进而成为系统性能的瓶颈,并没有实现高层卫星星座的负载均衡。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于虚拟LEO组节点的双层卫星分组路由方法。

根据本发明提供的基于虚拟LEO组节点的双层卫星分组路由方法,包括如下步骤:

步骤1:对LEO进行分组;

步骤2:根据LEO组内链路状态报告和虚拟LEO组节点的链路状态报告得到组内局部路由算法和边界路由算法,并进行数据转发;

步骤3:更新在LEO层组内ISL切换、LEO层组间ISL切换以及LEO/MEO层IOL状态切换时的算法;

步骤4:对LEO组内发生拥塞和/或LEO组外边界发生拥塞的情况时进行拥塞控制和负载均衡。

优选地,所述步骤1包括:

步骤1.1:根据MEO的覆盖范围,将MEO覆盖的区域内卫星个数与NL0/NM0的比值的偏差在设定范围内的LEO分为一组,且保证每组LEO至少包含一个MEO平均覆盖时间大于t0的LEO连通分支,生成LEO的初步分组;其中:NL0表示一个MEO可视距内的LEO数目的期望值,NM0表示一个LEO可视距的MEO数目的期望值;t0的计算如下:

t0=tmaxt

式中:tmax为MEO最长覆盖时间,εt为MEO覆盖时间的经验调节因子;

步骤1.2:以链路负载超过阈值I0的星间链路为划分条件,将当前组LEO划分为一个或多个LEO分组;判断划分后的LEO分组中是否包含链路负载超过阈值α的星间链路,若不存在,则划分结束;若存在,则继续切割链路负载超过阈值α的星间链路,形成新的连通分支;

其中,阈值I0的计算如下:

I0=C-εI

式中:C表示链路带宽,I表示时延敏感性业务的吞吐率阈值,ε表示经验调节因子;

步骤1.3:每个LEO分组均对应一个分组的管理者MEO,具体地,以Mi表示第i个LEO分组的管理者,该LEO分组中的LEO依次记为Li1,Li2,Li3…LiN;i为大于0的自然数,Li1表示第i个LEO分组中的第一个LEO,LiN表示第N个LEO分组中的第N个LEO,N表示LEO分组中LEO总数。

优选地,所述步骤2中组内局部路由算法和边界路由算法是指:将LEO分组虚拟化为一个LEO组节点,并判断虚拟LEO组节点与其他虚拟LEO组节点以及MEO的可达关系,并根据可达关系建立对应的虚拟链路,根据建立的虚拟链路计算出虚拟链路状态,从而对虚拟LEO组节点所代表的LEO分组内进行局部路由计算以及根据MEO和虚拟LEO组节点的链路状态进行全局路由计算。

优选地,所述步骤3包括:

当在LEO层组内ISL切换时,LEO组内的链路状态报告发生改变,则LEO组重新计算组内局部路由表;

当在LEO层组间ISL切换时,虚拟LEO组节点的链路状态报告发生改变,则重新计算LEO层组间的全局路由表;

当LEO/MEO层IOL状态切换时,组内LEO和MEO之间的可达信息发生改变,则通过缩小可达域的方法延迟通知相邻LEO更新组成员状态表;

当超过一个系统周期,或存在某个虚拟LEO组节点与该虚拟LEO组节点对应的管理者MEO不可达时,进行一次快照切换,重新计算路由后再进行数据转发。

优选地,缩小可达域的方法是指:

当存在一个LEO组与该LEO组的MEO管理者的IOL链路可达状态发生改变时,更新该LEO组内对应的组成员状态表,并判断该LEO组是否有未转发的链路状态信息;若无未转发的链路状态信息,则向与MEO管理者可达的相邻LEO组节点转发该LEO组的状态改变报告;若有未转发的链路状态信息,则向与MEO管理者可达的相邻LEO组节点转发该LEO组的状态改变报告以及未转发状态改变报告;

当一个LEO组收到相邻LEO组节点发送的状态改变报告时,更新该LEO组内对应的组成员状态表,并保存该状态改变信息直至当前LEO组与MEO管理者的IOL状态发生改变或发生快照切换。

优选地,所述步骤4包括:

当LEO组内某一条链路负载发生拥塞,则在该LEO组内重新进行最短路径计算,并修正该LEO组的局部路由表;

当LEO边界链路发生拥塞,则将时延不敏感型的数据按照设定的比例转发给与目的虚拟LEO组节点以及其他所有在可达边界内的LEO;

当LEO组内多数链路或某两个LEO组的多数边界链路发生拥塞,则向覆盖对应LEO组的候选MEO发送拥塞警告,并请求向MEO进行数据转发;

LEO根据自身可视距的候选MEO所对应的负载状况和时延选择最优MEO,并利用选择的最优MEO进行数据转发;所述最优MEO是指负载和时延最低的卫星。

与现有技术相比,本发明具有如下的有益效果:

1、本发明提供的基于虚拟LEO组节点的双层卫星分组路由方法,主要用于解决卫星拓扑复杂多变导致快照切换频繁的问题和网络拓扑中负载不均衡的问题,通过使用本发明提出的方法可以在两层卫星的基础上,隐藏LEO层ISL链路状态变化和LEO/MEO层间IOL链路状态变化,减少不必要的快照切换。

2、本发明中的方法将路由计算分为全局路由计算和局部路由计算,每一组内的LEO只需计算该组内部的路由,而MEO管理者卫星则计算虚拟LEO组节点的路由,极大地减小了路由计算的复杂度,从而提高了卫星系统的工作效率。

3、本发明针对组网系统中的拥塞状况,若组内链路拥塞则在该LEO组进行局部路由更新,若边界链路拥塞则在边界转发给链路负载较小的边界链路,若组内或边界链路较大范围拥塞则通过最佳中继MEO卫星进行数据转发,由此保证全网负载均衡,从而保证QoS路由。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明提供的快照开始时LEO分组和路由计算工作流程图;

图2为本发明的LEO层初步分组后组内划分示意图;

图3为本发明的ISL和IOL链路切换示意图

图4为本发明的虚拟LEO组节点示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

根据本发明提供的基于虚拟LEO组节点的双层卫星分组路由方法,是用在MEO/LEO两层卫星组网系统中的路由算法,可用于网络协议中解决卫星网络中的拓扑快照切换频繁和流量负载不均衡的问题。具体地,包括如下步骤:

步骤S1:根据MEO与LEO多对多的覆盖关系,将所有的LEO根据其MEO覆盖时长和链路负载进行分组,每一组负载相对均衡的LEO卫星选择一个可达的MEO卫星作为管理者,组内每一个LEO卫星都维护一张组成员状态表以维护该组的LEO信息。

步骤S2:将所述组LEO卫星虚拟化为一个LEO卫星组节点,并判断该虚拟LEO组节点与其他虚拟LEO组节点和MEO卫星的可达关系,进而建立对应的虚拟链路,从而计算虚拟链路状态。

步骤S3:对LEO卫星组内进行局部路由,而MEO卫星根据MEO和虚拟LEO组节点的链路状态进行全局路由计算;具体地,

当组内ISL发生切换时,LEO组内的链路状态报告发生改变,则该组重新计算组内局部路由表;

当组间ISL发生切换时,虚拟LEO组节点的链路状态报告发生改变,则重新计算组间全局路由表;

当层间IOL发生切换时,组内LEO卫星和MEO卫星之间的可达信息发生改变,则通过缩小可达域的方法延迟通知邻居LEO卫星更新组成员状态表。

通过这种“虚拟LEO组节点”的定义,将一组LEO卫星视为一个整体,构造出较大覆盖域的虚拟LEO节点,屏蔽了LEO层ISL的链路状态切换和LEO/MEO层间IOL的链路状态切换,增加了整组LEO卫星与MEO卫星的连接概率,从而大大减小了快照切换次数,增强了系统的鲁棒性。此外,根据链路负载状况进行LEO分组,由全局路由计算和中继MEO卫星来保证LEO组外负载均衡,由局部路由计算和中继MEO卫星来保证LEO组内负载均衡,从而保证整个卫星组网系统的负载均衡,实现QoS路由。

具体地,设两层卫星组网系统中LEO的数目为NL,MEO的数目为NM,在某一时刻,一个MEO足印下LEO数目的期望为NL0,即一个MEO可视距的LEO期望数目为NL0,则平均状态下,一个LEO可视距的MEO数目的期望为NM0=NL0×NM/NL。此外,在LEO/MEO两层卫星组网系统中,LEO之间ISL的切换频率远远小于LEO/MEO之间IOL的切换频率。

下面结合具体实施例对本发明中的技术方案做更加详细的说明。

如图1所示,在每一个快照周期的开始,LEO根据MEO覆盖时间和LEO链路状态进行分组,实现步骤如下:

步骤1:LEO分组

1)根据MEO的覆盖范围,选择MEO覆盖时间较长区域的卫星个数近似于NL0/NM0的LEO卫星为一组,且保证每组LEO至少包含一个MEO平均覆盖时间大于t0的LEO卫星连通分支,从而产生MEO覆盖时间较长且LEO卫星与MEO卫星可达链路较多的初步分组。

其中t0的计算如下:

t0=tmaxt

其中tmax为MEO卫星最长覆盖时间,εt为MEO卫星覆盖时间的经验调节因子。

2)以链路负载超过阈值I0的星间链路为划分条件,将该组LEO卫星划分为一个或多个LEO分组。判断当前LEO卫星组中是否包含链路负载超过阈值α的星间链路,若不存在,则划分结束;若存在,则尽可能多地切割链路负载超过阈值α的星间链路,形成尽可能少的连通分支:此处应当优先切割链路负载超过阈值α且无法构成环路的星间链路。

其中阈值I0的计算如下:

I0=C-εI

其中,C为链路带宽,I为时延敏感性业务的吞吐率阈值,ε为经验调节因子。

3)最终生成的LEO分组为下述步骤中虚拟LEO组节点对应的分组。且每一个分组的管理者为步骤1)产生的初步分组对应的管理者。以MEO卫星Mi为管理者的LEO分组依次记为Li1,Li2,Li3…。

步骤2:LEO组边界确认

每一组LEO卫星中的边界成员向组内成员传播其星间链路可达的虚拟LEO组节点。LEO组内成员维护一张组内成员表,记录该组内的所有成员,并记录其中的边界成员所连接的虚拟LEO组节点以确定边界关系。

步骤3:LEO卫星组内局部路由计算

每一组LEO卫星中的成员向组内其他成员传播其链路状态报告,主要包括其星间链路可达的LEO成员节点和其对应的时延信息和链路剩余带宽等多种链路信息。而后根据组内成员和星间链路的链路状态报告,运行最短路径算法,并保存当前卫星到组内其他卫星的链路代价和最短路径,每一颗卫星保存的路由表项为[目的LEO卫星节点,下一跳LEO卫星节点]。

步骤4:虚拟LEO组节点的虚拟链路状态报告收集

每一组LEO作为一个虚拟LEO组节点,向其邻居虚拟LEO组节点发送链路探测包,获得虚拟链路对应的链路状态报告。虚拟链路的链路状态报告的计算依据为:若虚拟LEO组节点LVi与LVj所对应的LEO组之间存在可达链路,则虚拟LEO组节点LVi与LVj可达,且该虚拟链路对应的链路状态报告为虚拟LEO组节点LVi与LVj所对应LEO组的可达链路状态报告的并集。

步骤5:LEO层边界路由计算

1)每一个LEO卫星组内选择与其对应MEO可达的LEO卫星整合其与邻居虚拟LEO组节点的虚拟链路状态报告,将其作为该虚拟LEO组节点的链路状态报告,并将其转发给对应的MEO。

2)MEO收到虚拟LEO组节点的链路状态报告后,将其在MEO层进行传播。

3)MEO收到所有虚拟LEO组节点的链路状态报告后,为其各自对应的虚拟LEO组节点计算路由表。

4)MEO计算得到路由表后,将所对应的路由表简化为[目的虚拟LEO组节点,下一跳虚拟LEO组节点],并将其转发至对应的虚拟LEO组节点。

5)虚拟LEO组节点所代表的LEO卫星组中与MEO可达的卫星收到该包后,将简化的路由表在LEO组内传播,并各自更新自己的路由表。

步骤6:数据包转发

1)当某一个卫星收到一个数据包时,首先判断目的节点所对应的虚拟LEO组节点是否为当前卫星所对应的虚拟LEO组节点。若不是,则执行步骤2),否则执行步骤3)

2)根据目的节点所对应的虚拟LEO组节点找到下一跳虚拟LEO组节点,而后根据组内成员表查找到达下一跳虚拟LEO组节点所对应的边界LEO卫星,将其作为后续路由表查找的临时目的节点。

3)根据目的节点查找路由表找到下一跳所对应的LEO卫星。

系统维护

在数据传输的过程中,由于卫星拓扑的动态性,导致LEO层发生组内和组间链路切换。为了减少系统开销,我们对路由表进行局部维护。

LEO层组内ISL切换:

由于卫星的动态性,LEO层组内ISL状态可能发生改变,导致组内卫星拓扑发生改变。此时应根据方法流程中步骤3重新进行组内局部路由计算,更新组内成员的局部路由。

LEO层组间ISL切换:

由于卫星的动态性,LEO层组间ISL状态可能发生改变,导致虚拟LEO组节点的链路状态报告发生改变。此时应根据方法流程中步骤2更新组内成员表中的边界LEO卫星与虚拟LEO组节点的对应关系表项,并根据方法流程中步骤4进行虚拟LEO组节点的虚拟链路状态报告收集,最后根据方法流程中步骤5重新进行LEO层边界路由计算。

LEO/MEO层IOL切换:

由于卫星的动态性,LEO/MEO层IOL状态可能发生改变,导致LEO组内成员与MEO的可达信息发生改变。此时应该根据缩小可达域方法修改该组LEO的组成员状态表。所述缩小可达域方法为,当存在一个LEO与其MEO管理者的IOL链路可达状态发生改变时,更新该LEO内对应的组成员状态表,而后判断该LEO是否有未转发的链路状态信息,若无,则向与MEO卫星可达的LEO邻居转发该LEO的状态改变报告,若有,则向与MEO卫星可达的LEO邻居转发该LEO卫星的状态改变报告与其他未转发状态改变报告的并集;当一个LEO卫星收到邻居节点发送的状态改变报告时,更新该LEO内对应的组成员状态表,并保存该状态改变信息直至当前节点与MEO管理者的IOL状态发生改变或发生快照切换。

快照切换:

当超过一个系统周期,或存在某个虚拟LEO组节点与其管理者MEO不可达时,进行一次快照切换,重新通过步骤1-5进行路由计算,进而根据步骤6进行数据转发。

负载均衡

当LEO卫星组内某一条链路负载超过阈值I0,则在该LEO组内重新进行最短路径算法,并修正该组LEO局部路由表,以进行负载均衡。

当LEO卫星边界链路负载超过阈值I0,则将时延不敏感型的数据按照一定的比例转发给与目的虚拟LEO组节点的其他可达边界LEO卫星,从而进行负载均衡。

当LEO卫星组内多数链路或某两组LEO卫星的多数边界链路负载超过阈值I0,则向覆盖该LEO卫星的候选MEO卫星发送拥塞警告,并请求向MEO卫星进行数据转发。LEO卫星根据其可视距的候选MEO卫星对应的负载状况和时延选择最佳MEO卫星,并利用最佳MEO卫星进行数据转发,由此达到负载均衡的目的。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1