基于K最短路径算法的低轨卫星网络路由策略的制作方法

文档序号:17318674发布日期:2019-04-05 21:25阅读:433来源:国知局
基于K最短路径算法的低轨卫星网络路由策略的制作方法

本发明涉及一种路由策略,具体而言,涉及一种在低轨卫星的网络中实现源目的节点之间数据包传输的基于k最短路径算法的低轨卫星网络路由策略,属于卫星通信技术领域。



背景技术:

卫星网络是地面网络的强有力的补充,也是下一代全球性通信系统的重要组成部分。卫星网络在紧急通信、海上搜索和救援、灾难预警以及军事等方面都有着不可替代的作用。和地轨卫星和中轨卫星相比,低轨卫星具有低延迟、低传输损耗和全球无缝覆盖等优点。因此,在未来的通信网络中,将低轨卫星与地面网络相结合可以有力地扩展和补充地面通信网的不足,并解决全球覆盖的问题。

但是,低轨卫星网络通常由数十个卫星组成,其拓扑结构随时间的变化异常迅速,因此其路由问题比地轨卫星网络和中轨卫星网络更为复杂。地面网络在通信时,在任一时刻都可以获取到一个固定的从源节点到目的节点的路径,而低轨卫星通信网络和地面网络不同,其路径会由于动态的卫星网络拓扑而会出现断开,甚至导致某条路径不可用情况出现。这时就需要经过一个路由切换的过程,所以传统的地面网络的路由策略不能直接应用于低轨卫星网络中。

近些年,很多业内人士提出了有关低轨卫星网络的路由算法和应用的策略。根据拓扑结构区分,它们可以被分为静态路由和动态路由。根据数据传输模式的不同,他们可以被分为面向连接和面向无连接的策略。根据计算路由的位置不同,他们可以被分为集中式的路由和分布式的路由。

其中,面向连接的路由策略太过于静态以及集中化,导致它们无法适应时变的拓扑结构和通信量,所以现在的研究大多是研究动态的并且是无连接的算法。早期的面向无连接的路由策略是想把路由问题转化为最短路径算法,但是由于节点的拥塞和频繁的链路切换,它们也无法满足要求。后来发展出了两种不同的体制方向,虚拟拓扑和虚拟节点。这两种体制的目的都是为了将时变的拓扑结构简化,从而达到简化路由算法的目的。

从总体角度出发,一个优秀的路由策略需要满足一下几点要求:1、路由策略应该避免链路拥塞。2、路由策略应该减少路由的跳数,从而减少时延,提高系统的利用率。3、路由策略应可以提供某种服务质量的保证。近些年,有些路由策略侧重于减少平均端到端时延和路由跳数,也有一些路由策略注重于保证服务质量。它们各有自己的优缺点。

综上所述,现有的k最短路径算法虽然可以在一定程度上减少端到端的时延,但是由于路径在部分节点上的重合,导致了部分节点上拥塞现象地出现,进而导致系统整体的吞吐量下降。而如何在现有技术的基础上提出一种新的基于k最短路径算法的低轨卫星网络路由策略,从而进一步地提升系统整体的吞吐量,也就成为了目前业内研究人员亟待解决的问题。



技术实现要素:

鉴于现有技术存在上述缺陷,本发明的目的是提出一种基于k最短路径算法的低轨卫星网络路由策略,包括如下步骤:

s1、采用随机函数在随机节点上根据时间间隔产生数据包;

s2、通过k最短路径算法产生出数据包可走的k条路径;

s3、通过最少占用原则在全部k条路径中选择较佳路径;

s4、若在较佳路径上发生阻塞,则应用重路由算法,重新通过k最短路径算法计算从当前节点到目的节点的路径,并返回s3;

s5、沿路径到达目的节点后,计算系统整体的吞吐量变化。

优选地,s1具体包括如下步骤:

选用66/6/1的铱星星座模型,假设共有66个节点,每个节点对应一个数据项vi,vi表示第i个节点的数据,不同节点中的数据是相互独立的,并且所有的节点均保存在一个集合中,通过随机函数选择1到66之间的随机值判断在哪个节点上产生包,再通过for循环控制产生的数据包个数,数据包个数可以由变量控制。

优选地,s2具体包括如下步骤:

选用k最短路径算法,将数据包的源节点、目的节点、当前的仿真时间以及所要产生路径数k作为入参,得到一个路径的k行矩阵,每行的行首为该数据包在这条路径上所经过的节点的序号。

优选地,s3具体包括如下步骤:

在得到路径的k行矩阵后,对矩阵的每行进行遍历,从每个节点中提取系统的当前状态并计算权重,若为空闲状态,权重为0,若为接近繁忙状态,权重为1,若为已经繁忙状态,权重为10,计算完所有路径的权重之后,选择权重最低的路径作为较佳路径。

优选地,s4具体包括如下步骤:

当数据包传输过程中出现下一条链路发生了阻塞的情况时,启动重路由算法,将当前节点、目的节点、当前的仿真时间和所要产生路径数k作为入参产生新的路径的k行矩阵,随后返回s3重新计算所要选择的较佳路径。

