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

文档序号:7810992阅读:219来源:国知局
一种为软件定义网络控制器提供备份的方法及系统的制作方法
【专利摘要】本发明提供一种为软件定义网络控制器提供备份的方法,包括:在初始阶段,将多个控制器定义为候选主控制器,多个候选主控制器间发送第一协议报文;提取第一协议报文的优先级;检测各该候选主控制器自身的优先级是否高于第一协议报文的优先级;若高于,则定义候选主控制器为主控制器;主控制器发送第二协议报文;主控制器在第一预设时间内分别发送第一协议报文至各备份控制器;判断各该备份控制器在第二预设时间段内是否接收到第一协议报文;若是,提取报文优先级,继续判断备份控制器自身的优先级是否高于第一协议报文的优先级;若否,则定义备选主控制器为主控制器。本发明解决了控制器的可靠性、扩展性、及性能方面的问题,增加了网络可靠性。
【专利说明】一种为软件定义网络控制器提供备份的方法及系统

【技术领域】
[0001] 本发明属于计算机通信网络领域,涉及一种提供备份的方法及系统,特别是涉及 一种为软件定义网络控制器提供备份的方法及系统。

【背景技术】
[0002] SDN(Software Defined Network)网络,这种将控制和转发相分离的新型网络架 构,使复杂的网络管理变得容易很多,其中的控制器负责整个SDN网络的集中化控制,对于 把握全网资源视图、改善网络资源交付都具有非常重要的作用。但是随着网络规模的增大, 单一控制器在可扩展性方面存在的问题也变得越来越明显,而其中控制器的控制能力的集 中化,也意味着控制器的安全性和性能成为全网的瓶颈,这些单一的控制器无法应对跨多 个地域的SND网络问题,需要多个SDN控制器东西向的扩展,一旦控制器在性能或安全性上 得不到保障,随之而来的是全网的服务能力的降级甚至是瘫痪。为了解决SDN网络部署单 一控制器可能面临的可靠性、扩展性、性能方面的问题,人们提出了多控制器控制平面。多 控制器控制平面的主要思想就是将现有网络划分为不同的区域,在每个区域内部署一个或 多个控制器,而这些控制器通过保证网络状态的一致性,来实现对网络的协调统一管理。这 种多控制器控制平面在实现上既可以表现为每台交换机由多个控制器控制,又可以是每个 控制器控制多个交换机,而每个交换机仅由一个控制器控制。至于具体的实现形式,学术界 和工业界纷纷提出了一些方案,但是目前为止还没有相对成熟的产品。
[0003] 为了解决控制器集中控制单一节点的可靠性,扩展性,控制器的集群技术迫在眉 睫。目前,用于多个控制器之间沟通和联系的东西向接口还没定义标准。控制器集群式解决 控制器东西向扩展的重要技术之一,虽然当前有很多成熟的技术和成功的经验可供参考, 但对SDN网络而言,还有许多内容需要进一步研究。
[0004] 所以,如何提供一种为软件定义网络控制器提供备份的方法及系统,以解决现有 技术中的单一控制器无法应对跨多个地域的SDN网络,无法解决单一控制器在可靠性、扩 展性、性能方面差的种种缺陷,实已成为本领域从业者亟待解决的技术问题。


【发明内容】

