基于星间通信的低能耗路由方法

文档序号:26746159发布日期:2021-09-24 07:09阅读:186来源:国知局
基于星间通信的低能耗路由方法

本发明属于通信技术领域,涉及基于星间通信的低能耗路由方法。

背景技术

虽然目前基于传统地面蜂窝网络的物联网已趋于成熟,但像裂谷深处或者海上浮标这些地区的传感器,没有在地面蜂窝网络的覆盖范围内,因而无法连接物联网。卫星传感网络特别是低轨卫星因为其易实现远程通信,可作为非蜂窝覆盖区域实现物联网覆盖的补充,成为物联网发展的新方向。

而低轨卫星之间的直接通信,尤其是针对地域群播的星间通信,往往耗费大量的能量,且卫星能量有限,因此有一个适用于星间通信的低能耗路由显得尤为重要。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于星间通信的低能耗路由方法。

为达到上述目的,本发明提供如下技术方案:

基于星间通信的低能耗路由方法,该方法包括改进的三维费马点的计算、三目标区域费马点的计算、选取费马点卫星节点和低能耗费马点三维路由算法LEFTR。

可选的,所述改进的三维费马点的计算为:

设立方体边长为x:

情况1:在立方体中,点A、B为立方体的两个顶点,线AB为立方体对角线,C为立方体内不同于A、B的任意一点,此时点C即为费马点F;

在点A、B为立方体的两个顶点,线AB为立方体对角线,C为立方体内不同于A、B的任意一点的情况下,有FA+FB+FC短,点C为费马点;

情况2:在立方体中,点A、B、C为立方体的三个顶点,边AB、BC、CA均为面对角线,此时费马点F为立方体中心点;

其中3x为取费马点是ΔABC对应的立方体顶点P时FA+FB+FC的值,在点A、B、C为立方体的三个顶点,边AB、BC、CA均为面对角线的情况下,有FA+FB+FC最短,那么费马点为立方体中心点;

情况3:在立方体中,点A、B为立方体的两个顶点,AB为立方体的一条边,点C为平行于AB的对边上一点,此时费马点F为立方体中心点;

其中,为费马点取点P时FA+FB+FC的值,另外证明中取的是立方体顶点到中心点的距离,对边上其他任意一点到中心点的距离均小于此距离,在点A、B为立方体的两个顶点,AB为立方体的一条边,点C为平行于AB的对边上一点的情况下,费马点为立方体中心点。

可选的,所述三目标区域费马点的计算为:立方体边长为x;

情况1:在立方体中,点A、B为立方体的两个顶点,线AB为立方体对角线,其中点D又分为两种情况,在此两种情况下的点D分别为D1、D2;

当A、B、C、D四点连线有交点时,如图中D1,费马点取为交点F1,证明如下:

其中为取费马点为立方体中心点时FA+FB+FC的长度,当A、B、C、D四点连线有交点时,取费马点取为交点F1有FA+FB+FC最短,费马点取为交点F1;

当A、B、C、D四点连线无交点时,费马点为立方体中心点,证明如下:

其中为取费马点为D2时FA+FB+FC的长度,当A、B、C、D四点连线无交点时,取费马点为立方体中心点有FA+FB+FC最短,费马点为立方体中心点;

情况2:在立方体中,线AB、BC、CA均为面对角线,其中点D又分为两种情况,在此两种情况下的点D分别为D1、D2;这种情况下,A、B、C、D四点连线不会有交点,D1位于ΔABC的上方,而D2位于ΔABC的下方;

(1)当D位于ΔABC的上方时,费马点为立方体中心点,证明如下:

其中为取费马点为D1时FA+FB+FC的长度,当D位于ΔABC的上方时,取费马点为立方体中心点时有FA+FB+FC最短,费马点取为立方体中心点;

(2)当D位于ΔABC的下方时,费马点为D2,证明如下:

其中为取费马点为立方体中心点时FA+FB+FC的长度,当D位于ΔABC的下方时,取费马点为D2时有FA+FB+FC最短,费马点取为D2;

情况3:在立方体中,线AB为立方体的一条边,其中点D又分为两种情况,在此两种情况下的点D分别为D1、D2;D1的位置A、B、C、D存在交点,而D2的位置A、B、C、D,没有交点;

当A、B、C、D四点连线有交点时,费马点取为交点F1,证明如下:

其中为取费马点为立方体中心点时FA+FB+FC的长度,当A、B、C、D四点连线有交点时,取费马点为立方体中心点时有FA+FB+FC最短,费马点取为立方体中心点;

当A、B、C、D四点连线无交点时,费马点为立方体中心点,证明如下:

