一种流量切换的方法和设备的制造方法

xiaoxiao2021-2-23  104

一种流量切换的方法和设备的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其是涉及一种流量切换的方法和设备。
【背景技术】
[0002] OpenFlow是SDN(Software Defined化twork,软件定义网络)架构中定义的一个 控制器与转发层之间的通信接口标准。化enFlow的思想是分离控制平面和数据平面,二者 之间使用标准的协议通信。在化enFlow网络中,包括网络设备(如化enFlow Switch)和 控制器(如化enFlow Controller),且网络设备和控制器之间通过化enFlow通道通信。其 中,控制器用于根据用户的配置或者动态运行的协议生成流表(Flow T油le),并将流表发 送到网络设备。网络设备用于接收来自控制器的流表,并根据流表来匹配和处理报文。
[0003] 为了提高化enFlow网络的可靠性,在化enFlow网络中部署多个控制器,送多个控 制器组成一个控制器集群。在控制器集群内,一个控制器作为Leader(领导者)控制器,其 它控制器作为Member (成员)控制器。在控制器集群内包括多个备份组,每个备份组包括 一个Master (主)控制器和一个Slave (从)控制器。若Master控制器失效,则Slave控 制器成为新的Master控制器。
[0004] 进一步的,网络设备与一个备份组内的Master控制器和Slave控制器分别建立 TCP (Transmission Control Protocol,传输控制协议)连接。其中,在Master控制器未失 效时,网络设备与Master控制器进行通信,即Master控制器将流表下发给网络设备,且网 络设备将相关流量发送给Master控制器进行处理。在Master控制器失效时,网络设备与 Slave控制器进行通信,即Slave控制器将流表下发给网络设备,且网络设备将相关流量发 送给Slave控制器进行处理。
[0005] 在Master控制器未失效时,网络设备只与Master控制器进行通信,当Master控 制器需要处理大量流量时,其它控制器无法分担该Master控制器的流量,限制了控制器集 群应对突发状况的处理能力,降低了控制器集群的可靠性。

【发明内容】