[0005] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种为软件定义网络控制 器提供备份的方法及系统,用于解决现有技术中单一控制器无法应对跨多个地域的SDN网 络,无法解决单一控制器在可靠性、扩展性、性能方面差的问题。
[0006] 为实现上述目的及其他相关目的,本发明一方面提供一种为软件定义网络控制器 提供备份的方法,应用于包括交换机和多个控制器的网络系统中,所述方法包括以下步骤: 步骤一,在初始阶段,将多个控制器定义为候选主控制器,所述多个候选主控制器间发送具 有优先级属性的第一协议报文;步骤二,各该候选主控制器接收所述第一协议报文,依据所 述第一协议报文的优先级属性提取所述第一协议报文的优先级;步骤三,将提取到的所述 第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制 器自身的优先级是否高于所述第一协议报文的优先级;步骤四,若所述候选主控器自身的 优先级高于所述第一协议报文的优先级,则定义所述候选主控制器为主控制器,剩余候选 主控制器为备份控制器;步骤五,所述主控制器发送第二协议报文至交换机;步骤六,所述 主控制器在第一预设时间内分别发送所述第一协议报文至各备份控制器;步骤七,判断各 该备份控制器在第二预设时间段内是否接收到所述第一协议报文;若是,提取报文优先级, 判断所述备份控制器自身的优先级是否高于所述第一协议报文的优先级;若所述备份控制 器自身的优先级高于所述第一协议报文的优先级,定义所述备份控制器为主控制器,返回 步骤五;若所述备份控制器自身的优先级低于所述第一协议报文的优先级,返回步骤六; 若否,则定义所述备选主控制器为主控制器,返回步骤五。
[0007] 可选地,所述为软件定义网络控制器提供备份的方法还包括:若所述候选主控器 自身的优先级不高于所述第一协议报文的优先级,将所述候选主控制器定义为备份控制 器,并将所述备份控制器置于等待接收所述第一协议报文的状态,转入步骤七。
[0008] 可选地,所述为软件定义网络控制器提供备份的方法中将提取到的所述第一协议 报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的 优先级是否高于所述第一协议报文的优先级的步骤等效于判断所述虚拟控制器的IP地址 是否与所述多个候选主控制器中的一个候选主控制器的IP地址重合;若重合,则表示与所 述虚拟控制器的IP地址重合的候选主控制器具有最高优先级,具有最高优先级的所述候 选主控制器为主控制器,剩余候选主控制器为备份控制器,所述主控制器在所述第一预设 时间段内给所述备份控制器发送所述第一协议报文。
[0009] 可选地,所述第一协议报文的优先级范围在0?255之间,最高优先级为255。 [0010] 可选地,所述为软件定义网络提供备份的方法还包括:所述候选主控制器被定义 为主控制器时,所述主控制器发送第二协议报文至所述交换机,所述交换机生成记录所述 虚拟控制器的IP地址和接收所述第二协议报文的入端口的端口号的映射表。
[0011] 可选地,当在所述第二预设时间段内所述多个备份控制器未接收到所述第一协议 报文时,则表示所述主控制器发生故障,所述多个备份控制器宣告自己为主控制器,在多个 备份控制器中重新选举产生新的主控制器;新产生的所述主控制器给所述交换机发送第二 协议报文,所述交换机更新所述映射表。
[0012] 可选地,所述第一协议报文为虚拟路由器冗余协议报文,所述第二协议报文为地 址解析协议报文。
[0013] 本发明另一方面还提供一种为软件定义网络控制器提供备份的系统,包括:多个 控制器,所述多个控制器包括:发送模块,用于在初始阶段将多个控制器定义为候选主控 制器时,在所述多个候选主控制器间发送具有优先级属性的第一协议报文;且所述发送模 块还用于发送第二协议报文至交换机;接收模块,用于接收各该候选主控制器发送的第一 协议报文;提取模块,用于在接收到所述第一协议报文后,分别依据所述第一协议报文的优 先级属性提取所述第一协议报文的优先级;比较模块,用于将提取到的所述第一协议报文 的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先 级是否高于所述第一协议报文的优先级;若是,则定义所述候选主控制器为主控制器,剩余 候选主控制器为备份控制器,调用所述发送模块在第一预设时间段内发送第二协议报文至 所述交换机,且在第一预设时间段内分别发送所述第一协议报文至各备份控制器;若否,则 定义所述候选主控制器为备份控制器,将所述备份控制器置于等待接收所述第一协议报文 的状态;判断模块,用于判断各该备份控制器在第二预设时间段内是否接收到所述第一协 议报文,若是,则调用所述提取模块和比较模块分别提取第一协议报文优先级,检测所述备 份控制器自身的优先级是否高于所述第一协议报文的优先级,若是,则定义所述备份控制 器为主控制器,并调用所述发送模块发送第二协议报文至所述交换机;若否,则调用所述发 送模块在所述第一预设时间段内分别发送所述第一协议报文至各备份控制器;若否,则定 义所述备份控制器为主控制器,调用所述发送模块发送第二协议报文至所述交换机。
[0014] 可选地,所述为软件定义网络控制器提供备份的系统还包括虚拟模块,所述虚拟 模块用于根据第一协议由所述多个控制器组成的虚拟控制器,为所述多个控制器和所述虚 拟控制器预先配置IP地址和优先级。
[0015] 可选地,所述比较模块还用于判断所述虚拟控制器的IP地址是否与所述多个候 选主控制器中的一个候选主控制器的IP地址重合,若重合,则表示与所述虚拟控制器的IP 地址重合的候选主控制器具有最高优先级,具有最高优先级的所述候选主控制器为主控制 器,剩余候选主控制器为备份控制器,所述主控制器在一预设时间段内给所述备份控制器 发送第一协议报文。
[0016] 如上所述,本发明的为软件定义网络控制器提供备份的方法及系统,具有以下有 益效果:
[0017] 本发明通过设置VRRP控制器组的虚拟控制器的IP地址,交换机不用感知所有的 控制器的IP地址,只需感知所述虚拟控制器的虚拟IP地址,交换机无需和每个控制器沟 通,VRRP控制器组中的主控制器会主动和交换机去建立联系,然后交换机只会和主控制器 交互。本发明解决了单点控制器的可靠性、扩展性、及性能方面的问题,增加了网络的可靠 性,实现了单一控制器可以应对跨多个地域的SDN网络,及实现了多个SDN控制器东西向的 扩展。

