本发明涉及卫星通信网络领域,特别涉及一种大规模分域卫星网络的链路故障恢复方法及系统。
背景技术:
1、近年来,卫星通信网络受到了极大的关注,许多国家计划发射大量用于通信的卫星。2019年,全球共发射了473颗卫星,2020年共发射了1281颗。但是,随着卫星网络规模的不断扩大,卫星组网必然暴露出一些固有的问题。首先,难以对大型卫星节点进行统一管理。第二,大规模拓扑下路由计算的算法复杂度大大增加,同时路由表会占用大量的板载存储空间。因此,为了降低管理难度,同时降低星载计算和存储压力,在大规模卫星网络下通常采用分域方式来管理卫星节点。
2、现如今主流的基于sdn网络的场景中,通常使用预防式方法和反应式方法来处理链路故障。在预防式方法中,通常为每个链路配置备用路径。当发生链路故障时,被中断的流可以重定向到预先配置的备用路径,而无需控制器干预。在反应式方法中,当链路故障时,控制器会收到通知以搜索新的备用路径。一旦控制器计算出新路径,它将把流规则插入数据平面。
3、在大规模分域卫星网络中,预防式方法和反应式方法都有各自的优缺点。预防式方法在恢复时间上更有效,因为当链路故障发生时无需与控制器交互。然而,需要为每个链路预先配置备用路径,直接采用预防性方法可能会导致节点内存资源的过度消耗。反应式方法可以动态分配新路径,但特别是在多域网络中,恢复时延会增加。例如,当恢复域间链路时,需要通知两个相邻域控制器。然后两个域控制器需要与全球控制器通信,以计算域间链路的恢复路径,这会增加恢复时延。因此,与域内链路的恢复时延相比,域间链路的恢复时间显著增加。
技术实现思路
1、针对现有技术中的上述不足,本发明提供的一种大规模分域卫星网络的链路故障恢复方法解决了传统链路故障恢复方法中存在的:采用预防性方法导致节点内存资源的过度消耗和采用反应式方法会加剧恢复时延,效率较低的问题。
2、为了达到上述发明目的,本发明采用的技术方案为:一种大规模分域卫星网络的链路故障恢复方法,包括以下步骤:
3、s1、使用全局控制器对卫星节点进行配置,确定源节点s和目的节点d,使用本地控制器获取拓扑信息,并规划数据包传输路径,得到初始路径和segment序列;
4、s2、根据初始路径配置域间备份路径,使用预防式方法配置域内备份路径,并通过源节点s发送数据包;
5、s3、根据节点的路由表进行路由,并判断下一条链路是否断开:
6、若是,则进入步骤s5;
7、若否,则进入步骤s4;
8、s4、在路由过程中,判断目的节点d是否接收到数据包:
9、若是,则进入步骤s8;
10、若否,则返回步骤s3;
11、s5、通过断开的链路(u,v)两端的节点u和节点v通知本地控制器规划一条新路径,并在规划新路径的同时采用srv6机制,按照segment序列自动转发数据包,并进入步骤s6;
12、若自动转发时,下一个目标域的所有域间链路同时断开,则根据备份路径进行路由恢复;
13、s6、判断数据包是否到达目的节点d所在的域dn:
14、若是,则进入步骤s7;
15、若否,则返回步骤s6;
16、s7、根据域内备份路径将数据包路由到目的节点d;
17、s8、通过目的节点d接收由源节点s发送的数据包,完成链路故障恢复。
18、进一步地:所述步骤s1包括以下分步骤:
19、s11、遍历每个卫星节点,对每个卫星节点的四个端口进行配置,将四个端口对应卫星节点所在域的相邻的四个域的信息;
20、s12、确定源节点s和目的节点d,根据源节点s和目的节点d规划数据包传输路径,计算全局路径,将全局路径经过的所有域的顺序连接作为初始路径,并将将全局路径经过的所有域作为segment序列。
21、进一步地:确定segment序列后,对源节点s处的ipv6头部进行更新,将segment序列中经过的所有域的信息加入从源节点s发送的数据包包头。
22、进一步地:所述步骤s2包括以下分步骤:
23、s21、在segment序列中,将每邻接的两个域作为一组,遍历所有组,计算每个组的失效概率;
24、s22、选择失效概率最高的k个组,对每一组的两个邻接域之间配置需要经过其他域的备份路径,作为域间备份路径;
25、s23、选择目的节点d所在的域dn中与相邻域dn-1连接的所有域间节点作为集合v;
26、s24、遍历集合v内的每个节点,并使用预防式方法为集合v内的每个节点均建立一个到目的节点d的备份路径作为域内备份路径;
27、s25、通过源节点s开始发送数据包。
28、进一步地:所述步骤s5中,通过本地控制器规划的新路径为节点u到节点v之间的新路径;
29、若新路径规划成功,则后续数据包通过规划的新路径进行路由;
30、若新路径规划未成功,则后续数据包继续通过srv6机制进行自动转发。
31、进一步地:所述步骤s5中采用srv6机制,按照segment序列自动转发数据包时,卫星节点根据数据包报头中的域信息优先选择该数据包下一个它需要到达的目标域的方向进行转发。
32、本发明还提供了一种基于大规模分域卫星网络的链路故障恢复方法的链路故障恢复系统,包括控制层,以及和所述控制层连接的数据层;
33、所述控制层包括全局控制器和本地控制器;
34、所述全局控制器通过地面网关与所述本地控制器连接;
35、所述全局控制器用于网络资源的全局视图和全局控制,以及生成卫星配置信息和进行流量计算;
36、所述本地控制器用于路由计算和收集域内拓扑信息;
37、所述数据层包括leo卫星和leo卫星间的数据通道;
38、每个所述leo卫星均与所述本地控制器连接。
39、进一步地:所述全局控制器生成卫星配置信息的方法为:遍历每个卫星节点,对每个卫星节点的四个端口进行配置,将四个端口对应卫星节点所在域的相邻的四个域的信息。
40、进一步地:所述本地控制器进行路由计算的方法为:确定源节点s和目的节点d,根据源节点s和目的节点d规划数据包传输路径,计算全局路径,将全局路径经过的所有域的顺序连接作为初始路径。
41、本发明的有益效果为:
42、(1)本方法在控制器通过反应式方法去恢复故障的链路的时候,数据包依旧能够通过srv6机制自动路由到目的节点,有效减少了链路故障的恢复时延;
43、(2)本方法提前配置的备份路径也无需像传统的预防式方法一样为每条链路备份一个路径,在大规模卫星网络中有效地减少了内存资源的消耗。
1.一种大规模分域卫星网络的链路故障恢复方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的大规模分域卫星网络的链路故障恢复方法,其特征在于,所述步骤s1包括以下分步骤:
3.根据权利要求2所述的大规模分域卫星网络的链路故障恢复方法,其特征在于,确定segment序列后,对源节点s处的ipv6头部进行更新,将segment序列中经过的所有域的信息加入从源节点s发送的数据包包头。
4.根据权利要求1所述的大规模分域卫星网络的链路故障恢复方法,其特征在于,所述步骤s2包括以下分步骤:
5.根据权利要求1所述的大规模分域卫星网络的链路故障恢复方法,其特征在于,所述步骤s5中,通过本地控制器规划的新路径为节点u到节点v之间的新路径;
6.根据权利要求5所述的大规模分域卫星网络的链路故障恢复方法,其特征在于,所述步骤s5中采用srv6机制,按照segment序列自动转发数据包时,卫星节点根据数据包报头中的域信息优先选择该数据包下一个它需要到达的目标域的方向进行转发。
7.一种基于权利要求1-5任一权利要求所述的大规模分域卫星网络的链路故障恢复方法的链路故障恢复系统,其特征在于,包括控制层,以及和所述控制层连接的数据层;
8.根据权利要求7所述的大规模分域卫星网络的链路故障恢复系统,其特征在于,所述全局控制器生成卫星配置信息的方法为:遍历每个卫星节点,对每个卫星节点的四个端口进行配置,将四个端口对应卫星节点所在域的相邻的四个域的信息。
9.根据权利要求7所述的大规模分域卫星网络的链路故障恢复系统,其特征在于,所述本地控制器进行路由计算的方法为:确定源节点s和目的节点d,根据源节点s和目的节点d规划数据包传输路径,计算全局路径,将全局路径经过的所有域的顺序连接作为初始路径。