优选地,在s5中,当数据包到达目的节点时,将其的使能状态位置0,表明该数据包已不参与传输过程。

与现有技术相比,本发明的优点主要体现在以下几个方面:

本发明针对低轨卫星网络,提出了一种基于k最短路径策略的改进选路策略,本发明在原有的路径策略上添加了重路由的过程,显著地提高了数据包传输的可靠性,降低了拥塞概率。同时,本发明的路由策略有效地解决了对于卫星星上路由的高动态性的问题,保证了路由服务质量,提升了系统整体的可靠性。

此外,本发明也为同领域内的其他相关问题提供了参考,可以以此为依据进行拓展延伸,运用于同领域内其他卫星网络路由策略的技术方案中,具有十分广阔的应用前景。

以下便结合实施例附图,对本发明的具体实施方式作进一步的详述,以使本发明技术方案更易于理解、掌握。

附图说明

图1为本发明的路由策略的系统框架图;

图2为根据节点负载选择路由的框架图;

图3为遇到拥塞之后重路由的框架图;

图4为改进路由策略和原本路由策略的丢包率的比较图;

图5为改进路由策略和原本路由策略的吞吐量的比较图。

具体实施方式

本发明的目的在于提供一种基于k最短路径算法的低柜卫星网络路由策略,该策略采用66/6/1的铱星模型,在k最短路径的算法基础上,改进了原本算法中的选择路径的方式,在进行选路的时候,判断整个卫星网络的各个节点的占用情况,采用最少占用和重路由的策略,可以有效避免卫星网络在高负载情况下的节点的拥塞,从而降低卫星通信的平均时延和丢包率,从而提高系统的吞吐量。

本发明的具体流程如图1所示,整个方法过程可以分为根据节点负载选择路由和遇到拥塞之后重路由的过程,具体流程分别如图2和图3所示。

总体而言,本发明的一种基于k最短路径算法的低轨卫星网络路由策略,包括如下步骤:

s1、采用随机函数在随机节点上根据时间间隔产生数据包;

s2、通过k最短路径算法产生出数据包可走的k条路径;

s3、通过最少占用原则在全部k条路径中选择较佳路径;

s4、若在较佳路径上发生阻塞,则应用重路由算法,重新通过k最短路径算法计算从当前节点到目的节点的路径,并返回s3;

s5、沿路径到达目的节点后,计算系统整体的吞吐量变化。

以下对上述步骤进行具体说明:

s1具体包括,选用66/6/1的铱星星座模型,假设共有66个节点,每个节点对应一个数据项vi,vi表示第i个节点的数据,不同节点中的数据是相互独立的,并且所有的节点均保存在一个集合中,通过随机函数选择1到66之间的随机值判断在哪个节点上产生包,再通过for循环控制产生的数据包个数,数据包个数可以由变量控制。

数据包产生后,对数据包进行传输。具体包括,在matlab的变量空间中引入一个胞元数组,用于存放当前所有节点的收发队列的信息,当一个数据包被某节点发送时,在该节点的发送队列栏数值加一,表示队列长度的增加,如果发送结束,则将该节点的发送队列栏数值减一,保持数据和仿真的一致性。

因为图1代表着一个简化的数学模型,经常受限于设计上的缺陷和数据的不准确性以及噪音,导致数学模型和现实中的场景有很大的差距,所以大部分复杂的最短路径问题,需要计算的不仅仅是最短的那一条路径。由于卫星之间的星间链路在某些时刻上的断开,导致了星座拓扑结构上的时变性,需要获取一个巨大的候选路径集去克服拓扑结构上的变化。k最短路由就是在这种需求下诞生的一种求一个路径集合的算法。

k最短路由算法主要思想就是找到一组链路权值从小到大排列的路径集合,具体实现就是采用删除算法(deletionalgorithm),去掉最短的一条路,然后进行分支替代构建新的图,然后从中选取最短路径(也即次短路径),之后,将刚才得到的最短路径删除,再进行分支替代,构建新的图,再进行最短路径的计算,以此类推,第n短路径在经过n次的分支替代后被求解出。

综上所述,s2具体包括,选用k最短路径算法,将数据包的源节点、目的节点、当前的仿真时间以及所要产生路径数k作为入参,得到一个路径的k行矩阵,每行的行首为该数据包在这条路径上所经过的节点的序号。

s3具体包括,在得到路径的k行矩阵后,对矩阵的每行进行遍历,从每个节点中提取系统的当前状态并计算权重,若为空闲状态,权重为0,若为接近繁忙状态,权重为1,若为已经繁忙状态,权重为10,计算完所有路径的权重之后,选择权重最低的路径作为较佳路径。

然后将数据包的路径字段放入k最短路径的k行矩阵,选择路径字段置为权重最低的那条路径的序号。将数据包放入节点的发送队列,完成在源卫星节点上的路径获取操作,之后传输过程中,如果没有遇到拥塞状况,只需要在数据包到达节点时,获取包中的路径信息,然后直接放入节点的发送队列即可。

