一种边界网关协议冗余部署方法及相关设备与流程

摘要: 本发明涉及固网通信,尤其涉及一种边界网关协议冗余部署方法及相关设备。背景技术:1、随着云计算与算力网络等新兴业务的爆发式增长,传统ip网络基于igp的“尽力而为...
一种边界网关协议冗余部署方法及相关设备与流程

本发明涉及固网通信,尤其涉及一种边界网关协议冗余部署方法及相关设备。

背景技术:

1、随着云计算与算力网络等新兴业务的爆发式增长,传统ip网络基于igp的“尽力而为”转发模型日益僵化,其最短路径优先的选路原则难以满足不同业务对带宽、时延和可靠性的差异化需求。为此,业界引入了基于srv6的sdn架构,通过在头结点封装有序的指令列表来指导报文穿越网络,实现端到端的差异化服务。

2、在此架构中,sdn控制器的一个核心功能组件就是bgp服务。sdn控制器依赖bgp模块提供的网络拓扑信息进行实时多因子算路,计算出最优路径后,再通过bgp将策略下发至头端设备。如果bgp模块仅部署单个实例,一旦该服务发生故障,例如bgp进程挂掉、控制器虚机掉电或与路由反射器之间的邻居会话中断,控制器将彻底丧失获取网络拓扑和下发策略的能力,导致整个sdn网络控制面瘫痪。因此,必须实现控制器bgp服务的冗余部署,以确保当其中一个服务发生故障时,其余服务能接管工作,保障系统可靠性。

3、然而,现有技术中缺乏完备的sdn控制器bgp服务冗余部署方案。一些传统的冗余协议,如vrrp,存在天然局限,要求所有冗余节点必须部署在同一个二层广播域内,无法适应sdn控制器通常跨三层网络部署的现实需求。同时,传统方案往往只能监控整个进程的存活状态,故障感知粒度粗糙,无法对bgp邻居级别甚至邻居地址族级别的会话状态进行精细化监控。

技术实现思路

1、本发明实施例的主要目的在于提出一种边界网关协议冗余部署方法、装置、电子设备、存储介质及程序产品,旨在解决现有技术的至少一种问题。

2、为实现上述目的,本发明实施例的一方面提出了一种边界网关协议冗余部署方法,方法包括:

3、在第一控制器bgp服务和第二控制器bgp服务上互相配置冗余邻居节点以构建冗余邻居关系,并配置第一控制器bgp服务和第二控制器bgp服务各自监控的目标外部bgp邻居的配置信息;其中,bgp表征边界网格协议,配置信息包括优先级和虚地址;

4、基于冗余邻居关系,利用bgp冗余报文交互第一控制器bgp服务和第二控制器bgp服务各自监控的目标外部bgp邻居的状态信息和优先级;

5、基于交互的状态信息和优先级,利用预设选举规则选举出主用控制器bgp服务和备用控制器bgp服务;

6、通过主用控制器bgp服务使能虚地址,并通过虚地址向算路模块提供北向接口服务;

7、若主用控制器bgp服务监控的目标外部bgp邻居的状态发送中断,或者,若冗余邻居关系中断,触发主备重选举和虚地址迁移。

8、在一些实施方式中,在第一控制器bgp服务和第二控制器bgp服务上互相配置冗余邻居节点以构建冗余邻居关系,包括以下步骤:

9、通过命令行方式,在第一控制器bgp服务上配置第二控制器bgp服务作为冗余邻居节点,并在第二控制器bgp服务上配置第一控制器bgp服务作为冗余邻居节点;

10、基于第一控制器bgp服务与第二控制器bgp服务配置为互为冗余邻居节点构建得到冗余邻居关系。

11、在一些实施方式中,配置信息还包括地址族,基于冗余邻居关系,利用bgp冗余报文交互第一控制器bgp服务和第二控制器bgp服务各自监控的目标外部bgp邻居的状态信息和优先级,包括以下步骤:

