用于边界网关协议(BGP)控制的网络可靠性的系统和方法技术方案

技术编号:34780987 阅读:33 留言:0更新日期:2022-09-03 19:37
本发明专利技术提供了一种由包括控制器集群的网络中的第一控制器实现的方法,所述控制器集群包括所述第一控制器和第二控制器,所述方法包括:向网元(network element,NE)发送包括第一控制器网络层可达信息(network layer reachability information,NLRI)的第一BGP消息,所述第一控制器NLRI携带所述第一控制器相对于所述控制器集群中的其它控制器的位置;从所述NE接收包括第二控制器NLRI的第二BGP消息,所述第二控制器NLRI携带所述第二控制器相对于所述控制器集群中的所述其它控制器的位置;基于所述第一控制器的所述位置和所述第二控制器的所述位置从所述控制器集群中确定主控制器,所述主控制器负责控制所述网络。所述主控制器负责控制所述网络。所述主控制器负责控制所述网络。

【技术实现步骤摘要】
【国外来华专利技术】用于边界网关协议(BGP)控制的网络可靠性的系统和方法
[0001]相关申请交叉引用
[0002]本专利申请要求Huaimo Chen于2020年2月18日递交的专利技术名称为“用于BGP控制的网络可靠性的系统和方法(System and Method for BGP Controlled Network Reliability)”的第62/978,099号美国临时专利申请的权益,该在先申请以引用的方式并入本文。


[0003]本专利技术大体上涉及网络通信,具体涉及用于提高实现边界网关协议(border gateway protocol,BGP)的网络中一个或多个控制器的可靠性的各种系统和方法。

技术介绍

[0004]BGP是一种协议,通过在位于通信系统内的边缘网元(network element,NE)(例如路由器)之间交换路由和可达信息,管理数据包在互联网上的传输。BGP指导自治系统(autonomous system,AS)或由单个企业或服务提供商管理的网络之间的数据包。BGP提供了网络稳定性,保证当特定路径发生故障时,网元(network element,NE)可以快速适应,以通过另一个重新连接发送数据包。实现BGP的NE基于网络管理员配置的路径、规则或网络策略进行路由决策。
[0005]在实现为软件定义网络(software defined network,SDN)的网络中,控制器集群通过与网络中的一个或多个NE通信来控制网络中的所有NE。控制器集群包括两个或两个以上控制器,其中,一个控制器被选择为控制网络中NE的主控制器。主控制器通过BGP会话从网络中的NE接收信息,并将信息发送给控制器集群中的其它控制器。在这些网络中,网络的可靠性和可用性在很大程度上取决于控制器集群中控制器和连接的正常运行。控制器集群中出现的任何问题或故障都会严重影响网络中NE的运行和可靠性。

技术实现思路

