一种卫星网络路由方法、设备及装置与流程

文档序号:18639366发布日期:2019-09-11 22:47阅读:239来源:国知局
一种卫星网络路由方法、设备及装置与流程

本发明涉及通信技术领域,尤其涉及一种卫星网络路由方法、设备及装置。



背景技术:

当今的卫星网络路由协议大致可以分为集中式路由协议和分布式路由协议。集中式路由协议,无论是地面站作为集中控制端还是高层卫星作为集中控制端,主要思想是利用卫星网络的周期性以及可预测性,将卫星网络拓扑周期切分为多个时间片,在每个时间片内,卫星拓扑结构是保持不变的特点,并采用最短路径的方式为数据转发网络计算路由表。分布式路由协议则是利用卫星网络拓扑的周期性以及结构特征,每个节点独立计算下一跳链路,而计算的规则依然是依据最短路径的原则寻找下一跳。因此,在现如今的卫星网络路由协议中,大多数路由协议都是站在应用的角度采用最短路径的方式规划路由,使得所有业务数据的转发均走最短路径,当转发业务繁重的时候,容易造成网络拥塞,或加剧网络拥塞程度,最终导致网络瘫痪。

并且,由于卫星网络的应用场景越来广泛,网络中的流量也越来越大,而卫星网络节点上空之后很难维护,无论是集中式路由还是分布式路由,网络转发节点单纯依靠最短路径方式得出的路由表转发数据,一旦网络中出现链路拥塞或者链路中断的情况,整个转发网络是没有能力应对的。例如,在sgrp路由协议中,高层meo(mediumearthorbit,中地球轨道)卫星作为集中控制端在每个快照周期为低层leo(lowearthorbits,低地球轨道)卫星计算路由表,数据完全由leo卫星进行转发,而一旦某个meo卫星出现故障,则直接导致此meo卫星覆盖范围内的所有leo卫星脱网络,严重时导致整个网络瘫痪。



技术实现要素:

本发明所要解决的技术问题是针对现有技术的上述不足,提供一种卫星网络路由方法、设备及装置,用于预防网络拥塞,避免现有技术在网络拥塞或故障情况下产生一系列严重问题。

为解决上述技术问题,第一方面,本发明提供一种卫星网络路由方法,应用于leo卫星,所述方法包括:

s11,接收meo卫星计算得到的第一路由表和第二路由表;

s12,根据数据包的业务类型不同分别使用不同的路由表来转发数据:若业务类型为时延敏感型,则使用第一路由表转发数据包;若业务类型为带宽敏感型,则使用第二路由表转发数据包。

可选地,所述方法还包括:若所属的meo卫星出现故障,切换至新的meo卫星归属,再执行步骤s11-s12。

第二方面,本发明提供一种卫星网络路由方法,应用于meo卫星,所述方法包括:

s21,计算第一路由表和第二路由表;

s22,将第一路由表和第二路由表发送给leo卫星。

可选地,步骤s21中,计算第一路由表的步骤具体包括:

s211,收集所有leo层卫星、meo层卫星的链路时延数据;

s212,根据所有leo层卫星链路时延数据使用最短路径算法计算得到第一路由表;

计算第二路由表的步骤具体包括:

s221,根据转换规则转换步骤s211中所有leo层卫星链路时延数据,得到新的所有leo层卫星链路时延数据,其中转换规则用于使leo层卫星链路时延数据进行轨道间和轨道内的链路时延数据调换;

s222,判断当前meo层卫星业务量大小,并根据判断结果计算第二路由表:

若判断结果为当前meo层卫星业务量小,则根据所有meo层卫星链路时延数据及所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表;

若判断结果为当前meo层卫星业务量大,则根据所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表。

可选地,在步骤s221中,所述转换规则具体包括:以纬度45°为中心,将leo层卫星的赤道侧各纬度的链路时延数据依次与两极侧的各纬度的链路时延数据对称地对调位置。

可选地,步骤s222中,判断当前meo层卫星业务量大小,具体包括:

若当前meo层卫星的平均负载小于阈值,则判断当前meo层卫星业务量小;

若当前meo层卫星的平均负载大于阈值,则判断当前meo层卫星业务量大,其中平均负载等于所有meo层卫星发送队列中数据包排队时间最大值的平均值。