其中为取费马点为D2时FA+FB+FC的长度,当A、B、C、D四点连线无交点时,取费马点为费马点中心点时有FA+FB+FC最短,费马点取为立方体中心点。

可选的,所述选取费马点卫星节点为:

卫星节点i有两个重要的参数:剩余电量Ei和距离费马点的距离Dif,考虑节点与费马点之间的距离,避免某一个节点能量过度消耗,在传感器节点剩余能量低于阈值T时,则改变费马点节点,阈值T取节点总能量的30%;在计算出费马点的位置后,以费马点的位置为圆心,半径r从0开始以1km为递增单位,从圆心向外搜索,搜索范围为球体,若在第一个搜索范围内存在节点,则选取距离费马点最近的节点,否则继续搜索;若在同一个搜索范围内存在距离相同的节点,则随机选取;若选取的该节点能量小于阈值,则继续搜索。

可选的,所述低能耗费马点三维路由算法LEFTR为:

S21:相关定义和符号

网络的物理拓扑使用M=(N,L,G)来表示,其中N表示节点集,L表示路径集,而G=(P,Q)表示区域集,P表示区域内节点集,区域内节点为p,Q表示区域内路径,网络内节点数量为|N|,路径数量为|L|,区域内节点数量为|P|;节点x与y之间的路径由一组有限序列τ={n0,n1,...,nn}组成,x与y之间的有效路径(x,y),长度为|τ|;

包接收率定义为:

包重复率定义为:

其中,n为收到重复包的节点,|O|=50;

S22:两个目标区域算法

源点将数据发送到费马点,再由费马点将数据转达到两个目标区域,从源点到费马点,及从费马点到两个目标区域之间的传输采用贪婪转发,消息在目标区域内进行洪泛;两个目标区域为区域1和区域2;

S221:由源点、区域1的中心点和区域2的中心点组成一个三角形,计算出此三角形的费马点位置;

S222:使用节点搜寻算法,找到可以作为费马点的节点;

S223:源点将消息发送到费马点节点,然后费马点节点将消息分别转发到两个区域的任一个节点,这两部分的转发均使用贪婪转发,当区域内任意一点收到消息后便在本区内使用洪泛法进行转发,从而使两个区域内的所有节点均收到消息;完成两个区域的地域群播;

S23:多目标区域算法;

S231:多个目标区域算法;

源点与区域1和区域2组成了第一个三角形,计算出第一个费马点1,并使用费马点节点选取算法算出第一个费马点节点1;然后,源点、费马点1和区域3组成了第二个三角形,计算出第二个费马点2,并使用费马点节点选取算法算出第二个费马点节点2,连接费马点1和费马点2,组成费马点树;源点要将数据发送到三个区域,那么先由源点将数据发送到费马点节点2,再继续将数据发送到费马点节点1,两个费马点将数据分别发送到各自对应的区域;从源点到费马点,及从费马点到区域之间的传输采用贪婪转发,消息在目标区域内进行洪泛;

S232:多个目标区域的LEFTR算法;

利用费马点得到一条三维高效传输路径,称为费马点树,立方体表示三维网络环境,球体代表地域群播区域,球体内虚圈代表卫星节点,区域1、2、3分别为三个目标区域,现要实现三个区域的地域群播;

S2321:连接源点、区域1中心点、区域2中心点,得到一个三角形,计算此三角形的费马点1;

S2322:利用第三章的节点搜寻方法,找到合适作为费马点的节点,称为费马点节点1;

S2323:连接源点、费马点1、区域3中心点,组成第二个三角形,计算此三角形的费马点,得到费马点2;

S2324:同样使用费马点搜寻算法,找到可以作为费马点节点2;

S2325:连接费马点节点1和费马点节点2;从源点到费马点节点1,再到费马点节点2,这条路径,为区域1、2、3地域群播的最短路径;

连接的是费马点节点1和费马点节点2,源点发送消息到费马点节点1,再转发到费马点节点2,此部分的转发均使用贪婪转发;费马点节点1收到消息后贪婪转发给区域1和2,区域1和2的任意节点在收到消息后在此区域内洪泛,费马点节点2在收到消息后,同样贪婪转发转发到区域3,区域3的任意节点在收到消息后在本区域内洪泛;当有更多区域时,只需连接源点、费马点、区域中心点,计算组成的三角形的费马点,将费马点串联进费马点树。

本发明的有益效果在于:

(1)探索并给出了适用于卫星网络的费马点计算方法。①改进了三维费马点的计算方法,使其更适用于星间通信;②提出了三维环境下三个目标区域费马点的直接计算方法,即四个顶点的费马点计算方法,补充三维环境下三个点无法找到费马点情况的不足。