12、基于地址族,采集目标外部bgp邻居的路由器标识、地址族标识、子地址族标识和邻居状态作为状态信息;

13、基于状态信息和优先级,利用预设的拓展bgp新增报文封装bgp冗余报文;

14、基于冗余邻居关系,将第一控制器bgp服务的bgp冗余报文发送给第二控制器bgp服务,并将第二控制器bgp服务的bgp冗余报文发送给第一控制器bgp服务。

15、在一些实施方式中,状态信息包括监控的目标外部bgp邻居对应的路由器标识、地址族标识、子地址族标识和邻居状态,基于交互的状态信息和优先级,利用预设选举规则选举出主用控制器bgp服务和备用控制器bgp服务,包括以下步骤:

16、对第一控制器bgp服务对应的状态信息和第二控制器bgp服务对应的状态信息进行比对,判断第一控制器bgp服务监控的目标外部bgp邻居及地址族与第二控制器bgp服务监控的目标外部bgp邻居及地址族是否一致;

17、若一致,对第一控制器bgp服务和第二控制器bgp服务针对同一目标外部bgp邻居的邻居状态进行比对:

18、当第一控制器bgp服务对应的邻居状态为up且第二控制器bgp服务监控对应的邻居状态为down,将第一控制器bgp服务作为主用控制器bgp服务并将第二控制器bgp服务作为备用控制器bgp服务;

19、当第一控制器bgp服务对应的邻居状态为down且第二控制器bgp服务监控对应的邻居状态为up,将第二控制器bgp服务作为主用控制器bgp服务并将第一控制器bgp服务作为备用控制器bgp服务;

20、当第一控制器bgp服务和第二控制器bgp服务对应的邻居状态均为up,基于第一控制器bgp服务和第二控制器bgp服务对应的优先级的高低依次确定主用控制器bgp服务和备用控制器bgp服务。

21、在一些实施方式中,通过主用控制器bgp服务使能虚地址,并通过虚地址向算路模块提供北向接口服务,包括以下步骤:

22、通过主用控制器bgp服务使能虚地址,进而向外发送免费地址解析协议报文以进行重复地址检测并通告虚地址可达;

23、通过算路模块将虚地址作为目的地址,进而通过北向接口从主用控制器bgp服务获取链路状态信息;

24、其中,链路状态信息基于主用控制器bgp服务预先通过与外部路由反射器建立的bgp-ls邻居会话采集;

25、通过算路模块利用链路状态信息构造网络拓扑以进行多因子算路,进而通过北向接口将多因子算路的结果下发至主用控制器bgp服务。

26、在一些实施方式中,状态信息包括邻居状态,若主用控制器bgp服务监控的目标外部bgp邻居的状态发送中断,触发主备重选举和虚地址迁移,包括以下步骤:

27、当主用控制器bgp服务对应任意一个监控的目标外部bgp邻居的邻居状态由up变为down,对状态信息进行更新;

28、利用bgp冗余报文交互主用控制器bgp服务和备用控制器bgp服务各自监控的目标外部bgp邻居的状态信息和优先级,进而利用预设选举规则进行主用控制器bgp服务和备用控制器bgp服务的重新选举,得到重新选举结果;

29、若重新选举结果为原始的备用控制器bgp服务当选新的主用控制器bgp服务,对原始的主用控制器bgp服务本地的虚地址进行删除处理,并通过新的主用控制器bgp服务使能虚地址,以完成虚地址迁移。

30、在一些实施方式中,状态信息包括邻居状态,若冗余邻居关系中断,触发主备重选举和虚地址迁移,包括以下步骤:

31、当第一控制器bgp服务与第二控制器bgp服务均检测到彼此间的冗余邻居关系对应的邻居状态变为down,通过第一控制器bgp服务和第二控制器bgp服务均单独使能本地配置的虚地址,并将第一控制器bgp服务和第二控制器bgp服务均升为主用状态;

32、其中,第一控制器bgp服务和第二控制器bgp服务均通过消息队列携带各自的物理实地址向算路模块发送主用状态上报消息;