【专利附图】

【附图说明】
[0018] 图1显示为本发明的为软件定义网络控制器提供备份的方法流程图。
[0019] 图2显示为本发明的为软件定义网络控制器提供备份的系统实体结构图。
[0020] 图3显示为本发明的为软件定义网络控制器提供备份的系统中控制器原理结构 图。
[0021] 元件标号说明
[0022] 1 为软件定义网络控制器提供备份的系统
[0023] 11 控制器
[0024] 110 虚拟模块
[0025] 111 发送模块
[0026] 112 接收模块
[0027] 113 提取模块
[0028] 114 比较模块
[0029] 115 判断模块
[0030] 12 交换机
[0031] 13 虚拟控制器
[0032] S1 ?S10 步骤

【具体实施方式】
[0033] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施 例中的特征可以相互组合。
[0034] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构 想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸 绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也 可能更为复杂。
[0035] 本发明所述的为软件定义网络控制器提供备份的方法及系统的技术原理如下:
[0036] 在SDN环境中,数据平面和控制平面分离,作为数据平面的交换机和控制平面的 控制器相连,通过控制器负责制定转发策略来指导数据平面的交换机。本发明通过VRRP协 议建立一个虚拟控制器,称之为一个备份组。通过VRRP可以把虚拟控制器的责任动态分布 到具体的某台控制器上,这个虚拟的控制器拥有自己的IP地址(这个IP地址可以和备份 组内的某个控制器的地址相同,相同的则称为IP拥有者),备份控制器也有自己的IP地址。 交换机仅仅知道这个虚拟控制器的IP地址,而并不知道主控制器和备份控制器的IP地址。 如果备份组的主控制器坏掉,备份的控制器将会选举出一个新的主控制器,继续向交换机 提供服务。VRRP控制器组中,按优先级选举主控制器,VRRP协议中优先级的范围是0-255, 若VRRP控制器的IP地址和虚拟控制器的接口 IP地址相同,则该VRRP控制器被称为该IP 地址的所有者,IP地址所有者具有最高优先级:255。可配置的优先级范围是0-254。对于 相同优先级的候选控制器,按照IP地址大小顺序选举。VRRP还提供优先级抢占策略,如果 配置的高优先级,高优先级的备份路由器便会剥夺当前低优先级的主控控制器而成为新的 主控控制器。只有主控控制器会处理来自交换机的消息,并且去控制交换机,备份控制器也 处理来自交换机的消息,但是不会去控制交换机。备份控制器也会接受主控制器的VRRP报 文,和自己的优先级对比,如果优先级比自己的低,自己从备份控制器变成主控制器。同时, 备份控制器和主控制器会同步消息进行交换机信息和流表的同步,当从备份控制器变成主 控控制器,可以知道当前交换机最新的状态。
[0037] 实施例一
[0038] 本实施例提供一种为软件定义网络控制器提供备份的方法,应用于包括交换机和 多个控制器的网络系统中,请参阅图1,显示为为软件定义网络控制器提供备份的方法的流 程图,所述为软件定义网络控制器提供备份的方法包括:
[0039] S1,在初始阶段,初始化包括交换机和多个控制器的网络系统,将所述多个控制器 定义为候选主控制器,所述多个候选主控制器间发送具有优先级属性的第一协议报文,并 根据第一协议将所述多个控制器捆绑在一起创建一虚拟控制器,为所述多个控制器和所述 虚拟控制器预先配置IP地址和优先级。所述第一协议报文为虚拟路由器冗余协议(VRRP) 报文。其中,所述虚拟控制器也称之为控制器备份组。
[0040] S2,所述各该候选主控制器接收其他候选主控制器发送的所述第一协议报文,依 据所述第一协议报文的优先级属性提取所述第一协议报文的优先级。所述第一协议报文的 优先级范围在〇?255之间,最高优先级为255,其他可配置优先级的范围为0-254。
[0041] S3,所述多个候选主控制器分别将提取到的所述第一协议报文的优先级与各该候 选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第 一协议报文的优先级;若是,则执行步骤S4 ;若否,则执行步骤S7。所述步骤S3中将提取到 的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选 主控制器自身的优先级是否高于所述第一协议报文的优先级的步骤等效于判断所述虚拟 控制器的IP地址是否与所述多个候选主控制器中的一个候选主控制器的IP地址重合,若 重合,则执行步骤S4 ;若不重合,则执行步骤S5。
[0042] S4,经优先级比较之后,将优先级最高的候选主控制器定义为主控制器,即表示与 所述虚拟控制器的IP地址重合的候选主控制器具有最高优先级,具有最高优先级的所述 候选主控制器为主控制器,剩余候选主控制器为备份控制器。
[0043] S5,所述主控制器发送第二协议报文至所述交换机,所述交换机生成记录所述虚 拟控制器的IP地址和接收所述第二协议报文的入端口的端口号的映射表。所述第二协议 报文为地址解析协议(ARP)报文。其中第二协议报文的报文源IP是所述虚拟控制器的IP 地址,控制器本身的IP地址用于VRRP广播使用,所述交换机不感知控制器的IP地址。当 所述交换机收到第二协议报文,会根据生成的所述映射表向控制器发送基于OPEN FLOW协 议的第三协议报文,且转入步骤S8。
[0044] S6,所述主控制器在第一预设时间内分别给步骤S4中提及的各备份控制器发送 所述第一协议报文。
[0045] S7,经优先级之后,将候选主控制器自身的优先级不高于第一协议报文优先级的 候选主控制器定义为备份控制器,并将所述备份控制器置于等待接收所述第一协议报文的 状态,并转入步骤S8。
[0046] S8,判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文,若 否,则执行步骤S5 ;若是,则执行步骤S9。在本实施例中,本步骤S8是为了防止定义为主控 制器的控制器出现发生故障的现象。当在所述第二预设时间段内所述多个备份控制器未接 收到所述第一协议报文时,则表示所述主控制器发生故障,所述多个备份控制器宣告自己 为主控制器,在多个备份控制器中重新选举产生新的主控制器;新产生的所述主控制器给 所述交换机发送第二协议报文,所述交换机更新所述映射表。
[0047] S9,依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级,并判 断所述备份控制器自身的优先级是否高于所述第一协议报文的优先级,若是,则执行步骤 S10 ;若否,则表示经优先级比较之后,若所述备份控制器自身的优先级低于所述第一协议 报文的优先级,返回步骤S6。
[0048] S10,经优先级比较之后,若所述备份控制器自身的优先级高于所述第一协议报文 的优先级,则将优先级较高的备份控制器定义为主控制器,返回步骤S5 ;
[0049] 在本实施例所提供的为软件定义网络控制器提供备份的方法中还包括当在所述 另一预设时间段内所述多个备份控制器未接收到所述第一协议报文时,则表示所述主控制 器发生故障,所述多个备份控制器宣告自己为主控制器,在多个备份控制器中重新选举,产 生新的主控制器;新产生的主控制器给所述交换机发送第二协议报文,所述交换机更新所 述映射表。
[0050] 本实施例所述的为软件定义网络控制器提供备份的方法通过设置VRRP控制器组 的虚拟控制器的IP地址,交换机不用感知所有的控制器的IP地址,只需感知所述虚拟控制 器的虚拟IP地址,交换机无需和每个控制器沟通,VRRP控制器组中的主控制器会主动和交 换机去建立联系,然后交换机只会和主控制器交互。本发明解决了单点控制器的可靠性、扩 展性、及性能方面的问题,增加了网络的可靠性,实现了单一控制器可以应对跨多个地狱的 SDN网络,及实现了多个SDN控制器东西向的扩展。
[0051] 实施例二
[0052] 本实施例提供一种为软件定义网络控制器提供备份的系统1,请参阅图2,显示为 为软件定义网络控制器提供备份的系统的实体结构图,所述为软件定义网络控制器提供备 份的系统1包括多个控制器11、多个交换机12,其中将所述多个控制器11捆绑在一起创建 一虚拟控制器13。所述多个控制器11中包括主控制器和备份控制器。
[0053] 请参阅图3,显示为为软件定义网络控制器提供备份的系统中控制器原理结构图, 所述多个控制器11包括虚拟模块110、发送模块111、接收模块112、提取模块113、比较模 块114、及判断模块115。
[0054] 其中,所述发送模块111用于在初始阶段将多个控制器定义为候选主控制器时, 发送第一协议报文至其他所述控制器11,即其他所述候选主控制器,所述第一协议报文具 有优先级属性。所述第一协议报文为虚拟路由器冗余协议(VRRP)报文。在发送第一协议 报文至其他控制器11之前,所述虚拟模块110根据第一协议将所述多个控制器捆绑在一起 创建一虚拟控制器13,为所述多个控制器11和所述虚拟控制器13预先配置IP地址和优先 级。其中,所述虚拟控制器13也称之为控制器备份组。
[0055] 与所述发送模块111连接的接收模块112用于接收其他控制器11,即各该候选主 控制器发送的第一协议报文。
[0056] 与所述接收模块112连接的提取模块113用于在接收到所述第一协议报文后,分 别依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级。所述第一协议报 文的优先级范围在〇?255之间,最高优先级为255,其他可配置优先级的范围为0-254。
[0057] 与所述提取模块113连接的比较模块114用于将提取到的所述第一协议报文的 优先级与各该候选主控制器自身的优先级进行比较,检测控制器11 (各该候选主控制器) 自身的优先级是否高于所述第一协议报文的优先级;若是,则定义优先级最高的控制器 11 (优先级最高的候选主控制器)为主控制器,剩余控制器11 (剩余候选主控制器)为备 份控制器,;若否,则定义候选主控制器自身的优先级不高于第一协议报文优先级的候选主 控制器(控制器11)为备份控制器,将所述备份控制器置于等待接收所述第一协议报文的 状态。所述比较模块114包括定时器A,所述定时器A用于启动所述第一预设时间段。所 述比较模块114将提取到的所述第一协议报文的优先级与控制器自身的优先级进行比较, 检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级的功能等效于 判断所述虚拟控制器的IP地址是否与所述多个候选主控制器中的一个候选主控制器的IP 地址重合,若重合,则表示与所述虚拟控制器的IP地址重合的候选主控制器具有最高优先 级,具有最高优先级的所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,所 述主控制器在一预设时间段内给所述备份控制器发送第一协议报文,若不重合,定义优先 级未高于第一协议报文优先级的控制器11为备份控制器,并将这些控制器11置于等待接 收所述第一协议报文的状态。
[0058] 在本实施例中,经优先级比较之后,所述发送模块111还用于将第二协议报文发 送至所述交换机12。所述交换机12用于生成记录所述虚拟控制器13的IP地址和接收所 述第二协议报文的入端口的端口号的映射表。所述第二协议报文为地址解析协议(ARP)报 文。其中第二协议报文的报文源IP是所述虚拟控制器13的IP地址,控制器本身的IP地 址用于VRRP广播使用,所述交换机不感知控制器的IP地址。当所述交换机12收到第二协 议报文,会根据生成的所述映射表向控制器11发送基于OPEN FLOW协议的第三协议报文。 且所述发送模块111还用于在所述第一预设时间段内分别发送所述第一协议报文至各备 份控制器。
[0059] 与所述比较模块114连接的判断模块115用于判断在第二预设时间段内多个备份 控制器是否接收到所述第一协议报文,若否,则继续调用所述发送模块111,所述发送模块 111将第二协议报文发送至所述交换机12。所述交换机12用于生成记录所述虚拟控制器 13的IP地址和接收所述第二协议报文的入端口的端口号的映射表。所述第二协议报文为 地址解析协议(ARP)报文。其中第二协议报文的报文源IP是所述虚拟控制器13的IP地 址,控制器本身的IP地址用于VRRP广播使用,所述交换机不感知控制器的IP地址。当所 述交换机12收到第二协议报文,会根据生成的所述映射表向控制器11发送基于OPEN FLOW 协议的第三协议报文,。所述判断模块115具有定时器B,所述定时器B用于启动所述第二 预设时间段;若是,则调用所述提取模块113和比较模块114分别用于根据检测在第二预 设时间段内备份控制器接收的所述第一协议报文的优先级属性提取所述第一协议报文的 优先级,检测所述备份控制器自身的优先级是否高于所述第一协议报文的优先级,若是,则 将优先级较高的备份控制器定义为主控制器,令所述发送模块111用于将第二协议报文发 送至所述交换机12。所述交换机12用于生成记录所述虚拟控制器13的IP地址和接收所 述第二协议报文的入端口的端口号的映射表。所述第二协议报文为地址解析协议(ARP)报 文。其中第二协议报文的报文源IP是所述虚拟控制器13的IP地址,控制器本身的IP地 址用于VRRP广播使用,所述交换机不感知控制器的IP地址。当所述交换机12收到第二协 议报文,会根据生成的所述映射表向控制器11发送基于OPEN FLOW协议的第三协议报文。 若否,令所述发送模块111发送第一协议报文。
[0060] 本发明所述的为软件定义网络控制器提供备份的方法及系统通过设置VRRP控制 器组的虚拟控制器的IP地址,交换机不用感知所有的控制器的IP地址,只需感知所述虚拟 控制器的虚拟IP地址,交换机无需和每个控制器沟通,VRRP控制器组中的主控制器会主动 和交换机去建立联系,然后交换机只会和主控制器交互。本发明解决了单点控制器的可靠 性、扩展性、及性能方面的问题,增加了网络的可靠性,实现了单一控制器可以应对跨多个 地狱的SDN网络,及实现了多个SDN控制器东西向的扩展。
[0061] 所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0062] 述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉 此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此, 举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成 的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1. 一种为软件定义网络控制器提供备份的方法,应用于包括交换机和多个控制器的网 络系统中,其特征在于,所述方法包括以下步骤: 步骤一,在初始阶段,将多个控制器定义为候选主控制器,所述多个候选主控制器间发 送具有优先级属性的第一协议报文; 步骤二,各该候选主控制器接收所述第一协议报文,依据所述第一协议报文的优先级 属性提取所述第一协议报文的优先级; 步骤三,将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进 行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级; 步骤四,若所述候选主控器自身的优先级高于所述第一协议报文的优先级,则定义所 述候选主控制器为主控制器,剩余候选主控制器为备份控制器; 步骤五,所述主控制器发送第二协议报文至交换机; 步骤六,所述主控制器在第一预设时间内分别发送所述第一协议报文至各备份控制 器; 步骤七,判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文;若 是,提取报文优先级,判断所述备份控制器自身的优先级是否高于所述第一协议报文的优 先级;若所述备份控制器自身的优先级高于所述第一协议报文的优先级,定义所述备份控 制器为主控制器,返回步骤五;若所述备份控制器自身的优先级低于所述第一协议报文的 优先级,返回步骤六;若否,则定义所述备选主控制器为主控制器,返回步骤五。
2. 根据权利要求1所述的为软件定义网络控制器提供备份的方法,其特征在于:所述 为软件定义网络控制器提供备份的方法还包括: 若所述候选主控器自身的优先级不高于所述第一协议报文的优先级,将所述候选主控 制器定义为备份控制器,并将所述备份控制器置于等待接收所述第一协议报文的状态,转 入步骤七。
3. 根据权利要求1所述的为软件定义网络控制器提供备份的方法,其特征在于:所述 为软件定义网络控制器提供备份的方法中将提取到的所述第一协议报文的优先级与各该 候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述 第一协议报文的优先级的步骤等效于判断所述虚拟控制器的IP地址是否与所述多个候选 主控制器中的一个候选主控制器的IP地址重合;若重合,则表示与所述虚拟控制器的IP 地址重合的候选主控制器具有最高优先级,具有最高优先级的所述候选主控制器为主控制 器,剩余候选主控制器为备份控制器,所述主控制器在所述第一预设时间段内给所述备份 控制器发送所述第一协议报文。
4. 根据权利要求3所述的为软件定义网络控制器提供备份的方法,其特征在于:所述 第一协议报文的优先级范围在〇?255之间,最高优先级为255。
5. 根据权利要求1所述的为软件定义网络控制器提供备份的方法,其特征在于:所述 为软件定义网络提供备份的方法还包括: 所述候选主控制器被定义为主控制器时,所述主控制器发送第二协议报文至所述交换 机,所述交换机生成记录所述虚拟控制器的IP地址和接收所述第二协议报文的入端口的 端口号的映射表。
6. 根据权利要求5所述的为软件定义网络控制器提供备份的方法,其特征在于:当在 所述第二预设时间段内所述多个备份控制器未接收到所述第一协议报文时,则表示所述主 控制器发生故障,所述多个备份控制器宣告自己为主控制器,在多个备份控制器中重新选 举产生新的主控制器;新产生的所述主控制器给所述交换机发送第二协议报文,所述交换 机更新所述映射表。
7. 根据权利要求1所述的为软件定义网络控制器提供备份的方法,其特征在于:所述 第一协议报文为虚拟路由器冗余协议报文,所述第二协议报文为地址解析协议报文。
8. -种为软件定义网络控制器提供备份的系统,其特征在于,包括: 多个控制器,所述多个控制器包括: 发送模块,用于在初始阶段将多个控制器定义为候选主控制器时,在所述多个候选主 控制器间发送具有优先级属性的第一协议报文;且所述发送模块还用于发送第二协议报文 至交换机; 接收模块,用于接收各该候选主控制器发送的第一协议报文; 提取模块,用于在接收到所述第一协议报文后,分别依据所述第一协议报文的优先级 属性提取所述第一协议报文的优先级; 比较模块,用于将提取到的所述第一协议报文的优先级与各该候选主控制器自身的 优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先 级;若是,则定义所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,调用所 述发送模块在第一预设时间段内发送第二协议报文至所述交换机,且在第一预设时间段内 分别发送所述第一协议报文至各备份控制器;若否,则定义所述候选主控制器为备份控制 器,将所述备份控制器置于等待接收所述第一协议报文的状态; 判断模块,用于判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报 文,若是,则调用所述提取模块和比较模块分别提取第一协议报文优先级,检测所述备份控 制器自身的优先级是否高于所述第一协议报文的优先级,若是,则定义所述备份控制器为 主控制器,并调用所述发送模块发送第二协议报文至所述交换机;若否,则调用所述发送模 块在所述第一预设时间段内分别发送所述第一协议报文至各备份控制器;若否,则定义所 述备份控制器为主控制器,调用所述发送模块发送第二协议报文至所述交换机。
9. 根据权利要求8所述的为软件定义网络控制器提供备份的系统,其特征在于:所述 为软件定义网络控制器提供备份的系统还包括虚拟模块,所述虚拟模块用于根据第一协议 由所述多个控制器组成的虚拟控制器,为所述多个控制器和所述虚拟控制器预先配置IP 地址和优先级。
10. 根据权利要求9所述的为软件定义网络控制器提供备份的系统,其特征在于:所述 比较模块还用于判断所述虚拟控制器的IP地址是否与所述多个候选主控制器中的一个候 选主控制器的IP地址重合,若重合,则表示与所述虚拟控制器的IP地址重合的候选主控制 器具有最高优先级,具有最高优先级的所述候选主控制器为主控制器,剩余候选主控制器 为备份控制器,所述主控制器在一预设时间段内给所述备份控制器发送第一协议报文。
【文档编号】H04L12/703GK104158642SQ201410387804
【公开日】2014年11月19日 申请日期:2014年8月8日 优先权日:2014年8月8日
【发明者】朱亚娟 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1