(2)提出了一个费马点节点寻找算法,用于找到充当中转传输的节点。本算法用于计算出费马点后需要寻找充当中转传输节点的时候,使网络传输的能耗更加均衡。

(3)提出了适用于卫星通信的高效地域群播算法LEFTR。①提出了针对两目标区域地域群播算法LEFTR,实现两个目标区域的低能耗数据传输;②将算法延伸至多目标区域,利用费马点的特性,构建了一个费马点树,实现了多目标区域的低能耗数据传输。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为三维费马点计算改进示意图;(a)为费马点计算情况1;(b)为费马点计算情况2;(c)为费马点计算情况3;

图2为三目标区域费马点计算示意图;(a)为三目标费马点计算情况1;(b)为三目标费马点计算情况2;(c)为三目标费马点计算情况3;

图3为节点选取示意图;

图4为卫星网络结构示意图;

图5为卫星网络地域群播示意图;

图6为两目标区域理论;

图7为两目标区域的LEFTR;

图8为多目标区域理论;

图9为多目标区域的LEFTR;

图10为包接收率;(a)为在500节点密集覆盖下包接收率;(b)为在200节点非密集覆盖下包接收率;

图11为包重复率;(a)为在200节点非密集覆盖下节点接收数据包的重复率;(b)为在500节点非密集覆盖下节点接收数据包的重复率;

图12为网络崩溃时间;(a)为在200节点非密集覆盖下网络崩溃时间;(b)为在500节点密集覆盖下网络崩溃时间。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

1.1费马点节点选取算法

本章基于费马点的概念、特点以及三维费马点的计算方法,改进了在三维环境下计算费马点的方法,并且提出了针对三个目标区域直接计算费马点的方法,即在三维环境下计算四个顶点的费马点,而后提出了一个节点的选取算法,此算法是为了选出充当费马点的节点,起中转传输的作用,从而完成低能耗的数据传输。

1.2三维费马点计算改进

图1为三维费马点计算改进示意图。本文对上节提到的三维费马点的计算进行了改进,提出了基于立方体来寻找三维费马点的方法。设立方体边长为x:

情况1:如图1(a),在立方体中,点A、B为立方体的两个顶点,线AB为立方体对角线,C为立方体内不同于A、B的任意一点,此时点C即为费马点F。

在点A、B为立方体的两个顶点,线AB为立方体对角线,C为立方体内不同于A、B的任意一点的情况下,有FA+FB+FC短,所以点C即为费马点。

情况2:如图1(b),在立方体中,点A、B、C为立方体的三个顶点,边AB、BC、CA均为面对角线,此时费马点F为立方体中心点。

其中3x为取费马点是ΔABC对应的立方体顶点P时FA+FB+FC的值,如图1(b),所以,在点A、B、C为立方体的三个顶点,边AB、BC、CA均为面对角线的情况下,有FA+FB+FC最短,那么费马点为立方体中心点。

情况3:如图1(c),在立方体中,点A、B为立方体的两个顶点,AB为立方体的一条边,点C为平行于AB的对边上一点,此时费马点F为立方体中心点。

其中,为费马点取点P时FA+FB+FC的值,另外证明中取的是立方体顶点到中心点的距离,对边上其他任意一点到中心点的距离均小于此距离,所以,在点A、B为立方体的两个顶点,AB为立方体的一条边,点C为平行于AB的对边上一点的情况下,费马点为立方体中心点。

1.3三目标区域费马点的计算

图2为三目标区域费马点计算示意图。本小节给出了使用立方体来计算三目标区域费马点的方法,即在立体环境下,计算四个顶点的费马点,因为并没有四个顶点计算费马点的给定算法,所以本文只是给出了相对更符合费马点概念的点,具体如下,立方体边长为x。

情况1:如图2(a),在立方体中,点A、B为立方体的两个顶点,线AB为立方体对角线,C、D的位置如图2(a)所示,其中点D又分为两种情况,在此两种情况下的点D分别为D1、D2。

当A、B、C、D四点连线有交点时,如图中D1,此时,费马点取为交点F1,证明如下:

其中为取费马点为立方体中心点时FA+FB+FC的长度,所以,当A、B、C、D四点连线有交点时,取费马点取为交点F1有FA+FB+FC最短,所以费马点取为交点F1。

当A、B、C、D四点连线无交点时,如图中D2,此时,费马点为立方体中心点,证明如下:

其中为取费马点为D2时FA+FB+FC的长度,所以,当A、B、C、D四点连线无交点时,取费马点为立方体中心点有FA+FB+FC最短,所以费马点为立方体中心点。