可选地,所述方法还包括:若其中一个meo卫星出现故障,则相邻的meo卫星接收故障的meo卫星管理的leo卫星,并向所接收的leo卫星发送第一路由表和第二路由表。

第三方面,本发明提供一种leo卫星设备,包括存储器和处理器,存储器存储指令,处理器运行所述指令以执行应用于leo卫星的网络路由方法。

第四方面,本发明提供一种meo卫星设备,包括存储器和处理器,存储器存储指令,处理器运行所述指令以执行应用于meo卫星的网络路由方法。

第五方面,本发明提供一种卫星网络路由装置,应用于leo卫星,包括接收模块和转发模块,

接收模块,用于接收meo卫星计算得到的第一路由表和第二路由表;

转发模块,用于根据数据包的业务类型不同分别使用不同的路由表来转发数据:若业务类型为时延敏感型,则使用第一路由表转发数据包;若业务类型为带宽敏感型,则使用第二路由表转发数据包。

第六方面,本发明提供一种卫星网络路由装置,应用于meo卫星,包括第一计算模块、第二计算模块和发送模块,

第一计算模块,用于计算第一路由表;

第二计算模块,用于计算第二路由表;

发送模块,用于将第一计算模块的第一路由表和第二计算模块的第二路由表发送给leo卫星。

可选地,第一计算模块包括收集单元和计算单元,

收集单元,用于收集所有leo层卫星、meo层卫星的链路时延数据;

计算单元,与所述收集单元相连,用于根据所有leo层卫星链路时延数据使用最短路径算法计算得到第一路由表;

第二计算模块包括转换单元以及判断单元,

转换单元,与所述收集单元相连,用于根据转换规则转换所有leo层卫星链路时延数据,以得到新的所有leo层卫星链路时延数据;

判断单元,分别与所述转换单元和所述收集单元相连,用于判断当前meo层卫星业务量大小,并根据判断结果计算第二路由表:

若当前meo层卫星业务量小,则根据所有meo层卫星链路时延数据及所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表;

若当前meo层卫星业务量大,则根据所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表;

其中,根据转换规则转换所有leo层卫星链路时延数据具体包括:

以纬度45°为中心,将leo层卫星的赤道侧各纬度的链路时延数据依次与两极侧的各纬度的链路时延数据对称地对调位置,其中链路时延数据包括轨道间链路时延数据和轨道内链路时延数据。

可选地,判断单元用于判断当前meo层卫星业务量大小具体包括以下步骤:

若当前meo层卫星的平均负载小于阈值,则判断当前meo层卫星业务量小;

若当前meo层卫星的平均负载大于阈值,则判断当前meo层卫星业务量大,其中平均负载等于所有meo层卫星发送队列中数据包排队时间最大值的平均值。

本发明的有益技术效果是:

本发明的卫星网络路由方法、设备及装置的技术方案中,由高层卫星meo卫星计算路由表,针对时延敏感型业务构建第一路由表,其中第一路由表基于所有leo层卫星链路时延数据采用最短路径算法计算得到,使得时延敏感型业务能以最快方式及时送达;针对带宽敏感型业务构建第二路由表,当meo层卫星业务量大时,第二路由表基于所有leo层卫星链路时延数据进行转换后采用最短路径算法计算得到,当meo层卫星业务量小时,第二路由表则基于转换后的所有leo层卫星链路时延数据与meo层卫星链路时延数据合并后采用最短路径算法计算得到,再由leo卫星根据业务类型使用相应的路由表转发数据,从而使流量在整个网络中均匀分布,且动态地将meo层卫星纳入转发网络,在不影响meo层网络集中控制功能的前提下,拓展meo层卫星转发数据的功能,本发明可以预防网络拥塞,同时在使得转发网络在发生拥塞或故障的情况下具有应对能力,避免现有技术在网络拥塞或故障情况下产生一系列严重问题。

附图说明

图1:本发明实施例1的一种卫星网络路由方法的流程图;

图2:本发明实施例2中的leo层卫星网络链路时延的示意图;

图3:本发明实施例5的一种卫星网络路由装置;

图4:本发明实施例6的一种卫星网络路由装置。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和实施例对本发明卫星网络路由方法、设备及装置作进一步详细描述。