[0006] 本发明实施例提供一种流量切换的方法,控制器集群内包括多个备份组,每个备 份组包括主Master控制器和从Slave控制器,所述方法包括W下步骤:
[0007] 备份组内的Master控制器监控所述Master控制器的处理性能信息;
[0008] 在所述Master控制器的处理性能信息满足预设策略时,所述Master控制器统计 连接到所述Master控制器的各网络设备的流量;
[0009] 所述Master控制器根据流量的统计结果,将连接到所述Master控制器的网络设 备的流量切换到所述控制器集群内的其它备份组内。
[0010] 所述Master控制器根据流量的统计结果,将连接到所述Master控制器的网络设 备的流量切换到所述控制器集群内的其它备份组内的过程,具体包括:
[0011] 所述Master控制器根据流量的统计结果,将各网络设备的流量按照从低到高的 顺序或者从高到低的顺序进行排序;所述Master控制器将流量最低的网络设备的流量切 换到所述控制器集群内的其它备份组内;
[0012] 如果所述Master控制器的处理性能信息仍满足预设策略,则继续将当前流量最 低的网络设备的流量切换到所述控制器集群内的其它备份组内;W此类推,一直到所述 Master控制器的处理性能信息不满足预设策略。
[0013] 所述Master控制器根据流量的统计结果,将连接到所述Master控制器的网络设 备的流量切换到所述控制器集群内的其它备份组内的过程,具体包括:
[0014] 所述Master控制器将其它备份组内的Master控制器的IP地址和Slave控制器的 IP地址发送给连接到所述Master控制器的网络设备;由所述网络设备利用所述其它备份 组内的Master控制器的IP地址在所述网络设备与所述其它备份组内的Master控制器之 间建立连接,并利用所述其它备份组内的Slave控制器的IP地址在所述网络设备与所述其 它备份组内的Slave控制器之间建立连接,并断开所述网络设备与所述备份组内的Master 控制器之间的连接,并断开所述网络设备与所述备份组内的Slave控制器之间的连接;
[0015] 其中,网络设备的流量包括所述Master控制器与所述网络设备之间交互的 OpenFlow协议报文、数据包packet入in报文、packet出out报文;
[0016] 所述其它备份组内的Master控制器的处理性能信息不满足预设策略。
[0017] 所述方法进一步包括:
[0018] 如果当前只有一个网络设备连接到所述Master控制器,且所述Master控制器的 处理性能信息满足预设策略,所述备份组内的Slave控制器的处理性能信息不满足预设策 略,则所述Master控制器将所述网络设备的packet out报文发送给所述Slave控制器,由 所述Slave控制器将所述网络设备的packet out报文发送给所述网络设备;和/或,所述 Master控制器通知所述网络设备按照负载分担模式发送packet in报文,由所述网络设备 按照负载分担模式将packet in报文发送给所述Master控制器或者所述Slave控制器。
[0019] 所述处理性能信息包括W下之一或者任意组合;报文处理能力、中央处理器CPU 使用率、内存使用率;当所述Master控制器当前的报文处理速率大于报文处理能力的预设 第一阔值时,所述Master控制器的处理性能信息满足预设策略;当所述Master控制器的 CPU使用率大于预设第二阔值时,所述Master控制器的处理性能信息满足预设策略;当所 述Master控制器的内存使用率大于预设第Η阔值时,所述Master控制器的处理性能信息 满足预设策略。
[0020] 本发明实施例提供一种主Master控制器,控制器集群内包括多个备份组,每个备 份组包括Master控制器和从Slave控制器,所述Master控制器包括:
[0021] 监控模块,用于监控所述Master控制器的处理性能信息;
[0022] 统计模块,用于在所述Master控制器的处理性能信息满足预设策略时,统计连接 到所述Master控制器的各网络设备的流量;
[0023] 切换模块,用于根据流量的统计结果,将连接到所述Master控制器的网络设备的 流量切换到所述控制器集群内的其它备份组内。
[0024] 所述切换模块,具体用于根据流量的统计结果,将各网络设备的流量按照从低到 高的顺序或者从高到低的顺序进行排序;将流量最低的网络设备的流量切换到所述控制器 集群内的其它备份组内;
[00巧]如果所述Master控制器的处理性能信息仍满足预设策略,则继续将当前流量最 低的网络设备的流量切换到所述控制器集群内的其它备份组内;W此类推,一直到所述 Master控制器的处理性能信息不满足预设策略。
[0026] 所述切换模块,进一步用于将其它备份组内的Master控制器的IP地址和Slave 控制器的IP地址发送给连接到所述Master控制器的网络设备;由所述网络设备利用所述 其它备份组内的Master控制器的IP地址在所述网络设备与所述其它备份组内的Master 控制器之间建立连接,并利用所述其它备份组内的Slave控制器的IP地址在所述网络设备 与所述其它备份组内的Slave控制器之间建立连接,并断开所述网络设备与所述备份组内 的Master控制器之间的连接,并断开所述网络设备与所述备份组内的Slave控制器之间的 连接;
[0027] 其中,网络设备的流量包括所述Master控制器与所述网络设备之间交互的 OpenFlow协议报文、数据包packet入in报文、packet出out报文;
[0028] 所述其它备份组内的Master控制器的处理性能信息不满足预设策略。
[0029] 所述切换模块,还用于如果当前只有一个网络设备连接到所述Master控制器,且 所述Master控制器的处理性能信息满足预设策略,所述Master控制器所在的备份组内的 Slave控制器的处理性能信息不满足预设策略,则将所述网络设备的packet out报文发送 给所述Slave控制器,由所述Slave控制器将所述网络设备的packet out报文发送给所述 网络设备;和/或,通知所述网络设备按照负载分担模式发送packet in报文,由所述网络 设备按照负载分担模式将packet in报文发送给所述Master控制器或者所述Slave控制 器。
[0030] 所述处理性能信息包括W下之一或者任意组合;报文处理能力、中央处理器CPU 使用率、内存使用率;当所述Master控制器当前 的报文处理速率大于报文处理能力的预设 第一阔值时,所述Master控制器的处理性能信息满足预设策略;当所述Master控制器的 CPU使用率大于预设第二阔值时,所述Master控制器的处理性能信息满足预设策略;当所 述Master控制器的内存使用率大于预设第Η阔值时,所述Master控制器的处理性能信息 满足预设策略。
[0031] 基于上述技术方案,本发明实施例中,通过监控控制器集群内的各Master控制器 的处理性能信息,如果Master控制器的处理性能信息满足预设策略时,可W将该Master控 制器上的流量切换到控制器集群内的其它备份组内,从而使得其它备份组内的控制器能够 分担该Master控制器的流量,大大提高了控制器集群应对突发状况的处理能力,提高了整 个控制器集群的可靠性。
【附图说明】
[0032] 图1是本发明实施例的应用场景意图;
[0033] 图2是本发明实施例提出的一种流量切换的方法流程示意图;
[0034] 图3是本发明实施例提出的一种Master控制器的结构示意图。
【具体实施方式】
[0035] 针对现有技术中存在的问题,本发明实施例提供一种流量切换的方法,该方法应 用于包括网络设备和多个控制器的SDN网络中,在SDN网络中部署了多个控制器,且送多个 控制器组成一个控制器集群。在该控制器集群内,一个控制器作为Leader控制器,其它控 制器作为Member控制器。在该控制器集群内包括多个备份组,每个备份组内均包括Master 控制器和Slave控制器,如每个备份组内均包括了一个Master控制器和一个Slave控制 器。
[0036] W图1为本发明实施例的应用场景示意图,控制器集群内包括控制器1、控制器2、 控制器3和控制器4。其中,控制器1为Leader控制器,控制器2、控制器3和控制器4均 为Member控制器。进一步的,在该控制器集群内包括备份组1和备份组2,该备份组1内包 括控制器1和控制器2,控制器1为Master控制器,且控制器2为Slave控制器。该备份组 2内包括控制器3和控制器4,控制器3为Master控制器,且控制器4为Slave控制器。
[0037] 在上述应用场景下,如图2所示,该流量切换的方法具体包括W下步骤:
[0038] 步骤201,Master控制器监控本Master控制器的处理性能信息。
[0039] 其中,处理性能信息具体包括但不限于W下之一或者任意组合:报文处理能力、 CPU (Central Processing Unit,中央处理器)使用率、内存使用率。
[0040] 本发明实施例中,在Master控制器的处理性能信息满足预设策略时,执行步骤 202 ;在Master控制器的处理性能信息不满足预设策略时,不执行步骤202,而是由Master 控制器继续监控本Master控制器的处理性能信息。
[0041] 当处理性能信息为报文处理能力时,当Master控制器当前的报文处理速率大于 报文处理能力的预设第一阔值(预设第一阔值可W根据实际经验任意设定,如70%)时,女口 Master控制器当前的报文处理速率已经达到Master控制器的报文处理能力的70 %时,贝U 说明Master控制器的处理性能信息满足预设策略,否则,说明Master控制器的处理性能信 息不满足预设策略。
[0042] 当处理性能信息为CPU使用率时,当Master控制器的CPU使用率大于预设第二阔 值(预设第二阔值可根据实际经验任意设定,如95%)时,如Master控制器当前的CPU使用 率已超过95%时,则说明Master控制器的处理性能信息满足预设策略,否则,说明Master 控制器的处理性能信息不满足预设策略。
[0043] 当处理性能信息为内存使用率时,当Master控制器的内存使用率大于预设第Η 阔值(预设第Η阔值可W根据实际经验任意设定,如90%)时,如Master控制器当前的内 存使用率已超过90%时,则说明Master控制器的处理性能信息满足预设策略,否则,说明 Master控制器的处理性能信息不满足预设策略。
[0044] 当处理性能信息具体包括报文处理能力、CPU使用率、内存使用率时,当Master控 制器当前的报文处理速率不大于报文处理能力的预设第一阔值,且Master控制器的CPU 使用率不大于预设第二阔值,且Master控制器的内存使用率不大于预设第Η阔值时,说明 Master控制器的处理性能信息不满足预设策略;否则,说明Master控制器的处理性能信息 满足预设策略。
[0045] 步骤202,在Master控制器的处理性能信息满足预设策略时,则Master控制器统 计连接到本Master控制器的各网络设备的流量。
[0046] 本发明实施例中,网络设备的流量具体包括但不限于;Master控制器与网络设备 之间交互的化enFlow协议报文(如用于传输流表信息的报文、用于传输组表信息的报文 等)、网络设备发送给Master控制器的packet (数据包)in (入)报文、Master控制器发送 给网络设备的packet out (出)报文。
[0047] 当Master控制器的报文上送达到其处理能力的70%,或者Master控制器的CPU 使用率超过95%,或者Master控制器的内存使用率超过90%时,则说明Master控制器的 处理性能信息满足预设策略,此时该Master控制器发出告警信息。当Master控制器发出 告警信息之后,在Master控制器上对各网络设备的流量进行分析,如根据各网络设备的 UUID (Universally Unique Identifier,通用唯一识别码),在Master控制器上统计各网络 设备的流量(如化enFlow协议报文、packet in报文、packet out报文、总流量),如表1 所示。
[0048] 表 1
[0049]
[0050] 步骤203, Master控制器根据流量的统计结果,将连接到本Master控制器的网络 设备的流量切换到控制器集群内的其它备份组内。
[0051] 本发明实施例中,切换到的控制器集群内的其它备份组是指:其它备份组内的 Master控制器的处理性能信息不满足预设策略的备份组。
[0052] 为了获知各Master控制器的处理性能信息是否满足预设策略,本发明实施例中, 各控制器均需要监控本控制器的处理性能信息。Member控制器还需要将本Member控制器 的处理性能信息发送给Leader控制器。基于此,Leader控制器能够获知控制器集群内的 所有控制器的处理性能信息,W处理性能信息为报文处理能力为例,则Leader控制器可W 维护表2所示的处理性能信息表。进一步的,Leader控制器将所有控制器的处理性能信息 发送给各Member控制器,继而由各Member控制器维护表2所示的处理性能信息表。
[0053] 基于表2所示的处理性能信息表,Master控制器可W获知控制器集群内有哪 些Master控制器的处理性能信息当前不满足预设策略,继而可W确定出处理性能最好的 Master控制器所在的备份组为流量切换的目的备份组。例如,由于备份组1内的控制器 1 (Master控制器)的处理性能信息满足预设策略,备份组2内的Master控制器(控制器 3)的处理性能信息未满足预设策略,因此控制器1需要将连接到本控制器1的网络设备的 流量切换到备份组2。
[0054] 表 2
[00 巧]
[0056] 本发明实施例中,Master控制器根据流量的统计结果,将连接到本Master控制 器的网络设备的流量切换到控制器集群内的其它备份组内的过程,具体包括但不限于: Master控制器根据流量的统计结果,将各网络设备的流量(即各网络设备的总流量)按照 从低到高的顺序或者从高到低的顺序进行排序;之后,Master控制器将流量最低的网络设 备的流量切换到控制器集群内的其它备份组内;如果本Master控制器的处理性能信息仍 满足预设策略,则继续将当前流量最低的网络设备的流量切换到控制器集群内的其它备份 组内;W此类推,一直到Master控制器的处理性能信息不满足预设策略。
[0057] 例如,控制器1 (Master控制器)对各网络设备的流量按照从高到低的顺 序进行排序后的流量统计结果如表1所示,控制器1将流量最低的网络设备(即 9c:2d:82:21:e2:lf:el:04的网络设备)的流量切换到备份组2内。在流量切换之后,女口 果控制器1的处理性能信息仍满足预设策略,则控制器1继续将当前流量最低的网络设备 (即9c:2d:82:21:e2:lf:el:03的网络设备)的流量切换到备份组2内。W此类推,一直到 控制器1的处理性能信息不满足预设策略,则不再需要将当前流量最低的网络设备的流量 切换到备份组2内。
[005引本发明实施例中,Master控制器将连接到Master控制器的网络设备的流量切换 到控制器集群内的其它备 份组内的过程,具体包括但不限于;Master控制器将其它备份组 内的Master控制器的IP地址和Slave控制器的IP地址发送给连接到Master控制器的 网络设备;由网络设备利用其它备份组内的Master控制器的IP地址在网络设备与其它 备份组内的Master控制器之间建立连接,并利用其它备份组内的Slave控制器的IP地址 在网络设备与其它备份组内的Slave控制器之间建立连接,并断开网络设备与备份组内的 Master控制器之间的连接,并断开网络设备与备份组内的Slave控制器之间的连接。
[0059] 例如,控制器1将备份组2内的控制器3的IP地址W及控制器4的IP地址发送 给连接到控制器1和控制器2的网络设备1。之后,网络设备1利用控制器3的IP地址,在 网络设备1与控制器3之间建立连接(如TCP连接),并利用控制器4的IP地址,在网络设 备1与控制器4之间建立连接(如TCP连接)。之后,网络设备1断开网络设备1与备份组 1内的控制器1之间的连接,并断开网络设备1与备份组1内的控制器2之间的连接。
[0060] 在上述过程中,需要先建立网络设备1与控制器3的TCP连接,并建立网络设备1 与控制器4的TCP连接,后断开网络设备1与控制器1的TCP连接,并断开网络设备1与控 制器2的TCP连接,从而保证流量的无缝迁移。
[0061] 基于上述技术方案,本发明实施例中,通过监控控制器集群内的各Master控制器 的处理性能信息,如果Master控制器的处理性能信息满足预设策略时,可W将该Master控 制器上的流量切换到控制器集群内的其它备份组内,从而使得其它备份组内的控制器能够 分担该Master控制器的流量,大大提高了控制器集群应对突发状况的处理能力,提高了整 个控制器集群的可靠性。
[0062] 本发明实施例中,如果当前只有一个网络设备连接到Master控制器,且Master控 制器的处理性能信息满足预设策略,且Master控制器所在的备份组内的Slave控制器的 处理性能信息不满足预设策略,则;Master控制器将该网络设备的packet out报文发送给 Slave控制器,由Slave控制器将该网络设备的packet out报文发送给该网络设备;和/ 或,Master控制器通知该网络设备按照负载分担模式发送packet in报文,由该网络设备 在发送packet in报文时,按照负载分担模式将packet in报文发送给Master控制器或者 Slave控制器。
[0063] 例如,控制器1 (Master控制器)将9c: 2d: 82:21 :e2: If: el: 04的网络设备的流 量切换到备份组2,将9c: 2d: 82:21: e2:1 f: e 1:03的网络设备的流量切换到备份组2,将 9c:2d:82:21:e2:lf:el:02的网络设备的流量切换到备份组2后,如果控制器1的处理性能 信息仍满足预设策略,由于当前只有9c:2d:82:21:e2:lf:el:01的网络设备连接到控制器 1,且控制器2 (Slave控制器)的处理性能信息不满足预设策略,因此控制器1将该网络设 备的packet out报文发送给控制器2,控制器2将网络设备的packet out报文发送给网络 设备;和/或,控制器1通知网络设备按照负载分担模式发送packet in报文,由网络设备 在发送packet in报文时,按照负载分担模式将packet in报文发送给控制器1或者控制 器2。
[0064] 其中,当Master控制器处理报文达到其处理能力的阔值与Slave控制器处理报文 达到其处理能力的阔值之间相差超过30 %时,则Master控制器将网络设备的packet out 报文发送给Slave控制器,并由Slave控制器将网络设备的packet out报文发送给网络设 备。由于Master控制器与Slave控制器之间的消息同步比较快,因此可W通过Slave控制 器分担Master控制器的部分流量。
[0065] 在将packet out报文发送给Slave控制器进行处理之后,如果Master控制器 的处理性能信息仍然满足预设策略,且Slave控制器的处理性能信息不满足预设策略,贝U Master控制器通过netconf (网络配置)协议向网络设备下发一种能力,该能力用于通知网 络设备按照负载分担模式发送packet in报文,从而使网络设备在发送packet in报文时, 按照负载分担模式,通过主通道(即网络设备与Master控制器之间的TCP连接)和备通道 (即网络设备与Slave控制器之间的TCP连接)将packet in报文平均发送给备份组内的 Master控制器和Slave控制器。由于Master控制器和Slave控制器处理packet in报文 的机制是一样的,Slave控制器只需要将packet in报文的处理结果通知给Master控制器 即可,从而缓解了 Master控制器的处理压力,提高报文的处理能力。
[0066] 综上所述,本发明实施例中,Master控制器通过监控一个网络设备的上送通道的 流量,在该网络设备的流量导致Master控制器的处理性能信息满足预设策略时,Master控 制器可W将本Master控制器上的流量切换到Slave控制器上,从而使得Slave控制器能够 分担该Master控制器的流量,大大提高了控制器集群应对突发状况的处理能力,提高了整 个控制器集群的可靠性。
[0067] 基于与上述方法同样的发明构思,本发明实施例中还提供了一种主Master控制 器,控制器集群内包括多个备份组,每个备份组包括Master控制器和从Slave控制器,如图 3所示,所述Master控制器具体包括:
[0068] 监控模块11,用于监控所述Master控制器的处理性能信息;
[0069] 统计模块12,用于在所述Master控制器的处理性能信息满足预设策略时,统计连 接到所述Master控制器的各网络设备的流量;
[0070] 切换模块13,用于根据流量的统计结果,将连接到所述Master控制器的网络设备 的流量切换到所述控制器集群内的其它备份组内。
[0071] 所述切换模块13,具体用于根据流量的统计结果,将各网络设备的流量按照从低 到高的顺序或者从高到低的顺序进行排序;将流量最低的网络设备的流量切换到所述控制 器集群内的其它备份组内;
[0072] 如果所述Master控制器的处理性能信息仍满足预设策略,则继续将当前流量最 低的网络设备的流量切换到所述控制器集群内的其它备份组内;W此类推,一直到所述 Master控制器的处理性能信息不满足预设策略。
[0073] 所述切换模块13,进一步用于将其它备份组内的Master控制器的IP地址和 Slave控制器的IP地址发送给连接到所述Master控制器的网络设备;由所述网络设备利 用所述其它备份组内的Master控制器的IP地址在所述网络设备与所述其它备份组内的 Master控制器之间建立连接,并利用所述其它备份组内的Slave控制器的IP地址在所述 网络设备与所述其它备份组内的Slave控制器之间建立连接,并断开所述网络设备与所述 备份组内的Master控制器之间的连接,并断开所述网络设备与所述备份组内的Slave控制 器之间的连接;其中,网络设备的流量包括所述Master控制器与所述网络设备之间交互的 OpenFlow协议报文、数据包packet入in报文、packet出out报文;
[0074] 所述其它备份组内的Master控制器的处理性能信息不满足预设策略。
[00巧]所述切换模块13,还用于如果当前只有一个网络设备连接到所述Master控制器, 且所述Master控制器的处理性能信息满足预设策略,所述Master控制器所在的备份组内 的Slave控制器的处理性能信息不满足预设策略,则将所述网络设备的packet out报文发 送给所述Slave控制器,由所述Slave控制器将所述网络设备的packet out报文发送给所 述网络设备;和/或,通知所述网络设备按照负载分担模式发送packet in报文,由所述网 络设备按照负载分担模式将packet in报文发送给所述Master控制器或者所述Slave控 制器。
[0076] 本发明实施例中,所述处理性能信息具体包括但不限于W下之一或者任意组合: 报文处理能力、中央处理器CPU使用率、内存使用率;其中,当所述Master控制器当前的报 文处理速率大于报文处理能力的预设第一阔值时,则所述Master控制器的处理性能信息 满足预设策略;当所述Master控制器的CPU使用率大于预设第二阔值时,则所述Master控 制器的处理性能信息满足预设策略;当所述Master控制器的内存使用率大于预设第Η阔 值时,则所述Master控制器的处理性能信息满足预设策略。
[0077] 其中,本发明装置的各个模块可W集成于一体,也可W分离部署。上述模块可W合 并为一个模块,也可W进一步拆分成多个子模块。
[0078 ] 通过W上的实施方式的描述,本领域的技术人员可W清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可w通过硬件,但很多情况下前者是更 佳的实施方式。基于送样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用W使得一台计算机设备(可W是个人计算机,服务器,或者网络设备等)执行本发 明各个实施例所述的方法。本领域技术人员可W理解附图只是一个优选实施例的示意图, 附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可W理解实施例中 的装置中的模块可W按照实施例描述进行分布于实施例的装置中,也可W进行相应变化位 于不同于本实施例的一个或多个装置中。上述实施例的模块可W合并为一个模块,也可W 进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。W 上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人 员能思之的变化都应落入本发明的保护范围。
【主权项】
1. 一种流量切换的方法,控制器集群内包括多个备份组,每个备份组包括主Master控 制器和从Slave控制器,其特征在于,所述方法包括以下步骤: 备份组内的Master控制器监控所述Master控制器的处理性能信息; 在所述Master控制器的处理性能信息满足预设策略时,所述Master控制器统计连接 到所述Master控制器的各网络设备的流量; 所述Master控制器根据流量的统计结果,将连接到所述Master控制器的网络设备的 流量切换到所述控制器集群内的其它备份组内。2. 如权利要求1所述的方法,其特征在于,所述Master控制器根据流量的统计结果,将 连接到所述Master控制器的网络设备的流量切换到所述控制器集群内的其它备份组内的 过程,具体包括以下步骤: 所述Master控制器根据流量的统计结果,将各网络设备的流量按照从低到高的顺序 或者从高到低的顺序进行排序;所述Master控制器将流量最低的网络设备的流量切换到 所述控制器集群内的其它备份组内; 如果所述Master控制器的处理性能信息仍满足预设策略,则继续将当前流量最低的 网络设备的流量切换到所述控制器集群内的其它备份组内;以此类推,一直到所述Master 控制器的处理性能信息不满足预设策略。3. 如权利要求2所述的方法,其特征在于,所述Master控制器根据流量的统计结果,将 连接到所述Master控制器的网络设备的流量切换到所述控制器集群内的其它备份组内的 过程,具体包括以下步骤: 所述Master控制器将其它备份组内的Master控制器的IP地址和Slave控制器的IP地址发送给连接到所述Master控制器的网络设备;由所述网络设备利用所述其它备份组 内的Master控制器的IP地址在所述网络设备与所述其它备份组内的Master控制器之间 建立连接,并利用所述其它备份组内的Slave控制器的IP地址在所述网络设备与所述其它 备份组内的Slave控制器之间建立连接,并断开所述网络设备与所述备份组内的Master控 制器之间的连接,并断开所述网络设备与所述备份组内的Slave控制器之间的连接; 其中,网络设备的流量包括所述Master控制器与所述网络设备之间交互的OpenFlow协议报文、数据包packet入in报文、packet出out报文; 所述其它备份组内的Master控制器的处理性能信息不满足预设策略。4. 如权利要求1所述的方法,其特征在于,所述方法进一步包括: 如果当前只有一个网络设备连接到所述Master控制器,且所述Master控制器的处理 性能信息满足预设策略,所述备份组内的Slave控制器的处理性能信息不满足预设策略, 则所述Master控制器将所述网络设备的packetout报文发送给所述Slave控制器,由所 述Slave控制器将所述网络设备的packetout报文发送给所述网络设备;和/或,所述 Master控制器通知所述网络设备按照负载分担模式发送packetin报文,由所述网络设备 按照负载分担模式将packetin报文发送给所述Master控制器或者所述Slave控制器。5. 如权利要求1-4任一项所述的方法,其特征在于,所述处理性能信息具体包括以 下之一或者任意组合:报文处理能力、中央处理器CPU使用率、内存使用率;其中,当所述 Master控制器当前的报文处理速率大于报文处理能力的预设第一阈值时,则所述Master 控制器的处理性能信息满足预设策略;当所述Master控制器的CPU使用率大于预设第二阈 值时,则所述Master控制器的处理性能信息满足预设策略;当所述Master控制器的内存使 用率大于预设第三阈值时,则所述Master控制器的处理性能信息满足预设策略。6. -种主Master控制器,控制器集群内包括多个备份组,每个备份组包括Master控制 器和从Slave控制器,其特征在于,所述Master控制器包括: 监控模块,用于监控所述Master控制器的处理性能信息; 统计模块,用于在所述Master控制器的处理性能信息满足预设策略时,统计连接到所 述Master控制器的各网络设备的流量; 切换模块,用于根据流量的统计结果,将连接到所述Master控制器的网络设备的流量 切换到所述控制器集群内的其它备份组内。7. 如权利要求6所述的Master控制器,其特征在于, 所述切换模块,具体用于根据流量的统计结果,将各网络设备的流量按照从低到高的 顺序或者从高到低的顺序进行排序;将流量最低的网络设备的流量切换到所述控制器集群 内的其它备份组内; 如果所述Master控制器的处理性能信息仍满足预设策略,则继续将当前流量最低的 网络设备的流量切换到所述控制器集群内的其它备份组内;以此类推,一直到所述Master 控制器的处理性能信息不满足预设策略。8. 如权利要求7所述的Master控制器,其特征在于, 所述切换模块,进一步用于将其它备份组内的Master控制器的IP地址和Slave控制 器的IP地址发送给连接到所述Master控制器的网络设备;由所述网络设备利用所述其它 备份组内的Master控制器的IP地址在所述网络设备与所述其它备份组内的Master控制 器之间建立连接,并利用所述其它备份组内的Slave控制器的IP地址在所述网络设备与 所述其它备份组内的Slave控制器之间建立连接,并断开所述网络设备与所述备份组内的 Master控制器之间的连接,并断开所述网络设备与所述备份组内的Slave控制器之间的连 接; 其中,网络设备的流量包括所述Master控制器与所述网络设备之间交互的OpenFlow协议报文、数据包packet入in报文、packet出out报文; 所述其它备份组内的Master控制器的处理性能信息不满足预设策略。9. 如权利要求6所述的Master控制器,其特征在于, 所述切换模块,还用于如果当前只有一个网络设备连接到所述Master控制器,且所述Master控制器的处理性能信息满足预设策略,所述Master控制器所在的备份组内的Slave 控制器的处理性能信息不满足预设策略,则将所述网络设备的packetout报文发送给所述 Slave控制器,由所述Slave控制器将所述网络设备的packetout报文发送给所述网络设 备;和/或,通知所述网络设备按照负载分担模式发送packetin报文,由所述网络设备按 照负载分担模式将packetin报文发送给所述Master控制器或者所述Slave控制器。10. 如权利要求6-9任一项所述的Master控制器,其特征在于,所述处理性能信息具体 包括以下之一或者任意组合:报文处理能力、中央处理器CPU使用率、内存使用率;当所述 Master控制器当前的报文处理速率大于报文处理能力的预设第一阈值时,则所述Master 控制器的处理性能信息满足预设策略;当所述Master控制器的CPU使用率大于预设第二阈 值时,则所述Master控制器的处理性能信息满足预设策略;当所述Master控制器的内存使 用率大于预设第三阈值时,则所述Master控制器的处理性能信息满足预设策略。
【专利摘要】本发明公开了一种流量切换的方法和设备,该方法包括:Master控制器监控所述Master控制器的处理性能信息;在所述Master控制器的处理性能信息满足预设策略时,所述Master控制器统计网络设备的流量;所述Master控制器根据流量的统计结果,将网络设备的流量切换到其它备份组内。本发明实施例中,通过将Master控制器上的流量切换到其它备份组内,使得其它备份组内的控制器能够分担该Master控制器的流量,大大提高了控制器集群应对突发状况的处理能力,提高了整个控制器集群的可靠性。
【IPC分类】H04L12/801, H04L12/26
【公开号】CN105490955
【申请号】CN201410495668
【发明人】杨碧辉, 王海
【申请人】杭州华三通信技术有限公司
【公开日】2016年4月13日
【申请日】2014年9月24日

最新回复(0)