情况2:如图2(b),在立方体中,A、B、C、D的位置如图2(b)所示,线AB、BC、CA均为面对角线,其中点D又分为两种情况,在此两种情况下的点D分别为D1、D2。这种情况下,A、B、C、D四点连线不会有交点,D1位于ΔABC的上方,而D2位于ΔABC的下方。

(1)当D位于ΔABC的上方时,如图中D1,此时,费马点为立方体中心点,证明如下:

其中为取费马点为D1时FA+FB+FC的长度,所以当D位于ΔABC的上方时,取费马点为立方体中心点时有FA+FB+FC最短,所以费马点取为立方体中心点。

(2)当D位于ΔABC的下方时,如图中D2,此时,费马点为D2,证明如下:

其中为取费马点为立方体中心点时FA+FB+FC的长度,所以当D位于ΔABC的下方时,取费马点为D2时有FA+FB+FC最短,所以费马点取为D2。

情况3:如图2(c),在立方体中,A、B、C、D的位置如图2(c)所示,线AB为立方体的一条边,其中点D又分为两种情况,在此两种情况下的点D分别为D1、D2。D1的位置A、B、C、D存在交点,而D2的位置A、B、C、D,没有交点。

当A、B、C、D四点连线有交点时,如图中D1,此时,费马点取为交点F1,证明如下:

其中为取费马点为立方体中心点时FA+FB+FC的长度,所以当A、B、C、D四点连线有交点时,取费马点为立方体中心点时有FA+FB+FC最短,所以费马点取为立方体中心点。

当A、B、C、D四点连线无交点时,如图中D2,此时,费马点为立方体中心点,证明如下:

其中为取费马点为D2时FA+FB+FC的长度,所以当A、B、C、D四点连线无交点时,取费马点为费马点中心点时有FA+FB+FC最短,所以费马点取为立方体中心点。

1.4费马点卫星节点选取算法

将三角形的其中一个顶点看作源点,剩余两个顶点看作两个目标区域,那么通过计算可以得出此三角形费马点的位置,选这个节点作为费马点,可以得到一条由源点到两个目标区域的最短路径,而费马点是此路径的中间转发节点。但是这里存在一个问题,利用数学方法计算出来的费马点位置是一个非常精确的位置,所以在计算出来的费马点的位置上,不一定正好有一个卫星节点,那么如何选取作为费马点的卫星节点就至关重要。选取作为费马点的节点称为费马点节点。

而费马点节点是一个非常重要的节点,负责消息的中枢传输,要到达对应区域的数据,都需要经过费马点节点,因此费马点节点的通信量要远远高于普通节点,那么费马点节点的能量消耗也将比普通节点高,但卫星寿命有限,为了避免过早的消耗完卫星节点寿命,本文将综合考虑以下两点,卫星节点与实际费马点的距离,以及卫星的剩余寿命。在计算出费马点后,从费马点的周围寻找卫星节点,在保证费马点节点尽量靠近费马点的同时,选出剩余电量最多的卫星来作为费马点节点。

1.4.1节点选取方式

卫星节点i有两个重要的参数:剩余电量Ei和距离费马点的距离Dif,因为本文为几何距离方案,所以本文首先考虑节点与费马点之间的距离,但为了避免某一个节点能量过度消耗,在传感器节点剩余能量低于阈值T时,则改变费马点节点,这里阈值T取节点总能量的30%。如图3所示,在计算出费马点的位置后,以费马点的位置为圆心,半径r从0开始以1km为递增单位,从圆心向外搜索,搜索范围为球体,若在第一个搜索范围内存在节点,则选取距离费马点最近的节点,否则继续搜索;若在同一个搜索范围内存在距离相同的节点,则随机选取;若选取的该节点能量小于阈值,则继续搜索。

1.4.2算法实现

本小节用伪代码展示了费马点节点的选取算法,如算法1.1所示。

算法1.1费马点节点选取算法

1.5费马点在卫星节点上的应用

上一个小节给出了费马点节点的选取算法,如何将费马点结合到卫星节点,是本小节要考虑的问题。

1.5.1卫星网络结构

编队飞行、星座和星群属于并行关系,属于分布式卫星系统。编队飞行中的每个卫星都是在自己对应的轨道运行,需要加入星间闭路轨道,才能保证飞行的卫星保持队形。星座则增加了其覆盖面积,定期通过地面站对单颗卫星进行轨道位置调整,就可保持卫星轨道。而星群是最为简单的一种卫星分布形式,主要用来观测空间环境参数的监测。