实施例1:

如图1所示,本实施例提供一种卫星网络路由方法,应用于leo卫星,所述方法包括:

s11,接收meo卫星计算得到的第一路由表和第二路由表;

s12,根据数据包的业务类型不同分别使用不同的路由表来转发数据:若业务类型为时延敏感型,则使用第一路由表转发数据包;若业务类型为带宽敏感型,则使用第二路由表转发数据包。

可选地,所述方法还包括:若所属的meo卫星出现故障,切换至新的meo卫星归属,再执行步骤s11-s12。

本实施例中,meo卫星管理leo卫星存在两种方式,第一种方式是,在一个时间片内,一个meo卫星管理多个leo卫星,meo层卫星作为网络集中控制层计算第一路由表和第二路由表,在计算第二路由表时,动态地将meo层的卫星纳入转发网络,在不影响meo层网络集中控制功能的前提下,拓展meo层卫星转发数据的功能,并将第一路由表和第二路由表发送给leo卫星,优选例为meo卫星将两个路由表同时发送给leo卫星,leo卫星接收所属的meo卫星计算的第一路由表和第二路由表后,开始使用新的路由表转发数据,并根据数据包的业务类型不同分别使用不同的路由表来转发数据:若业务类型为时延敏感型,则使用第一路由表转发数据包;若业务类型为带宽敏感型,则使用第二路由表转发数据包。

判断业务类型具体为:数据包头里存储有业务类型标识,例如时延敏感型业务类型标识为1,带宽敏感型业务类型标识为0,leo转发数据包的时候读取数据包头里的业务类型标识,从而使用不同的路由表转发相应的业务数据包,使用不同的路由表使得业务在leo层网络中均衡流量,从而预防网络拥塞。

若所属的meo卫星出现故障,该故障meo卫星管理下的多个leo卫星能自动切换至一个新的meo卫星归属,并接收新的meo卫星发送的第一路由表和第二路由表,因而,不会导致故障meo卫星覆盖范围内的所有leo卫星脱离网络。

第二种方式是,在一个时间片内,一个leo卫星同时被多个meo卫星管理,同样地,leo卫星接收多个所属的meo卫星计算的第一路由表和第二路由表,因为多个第一路由表是相同的,多个第二路由表是相同的,因此leo卫星可按照时间片内最先收到的第一路由表和第二路由表处理不同业务数据。当归属的某个meo卫星出现故障,该leo卫星仍可接收到其他归属的meo卫星发送的两个路由表,故不会导致故障meo卫星覆盖范围内的所有leo卫星脱网络。本实施例中优选第一种方式。

实施例2:

本实施例提供一种卫星网络路由方法,应用于meo卫星,所述方法包括:

s21,计算第一路由表和第二路由表;

其中,计算第一路由表的步骤具体包括:

s211,收集所有leo层卫星、meo层卫星的链路时延数据;

s212,根据所有leo层卫星链路时延数据使用最短路径算法计算得到第一路由表;

本实施例中,meo层卫星作为网络集中控制层计算第一路由表和第二路由表,在每个时间片内,meo卫星收集所有leo层卫星、meo层卫星的链路时延数据,具体过程如下:每个meo卫星和leo卫星汇总与自身相连接的所有卫星节点的链路时延数据,链路时延数据取时间片内的所有数据包在发送队列中的等待时间最大值与链路转发时间之和,如表达式(1)所示,当网络链路故障时,链路时延数据取无限大。

link_delay=max(queue_wait)+send_delay(1)

leo层卫星汇总自身的链路时延报告后将其上报给其meo管理节点,meo卫星收到其管辖范围内的所有leo卫星的链路时延报告后与自己的链路时延数据再次汇总。汇总后在meo层卫星间执行轨道内交换以及轨道间交换,直到所有正常的meo卫星都收到其他meo卫星的链路时延报告。需要说明的是,若某个卫星出现故障,与之连接的同级卫星能感知到该故障卫星状态,并将故障卫星的链路时延数据取无限大并汇总至链路时延报告中。