[0006]根据本专利技术的第一方面,提供了一种由包括控制器集群的网络中的第一控制器实现的方法,所述控制器集群包括所述第一控制器和第二控制器。所述方法包括:与所述网络中的网元(network element,NE)建立边界网关协议(border gateway protocol,BGP)会话;向所述NE发送包括第一控制器网络层可达信息(network layer reachability information,NLRI)的第一BGP消息,所述第一控制器NLRI携带所述控制器集群中每个控制器的标识(identifier,ID),所述第一控制器NLRI还携带基于优先级顺序所述第一控制器相对于所述控制器集群中的其它控制器的位置;从所述NE接收包括第二控制器NLRI的第二BGP消息,所述第二控制器NLRI携带所述控制器集群中每个控制器的所述ID,所述第二控制器NLRI携带基于所述优先级顺序所述第二控制器相对于所述控制器集群中的所述其它控制器的位置;基于所述第一控制器NLRI中携带的所述第一控制器的所述位置和所述第二控制器NLRI中携带的所述第二控制器的所述位置,从所述控制器集群中确定主控制器,所述
主控制器负责控制所述网络。
[0007]可选地,在第一方面所述的第一种实现方式中,所述第一BGP消息包括以下各项中的至少一项:指示所述第一控制器是否为所述网络的所述主控制器的标志、所述第一控制器的所述位置、所述第一控制器的旧位置、所述控制器集群中的控制器数量,以及所述第一控制器相对于所述控制器集群中的其它控制器的优先级。
[0008]可选地,在第一方面所述的第二种实现方式或第一方面的任何其它实现方式中,所述第二BGP消息包括以下各项中的至少一项:指示所述第二控制器是否为所述网络的所述主控制器的第二标志、所述第二控制器的所述位置、所述第二控制器的旧位置、所述控制器集群中的控制器数量,以及所述第二控制器相对于所述控制器集群中的其它控制器的优先级。
[0009]可选地,在第一方面所述的第三种实现方式或第一方面的任何其它实现方式中,与所述NE建立所述BGP会话包括:与所述网络中的多个NE建立多个BGP会话,以创建多个控制信道,所述多个NE包括所述NE;与所述NE分别建立带扩展的BGP会话,以创建信息信道。
[0010]可选地,在第一方面所述的第四种实现方式或第一方面的任何其它实现方式中,与所述NE建立所述BGP会话包括:与所述网络中的多个NE建立多个BGP会话,以创建多个控制信道,所述多个NE不包括所述NE;与所述NE建立带扩展的BGP会话,以创建信息信道。
[0011]可选地,在第一方面所述的第五种实现方式或第一方面的任何其它实现方式中,与所述NE建立所述BGP会话包括:向所述NE发送具有高可用性支持能力三元组的第一OPEN消息,所述高可用性支持能力三元组包括指示所述第一控制器为控制器的标志;从所述NE接收具有高可用性支持能力三元组的第二OPEN消息,所述高可用性支持能力三元组包括指示所述NE是所述网络中的节点的标志。
[0012]可选地,在第一方面所述的第六种实现方式或第一方面的任何其它实现方式中,所述第一OPEN消息中的所述高可用性支持能力三元组携带在所述第一OPEN消息的可选参数中,所述第二OPEN消息中的所述高可用性支持能力三元组携带在所述第二OPEN消息的可选参数中。
[0013]可选地,在第一方面所述的第七种实现方式或第一方面的任何其它实现方式中,所述第一BGP消息包括第一控制器地址族标识(address family identifier,AFI)、第一控制器子地址族标识(sub

address family identifier,SAFI)和所述第一控制器NLRI,其中,所述第二BGP消息包括第二控制器AFI、第二控制器SAFI和所述第二控制器NLRI。
[0014]可选地,在第一方面所述的第八种实现方式或第一方面的任何其它实现方式中,所述第一BGP消息编码为BGP UPDATE,所述第一控制器NLRI携带在所述第一BGP消息的第一路径属性字段中,并且,所述第二BGP消息编码为BGP UPDATE,所述第二控制器NLRI携带在所述第二BGP消息的第二路径属性字段中。
[0015]可选地,在第一方面所述的第九种实现方式或第一方面的任何其它实现方式中,所述方法还包括:在从所述NE接收所述第二控制器发生故障的指示后,或在确定预定时间段内未从辅助控制器接收到BGP消息后,确定所述第二控制器是否发生故障;在所述第二控制器发生故障时,选择所述第一控制器作为所述网络的所述主控制器;向所述NE发送包括第三控制器NLRI的第三BGP消息,所述第三控制器NLRI指示所述第一控制器是所述网络的所述主控制器。
[0016]可选地,在第一方面所述的第十种实现方式或第一方面的任何其它实现方式中,所述控制器集群包括多个控制器,所述多个控制器包括所述第一控制器和所述第二控制器,其中,所述方法还包括:确定在所述控制器集群内发生了至少一个故障,以在所述控制器集群内创建第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种由网络中的第一控制器实现的方法,其特征在于,所述网络包括控制器集群,所述控制器集群包括所述第一控制器和第二控制器,所述方法包括:与所述网络中的网元(network element,NE)建立边界网关协议(border gateway protocol,BGP)会话;向所述NE发送第一BGP消息,所述第一BGP消息包括第一控制器网络层可达信息(network layer reachability information,NLRI),所述第一控制器NLRI携带所述控制器集群中每个控制器的标识(identifier,ID),所述第一控制器NLRI还携带基于优先级顺序所述第一控制器相对于所述控制器集群中的其它控制器的位置;从所述NE接收包括第二控制器NLRI的第二BGP消息,所述第二控制器NLRI携带所述控制器集群中每个控制器的所述ID,所述第二控制器NLRI携带基于所述优先级顺序所述第二控制器相对于所述控制器集群中的所述其它控制器的位置;基于所述第一控制器NLRI中携带的所述第一控制器的所述位置和所述第二控制器NLRI中携带的所述第二控制器的所述位置,从所述控制器集群中确定主控制器,所述主控制器负责控制所述网络。2.根据权利要求1所述的方法,其特征在于,所述第一BGP消息包括以下各项中的至少一项:指示所述第一控制器是否为所述网络的所述主控制器的标志、所述第一控制器的所述位置、所述第一控制器的旧位置、所述控制器集群中的控制器数量,以及所述第一控制器相对于所述控制器集群中的其它控制器的优先级。3.根据权利要求1或2所述的方法,其特征在于,所述第二BGP消息包括以下各项中的至少一项:指示所述第二控制器是否为所述网络的所述主控制器的第二标志、所述第二控制器的所述位置、所述第二控制器的旧位置、所述控制器集群中的控制器数量,以及所述第二控制器相对于所述控制器集群中的其它控制器的优先级。4.根据权利要求1至3中任一项所述的方法,其特征在于,与所述NE建立所述BGP会话包括:与所述网络中的多个NE建立多个BGP会话,以创建多个控制信道,所述多个NE包括所述NE;与所述NE分别建立带扩展的BGP会话,以创建信息信道。5.根据权利要求1至4中任一项所述的方法,其特征在于,与所述NE建立所述BGP会话包括:与所述网络中的多个NE建立多个BGP会话,以创建多个控制信道,所述多个NE不包括所述NE;与所述NE建立带扩展的BGP会话,以创建信息信道。6.根据权利要求1至5中任一项所述的方法,其特征在于,与所述NE建立所述BGP会话包括:向所述NE发送具有高可用性支持能力三元组的第一OPEN消息,所述高可用性支持能力三元组包括指示所述第一控制器为控制器的标志;从所述NE接收具有高可用性支持能力三元组的第二OPEN消息,所述高可用性支持能力三元组包括指示所述NE是所述网络中的节点的标志。7.根据权利要求6所述的方法,其特征在于,所述第一OPEN消息中的所述高可用性支持
能力三元组携带在所述第一OPEN消息的可选参数中,所述第二OPEN消息中的所述高可用性支持能力三元组携带在所述第二OPEN消息的可选参数中。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一BGP消息包括第一控制器地址族标识(address family identifier,AFI)、第一控制器子地址族标识(sub

address family identifier,SAFI)和所述第一控制器NLRI,其中,所述第二BGP消息包括第二控制器AFI、第二控制器SAFI和所述第二控制器NLRI。9.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一BGP消息编码为BGP UPDATE,所述第一控制器NLRI携带在所述第一BGP消息的第一路径属性字段中,并且,所述第二BGP消息编码为BGP UPDATE,所述第二控制器NLRI携带在所述第二BGP消息的第二路径属性字段中。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:在从所述NE接收所述第二控制器发生故障的指示后,或在确定预定时间段内未从辅助控制器接收到BGP消息后,确定所述第二控制器是否发生故障;在所述第二控制器发生故障时,选择所述第一控制器作为所述网络的所述主控制器;向所述NE发送包括第三控制器NLRI的第三BGP消息,所述第三控制器NLRI指示所述第一控制器是所述网络的所述主控制器。11.根据权利要求1至9中任一项所述的方法,其特征在于,所述控制器集群包括多个控制器,所述多个控制器包括所述第一控制器和所述第二控制器,其中,所述方法还包括:确定在所述控制器集群内发生了至少一个故障,以在所述控制器集群内创建第一组控制器和第二组控制器;确定所述第一控制器耦合到不包括所述第二控制器的所述第一组控制器,所述第二控制器耦合到不包括所述第一控制器的所述第二组控制器。12.根据权利要求11所述的方法,其特征在于,所述第一组控制器具有第一数量的控制器,所述第二组控制器具有第二数量的控制器,其中,所述方法还包括:基于所述第一控制器的旧位置或所述第一控制器相对于所述第一组控制器中的其它控制器的优先级,确定所述第一组控制器中的所述第一控制器为所述第一组控制器的意向主控制器;向所述NE发送指示所述第一组控制器的状态的第三BGP消息,所述第三BGP消息包括所述第一组控制器中的控制器数量、所述第一控制器的所述旧位置和所述第一控制器的所述优先级;从所述NE接收指示所述第二组控制器的状态的第四BGP消息,所述第四BGP消息指示所述第二控制器为所述第二组控制器的意向主控制器,所述第四BGP消息包括所述第二组控制器中的控制器数量、所述第二控制器的旧位置以及所述第二控制器相对于所述第二组控制器中的其它控制器的优先级。13.根据权利要求12所述的方法,其特征在于,还包括:基于所述第一组控制器和所述第二组控制器中的每个组中的控制器数量、所述第一控制器或所述第二控制器的最高旧位置,或所述第一控制器或所述第二控制器的最高优先级,选择所述第一控制器作为所述网络的所述主控制器。14.根据权利要求1至13中任一项所述的方法,其特征在于,所述控制器集群还包括第
三控制器,其中,所述方法还包括接收包括第三控制器NLRI的第三BGP消息,所述第三控制器NLRI携带所述控制器集群中每个控制器的所述ID,所述第三控制器NLRI携带基于所述优先级顺序第二控制器相对于所述控制器集群中的所述其它控制器的位置,其中,所述主控制器是基于所述第一控制器NLRI中携带的所述第一控制器的所述位置、所述第二控制器NLRI中携带的所述第二控制器的所述位置和所述第三控制器NLRI中携带的所述第三控制器的所述位置确定的。15.一种由包括控制器集群的网络中的网元(network element,NE)实现的方法,其特征在于,所述方法包括:与所述网络的主控制器建立第一边界网关协议(border gateway protocol,BGP)会话;与所述网络的辅助控制器建立第二BGP会话,所述控制器集群包括所述主控制器和所述辅助控制器,所述主控制器负责控制所述网络;从所述主控制器接收BGP消息,所述BGP消息包括指示所述BGP消息由所述主控制器发送的控制器网络层可达信息(network layer reachability information,NLRI),所述控制器NLRI携带所述主控制器相对于所述控制器集群中的其它控制器的位置和所述控制器集群中每个控制器的标识(identifier,ID);将所述BGP消息转发给所述辅助控制器。16.根据权利要求15所述的方法,其特征在于,所述BGP消息包括以下各项中的至少一项:指示所述主控制器控制所述网络的标志、所述主控制器相对于所述控制器集群中的其它控制器的位置、所述主控制器的旧位置、所述控制器集群中的控制器数量,以及所述主控制器相对于所述控制器集群中的其它控制器的优先级。17.根据权利要求15或16所述的方法,其特征在于,与所述主控制器建立所述第一BGP会话包括:向所述主控制器发送具有高可用性支持能力三元组的第一OPEN消息,所述高可用性支持能力三元组包括指示所述NE是所述网络中的节点的标志;从所述主控制器接收具有高可用性支持能力三元组的第二OPEN消息,所述高可用性支持能力三元组包括指示所述主控制器是所述网络中的控制器的标志。18.根据权利要求17所述的方法,其特征在于,所述第一OPEN消息中的所述高可用性支持能力三元组携带在所述第一OPEN消息的可选参数中,所述第二OPEN消息中的所述高可用性支持能力三元组携带在所述第二OPEN消息的可选参数中。19.根据权利要求15至18中任一项所述的方法,其特征在于,还包括:检测所述主控制器的故障;向所述辅助控制器发送第二BGP消息,所述第二BGP消息包括指示所述主控制器发生故障的第三控制器NLRI,所述第二BGP消息指示所述辅助控制器从状态数据库中撤回关于所述主控制器的信息。20.一种第一控制器,其特征在于,网络包括控制器集群,所述控制器集群包括所述第一控制器和第二控制器,所述第一控制器包括:存储器,用于存储指令;处理器,耦合到所述存储器并用于执行所述指令,所述指令使所述第一控制器用于:
与所述网络中的网元(network element,NE)建立边界网关协议(border gatewayprotocol,BGP)会话;向所述NE发送包括第一控制器网络层可达信息(network layer reachabilityinformation,NLRI)的第一BGP消息,所述第一控制器NLRI携带所述控制器集群中每个控制器的标识(identifier,ID),所述第一控制器NLRI还携带基于优先级顺序所述第一控制器相对于所述控制器集群中的其它控制器的位置;从所述NE接收包括第二控制器NLRI的第二BGP消息,所述第二控制器NLRI携带所述控制器集群中每个控制器的所述ID,所述第二控制器NLRI携带基于所述优先级顺序所述第二控制器相对于所述控制器集群中的所述其它控制器的位置;基于所述第一控制器NLRI中携带的所述第一控制器的所述位置和所述第二控制器NLRI中携带的所述第二控制器的所述位置,从所述控制器集群中确定主控制器,所述主控制...

【专利技术属性】
技术研发人员:陈怀谟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1