然而,以上介绍的三种卫星系统在执行系统时比较分散,各自之间并不互相连通,这种通信方式在现在航天业务多元化的大趋势下,不利于实现卫星网络的能效最大化。目前,能够进行自组网络的低轨卫星网络已经出现,即星际链路通信,如图4所示,这种卫星网络类似于无线传感器网络,可以将例如编队飞行、星座、星群连接起来,互相通信,可以感知到相邻卫星节点的存在,自动的建立星间链路,且具有动态路由等功能,避免了信息传回地面进行处理和路由选择,减小了二次业务分配,同时也降低了通信时延,从而来达到现在个性化的网络需求。而本文正是依据此类低轨卫星网络来研究路由算法。

1.5.2费马点和卫星节点的结合

基于自组织的低轨卫星网络(星际链路通信),假设一个卫星为源点(此源点为要发送数据的地球区域对应的卫星),此源点要发送数据到两个特定的卫星区域,这两个卫星区域即为目标区域,首先源点将数据发送给上个小节中计算出来的费马点节点,再由费马点节点将数据发送到两个目标区域,基于卫星的自组织性和位置感知功能,从源点发送到费马点的路径和从费马点到两个目标区域的路径,均使用贪婪转发,当数据到达目标区域后,将在区域内洪泛,从而使得所有卫星节点收到目标数据,继而将数据发送到地面区域。如图5所示。

1.6本章小结

本章的工作主要集中在费马点计算和费马点节点选取算法,首先给出了适用于卫星环境计算费马点的方法,若三个顶点的费马点计算方法出现困难,可使用四个顶点的计算方法,保证了费马点计算的成功率,然后又提出了费马点节点的选取算法,选出可以起到中转传输作用的卫星,这两个方法是第四章LEFTR算法实现的基础。

2LEFTR算法

基于第三章的费马点计算方法和费马点节点选取算法,本章将对低能耗费马点三维路由算法LEFTR进行详细的介绍。本算法要做的是,将一条消息,从源点发送到指定区域内的所有节点,源点只发送一次。本章分为四部分,第一部分介绍了相关定义和符号;第二部分针对两个目标区域,首先在平面环境下对理论部分进行讲解,然后介绍了在复杂环境下LEFTR的工作原理;第三部分针对多个目标区域,同样先对理论部分进行讲解,然后介绍多目标区域LEFTR算法;第四部分为仿真,并详细分析了实验结果。

费马点是指,在一个三角形中,到达三个顶点距离之和最短的点,即在ΔABC中,有费马点F,那么从顶点A出发,到达顶点B和C,经过费马点的路径应该是最短路径。若将顶点A看作源点,B和C分别看作两个区域,此时源点将向区域B和区域C发送同一条消息,那么由源点发出的信息可以先转发到费马点,再由费马点分别转发到区域B和C,这样的一条转发路径在理论上是最短的。缩短传输路径,可减少中间跳数,进而节省节点能量,并且降低了延迟。基于此,继续进行下面的工作。

2.1相关定义和符号

网络的物理拓扑使用M=(N,L,G)来表示,其中N表示节点集,L表示路径集,而G=(P,Q)表示区域集,P表示区域内节点集,区域内节点为p,Q表示区域内路径,网络内节点数量为|N|,路径数量为|L|,区域内节点数量为|P|。节点x与y之间的路径由一组有限序列τ={n0,n1,...,nn}组成,x与y之间的有效路径(x,y),长度为|τ|。

包接收率定义为:

包重复率定义为:

其中,n为收到重复包的节点,|O|=50。

2.2两个目标区域算法

本小节介绍了在两个目标区域的情况下,算法的平面路由理论详情和LEFTR路由的详情。

2.2.1两个目标区域算法理论

本小节在平面上将两个目标区域的LEFTR算法进行详细的阐述,图6给出了详细的过程。绿色圆为源点,源点以及两个目标区域组成了一个三角形,图中橙色圆为费马点,费马点的计算方法已经在上一章介绍过,源点将数据发送到费马点,再由费马点将数据转达到两个目标区域,从源点到费马点,及从费马点到两个区域之间的传输采用贪婪转发,消息在目标区域内进行洪泛。

2.2.2两个目标区域的LEFTR算法

本节讨论当有两个目标区域时,如何计算费马点路径。在整个三维网络中,存在很多个区域,每个区域内又存在许多节点,如图7所示,本文使用立方体来代表三维网络环境,立方体内的球体为群播区域,球体内的虚线圆圈为卫星节点。

S1:由源点、区域1的中心点(圆心)和区域2的中心点组成一个三角形,计算出此三角形的费马点位置;