meo卫星基于所有leo层链路时延数据,使用最短路径floyd算法为leo层所有节点计算第一路由表,由于链路时延数据是发送队列中的等待时间最大值与链路转发时间之和,因此第一路由表是卫星网络在拥塞和链路故障状态下的最短路径。当某个leo卫星出现故障,则根据最短路径floyd算法得到的第一路由表中将不包括下一跳为此故障leo卫星节点,因此可避免路由失败,从而使得转发网络在leo卫星出现故障时仍具有应对能力。

其中,计算第二路由表的步骤具体包括:

s221,根据转换规则转换步骤s211中所有leo层卫星链路时延数据,得到新的所有leo层卫星链路时延数据,其中转换规则用于使leo层卫星链路时延数据进行轨道间和轨道内的链路时延数据调换;

具体地,所述转换规则具体包括:以纬度45°为中心,将leo层卫星的赤道侧各纬度的链路时延数据依次与两极侧的各纬度的链路时延数据对称地对调位置。

本实施例中,meo卫星计算第二路由表之前,meo卫星节点先根据转换规则转换步骤s211中所有leo层卫星链路时延数据。需要说明的是,故障leo卫星节点不参与链路时延数据的转换,或故障leo卫星节点在转换过程中保持链路时延数据为无限大。

leo层卫星网络链路状态如果平铺开类似图2中的左侧图示出的网状结构,卫星节点越接近两极地区,节点间的传输链路时延越短,适合转发时延敏感型业务,保证业务的时延要求。越接近赤道附近,时延越长,因此,如果对于所有leo层卫星的链路时延数据全部依照最短路径路由算法,势必会导致流量向极地两侧汇聚,极易造成网络拥塞。转换规则如下:

轨道间链路时延数据转换:靠近极地地区的轨道间链路时延数据与靠近赤道附近的轨道间链路时延数据对称地调换,例如:n1与nn轨道间链路时延数据调换,n2与nn-1轨道间链路时延数据调换,以此类推。

轨道内链路时延数据转换:sate1、sate2的轨道内链路时延数据与saten-1、saten的轨道内链路时延数据进行对称地调换,以此类推。

转换完成后,整个leo层卫星网络的链路时延状态将演变成图2右侧图中所示的网状结构,越接近极地地区链路时延数据越大,越接近赤道附近链路时延数据越小。

s222,判断当前meo层卫星业务量大小,并根据判断结果计算第二路由表:

若判断结果为当前meo层卫星业务量小,则根据所有meo层卫星链路时延数据及所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表;

若判断结果为当前meo层卫星业务量大,则根据所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表。

本实施例中,meo卫星判断当前meo层卫星业务量大小,并根据判断结果计算第二路由表:若判断结果为当前meo层卫星业务量小,则说明在不影响meo层网络集中控制功能的前提下,可将meo卫星纳入转发网络,拓展meo层卫星转发数据的功能,因此,合并之前收集的所有meo层卫星链路时延数据及转换后获得的所述新的所有leo层卫星链路时延数据,再使用最短路径算法计算得到第二路由表,该路由表表明将业务流量向赤道附近转移,且增加了meo层卫星参与数据转发,保证业务可靠性,由于该第二路由表也是在拥塞和链路故障状态下的最短路径,因此,当某个meo卫星故障,该第二路由表中不会包括下一跳为该故障meo卫星节点,故可避免路由失败;若判断结果为当前meo层卫星业务量大,则说明meo层网络不能参与数据转发,因此根据转换后获得的所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表,该第二路由表表明将业务流量向赤道附近转移。

其中,判断当前meo层卫星业务量大小,具体包括:

若当前meo层卫星的平均负载小于阈值,则判断当前meo层卫星业务量小;

若当前meo层卫星的平均负载大于阈值,则判断当前meo层卫星业务量大,其中平均负载等于所有meo层卫星发送队列中数据包排队时间最大值的平均值。

本实施例中,根据当前meo层卫星的平均负载来判断meo层卫星业务量大小,具体为:meo卫星节点对当前meo层卫星计算平均负载率,平均负载率等于所有meo层卫星发送队列中数据包排队时间最大值的平均值,如表达式(2)所示:

loadrate=average[max(meo1_wait_queue)+max(meo2_wait_queue)+...+max(meon_wait_queue)](2)

