一种基于时隙的leo/meo双层卫星dtn网络分布式路由的优化方法

文档序号:9710761阅读:564来源:国知局
一种基于时隙的leo/meo双层卫星dtn网络分布式路由的优化方法
【技术领域】
[00011本发明涉及一种基于时隙的LE0/ME0双层卫星DTN网络分布式路由的优化方法,属 于卫星通信领域。
【背景技术】
[0002] 近些年来,伴随着无线电通信技术、计算机科学技术、以及深空探测技术的迅猛发 展,出现了一些违背传统网络特点的新型网络场景,如野生动物监测传感网络、陆地移动网 络、空间网络、海底传感器网络、军事自组织网络。以上新型网络场景存在以下特点:链路延 迟大、缺少端到端路径、链路通断频繁、缺乏连续能量供给、传输数据速率不对称,以及节点 存储能力受限。而TCP/IP协议作为一种传统网络协议,它的应用条件是场景存在端到端路 径、节点间传输时延小、数据包丢失率小、对称数据传输速率。因此新型网络中TCP/IP模型 不再适用。因此,科研人员提出了容迟/容断网络(Delay and Disruption Tolerant Ne twork,DTN)的概念。
[0003] 容迟/容断网络(Delay and Disruption Tolerant Network,DTN)概念被提出后, DTN网络中路由技术成为如今DTN领域的研究热点。近年来多种DTN路由算法相继被提出,主 要分为基于数据复制或数据转发两种方式以适应DTN的受限通信环境。其中数据复制是为 每个消息复制多个副本,以增加副本被交付到目的节点的机会,但同时数据复制占用大量 带宽和存储资源,易带来数据拥塞。数据转发是依据预测知识选择最优路径逐步转发数据 包直到到达目的节点,但面对传输过程中的拓扑变化数据包容易半途丢失。
[0004] 卫星网络作为深空通信系统的重要组成部分,也属于DTN网络的一种,但同时卫星 DTN网络也有着卫星节点周期性运行及拓扑可预测的独特优势,这些特点在传统DTN经典算 法中并未完全考虑进去。
[0005] ED算法是DTN网络路由算法的一种,在计算路由的过程中可利用卫星节点运行周 期性及拓扑可预测性计算得到链路预测数据,从而进行路由选择,将传输时延和传播时延 的总和作为链路开销,因此具有实时性效果较好,路由表可提前算出,卫星上数据计算量较 小的特点。但ED算法作为源路由算法的一种,路由表在源卫星节点就被计算出,一旦传输过 程中卫星发生故障或某中间节点处存在其他消息于队列中使该数据包不能立即发出,这就 会导致数据包到达下一跳节点的时间不同于预测时间,从而使后续路由选择出现错误,导 致数据包丢失、时延增大。而在路由时隙方面ED算法采用等长时间分片,虽然原理简单,实 现简单,但适应网络中链路通断变化的性能差,易造成路由错误或错过可通信机会。

【发明内容】

[0006] 本发明为了解决现有技术DTN网络中路由未完全考虑卫星DTN网络环境中卫星运 行的规律性和链路的可预测性所造成拓扑关系变化时的大量数据包丢失及链路频繁变换 带来的路由表频繁更新,计算量大的问题,进而提供一种基于时隙的LE0/ME0双层卫星DTN 网络分布式路由的优化方法。
[0007] 步骤一、构建LE0/ME0双层卫星网络模型;
[0008] 构建LE0/ME0双层卫星网络模型,ME0+6LE0为双层卫星网络,采用1颗MEO卫星和6 颗LEO卫星组成系统空间段,其中,ME0+6LE0双层卫星星座参数为:6颗LEO卫星,轨道周期为 120min,轨道高度为1680.8km,轨道倾角60°,服从walker星座分布,每个轨道2颗,均匀分布 在三个轨道上;1颗MEO卫星,周期为710.6min,高度为20000km,轨道倾角为55° ;
[0009] 步骤二、根据LE0/ME0双层卫星设计DTN网络分布式路由;
[0010] 步骤二一、统计所有链路通断时刻,并按照时间数据划分时间片;
[0011] 依据卫星运行的周期性,按照卫星轨道分布计算并统计所有任意两颗卫星间链路 通断变化时刻,设共有N个卫星间链路通断变化时刻为{,t 2…tN},其中tN,N 2 1;依次将 到tN按顺序作为每一个时间片的起始时刻;
[0012] 步骤二二、将步骤二一中任意两颗卫星间链路通断变化时刻{tl,t2…t N}进行路由 更新时间优化;
[0013]步骤二二一、设置最小时间门限值心,两路由更新时隙间时间间隔为TdTa1^ 新时刻与上一个路由更新时刻合并,减少时间片数量,解决时间片过短问题,设置心为158;
[0014] 步骤二二二、设置最大时间门限值12优化的路由更新策略,当相邻两个路由更新 时刻相隔时间τ>λ#4,将两时刻中间时间以时间间隔△ λ重新进行等长分片,细化分片时 间,提高路由表精确度;获得优化后的路由更新时刻矩阵R,设优化后共有M个路由更新时 亥丨J,则路由更新时刻矩阵R={tl',t2',t3'......七》1'},其中,]/[2 1;将人2设置为4111;[11,六\设置 为2min;
[0015] 步骤二三、每一次路由更新为七颗卫星建立路由表,以其本身为源节点,其他六颗 卫星为目的节点,计算链路延时开销,由DTN网络路由一ED算法计算路由表;
[0016] 步骤二三一、根据卫星轨道数据计算出各个时间片内的网络拓扑状态矩阵A及路 由更新时刻矩阵R,设将轨道周期分为M个路由更新时刻,即M-I个时间片,其中第m个时间片 的网络链路状态矩阵为Am;
[0018] 矩阵R中元素 Rrn为每个时间片的起始时刻,其中m={l,2,...,M-1};
[0019] 步骤二三二、卫星随时间周期性运行,每到一路由更新时刻,依据预测的每颗卫星 的位置信息<la(t),long(t),al(t)>,其中,la(t)是炜度,long(t)是经度,al(t)是高度,计 算卫星节点之间的距离,结合网络链路状态矩阵Am,生成卫星网络拓扑矩阵Bm;
[0020] 其中Bm矩阵元素
[0021] 步骤二三三、对第m个时间片对应的卫星网络拓扑矩阵Bm进行计算,得出最优路 径,即时延最小路径,由DTN网络分布式路由,每次路由更新时刻为七颗卫星建立路由表集 TABLEm={TABml,TABm2,,",TABm7},其中,m={l,2,· · ·,M-1},路由表集中的每张路由表 单元TABmk为在第m个时间片上第k颗卫星上保存的路由表,表中保存着目的节点卫星序号 Dest_node及从k卫星到目的卫星节点的下一跳节点序号Next_hop,时间片内源节点卫星与 目的节点卫星间无可通信链路,则设定下一跳为本节点;如表1,为第一个时间片内卫星1节 点即LEOll卫星上存储的路由表TAB1I;
[0024] 步骤二四、按照每到一个节点查找一次路由的逐跳查找路由方式为数据包查找路 由,实现分布式路由;
[0025] 步骤二五、由步骤二二中所计算的优化路由更新时刻R=UT,t2',t3' ......tM'},其中,M2 I,每到一次路由更新时刻,按步骤二三为每个卫星计算一次路由表, 并在每个卫星上及时更新路由表;
[0026]步骤二六、LE0/ME0双层卫星节点上数据包的存储转发;
[0027]按照每个卫星节点星上存储的链路状态表查找下一跳,当找不到可用下一跳即无 可通信链路时,将数据包存入该卫星的星上存储队列,并为存储队列设置重查路由周期 Trrciute = 20_定期为队首数据包查找路由;存储队列设置了存储容量为C,存储容量满后,将 收到的数据包销毁。
[0028]本发明有益效果:
[0029] 1、本发明以DTN网络算法--最早传递算法(ED)作为基础算法对LE0/ME0双层卫 星网络进行优化以提高数据包成功投递率及减小平均端到端时延;
[0030] 2、本发明构建LE0/ME0双层卫星网络模型,作为双层卫星网络路由研究的基础,结 合了MEO卫星和LEO卫星二者的优势;具有通信时延小,分布式计算路由优点。
【附图说明】
[0031] 图1为本发明的ME0+6LE0双层卫星DTN网络图,其中LEOl I,LEOl2为第一条卫星轨 道上均匀分布的两颗低地球轨道卫星,LE021,LE022为第二条卫星轨道上均匀分布的两颗 低地球轨道卫星,LE031,LE032为第三条卫星轨道上均匀分布的两颗低地球轨道卫星,MEO 为双层卫星星座中的中地球轨道卫星;
[0032]图2为本发明基于时隙的LE0/ME0双层卫星DTN网络分布式路由的优化方法流程 图;
[0033]图3为本发明的时隙优化DTN网络分布式路由更新示意图;其中,T为两个路由更新 时刻的时间间隔A1为最短时间片门限值,即小于时间片要与上一个时间分片进行合 并;λ2为最长时间片门限值,即小于\ 2的时间片要进行重新分片;△ λ为将长时间片重新等长 分片的时间片长度;thtdN为依据卫星轨道参数及实时位置数据统计的任意两颗卫星间 链路通断变化时刻,ti',t2',t3'......tM'为优化后的路由更新时刻;
[0034]图4为本发明的ED算法与改进的ED算法数据包成功投递率仿真对比统计图;
[0035]图5为本发明的ED算法与改进的ED算法的平均端到端时延仿真对比统计图。
【具体实施方式】
【具体实施方式】 [0036] 一:本实施方式的一种基于时隙的LE0/ME0双层卫星DTN网络分布式 路由的优化方法包括以下步骤:
[0037] 步骤一、构建LE0/ME0双层卫星网络模型如图1;
[0038] 步骤二、根据LE0/ME0双层卫星设计DTN网络分布式路由如图2;
[0039] 步骤二一、统计所有链路通断时刻,并按照时间数据划分时间片如图3;
[0040] 依据卫星运行的周期性,按照卫星轨道分布计算并统计所有任意两颗卫星间链路 通断变化时刻,设共有N个卫星间链路通断变化时刻为{,t 2…tN},其中tN,N 2 1;依次将 到tN按顺序作为每一个时间片的起始时刻;
[0041] 步骤二二、将步骤二一中任意两颗卫星间链路通断变化时刻Hht2…tN}进行路由 更新时间优化;
[0042]步骤二三、每一次路由更新为七颗卫星建立路由表,以其本身为源节点,其他六颗 卫星为目的节点,计算链路延时开销,由DTN网络路由一ED算法计算路由表;
[0043] 步骤二四、按照每到一个节点查找一次路由的逐跳查找路由方式为数据包查找路 由,实现分布式路由;
[0044] 步骤二五、由步骤二二中所计算的优化路由更新时刻R = ΗΓ,t2',t3' ......tM'},其中,M2 I,每到一次路由更新时刻,按步骤二三为每个卫星计算一次路由表, 并在每个卫星上及时更新路由表;
[0045] 步骤二六、LE0/ME0双层卫星节点上数据包的存储转发;
[0046] 按照每个卫星节点星上存储的链路状态表查找下一跳,当找不到可用下一跳即无 可通信链路时,将数据包存入该卫星的星上存储队列,并为存储队列设置重查路由周期 Trrciute = 20_定期为队首数据包查找路由;存储队列设置了存储容量为C,存储容量满后,将
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1