一种基于网络编码的双层卫星网络多径路由方法与流程

文档序号:16199116发布日期:2018-12-08 06:26阅读:247来源:国知局
一种基于网络编码的双层卫星网络多径路由方法与流程
本发明涉及卫星网络通信领域,尤其涉及一种基于网络编码的双层卫星网络多径路由方法。
背景技术
卫星通信网络为全球范围内分散分布的用户提供多样化的数据传送服务,其在全球通信服务领域中具有巨大的潜力。卫星通信网络不仅具有良好的全球覆盖性,而且能够提供高效实时的数据通信服务,因此卫星通信网络的应用对人迹罕至及地理环境恶劣的区域具有重大的意义。基于卫星通信网络的广阔应用前景,针对卫星通信网络而设计的具有高效能且兼顾服务质量的网络路由算法称为卫星网络通信领域的一大重要课题。卫星沿各自轨道平面不间断运行,按轨道高度的不同,卫星被划分为低地球轨道、中地球轨道与地球同步轨道卫星。卫星的轨迹运动导致了卫星通信网络拓扑的时变性,进而增加了卫星网络路由的复杂性;而真空中卫星节点之间高带宽低延时的星间链路的建立,又为卫星通信网络的通信提供了高容量、高吞吐量的潜质。卫星网络的拓扑结构决定着卫星网络中的星间链路数目以及数据包的传输路径等,目前依靠单一轨道上的卫星节点组成的单层卫星网络因其网络阻塞概率大、抗毁性差、节点时延积累等因素,已经难以满足日益增长的信息服务需求。相较之下,多层卫星网络的拓扑结构具有较高的连通度,增加了卫星网络的可靠性,在卫星节点之间存在可供选择的备用链路,其通过结合不同轨道平面的卫星,可更加充分地利用卫星网络资源。在双层卫星网络拓扑结构中,meo/leo双层卫星网络具备诸多优势,网络中leo卫星与meo卫星均具有数据交换功能,层内可建立稳定的永久星间链路,通过meo卫星节点对leo卫星节点的覆盖特性,可以在层间建立用以数据转发的星间链路,通过两层卫星节点的协作,对网络中的数据进行转发,从而提高网络的数据传输效率,也可实现多径路由方法的应用。meo/leo双层卫星网络拓扑结构能够实现对地面用户的广泛覆盖,并且相较于其他卫星网络拓扑结构,具备传输时延低、数据链路损耗小等特点,能够更好地满足数据传输服务对通信质量的需求。卫星网络的路由方法设计旨在充分利用丰富的网络资源,提升网络的传输性能与可靠性。针对卫星网络中无线信道所具有的广播、时变以及丢失等特性,相较于传统路由方法,多径路由通过应用在多个潜在中继节点中竞争、选择下一跳节点的方法,可以在数据转发的过程当中,通过路由算法的应用优先选择可用度更高的路径,提高了网络的吞吐量与传输的可靠性。与此同时,网络编码技术的提出似的网络中的节点能够相互协作转发数据包,充分地利用了双层卫星网络的空间关系及其丰富的网络资源,网络编码技术的应用允许节点对来自不同链路的数据包进行编码组合,当目的节点收到的编码数据包数达到一定数量,就可解码获得原始数据包,这相比原始的多径路由算法又进一步提高了网络的吞吐量。因此,在卫星网络路由方法的设计过程中,需要充分考虑卫星通信网络区别于其他网络的特性,并对其自身的显著优点加以利用,在时变的网络拓扑与高校的路由性能中寻求平衡,以期得到满足业务需求、具有优秀通信性能的卫星通信网络路由方法。技术实现要素:本发明提出了一种基于网络编码的双层卫星网络多径路由方法,包括如下步骤:步骤一:构建具有双层卫星星座的卫星网络拓扑,结合中、低地球轨道的特性建立星间链路,根据卫星数目与卫星网络容量的关系确定卫星网络结构;步骤二:根据卫星网络实时状态进行网络路由设置,以路由请求为驱动,在源端节点与目的端节点之间进行星间链路与沿途卫星节点的可用度权值计算,并据此获取响应路由请求的局部网络路由状态;步骤三:结合网络编码与多径路由的方法优化卫星通信网络的性能,通过计算参与转发的卫星节点列表,结合数据传送过程中的编码操作与目的端完成数据传送后的解码操作,在网络中建立满足业务需求的有效链接;步骤四:根据卫星网络的拥塞状况,网络中各卫星节点及其星间链路的可用度权值,优先选择传送数据总代价较小的路由路径进行数据转发,提高卫星网络的吞吐量。本发明提出的所述基于网络编码的双层卫星网络多径路由方法中,步骤一中建立双层卫星网络拓扑包括如下步骤:步骤1a:分析不同运行轨道中卫星的特性,根据本算法中提高网络吞吐量的要求,选定中地球轨道与低地球轨道两者结合构建双层卫星通信网络拓扑;步骤1b:基于卫星通信网络中常用的轨道平面倾角,设定合理可行的卫星节点运行轨道平面,本算法中确定6个轨道倾角为86.4°的低地球轨道平面与3个轨道倾角为45°的中地球轨道平面;步骤1c:根据卫星通信网络中网络容量与在网卫星数目的关系,分析选定双层卫星网络中适用的卫星节点数目,本算法中选定66颗低地球轨道卫星与18颗中地球轨道卫星;步骤1d:在构建的双层卫星网络拓扑中,依据卫星仰角、天线角度、轨道平面夹角等参数,计算层间卫星之间的可见性,并据此建立星间链路,以实现数据通信功能。本发明提出的所述基于网络编码的双层卫星网络多径路由方法中,步骤1d中依据卫星仰角、天线角度、轨道平面夹角等参数,计算层间卫星之间的可见性,判定两卫星彼此可见的条件以如下公式表示:θ≤α上式中,θ表示两层间卫星分别所处的低地球轨道与中地球轨道平面夹角,α表示低地球轨道卫星可见中地球轨道卫星的视野范围,β表示低地球轨道卫星天线角度,hl与hm分别表示低地球轨道与中地球轨道平面的海拔高度,re表示地球半径。则以上公式表示,当且仅当层间卫星所处平面的夹角小于等于两者中低地球轨道的视野范围时,两个层间卫星被判定为彼此可见,即此时可以建立有效的层间星间链路,可以在该两颗卫星节点之间实现数据通信。本发明提出的所述基于网络编码的双层卫星网络多径路由方法中,步骤二中结合卫星网络实时状态与路由请求信息进行路由设置包括如下步骤:步骤2a:当一个新批次的数据包开始传送,源端节点产生路由请求,向网络中广播rqs数据包,在rqs数据包中,设置ttl初始值为20;步骤2b:rqs数据包在网络中广播直到到达目的端节点,rqs包广播过程中,每到达一个中继节点,其ttl值即减1,ttl值小于或等于零的rqs数据包将被丢弃;步骤2c:当目的端节点收到rqs包时,其生成upd数据包并向网络广播,在upd数据包中,设置ttl初始值为20,dc初始值为1;步骤2d:upd数据包在网络中回传,更新并记录沿途卫星节点的路由信息,upd数据包每到达一个中继节点,其ttl值即减1,更新dc值为本数据包dc值与本地节点ent值之和,中继节点将自身节点id与距离目的端节点的dc值写入记录路由信息的节点列表,并对更新后的upd数据包进行转发;步骤2e:源端节点收到upd数据包时,upd数据包中已包含在源端节点与目的端节点之间经由的卫星节点的路由信息,源端节点将据此信息生成参与数据转发的节点列表,将所有dc值小于自身的节点写入转发节点列表,完成网络的路由设置阶段。本发明提出的所述基于网络编码的双层卫星网络多径路由方法中,步骤2d中卫星网络节点的ent值的计算以如下公式表示:pr=1-∏k>j(1-μkλj)pd=1-∏i<j(1-μjλi)上式中,λj表示节点j成功接收一次数据传送的概率,λj由节点之间互相发送探测数据包计算而得,每个卫星节点以一定周期τ(本算法中设定为1s)广播探测数据包,count(t)表示在给定t时间内节点j接收到的探测数据包数目,则λj可由以上公式计算得到;同理,节点j成功发送一次数据的概率μj也可由此方法测得。pr表示节点j成功接收到上游节点传送的至少一个数据包的概率,pd表示节点j成功向下游节点发送至少一个数据包的概率,则节点j成功参与当前数据流的转发所需要的期望传输次数ent可由以上概率计算而得。本发明提出的所述基于网络编码的双层卫星网络多径路由方法中,步骤三中所述在卫星通信网络中结合网络编码的多径路由算法包括如下步骤:步骤3a:当步骤二的路由设置过程完成后,源端节点将数据流中的每m(本算法中设定m=32)个原始数据包划分为一个批次;步骤3b:源端节点将同一批次的原始数据包进行线性随机编码,并向编码后的编码数据包中添加写有网络路由信息的ncmp头文件;步骤3c:源端节点持续传送当前批次的文件,直到其接收到目的端节点发送的ack数据包,此时转至下一批次数据包的传送;步骤3d:中继节点监听网络中的所有数据传送,每当接收到一个数据包,中继节点首先检查自己是否在转发节点的列表之中,如果在,则比对当前数据包的批次与本地存储数据包的批次,中继节点只转发最新批次的数据包,丢弃不符要求的编码数据包;步骤3e:对于符合步骤3d所述要求的数据包,中继节点继续检查当前数据包与本地数据包的线性独立性,这一检查通过对编码向量的运算实现,中继节点重编码线性独立的数据包,丢弃冗余信息;步骤3f:中继节点将编码后的数据包在网络中广播,同时对本地数据包进行预编码操作;步骤3g:当目的端节点收到编码数据包时,其同样如步骤3e所述检查数据的线性独立性,当接收到线性独立的数据包,其查看本地是否已经收到一个完整批次的数据包,如果数据包数目达到m,则目的端节点即刻向源端节点发送一个具有最高优先级的ack数据包,并同时开始对当前批次编码数据包的解码操作。步骤3h:结束当前批次的数据传送,更新卫星网络状态,等待下一次路由请求。本发明提出的所述基于网络编码的双层卫星网络多径路由方法中,步骤三中在卫星网络中转发数据过程中应用的网络编码及解码操作以如下公式表示:上式中,表示从有限域=28中随机抽取的编码向量,pcj表示经过编码操作的编码数据包,pi表示源端节点生成的原始数据包。步骤3f所述在目的端节点进行的数据包解码操作以如下矩阵运算表示:通过上式的矩阵运算,可以在目的端节点实现从接收到的编码数据包中还原原始数据包的操作,该编码与解码的过程保证了原始数据包在网络中传送的稳定性与安全性。本发明通过对不同类型卫星节点的通信特性分析,确定一种结合低地球轨道与中地球轨道的双层卫星网络拓扑,网络构架中的卫星节点数目能够提供数据通信所需的网络容量。在所述的卫星网络拓扑中,本算法提出一种结合网络编码方法的多径路由方法。网络编码方法的运用能够提高卫星通信网络的吞吐量,而多径路由方法则有效弥补了卫星轨迹运动带来的网络拓扑的高时变性。本算法充分考虑了卫星网络自身的特性,对数据进行编码后在网络中多条路径协同转发,提高网络效能,降低数据传送的成本,从而为卫星网络的通信提供切实可行的路由方法。本算法将网络编码技术应用于卫星网络的路由算法之中,网络编码技术能够提高网络的吞吐量与可靠性;本发明中的路由算法通过引入网络编码解决了卫星网络数据传输过程中节点相互协作的难题,充分地利用了卫星网络的空间关系,通过多个卫星节点的协作对数据包进行转发;与此同时,本路由算法通过引入路由请求时限标签ttl以及ack确认机制,提高了网络的吞吐量,能够在双层卫星网络中建立多条有效的路由路径,适应时变拓扑的网络环境,优化双层卫星网络的路由性能附图说明:图1是本发明的meo/leo双层卫星网络拓扑结构图。图2是本发明的流程示意图。图3a是本发明的卫星网络数据传送过程路由算法源端的流程示意图。图3b是本发明的卫星网络数据传送过程路由算法数据接收端的流程示意图。。具体实施方式结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。本发明公开了一种基于网络编码的双层卫星网络多径路由方法,其特征在于,包括如下步骤:步骤一:构建具有双层卫星星座的卫星网络拓扑,结合中、低地球轨道的特性建立星间链路,根据卫星数目与卫星网络容量的关系确定卫星网络结构。具体包括以下步骤:步骤一中建立双层卫星网络拓扑包括如下步骤:步骤1a:分析不同运行轨道中卫星的特性,根据本算法中提高网络吞吐量的要求,选定中地球轨道与低地球轨道两者结合构建双层卫星通信网络拓扑;步骤1b:基于卫星通信网络中常用的轨道平面倾角,设定合理可行的卫星节点运行轨道平面;步骤1c:根据卫星通信网络中网络容量与在网卫星数目的关系,分析选定双层卫星网络中适用的卫星节点数目;步骤1d:在构建的双层卫星网络拓扑中,依据卫星仰角、天线角度、轨道平面夹角参数,计算层间卫星之间的可见性,并据此建立星间链路,以实现数据通信功能。步骤1d中依据卫星仰角、天线角度、轨道平面夹角等参数,计算层间卫星之间的可见性,判定两卫星彼此可见的条件以如下公式表示:θ≤α上式中,θ表示两层间卫星分别所处的低地球轨道与中地球轨道平面夹角,α表示低地球轨道卫星可见中地球轨道卫星的视野范围,β表示低地球轨道卫星天线角度,hl与hm分别表示低地球轨道与中地球轨道平面的海拔高度,re表示地球半径;则以上公式表示,当且仅当层间卫星所处平面的夹角小于等于两者中低地球轨道的视野范围时,两个层间卫星被判定为彼此可见,即此时可以建立有效的层间星间链路,可以在该两颗卫星节点之间实现数据通信。步骤二:根据卫星网络实时状态进行网络路由设置,以路由请求为驱动,在源端节点与目的端节点之间进行星间链路与沿途卫星节点的可用度权值计算,并据此获取响应路由请求的局部网络路由状态。具体包括以下步骤:步骤2a:当一个新批次的数据包开始传送,源端节点产生路由请求,向网络中广播rqs数据包,在rqs数据包中,设置ttl初始值为20;步骤2b:rqs数据包在网络中广播直到到达目的端节点,rqs包广播过程中,每到达一个中继节点,其ttl值即减1,ttl值小于或等于零的rqs数据包将被丢弃;步骤2c:当目的端节点收到rqs包时,其生成upd数据包并向网络广播,在upd数据包中,设置ttl初始值为20,dc初始值为1;步骤2d:upd数据包在网络中回传,更新并记录沿途卫星节点的路由信息,upd数据包每到达一个中继节点,其ttl值即减1,更新dc值为本数据包dc值与本地节点ent值之和,中继节点将自身节点id与距离目的端节点的dc值写入记录路由信息的节点列表,并对更新后的upd数据包进行转发;步骤2e:源端节点收到upd数据包时,upd数据包中已包含在源端节点与目的端节点之间经由的卫星节点的路由信息,源端节点将据此信息生成参与数据转发的节点列表,将所有dc值小于自身的节点写入转发节点列表,完成网络的路由设置阶段。步骤三:结合网络编码与多径路由的方法优化卫星通信网络的性能,通过计算参与转发的卫星节点列表,结合数据传送过程中的编码操作与目的端完成数据传送后的解码操作,在网络中建立满足业务需求的有效链接;具体包括以下步骤:步骤3a:当步骤二的路由设置过程完成后,源端节点将数据流中的每m个原始数据包划分为一个批次;步骤3b:源端节点将同一批次的原始数据包进行线性随机编码,并向编码后的编码数据包中添加写有网络路由信息的ncmp头文件;步骤3c:源端节点持续传送当前批次的文件,直到其接收到目的端节点发送的ack数据包,此时转至下一批次数据包的传送;步骤3d:中继节点监听网络中的所有数据传送,每当接收到一个数据包,中继节点首先检查自己是否在转发节点的列表之中,如果在,则比对当前数据包的批次与本地存储数据包的批次,中继节点只转发最新批次的数据包,丢弃不符要求的编码数据包;步骤3e:对于符合步骤3d所述要求的数据包,中继节点继续检查当前数据包与本地数据包的线性独立性,这一检查通过对编码向量的运算实现,中继节点重编码线性独立的数据包,丢弃冗余信息;步骤3f:中继节点将编码后的数据包在网络中广播,同时对本地数据包进行预编码操作;步骤3g:当目的端节点收到编码数据包时,其同样如步骤3e所述检查数据的线性独立性,当接收到线性独立的数据包,其查看本地是否已经收到一个完整批次的数据包,如果数据包数目达到m,则目的端节点即刻向源端节点发送一个具有最高优先级的ack数据包,并同时开始对当前批次编码数据包的解码操作;步骤3h:结束当前批次的数据传送,更新卫星网络状态,等待下一次路由请求。本发明的核心内容是依据数据通信业务的需求,构建大容量双层卫星通信网络拓扑结构,并在此卫星网络中,结合卫星节点的相互可见性、卫星网络数据传播的特性等,设计符合业务需求、适应卫星网络结构的路由算法,以实现对卫星通信网络性能指标的优化。本算法应用的meo/leo双层卫星网络拓扑模型如图1所示,图中可见六条低地球轨道运行轨迹以及三条中地球轨道运行轨迹,其轨道平面具体参数详见以下表1:表1meo/leo卫星网络的参数配置卫星轨道meoleo轨道高度10352km780km轨道平面数目36卫星总数1866轨道倾角45°86.4°在上述meo/leo双层卫星网络中,涉及数据传送的链路可划分为层内星间链路、层间星间链路以及卫星与地面节点之间的链路,在本算法中设置网络参数详见以下表2:表2网络链路的参数配置参数数值层内链路带宽15mbps层间链路带宽25mbps星地链路带宽1.5mbps队列类型队尾丢弃在卫星通信网络中,数据的通信通过星间链路实现,星间链路的建立则与卫星仰角、天线角度、轨道平面夹角等参数有关,卫星节点在层内分别与其东西南北四个方位的邻居节点建立四条星间链路,而层间星间链路的建立则需要首先计算层间卫星之间的可见性,判定两卫星彼此可见;判定两颗层间卫星节点相互可见的条件以如下公式表示:θ≤α上式中,θ表示两层间卫星分别所处的低地球轨道与中地球轨道平面夹角,α表示低地球轨道卫星可见中地球轨道卫星的视野范围,β表示低地球轨道卫星天线角度,hl与hm分别表示低地球轨道与中地球轨道平面的海拔高度,re表示地球半径。则以上公式表示,当且仅当层间卫星所处平面的夹角小于等于两者中低地球轨道的视野范围时,两个层间卫星被判定为彼此可见,即此时可以建立有效的层间星间链路,可以在该两颗卫星节点之间实现数据通信。完成星间链路的建立后,卫星网络拓扑基本构建完成,在网络产生数据传送需求的情况下,本算法首先需要结合卫星网络实时状态与路由请求信息进行网络路由设置,其算法如下所示,如图2、3a、3b所示,当一个新批次的数据包开始传送,源端节点产生路由请求,向网络中广播rqs数据包,在rqs数据包中,设置ttl初始值为20。由源端节点发送的rqs数据包在网络中持续广播直到到达目的端节点,rqs数据包广播过程中,每到达一个中继节点,其ttl值即减1,ttl值小于或等于零的rqs数据包将被丢弃。当目的端节点收到rqs包时,其生成upd数据包并向网络广播,在upd数据包中,设置ttl初始值为20,dc初始值为1。目的端节点发出的upd数据包在网络中回传,更新并记录沿途卫星节点的路由信息,upd数据包每到达一个中继节点,其ttl值即减1,更新dc值为本数据包dc值与本地节点ent值之和,中继节点将自身节点id与距离目的端节点的dc值写入记录路由信息的节点列表,并对更新后的upd数据包进行转发。当源端节点收到upd数据包时,upd数据包中已包含在源端节点与目的端节点之间经由的卫星节点的路由信息,源端节点将据此信息生成参与数据转发的节点列表,将所有dc值小于自身的节点写入转发节点列表,完成网络的路由设置阶段。在上述网络路由设置过程中提及的卫星网络节点的ent值的计算以如下公式表示:pr=1-∏k>j(1-μkλj)pd=1-∏i<j(1-μjλi)上式中,λj表示节点j成功接收一次数据传送的概率,λj由节点之间互相发送探测数据包计算而得,每个卫星节点以一定周期τ(本算法中设定为1s)广播探测数据包,count(t)表示在给定t时间内节点j接收到的探测数据包数目,则λj可由以上公式计算得到;同理,节点j成功发送一次数据的概率μj也可由此方法测得。pr表示节点j成功接收到上游节点传送的至少一个数据包的概率,pd表示节点j成功向下游节点发送至少一个数据包的概率,则节点j成功参与当前数据流的转发所需要的期望传输次数ent可由以上概率计算而得。上述网络路由设置过程协助源端节点建立一张转发节点列表,这张转发节点列表包含了所有距离目的端节点dc值小于源端节点的沿途卫星节点信息,下一步的数据传送过程就通过列表中所涵盖卫星节点组成的路由路径实现。当上述建立好转发节点列表后,源端节点将数据流中的每m(本算法中设定m=32)个原始数据包划分为一个批次,继而将同一批次的原始数据包进行线性随机编码,并向编码后的编码数据包中添加写有网络路由信息的ncmp头文件,该网络编码操作以如下公式表示:上式中,表示从有限域=28中随机抽取的编码向量,pcj表示经过编码操作的编码数据包,pi表示源端节点生成的原始数据包。在完成数据包的编码后,源端节点持续传送当前批次的文件,直到其接收到目的端节点发送的ack数据包,此时转至下一批次数据包的传送。网络中的每个中继节点监听网络中的所有数据传送,每当接收到一个数据包,中继节点首先检查自己是否在转发节点的列表之中,如果在,则比对当前数据包的批次与本地存储数据包的批次,中继节点只转发最新批次的数据包,丢弃不符要求的编码数据包。对于符合这些要求的数据包,中继节点继续检查当前数据包与本地数据包的线性独立性,这一检查通过对编码向量的运算实现,中继节点重编码线性独立的数据包,丢弃冗余信息。中继节点将编码后的数据包在网络中广播,同时对本地数据包进行预编码操作。当目的端节点收到编码数据包时,其同样如步骤3e所述检查数据的线性独立性,当接收到线性独立的数据包,其查看本地是否已经收到一个完整批次的数据包,如果数据包数目达到m,则目的端节点即刻向源端节点发送一个具有最高优先级的ack数据包,并同时开始对当前批次编码数据包的解码操作,解码操作以如下矩阵运算表示:通过上式的矩阵运算,可以在目的端节点实现从接收到的编码数据包中还原原始数据包的操作,该编码与解码的过程保证了原始数据包在网络中传送的稳定性与安全性。目的端节点完成解码操作后,则结束当前批次的数据传送,更新卫星网络状态,等待下一次路由请求。本发明通过对不同类型卫星节点的通信特性分析,确定一种结合低地球轨道与中地球轨道的双层卫星网络拓扑,网络构架中的卫星节点数目能够提供数据通信所需的网络容量。在所述的卫星网络拓扑中,本算法提出一种结合网络编码方法的多径路由方法。网络编码方法的运用能够提高卫星通信网络的吞吐量,而多径路由方法则有效弥补了卫星轨迹运动带来的网络拓扑的高时变性。本算法充分考虑了卫星网络自身的特性,对数据进行编码后在网络中多条路径协同转发,提高网络效能,降低数据传送的成本,从而为卫星网络的通信提供切实可行的路由方法。本算法将网络编码技术应用于卫星网络的路由算法之中,网络编码技术能够提高网络的吞吐量与可靠性;本发明中的路由算法通过引入网络编码解决了卫星网络数据传输过程中节点相互协作的难题,充分地利用了卫星网络的空间关系,通过多个卫星节点的协作对数据包进行转发;与此同时,本路由算法通过引入路由请求时限标签ttl以及ack确认机制,提高了网络的吞吐量,能够在双层卫星网络中建立多条有效的路由路径,适应时变拓扑的网络环境,优化双层卫星网络的路由性能本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1