若平均负载小于阀值,说明meo层卫星业务量较小,可以承载更多业务,此时将转换后获取的新的leo层卫星链路时延数据与meo层卫星链路时延数据合并,并使用最短路径floyd算法计算第二路由表;若平均负载大于阀值,则说明meo层卫星业务量较大,此时仅使用转换后获取的新的leo层卫星链路时延数据计算第二路由表。

而阈值的设定需要根据网络丢包率进行衡量,通常来说,网络负载越大,丢包率越大,因此需要根据实际网络测试计算丢包率与阈值的关系,然后根据实际业务需求来设定阈值,优选实施例为网络丢包率不超过15%的情况下的网络负载设为阈值。

s22,将第一路由表和第二路由表发送给leo卫星。

优选的,本实施例中,meo卫星节点计算得到第一路由表和第二路由表后,将其同时发送给leo卫星,以使leo卫星在每个时间片内收到新的路由表后,开始使用新的路由表转发数据。若业务类型是时延敏感型则使用第一路由表转发数据包,若业务类型是带宽敏感型则使用第二路由表转发数据包。其中leo卫星判断业务类型的方法如实施例1中所述,此处不再赘述。从而使得时延敏感型业务向两极侧汇聚,带宽敏感型业务向赤道侧汇聚,并一定程度上利用meo层转发带宽敏感型业务,使得不同业务类型在leo层网络中均衡流量,并动态拓展了meo层卫星的转发功能,可预防卫星网络拥塞。

可选地,若其中一个meo卫星出现故障,则相邻的meo卫星接收故障的meo卫星管理的leo卫星,并向所接收的leo卫星发送第一路由表和第二路由表。

本实施例中,若其中一个meo卫星出现故障,则相邻的meo卫星接收故障的meo卫星管理的leo卫星,从而可避免现有技术中若meo卫星出现故障,直接导致此meo卫星覆盖范围内的所有leo卫星脱网的情况,因此使得卫星网络在拥塞或链路故障时仍具有应对能力,可避免现有技术中网络拥塞和故障导致的严重后果。

实施例1和实施例2的有益效果有:

上述实施例的卫星网络路由方法中,在每个时间片内,由高层卫星meo卫星计算路由表,针对时延敏感型业务构建第一路由表,其中第一路由表基于所有leo层卫星链路时延数据采用最短路径算法计算得到,针对带宽敏感型业务构建第二路由表,当meo层卫星业务量大时,第二路由表基于所有leo层卫星链路时延数据进行转换后采用最短路径算法计算得到,当meo层卫星业务量小时,第二路由表则基于转换后的所有leo层卫星链路时延数据与meo层卫星链路时延数据合并后采用最短路径算法计算得到,再同时将两个路由表发送给leo卫星,由leo卫星根据业务类型使用相应的路由表转发数据:时延敏感型业务使用第一路由表转发数据,带宽敏感型业务使用第二路由表转发数据,从而区分开时延敏感型业务和带宽敏感型业务,使流量在整个网络中均匀分布,且动态地将meo层卫星纳入转发网络,在不影响meo层网络集中控制功能的前提下,拓展meo层卫星转发带宽型业务数据的功能,保证业务的可靠性。该技术方案可以预防网络拥塞,且使得转发网络在某个卫星节点出现拥塞或者链路故障的情况下,仍具有应对能力,可避免现有技术在网络拥塞或故障情况下产生一系列严重问题。

实施例3:

本实施例提供一种leo卫星设备,包括存储器和处理器,存储器存储指令,处理器运行所述指令以执行应用于leo卫星的网络路由方法。

其中,存储器与处理器电连接,存储器可采用闪存或只读存储器或其他存储器,处理器可采用中央处理器或单片机。

实施例4:

本实施例提供一种meo卫星设备,包括存储器和处理器,存储器存储指令,处理器运行所述指令以执行应用于meo卫星的网络路由方法。

其中,存储器与处理器电连接,存储器可采用闪存或只读存储器或其他存储器,处理器可采用中央处理器或单片机。

实施例5:

如图3所示,本实施例提供一种卫星网络路由装置,应用于leo卫星,包括接收模块1和转发模块2,

接收模块1,用于接收meo卫星计算得到的第一路由表和第二路由表;

转发模块2,用于根据数据包的业务类型不同分别使用不同的路由表来转发数据:若业务类型为时延敏感型,则使用第一路由表转发数据包;若业务类型为带宽敏感型,则使用第二路由表转发数据包。

