一种为软件定义网络控制器提供备份的方法及系统技术方案

技术编号:10651430 阅读:150 留言:0更新日期:2014-11-19 14:25
本发明专利技术提供一种为软件定义网络控制器提供备份的方法,包括:在初始阶段,将多个控制器定义为候选主控制器,多个候选主控制器间发送第一协议报文;提取第一协议报文的优先级;检测各该候选主控制器自身的优先级是否高于第一协议报文的优先级;若高于,则定义候选主控制器为主控制器;主控制器发送第二协议报文;主控制器在第一预设时间内分别发送第一协议报文至各备份控制器;判断各该备份控制器在第二预设时间段内是否接收到第一协议报文;若是,提取报文优先级,继续判断备份控制器自身的优先级是否高于第一协议报文的优先级;若否,则定义备选主控制器为主控制器。本发明专利技术解决了控制器的可靠性、扩展性、及性能方面的问题,增加了网络可靠性。

【技术实现步骤摘要】
一种为软件定义网络控制器提供备份的方法及系统
本专利技术属于计算机通信网络领域,涉及一种提供备份的方法及系统,特别是涉及一种为软件定义网络控制器提供备份的方法及系统。
技术介绍
SDN(SoftwareDefinedNetwork)网络,这种将控制和转发相分离的新型网络架构,使复杂的网络管理变得容易很多,其中的控制器负责整个SDN网络的集中化控制,对于把握全网资源视图、改善网络资源交付都具有非常重要的作用。但是随着网络规模的增大,单一控制器在可扩展性方面存在的问题也变得越来越明显,而其中控制器的控制能力的集中化,也意味着控制器的安全性和性能成为全网的瓶颈,这些单一的控制器无法应对跨多个地域的SND网络问题,需要多个SDN控制器东西向的扩展,一旦控制器在性能或安全性上得不到保障,随之而来的是全网的服务能力的降级甚至是瘫痪。为了解决SDN网络部署单一控制器可能面临的可靠性、扩展性、性能方面的问题,人们提出了多控制器控制平面。多控制器控制平面的主要思想就是将现有网络划分为不同的区域,在每个区域内部署一个或多个控制器,而这些控制器通过保证网络状态的一致性,来实现对网络的协调统一管理。这种多控制器控制平面在实现上既可以表现为每台交换机由多个控制器控制,又可以是每个控制器控制多个交换机,而每个交换机仅由一个控制器控制。至于具体的实现形式,学术界和工业界纷纷提出了一些方案,但是目前为止还没有相对成熟的产品。为了解决控制器集中控制单一节点的可靠性,扩展性,控制器的集群技术迫在眉睫。目前,用于多个控制器之间沟通和联系的东西向接口还没定义标准。控制器集群式解决控制器东西向扩展的重要技术之一,虽然当前有很多成熟的技术和成功的经验可供参考,但对SDN网络而言,还有许多内容需要进一步研究。所以,如何提供一种为软件定义网络控制器提供备份的方法及系统,以解决现有技术中的单一控制器无法应对跨多个地域的SDN网络,无法解决单一控制器在可靠性、扩展性、性能方面差的种种缺陷,实已成为本领域从业者亟待解决的技术问题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种为软件定义网络控制器提供备份的方法及系统,用于解决现有技术中单一控制器无法应对跨多个地域的SDN网络,无法解决单一控制器在可靠性、扩展性、性能方面差的问题。为实现上述目的及其他相关目的,本专利技术一方面提供一种为软件定义网络控制器提供备份的方法,应用于包括交换机和多个控制器的网络系统中,所述方法包括以下步骤:步骤一,在初始阶段,将多个控制器定义为候选主控制器,所述多个候选主控制器间发送具有优先级属性的第一协议报文;步骤二,各该候选主控制器接收所述第一协议报文,依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级;步骤三,将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级;步骤四,若所述候选主控器自身的优先级高于所述第一协议报文的优先级,则定义所述候选主控制器为主控制器,剩余候选主控制器为备份控制器;步骤五,所述主控制器发送第二协议报文至交换机;步骤六,所述主控制器在第一预设时间内分别发送所述第一协议报文至各备份控制器;步骤七,判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文;若是,提取报文优先级,判断所述备份控制器自身的优先级是否高于所述第一协议报文的优先级;若所述备份控制器自身的优先级高于所述第一协议报文的优先级,定义所述备份控制器为主控制器,返回步骤五;若所述备份控制器自身的优先级低于所述第一协议报文的优先级,返回步骤六;若否,则定义所述备选主控制器为主控制器,返回步骤五。可选地,所述为软件定义网络控制器提供备份的方法还包括:若所述候选主控器自身的优先级不高于所述第一协议报文的优先级,将所述候选主控制器定义为备份控制器,并将所述备份控制器置于等待接收所述第一协议报文的状态,转入步骤七。可选地,所述为软件定义网络控制器提供备份的方法中将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级的步骤等效于判断所述虚拟控制器的IP地址是否与所述多个候选主控制器中的一个候选主控制器的IP地址重合;若重合,则表示与所述虚拟控制器的IP地址重合的候选主控制器具有最高优先级,具有最高优先级的所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,所述主控制器在所述第一预设时间段内给所述备份控制器发送所述第一协议报文。可选地,所述第一协议报文的优先级范围在0~255之间,最高优先级为255。可选地,所述为软件定义网络提供备份的方法还包括:所述候选主控制器被定义为主控制器时,所述主控制器发送第二协议报文至所述交换机,所述交换机生成记录所述虚拟控制器的IP地址和接收所述第二协议报文的入端口的端口号的映射表。可选地,当在所述第二预设时间段内所述多个备份控制器未接收到所述第一协议报文时,则表示所述主控制器发生故障,所述多个备份控制器宣告自己为主控制器,在多个备份控制器中重新选举产生新的主控制器;新产生的所述主控制器给所述交换机发送第二协议报文,所述交换机更新所述映射表。可选地,所述第一协议报文为虚拟路由器冗余协议报文,所述第二协议报文为地址解析协议报文。本专利技术另一方面还提供一种为软件定义网络控制器提供备份的系统,包括:多个控制器,所述多个控制器包括:发送模块,用于在初始阶段将多个控制器定义为候选主控制器时,在所述多个候选主控制器间发送具有优先级属性的第一协议报文;且所述发送模块还用于发送第二协议报文至交换机;接收模块,用于接收各该候选主控制器发送的第一协议报文;提取模块,用于在接收到所述第一协议报文后,分别依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级;比较模块,用于将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级;若是,则定义所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,调用所述发送模块在第一预设时间段内发送第二协议报文至所述交换机,且在第一预设时间段内分别发送所述第一协议报文至各备份控制器;若否,则定义所述候选主控制器为备份控制器,将所述备份控制器置于等待接收所述第一协议报文的状态;判断模块,用于判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文,若是,则调用所述提取模块和比较模块分别提取第一协议报文优先级,检测所述备份控制器自身的优先级是否高于所述第一协议报文的优先级,若是,则定义所述备份控制器为主控制器,并调用所述发送模块发送第二协议报文至所述交换机;若否,则调用所述发送模块在所述第一预设时间段内分别发送所述第一协议报文至各备份控制器;若否,则定义所述备份控制器为主控制器,调用所述发送模块发送第二协议报文至所述交换机。可选地,所述为软件定义网络控制器提供备份的系统还包括虚拟模块,所述虚拟模块用于根据第一协议由所述多个控制器组成的虚拟控制器,为所述多个控制器和所述虚拟控制器预先配置IP地址和优先级。可选地,所述比较模块还用于判断所述虚拟控制器的IP地址是否与所本文档来自技高网
...
一种为软件定义网络控制器提供备份的方法及系统