将卫星拓扑结构简化为图g(v,e),v代表所有卫星节点的集合,e代表所有星间链路的集合。假设数据包的源节点为vs,目的节点为vd,通过k最短路由算法得出路径集合path,集合中每条路径用pathi表示,每条路径经过的第j个顶点用pathi(j)表示。伪代码如下:

初始化:

1)i为当前计算的路径序号;

2)vertex(j),表示当前j节点上位于排队队列的数据包个数;

3)vertexmax,表示卫星节点排队队列的最大长度;

4)selectpath,用于存放选择的路径序号;

5)pathload,当前路径的权重。

计算:

1)while(i<=k)

2)pathload=0;

3)forj=1:length(pathi)

4)node=pathi(j);

5)ifvertex(node)>vertexmax/2

6)ifvertex(node)>=vertexmax

7)pathload=pathload+10;

8)else

9)pathload=pathload+1;

10)end

11)end

12)ifpathload在之前计算的pathload中是最小的

13)selectpath=i;

14)end

15)end

在最短路径集合中的每条路径,依次判断其经过的卫星节点的队列中的数据包个数和最大队列长度的比值,如果超过最大队列长度的二分之一,且小于最大队列长度,则将路径权重加一,如果已经达到最大队列长度,则将路径权重加十,如果小于最大队列长度的二分之一,则不增加路径权重。计算完k条路径各自的权重之后,选择其中权重最低的一条路径作为数据包传输的最佳路径。

s4包括,当数据包传输过程中出现下一条链路发生了阻塞的情况时,启动重路由算法,将当前节点、目的节点、当前的仿真时间和所要产生路径数k作为入参产生新的路径的k行矩阵,随后返回s3重新计算所要选择的较佳路径。

遇到拥塞时启动重路由的这一过程,具体操作如下:

在数据包到达卫星节点时,首先判断数据包是否失效,如果已经失效,则直接丢弃。随后根据包中的路径信息,找到下一跳节点的节点信息,判断下一跳节点的发送和接收队列是否已经超出预设的上限,如果已经到达上限,则判定该节点已经发生拥塞,这时启动重路由过程。

尽管在选路时已经通过加入节点的负载作为选路的权重,在一定程度上可以减少链路拥塞的概率,但是在研究过程中发现,仅仅凭借k最短路由产生的路径进行选择是不足以均衡整个网络的负载的,由于最短路径本身的特性,数据包传输时,选择高纬度卫星节点的概率远远高于低纬度卫星节点,因为在高纬度地区,异轨星间链路的距离较短,传播时延较短。这种情况下,光凭借链路负载选路,在加重网络负载的情况下,依然会很快产生拥塞,并且严重影响系统的整体性能。

这种情况下,提出一种重路由的策略,对即将进入拥塞节点的数据包进行重路由,将数据包分散到链路负载较轻的区域,可以有效减少丢包率。伪代码如下:

初始化:

1)nodec,目前数据包所在的节点;

2)noded,数据包的目的节点;

3)nodenext,根据原本最佳路径的下一跳节点;

4)e,是图g中边的集合,e(i)t是第i条边的权重;

计算:

1)ifnodenext的排队队列中的数据包个数大于等于最大队列长度并且之前没经历过重路由;

2)fore中所有的e(i)

3)e(i)t赋值为该边两个顶点排队队列中数据包个数之和;

4)end

5)在图g中对nodec和noded通过dijkstra算法得出最短路径,得到pathnew;

6)将pathnew作为数据包的最佳路由;

7)end

这种重路由策略,通过将边的权重换成当前系统状态下的节点负载,然后通过dijkstra算法计算最短路径,得出在下一跳节点拥塞情况下,数据包重路由后应走的路径,可以有效的避开已经拥塞的节点,平衡整个网络的负载,在网络高负载的情况下,可以减少丢包率以及提高系统的吞吐量。

为了验证所提路由策略的有效性,在matlab平台上进行了仿真。如图4所示,改进选路策略加上重路由的k最短路径算法和改进选路策略后的k最短路由算法在高负载条件下丢包率明显小于原始的k最短路由算法,而加上重路由后,丢包率也有明显程度的降低,说明在丢包率方面改进选路策略加上重路由的k最短路径算法是三种算法中最优的。图4展示了三种算法在不同数据包产生速率下吞吐量的变化,改进选路策略加上重路由的k最短路径算法明显优于k最短路由算法,而重路由对于提高吞吐量效果不大。

此外,在s5中,当数据包到达目的节点时,将其的使能状态位置0,表明该数据包已不参与传输过程。

本发明针对低轨卫星网络,提出了一种基于k最短路径策略的改进选路策略,本发明在原有的路径策略上添加了重路由的过程,显著地提高了数据包传输的可靠性,降低了拥塞概率。同时,本发明的路由策略有效地解决了对于卫星星上路由的高动态性的问题,保证了路由服务质量,提升了系统整体的可靠性。

此外,本发明也为同领域内的其他相关问题提供了参考,可以以此为依据进行拓展延伸,运用于同领域内其他卫星网络路由策略的技术方案中,具有十分广阔的应用前景。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神和基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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