本实施例中,leo卫星包括接收模块1和转发模块2,其中接收模块1与转发模块2电连接,接收模块1用于接收meo卫星计算得到的第一路由表和第二路由表,转发模块2用于根据数据包的业务类型不同分别使用不同的路由表来转发数据:若业务类型为时延敏感型,则使用第一路由表转发数据包;若业务类型为带宽敏感型,则使用第二路由表转发数据包。其中转发模块2判断业务类型的方法如实施例1中所述,此处不再赘述。从而将时延敏感型业务和带宽敏感型业务区分开,避免出现网络拥塞。

可选地,leo卫星接收模块1还用于在所属的meo卫星出现故障时,切换至新的meo卫星归属,并接收新的meo卫星发送的第一路由表和第二路由表。

本实施例中,meo卫星管理leo卫星存在两种方式,第一种是,在一个时间片内,一个meo卫星用于管理多个leo卫星,meo层卫星作为网络集中控制层用于计算第一路由表和第二路由表,在计算第二路由表时,动态地将meo层的卫星纳入转发网络,在不影响meo层网络集中控制功能的前提下,拓展meo层卫星转发数据的功能,并将第一路由表和第二路由表发送给leo卫星,优选例为meo卫星用于将两个路由表同时发送给leo卫星。leo卫星的接收模块1用于接收所属的meo卫星计算的第一路由表和第二路由表,转发模块2用于根据每一个时间片内新的路由表转发数据,并根据数据包的业务类型不同分别使用不同的路由表来转发数据:若业务类型为时延敏感型,则使用第一路由表转发数据包;若业务类型为带宽敏感型,则使用第二路由表转发数据包。判断业务类型的方法如实施例1中所述,此处不再赘述。若所属的meo卫星出现故障,该故障meo卫星管理下的多个leo卫星的接收模块1用于自动切换至新的meo卫星归属,在下一个时间片内开始接收新的meo卫星发送的第一路由表和第二路由表,因而,可避免故障meo卫星覆盖范围内的所有leo卫星脱网络。

第二种是,在一个时间片内,一个leo卫星用于同时被多个meo卫星管理,同样地,leo卫星的接收模块1用于接收多个所属的meo卫星计算的第一路由表和第二路由表,因为多个第一路由表是相同的,多个第二路由表是相同的,因此leo卫星的转发模块2还用于根据时间片内接收模块最先收到的第一路由表和第二路由表处理不同业务数据。当归属的某个meo卫星出现故障,该leo卫星的接收模块1还用于接收到其他归属的meo卫星发送的两个路由表,故可避免故障meo卫星覆盖范围内的所有leo卫星脱网络。本实施例中优选第一种方式。

实施例6:

如图4所示,本实施例提供一种卫星网络路由装置,应用于meo卫星,包括第一计算模块3、第二计算模块4和发送模块5,

第一计算模块3,用于计算第一路由表;

具体地,第一计算模块3包括收集单元31和计算单元32,

收集单元31,用于收集所有leo层卫星、meo层卫星的链路时延数据;

计算单元32,与所述收集单元31相连,用于根据所有leo层卫星链路时延数据使用最短路径算法计算得到第一路由表;

本实施例中,meo卫星的第一计算模块3用于计算第一路由表,meo卫星的第二计算模块4用于计算第二路由表。在每个时间片内,第一计算模块3中的收集单元31用于收集所有leo层卫星、meo层卫星的链路时延数据,具体过程如下:每个meo卫星的收集单元31和每个leo卫星用于汇总与自身相连接的所有卫星节点的链路时延数据,链路时延数据取时间片内的所有数据包在发送队列中的等待时间最大值与链路转发时间之和,如下面的表达式(1)所示,当网络链路故障时,链路时延取无限大。

link_delay=max(queue_wait)+send_delay(1)