33、当算路模块基于主用状态上报消息检测到存在两个主用控制器bgp服务,基于主用状态上报消息中的物理实地址进行实地址大小仲裁,将物理实地址满足预设条件的一方判决为唯一的主用控制器bgp服务,并将另一方判决为备用控制器bgp服务,进而向备用控制器bgp服务下发删除虚地址指令,以使得备用控制器bgp服务响应于删除虚地址指令删除本地的虚地址;

34、其中,当算路模块基于主用状态上报消息检测到存在两个主用控制器bgp服务,算路模块还用于生成并输出冗余bgp邻居链路中断的双主冲突告警。

35、为实现上述目的,本发明实施例的另一方面提出了一种边界网关协议冗余部署装置,装置包括:

36、第一模块,用于在第一控制器bgp服务和第二控制器bgp服务上互相配置冗余邻居节点以构建冗余邻居关系,并配置第一控制器bgp服务和第二控制器bgp服务各自监控的目标外部bgp邻居的配置信息;其中,bgp表征边界网格协议,配置信息包括优先级和虚地址;

37、第二模块,用于基于冗余邻居关系,利用bgp冗余报文交互第一控制器bgp服务和第二控制器bgp服务各自监控的目标外部bgp邻居的状态信息和优先级;

38、第三模块,用于基于交互的状态信息和优先级,利用预设选举规则选举出主用控制器bgp服务和备用控制器bgp服务;

39、第四模块,用于通过主用控制器bgp服务使能虚地址,并通过虚地址向算路模块提供北向接口服务;

40、第五模块,用于若主用控制器bgp服务监控的目标外部bgp邻居的状态发送中断,或者,若冗余邻居关系中断,触发主备重选举和虚地址迁移。

41、为实现上述目的,本发明实施例的另一方面提出了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现前面的方法。

42、为实现上述目的,本发明实施例的另一方面提出了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现前面的方法。

43、为实现上述目的,本发明实施例的另一方面提出了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现前面的方法。

44、本发明实施例至少包括以下有益效果:本发明提供一种边界网关协议冗余部署方法、装置、电子设备、存储介质及程序产品,该方案通过在第一控制器bgp服务和第二控制器bgp服务上互相配置冗余邻居节点以构建冗余邻居关系,并配置第一控制器bgp服务和第二控制器bgp服务各自监控的目标外部bgp邻居的配置信息;其中,bgp表征边界网格协议,配置信息包括优先级和虚地址;基于冗余邻居关系,利用bgp冗余报文交互第一控制器bgp服务和第二控制器bgp服务各自监控的目标外部bgp邻居的状态信息和优先级;基于交互的状态信息和优先级,利用预设选举规则选举出主用控制器bgp服务和备用控制器bgp服务;通过主用控制器bgp服务使能虚地址,并通过虚地址向算路模块提供北向接口服务;若主用控制器bgp服务监控的目标外部bgp邻居的状态发送中断,或者,若冗余邻居关系中断,触发主备重选举和虚地址迁移。本发明通过在第一控制器bgp服务和第二控制器bgp服务上互相配置冗余邻居并配置各自监控的目标外部bgp邻居信息,能够精细地将监控粒度从进程级细化至邻居及地址族级别,使主备切换的触发条件与实际业务需求更精准匹配;基于建立的冗余邻居关系,利用bgp协议本身的报文交互状态信息和优先级进行协商与主备选举,使得冗余部署无需依赖任何额外的外部应用程序,简化了系统架构与运维复杂度;通过主用控制器bgp服务使能虚地址向上层算路模块提供服务,实现了故障切换时的虚地址迁移,使得主备切换过程对上层应用透明无感知,有效保障了sdn控制面的服务连续性;当监控的邻居状态中断或冗余邻居关系中断时触发主备重选举与迁移,确保系统能够自动且及时地应对各类故障场景,能够显著提升整个sdn控制器的可靠性与鲁棒性。