S2:使用第三章介绍的节点搜寻算法,找到可以作为费马点的节点;

S3:源点将消息发送到费马点节点,然后费马点节点将消息分别转发到两个区域的任一个节点,这两部分的转发均使用贪婪转发,当区域内任意一点收到消息后便在本区内使用洪泛法进行转发,从而使两个区域内的所有节点均收到消息。至此,便完成了两个区域的地域群播。

上述计算和转发过程,均为三维环境。

2.3多目标区域算法

本小节介绍了在多个目标区域的情况下,算法的平面路由理论详情和LEFTR路由的详情。

2.3.1多个目标区域算法理论

本小节在平面上将多个目标区域(图8中为三个区域)LEFTR算法进行详细的阐述。绿色圆为源点,图中两个橙色圆为费马点。源点与区域1和区域2组成了第一个三角形,计算出第一个费马点1,并使用费马点节点选取算法算出第一个费马点节点1;然后,源点、费马点1和区域3组成了第二个三角形,计算出第二个费马点2,并使用费马点节点选取算法算出第二个费马点节点2,连接费马点1和费马点2,组成费马点树。源点要将数据发送到三个区域,那么先由源点将数据发送到费马点节点2,再继续将数据发送到费马点节点1,两个费马点将数据分别发送到各自对应的区域。从源点到费马点,及从费马点到区域之间的传输采用贪婪转发,消息在目标区域内进行洪泛。

2.3.2多个目标区域的LEFTR算法

在实际应用环境中,目标区域往往是多个的,于是本部分将LEFTR算法扩展到多目标区域,从而实现多目标区域的高效地域群播。本部分利用费马点得到一条三维高效传输路径,称为费马点树,具体如下。如图9所示,与上部分一样,立方体表示三维网络环境,球体代表地域群播区域,球体内虚圈代表卫星节点,区域1、2、3分别为三个目标区域,现要实现三个区域的地域群播。伪代码如表2.1。

S1:连接源点、区域1中心点、区域2中心点,得到一个三角形,计算此三角形的费马点1;

S2:利用第三章的节点搜寻方法,找到合适作为费马点的节点,称为费马点节点1(区别于费马点);

S3:连接源点、费马点1、区域3中心点,组成第二个三角形,计算此三角形的费马点,得到费马点2;

S4:同样使用费马点搜寻算法,找到可以作为费马点节点2;

S5:连接费马点节点1和费马点节点2。从源点到费马点节点1,再到费马点节点2,这条路径,为区域1、2、3地域群播的最短路径。

算法2.1LEFTR算法

尤其要注意,在实际工作过程中,连接的是费马点节点1和费马点节点2,源点发送消息到费马点节点1,再转发到费马点节点2,此部分的转发均使用贪婪转发;费马点节点1收到消息后贪婪转发给区域1和2,区域1和2的任意节点在收到消息后在此区域内洪泛,费马点节点2在收到消息后,同样贪婪转发转发到区域3,区域3的任意节点在收到消息后在本区域内洪泛。当有更多区域时,只需连接源点、费马点、区域中心点,计算组成的三角形的费马点,将费马点串联进费马点树即可。

2.4仿真

2.4.1准备工作

随着卫星技术的发展和普遍应用,扩展卫星功能的一种重要方法是建立卫星间网络以使它们协同工作。传统的卫星组网方式一般采用固定时隙分配方式,这种方式不适用于等待时间短,吞吐量要求高的小型卫星组。为了解决这个问题,已经提出在卫星网络中应用传统的Wifi协议。

4.4.2仿真软件:NS-3

本文使用的仿真软件为NS-3,系统为Linux,环境为Ubuntu。NS-3是一个可扩展的网络仿真平台,它并不是NS-2的升级,而是一个全新的仿真软件,其保留了NS-2的大部分功能。NS-3可以方便地实现大部分的因特网协议和算法,可以对多种网络进行仿真,包括有线网络和无线网络等。拥有完整的库,可以组合使用,图形界面形象,有数据跟踪和分析的工具。

NS3提供一定程度的卫星网络支持,可模拟GEO和LEO卫星,模拟的内容包括MAC协议、数据链路、传输协议和路由协议等。且NS3在如下方面对卫星网络模拟进行了扩展:①节点定义,增加了对象SatNode,用于定义三种节点,同步卫星节点(geosatationary),非同步卫星节点(non-geosatationary),地面节点(terminal)。卫星节点中有一个统一的入口(entry_)指向一系列的地址分类器(classifier)。地址分类器包含了向外面节点转发分组的时隙表。②星座定义,增加了位置对象position,用于定义卫星星座参数,包括高度、轨道面数、轨道倾角、星间链路、星地链路、地面仰角等。③链路定义,NS3从两个方面定义星间和星地的卫星链路。一方面,节点通过add-interface过程设置链路的网络接口,另一方面,模拟程序通过add-isl设置星间链路的信道,通过add-gsl设置星地链路的信道。