leo层卫星用于汇总自身的链路时延报告后将其上报给其meo管理节点,其中meo卫星的收集单元31用于接收其管辖范围内的所有leo卫星节点的链路时延报告后与自己的链路时延数据再次汇总。汇总后用于在meo层卫星间执行轨道内交换以及轨道间交换,直到所有正常的meo卫星的收集单元31都用于接收到其他meo层卫星的收集单元31的链路时延报告。需要说明的是,若某个卫星出现故障,与之连接的同级卫星还用于感知到该故障卫星状态,并将故障卫星的链路时延数据取无限大并汇总至链路时延报告中。例如,若某个meo卫星出现故障,与之连接的meo卫星的收集单元31用于感知到该故障卫星状态,并将故障卫星的链路时延数据取无限大并汇总至链路时延报告中。

第一计算模块3中的计算单元32用于根据所有leo层链路时延数据,使用最短路径floyd算法,为自己管理的所有leo卫星节点计算第一路由表。由于链路时延数据是发送队列中的等待时间最大值与链路转发时间之和,因此第一路由表是leo层卫星网络在拥塞和链路故障状态下的最短路径。当某个leo卫星出现故障,则根据最短路径floyd算法得到的第一路由表中将不包括下一跳为此故障leo卫星节点,因此可避免路由失败。

第二计算模块4,用于计算第二路由表;

具体地,第二计算模块4包括转换单元41以及判断单元42,

转换单元41,与所述收集单元31相连,用于根据转换规则转换所有leo层卫星链路时延数据,以得到新的所有leo层卫星链路时延数据;

本实施例中,meo卫星节点的第二计算模块4用于计算第二路由表之前,第二计算模块4中的转换单元41用于根据转换规则转换所有leo层卫星链路时延数据,以得到新的所有leo层卫星链路时延数据,其中转换规则具体包括:以纬度45°为中心,将leo层卫星的赤道侧各纬度的链路时延数据依次与两极侧的各纬度的链路时延数据对称地对调位置,其中链路时延数据包括轨道间链路时延数据和轨道内链路时延数据。需要说明的是,若leo卫星出现故障,则该leo卫星节点不参与链路时延数据的转换,或该leo卫星节点在转换过程中保持链路时延数据为无限大。

因leo层卫星网络的链路时延状态如果平铺开类似图2左侧图中所示的网状结构,卫星节点越接近两极地区,节点间的传输链路时延越短,适合转发时延敏感型业务,保证时延要求,越接近赤道附近,时延越长,因此,对于所有leo层卫星的链路时延数据如果全部依照最短路径路由算法,势必会导致流量向极地两侧汇聚,从而造成网络拥塞。为使流量在leo层卫星网络中均衡,转换过程具体包括:

轨道间链路时延数据转换:靠近极地地区的轨道间链路时延数据与靠近赤道附近的轨道间链路时延数据对称地调换,例如:n1与nn轨道间链路时延数据调换,n2与nn-1轨道间链路时延数据调换,以此类推。

轨道内链路时延数据转换:sate1、sate2的轨道内链路时延数据与saten-1、saten的轨道内链路时延数据进行对称地调换,以此类推。

转换完成后,得到新的所有leo层卫星链路时延数据,整个leo层卫星网络的时延状态演变成图2右侧图中所示的网状结构,越接近极地地区链路时延数据越大,越接近赤道附近链路时延数据越小。

第二计算模块4的判断单元42,分别与所述转换单元41和所述收集单元31相连,用于判断当前meo层卫星业务量大小,并根据判断结果计算第二路由表:

若当前meo层卫星业务量小,则根据所有meo层卫星链路时延数据及所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表;

若当前meo层卫星业务量大,则根据所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表;

本实施例中,判断单元42用于判断当前meo层卫星业务量大小,并根据判断结果计算第二路由表:若判断结果为当前meo层卫星业务量小,则说明在不影响meo层网络集中控制功能的前提下,可将meo卫星纳入转发网络,拓展meo层卫星转发数据的功能,因此,判断单元42用于合并收集单元31收集的所有meo层卫星链路时延数据及转换单元41用于获得的新的所有leo层卫星链路时延数据,再使用最短路径算法计算得到第二路由表,该路由表使得业务流量向赤道附近转移,且增加了meo层卫星参与数据转发,保证业务可靠性,由于该第二路由表也是在拥塞和链路故障状态下的最短路径,因此,当某个meo卫星出现故障,该第二路由表中不会包括下一跳为该故障meo卫星节点,故可避免路由失败;若判断结果为当前meo层卫星业务量大,则说明meo层网络不能参与数据转发,因此判断单元42用于根据转换单元41获得的所述新的所有leo层卫星链路时延数据,使用最短路径算法计算得到第二路由表,该路由表使得业务流量向赤道附近转移。得到的第一路由表和第二路由表均是在拥塞和链路故障状态下的最短路径,且使得不同业务类型在leo层网络中均衡流量,还在一定程度上利用meo层卫星参与转发带宽型业务数据,因此可预防网络拥塞,特别是当卫星出现故障的时候,在下一个时间片内构建的路由表不会包括下一跳为故障卫星节点的情况,因此不会出现整个网络瘫痪的情况。