【技术保护点】
一种为软件定义网络控制器提供备份的方法,应用于包括交换机和多个控制器的网络系统中,其特征在于,所述方法包括以下步骤:步骤一,在初始阶段,将多个控制器定义为候选主控制器,所述多个候选主控制器间发送具有优先级属性的第一协议报文;步骤二,各该候选主控制器接收所述第一协议报文,依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级;步骤三,将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级;步骤四,若所述候选主控器自身的优先级高于所述第一协议报文的优先级,则定义所述候选主控制器为主控制器,剩余候选主控制器为备份控制器;步骤五,所述主控制器发送第二协议报文至交换机;步骤六,所述主控制器在第一预设时间内分别发送所述第一协议报文至各备份控制器;步骤七,判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文;若是,提取报文优先级,判断所述备份控制器自身的优先级是否高于所述第一协议报文的优先级;若所述备份控制器自身的优先级高于所述第一协议报文的优先级,定义所述备份控制器为主控制器,返回步骤五;若所述备份控制器自身的优先级低于所述第一协议报文的优先级,返回步骤六;若否,则定义所述备选主控制器为主控制器,返回步骤五。...

【技术特征摘要】
1.一种为软件定义网络控制器提供备份的方法,应用于包括交换机和多个控制器的网络系统中,其特征在于,所述方法包括以下步骤:步骤一,在初始阶段,将多个控制器定义为候选主控制器,多个候选主控制器间发送具有优先级属性的第一协议报文;并根据第一协议将所述多个控制器捆绑在一起创建一虚拟控制器,为所述多个控制器和所述虚拟控制器预先配置IP地址和优先级,所述第一协议报文为虚拟路由器冗余协议报文;步骤二,各该候选主控制器接收所述第一协议报文,依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级;步骤三,将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级;步骤四,若所述候选主控制器自身的优先级高于所述第一协议报文的优先级,则定义所述候选主控制器为主控制器,剩余候选主控制器为备份控制器;若所述候选主控制器自身的优先级不高于所述第一协议报文的优先级,将所述候选主控制器定义为备份控制器,并将所述备份控制器置于等待接收所述第一协议报文的状态,转入步骤七;步骤五,所述主控制器发送第二协议报文至交换机;步骤六,所述主控制器在第一预设时间段内分别发送所述第一协议报文至各备份控制器;步骤七,判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文;若否,则定义所述备份控制器为主控制器,返回步骤五;若是,提取报文优先级,判断所述备份控制器自身的优先级是否高于所述第一协议报文的优先级;若所述备份控制器自身的优先级高于所述第一协议报文的优先级,定义所述备份控制器为主控制器,返回步骤五;若所述备份控制器自身的优先级低于所述第一协议报文的优先级,返回步骤六。2.根据权利要求1所述的为软件定义网络控制器提供备份的方法,其特征在于:所述为软件定义网络控制器提供备份的方法中将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级的步骤为判断虚拟控制器的IP地址是否与所述多个候选主控制器中的一个候选主控制器的IP地址重合;若重合,则表示与所述虚拟控制器的IP地址重合的候选主控制器具有最高优先级,具有最高优先级的所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,所述主控制器在所述第一预设时间段内给所述备份控制器发送所述第一协议报文。3.根据权利要求2所述的为软件定义网络控制器提供备份的方法,其特征在于:所述第一协议报文的优先级范围在0~255之间,最高优先级为255。4.根据权利要求2所述的为软件定义网络控制器提供备份的方法,其特征在于:所述为软件定义网络提供备份的方法还包括:所述候选主控制器被定义为主控制器时,所述主控制器发送第二协议报文至所述交换机,所述交换机生成记录所述虚拟控制器的IP地址和接收所述第二协议报文的入端口的端口号的映射...

【专利技术属性】
技术研发人员:朱亚娟
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

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

1