其中3个重要的系统,如表2.2所示:

表2.2NS-3中重要系统对比

4.4.3仿真环境与指标

1.环境

本文所提出的算法是基于繁杂的卫星组网,现假设未来卫星环境会形成一个庞大的卫星组网,由数目相当庞大的LEO卫星组成,假定形成的卫星组网在太空环境中相对静止。由于卫星轨道间通信的最大星间距离达到3700km,而轨道内的星间距离也会达到4500km,即使在以后可能涉及到的庞大卫星组网下,星间距离也会相对较大。假定卫星相对静止。使用NS-3和802.11MAC协议进行仿真实验。首先建立了一个2000*2000*2000的3D的立方体空间,并建立虚坐标,将立方体的一个点固定在原点坐标,保持3D立方体的固定。因为卫星节点的部署密度对于路由算法有较大影响,所以本文设立两个场景:①在立方体空间随机密集部署500个节点。②在立方体空间随机非密集部署200个节点。保持节点的固定性和随机性,其中坐标系原点为数据源点。针对地域群播,划分出7个地域群播区域,每个群播区域平均存在至少20个节点。与二维层面下的地域群播不同的是,三维环境下群播区域是球形。每个节点有相同的初始能量,能量耗尽,则节点坏死。

规定网络总时间为600s,数据包为固定大小有效荷载512字节,通过NS-3能量模型设置每个节点的能量,节点进行1000次转发即为坏死,每5ms发送一个数据包。

2.仿真指标

(1)包接收率:群播区域内接收到源点所发数据包的成员数与群播区域内的总成员数量的比率,如公式(2.1)。可反映出节点接收包的成功率,反应了算法的基本传输性能。

(2)数据包重复率:随机选择除群播区域外的50个节点进行跟踪,我们从源点发送数据包到目标区域,如公式(2.2),50节点中接收到重复数据包的节点与50的比值为节点接收数据包的重复率。在节点接收包重复率过高时,会出现数据冗余,加大网络传输负担,过度消耗能量。

(3)网络崩溃时间:通过NS-3能量模型设置每个节点的能量,初始值设立为1000次转发即坏死(节点失效类型为能量耗尽失效),当失效节点占网络总结点的50%时,网络连通程度大幅下降,此时认为网络崩溃。反映了该算法延长网络寿命的能力。

3.贪婪转发

数据包由源节点标记要发送数据包的目标节点或目标区域位置,每个节点的邻居节点位置已知,选择下一跳节点的依据是地理位置最接近目标节点的节点,这样每一次转发都会更接近目标节点,直到达到目标节点。

4.区域洪泛

洪泛法是一种简单的路由算法,将收到的封包,往所有的可能连结路径上递送,直到封包为止。洪泛法用于像区域内所有路由器发送信息,不要求维护网络的拓扑结构和相关的路由计算。源节点希望发送一段数据给目标节点,首先将数据副本发送给所有的邻居节点,每个节点再将数据传动给各自的出发送数据来的节点以外的其他节点,如此数据传送目标节点或者数据设定的生存期限为0为止。

5.周边转发

周边转发是针对贪婪转发过程中出现的路由空洞问题的解决方法,利用右手准则来确定下一跳节点。

2.4.4仿真结果分析

图10为包接收率。仿真分别在两种场景下进行7次模拟,每次模拟的区域数量加1。

实验一:如图10(a)所示,该图显示了在500节点密集覆盖下的包接收率。LEFTR算法的数据传递效率接近区域洪泛算法。如图10(b)所示,该图显示了在200节点非密集覆盖下的包接收率。此时贪婪转发算法的数据传输率较500个节点时整体出现下降,在向7个区域都发送数据包时,包接收率下降到93%。在密集网络下,贪婪转发性能好,效率高,但是在非密集的网络下,贪婪转发就有可能出现路由“空洞”问题,所以在图10(b)中,贪婪转发算法的数据接收率相对于图10(a)出现下降。LEFTR在密集和非密集的情况下,数据的接收率差别较小。这是因为从算法本身来看,费马点充当了“中间站”,作为从源点到目标区域的中继,缩短了整体传输距离,且有效避免了贪婪转发在长途转发中出现错误的几率,同时LEFTR算法加入了周边转发来绕过路由空洞,具体而言,在遇到路由空洞问题时,将贪婪转发模式切换至周边转发,根据“右手法则”来判断下一跳转节点:连接当前节点和目的结点形成直线,右手握住此线逆时针旋转,到达的第一条边(边代表其上的两个点可以互达)就是下一跳的方向,从而绕过路由空洞。