判断单元42用于判断当前meo层卫星业务量大小具体包括以下步骤:

若当前meo层卫星的平均负载小于阈值,则判断当前meo层卫星业务量小;

若当前meo层卫星的平均负载大于阈值,则判断当前meo层卫星业务量大,其中平均负载等于所有meo层卫星发送队列中数据包排队时间最大值的平均值。

本实施例中,判断单元42用于根据当前meo层卫星的平均负载来判断meo层卫星业务量大小,具体为:meo卫星节点的判断单元42用于对当前meo层卫星计算平均负载率,平均负载率等于所有meo层卫星发送队列中数据包排队时间最大值的平均值,如下面的表达式(2)所示:

loadrate=average[max(meo1_wait_queue)+max(meo2_wait_queue)+...+max(meon_wait_queue)](2)

若平均负载小于阀值,说明meo层卫星业务量较小,可以承载更多业务,此时判断单元42用于将转换单元41获取的新的leo层卫星链路时延数据与收集单元31获取的meo层卫星链路时延数据合并,并使用最短路径floyd算法计算第二路由表;若干平均负载大于阀值,则说明meo层卫星业务量较大,此时判断单元42用于将转换单元41获取的新的leo层卫星链路时延数据计算第二路由表。

而阈值的设定需要根据网络丢包率进行衡量,通常来说,网络负载越大,丢包率越大,因此需要根据实际网络测试计算丢包率与阈值的关系,然后根据实际业务需求来设定阈值,优选实施例为网络丢包率不超过15%的情况下的网络负载设为阈值。

发送模块5,用于将第一计算模块3的第一路由表和第二计算模块4的第二路由表发送给leo卫星。

可选地,若其中一个meo卫星出现故障,则相邻的meo卫星的发送模块5还用于接收故障的meo卫星管理的leo卫星,并向所接收的leo卫星发送第一路由表和第二路由表。

本实施例中,优选为发送模块5用于将两个路由表同时发送给leo卫星。当某个meo卫星出现故障,则相邻的meo卫星的发送模块5还用于接收故障的meo卫星管理的leo卫星,并向所接收的leo卫星发送第一路由表和第二路由表。从而可避免故障meo卫星覆盖范围内所有的leo卫星脱网的情况。

实施例5-实施例6的有益效果有:

上述实施例的卫星网络路由装置中,在每个时间片内,meo卫星的第一计算模块3用于计算第一路由表,其中第一路由表基于所有leo层卫星链路时延数据采用最短路径算法计算得到,meo卫星的第二计算模块4用于计算第二路由表,当meo层卫星平均负载大于阈值时,第二路由表基于所有leo层卫星链路时延数据进行转换后采用最短路径算法计算得到,当meo层卫星平均负载小于阈值时,第二路由表基于转换后的所有leo层卫星链路时延数据与meo层卫星链路时延数据合并后采用最短路径算法计算得到,meo卫星的发送模块5用于同时将两个路由表发送给leo卫星,leo卫星的转发模块2用于根据业务类型使用相应的路由表转发数据:时延敏感型业务使用第一路由表转发数据,带宽敏感型业务使用第二路由表转发数据,从而使流量在整个leo层网络中均匀分布,避免网络拥塞,且meo卫星的第二计算模块4用于动态地将meo层卫星纳入转发网络,在不影响meo层网络集中控制功能的前提下,拓展meo层卫星转发带宽型业务数据的功能,保证业务的可靠性。该发明可以预防网络拥塞,且使得转发网络在某个卫星节点出现拥塞或者链路故障的情况下,仍具有应对能力,可避免现有技术在网络拥塞或故障情况下产生一系列严重问题。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

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