洪泛法因为其向所有一跳邻居(除去给他发送数据的邻居)的原理,数据接收率几乎可以达到100%,并且在三维环境中仍然表现优秀,LEFTR的数据接收率虽不如洪泛法,但高于贪婪转发,已是较为理想的数据传输率,但这不是LEFTR的重点。LEFTR主要是通过缩短传输路径,来达到降低传输能耗的目的,在节能方面表现优秀,总体性能好于洪泛法和贪婪转发。

实验二:网络在三维环境下比较有效的即每个节点和自己的邻居节点进行hello包的通信,使得每个卫星节点都可以获取在自己通信半径范围内的邻居节点的位置信息,为选择下一跳提供信息。贪婪转发算法计算复杂度低,原理简单,并且生成的路由路径是接近理想的最优最短路径,是在三维环境下,最为常用的算法之一。故选取贪婪转发算法进行对比实验。

图11为包重复率。如图11(a)所示,在200个节点进行非密集覆盖下的节点接收数据包的重复率的信息。可以看到在地域群播区域为1个时,重复率为0.2%。而随着群播区域的增加,重复率上升速度加快。在7个区域时,已经增加到50%。而如图11(b)所示,展示了在500个节点密集覆盖下的节点接收数据包的重复率。在7个区域时,贪婪转发算法的节点接收数据包的重复率高达70%。这是因为只有单一区域时,源节点向一个区域发送消息,只需发送一条消息,而这条消息的传输路径,接近理想最短路径。但当区域逐渐增加时,源节点需要发送多条消息,分别寻找到达对应群播区域的最短路径,此时,数据就会出现冗余,从而增加了网络开销。对于LEFTR算法形成的费马点树,即使群播区域增加,源节点也只需要发出一条数据。这条消息经过费马点树交付到各个群播区域。数据显示,在500节点密集覆盖下,向7个群播区域发送消息时,重复率为30%。故LEFTR大大减小了在地域群播时的网络开销,网络具有较强的健壮性。向7个群播区域发送消息时,重复率为30%。由此可见,LEFTR算法减小了在地域群播时的网络开销,网络具有较强的健壮性。

对于贪婪转发而言,数据发送量会随着目标区域数量的增加而增加,对每个目标区域源点都需要针对性发送一条数据,所以出现数据冗余的问题。而对于LEFTR,数据均通过费马点树传输,无论针对多少目标区域,源点都只需发送一条数据,在很大程度上避免了数据冗余,故数据包重复率较贪婪转发要低。

实验三:网络总时间为600s,通过NS-3能量模型设置每个节点的能量,初始值设立为1000次转发即坏死(节点失效类型为能量耗尽失效),当失效节点占网络总结点的50%时,网络连通程度大幅下降,此时认为网络崩溃。每5ms发送一个数据包,观察网络崩溃的时间。

图12为网络崩溃时间。如图12(a)所示,在200个节点非密集覆盖下的网络崩溃时间记录。如图12(b)所示,在500个节点密集覆盖下的网络崩溃时间记录。

从图中可以看出,不管在密集网络还是非密集网络,LEFTR相对于在三维环境中性能较好的贪婪转发算法,LEFTR算法更加充分地利用了节点的能量。本文定义节点转发1000次则坏死,贪婪转发算法在群播区域增多时,网络崩溃速度越来越快,而LEFTR算法则是能够平缓的下降崩溃时间。

这是因为利用了费马点的特性,减少了数据传输的路径,主要是减少了中间跳数,并且由各个费马点组成的费马点树,将源点的发送数据量控制到最低,减少了数据冗余,这也在一定程度上减少了各个节点处理数据的能量消耗,从而均衡了整个网络节点的能量消耗,从实验来看,本文提出的LEFTR算法方案能够大大提高网络的生存时间。

2.5本章小结

本章首先从理论方面介绍了针对两个目标区域和多目标区域的LEFTR算法,其次给出了真实复杂网络环境下的两目标区域和多目标区域的LEFTR算法及详细的步骤,利用费马点的特性,找出一条从源点到目标区域的最短路径,即费马点树,减少路径跳数,从包接收率、数据包重复率、网络崩溃时间三个方面来验证算法有效性。仿真结果表明,本算法可有效节省和均衡传输能耗,延长网络寿命。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

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