一种SDN网络多控制域通信方法及系统与流程

文档序号:15817590发布日期:2018-11-02 22:47阅读:175来源:国知局
一种SDN网络多控制域通信方法及系统与流程

本发明涉及软件定义网络技术领域,特别是涉及一种基于控制集群的sdn网络多控制域互联互通的通信方法及系统。

背景技术

软件定义网络(sdn)是一种建立在可编程技术上的新型网络架构,将控制平面和转发平面分离,实现控制器对数据平面的交换机进行集中式控制,为动态配置网络和控制网络提供了丰富的可编程性。但是,随着sdn网络规模扩大,当sdn网络内部具有成百上千台交换机时,传统单一控制器的集中式控制结构的处理能力受到了限制,且扩展困难。为解决规模扩大所带来的问题,出现了分层式的多控制器架构。通过对控制器进行垂直扩展,引入单域控制器和多域控制器的概念,将单域控制器部署在底层,负责其控制域下的多个交换设备,将多域控制器部署在单域控制器之上,管理全局网络状态,实现多控制域间的信息交互。

但分层式的控制器架构在解决上述问题的同时,也会出现一些不足,比如单域与多域的两层控制器结构增加了运行成本,其在进行全局数据交互时,流表需要层层下发,响应时间较长。此外,当某一单域控制器因负载过重出现控制失效的情况时,其控制域内的网络将会出现瘫痪。如何解决现有技术中sdn网络多控制域的互联互通问题,目前尚未出现有效的解决方案。



技术实现要素:

针对于上述问题,本发明提供一种sdn网络多控制域通信方法及系统,实现面向广域互联的同构sdn网络控制器的互联互通,提高网络性能的目的。

为了实现上述目的,根据本发明的第一方面,提供了一种sdn网络多控制域通信方法,该方法适用于sdn网络多控制域通信系统,所述系统包括多个控制器集群,每个控制器集群包含簇首控制器和多个控制器组成,所述每个控制器对应着一个由多台交换机组成的控制域,所述每台交换机对应这一个主控制器和一个从控制器,并且所述主控制器拥有所述交换机的控制权,该方法包括:

当所述每个控制器集群中的某个控制器的核心控制域与其外围控制域中包含同一台交换机时,所述控制器通过所述交换机与所述控制器在所述外围控制域对应的主控制器进行通信;

其中,所述核心控制域为以所述控制器为主控制器的交换机的集合,所述外围控制域为以所述控制器为从控制器的交换机的集合;

所述每个控制器集群的簇首控制器,与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信,其中,所述簇首控制器为所在的控制器集群中负载最小的控制器。

优选的,所述每个控制域集群还包括分配模块,该方法还包括:

所述分配模块为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器。

优选的,所述分配模块为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器之后,该方法还包括:

在预设的情况下,所述交换机的从控制器对所述交换机进行控制;

其中,所述预设的情况包括当某一台交换机的主控制器失效时;

或者,当所述每个控制器集群中的某一控制器负载超过阈值时,将所述控制器对应的核心控制域中的下发流表最多的交换机的控制权交给所述交换机的从控制器;

或者,当所述每个控制器集群中的某一控制器出现故障时,将所述控制器对应的控制域中的所有交换机的控制权交由各自的从控制器。

优选的,所述每个控制器集群还包括选择模块,所述在预设的情况下,所述交换机的从控制器对所述交换机进行控制,包括:

所述选择模块为所述交换机选择新的从控制器;

其中,所述新的从控制器为所述控制器集群中负载最小的控制器。

优选的,所述每个控制器集群通过该控制器集群的簇首控制器,与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信之前,该方法还包括:

所述每个控制器集群的簇首控制器,计算该控制器集群内的负载信息,并通过与相邻的控制器集群的簇首控制器进行连接,获得所述相邻的控制器集群的负载信息。

优选的,当所述第一控制器集群的负载超过阈值时,该方法还包括:

所述第一控制域集群中的第一簇首控制器向拥有最小负载的相邻的第二控制器集群的第二簇首控制器发送负载均衡请求。

优选的,当所述第一控制域集群中的第一簇首控制器向拥有最小负载的相邻的第二控制域集群的第二簇首控制器发送负载均衡请求时,该方法还包括:

所述第二簇首控制器接收到所述请求后,将所述第二控制器集群内负载最小的控制器的信息回复至所述第一簇首控制器,并将所述负载最小的控制器迁移到所述第一控制器集群内,并重新分配所述第一控制器集群内各个控制器的核心控制域。

根据本发明的第二方面,提供了一种sdn网络多控制域通信系统,该系统包括多个控制器集群,每个控制器集群包含簇首控制器和多个控制器组成,所述每个控制器对应着一个由多台交换机组成的控制域,所述每台交换机对应这一个主控制器和一个从控制器,并且所述主控制器拥有所述交换机的控制权;

当所述每个控制器集群中的某个控制器的核心控制域与其外围控制域中包含同一台交换机时,所述控制器,用于通过所述交换机与所述控制器在所述外围控制域对应的主控制器进行通信;

其中,所述核心控制域为以所述控制器为主控制器的交换机的集合,所述外围控制域为以所述控制器为从控制器的交换机的集合;

所述每个控制器集群的簇首控制器,用于与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信,其中所述簇首控制器为所在的控制器集群中负载最小的控制器。

优选的,所述每个控制域集群还包括分配模块,其中,

所述分配模块,用于为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器。

优选的,在所述分配模块为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器之后,

在预设的情况下,所述交换机的从控制器,用于对所述交换机进行控制;

其中,所述预设的情况包括当某一台交换机的主控制器失效时;

或者,当所述每个控制器集群中的某一控制器负载超过阈值时,将所述控制器对应的核心控制域中的下发流表最多的交换机的控制权交给所述交换机的从控制器;

或者,当所述每个控制器集群中的某一控制器出现故障时,将所述控制器对应的控制域中的所有交换机的控制权交由各自的从控制器。

优选的,所述每个控制器集群还包括选择模块,当在所述在预设的情况下,所述交换机的从控制器对所述交换机进行控制时,

所述选择模块,用于为所述交换机选择新的从控制器;

其中,所述新的从控制器为所述控制器集群中负载最小的控制器。

优选的,所述簇首控制器包括计算单元,其中,

所述计算单元,用于计算该控制器集群内的负载信息,并通过与相邻的控制器集群的簇首控制器进行连接,获得所述相邻的控制器集群的负载信息。

优选的,当所述第一控制器集群的负载超过阈值时,所述第一控制域集群中的第一簇首控制器包括发送单元,其中,

所述发送单元,用于向拥有最小负载的相邻的第二控制器集群的第二簇首控制器发送负载均衡请求。

优选的,其特征在于,所述第二簇首控制器包括回复单元、迁移单元和分配单元,其中,

所述回复单元,用于接收到所述请求后,将所述第二控制器集群内负载最小的控制器的信息回复至所述第一簇首控制器;

所述迁移单元,用于将所述负载最小的控制器迁移到所述第一控制器集群内;

所述分配单元,用于重新分配所述第一控制器集群内各个控制器的核心控制域。

相较于现有技术,本发明的sdn网络多控制域通信系统包括多个控制器集群,并且每个控制器集群包含簇首控制器和多个控制器组成,所述每个控制器对应着一个由多台交换机组成的控制域,所述每台交换机对应这一个主控制器和一个从控制器,并且所述主控制器拥有所述交换机的控制权。通过当所述每个控制器集群中的某个控制器的核心控制域与其外围控制域中包含同一台交换机时,所述控制器通过所述交换机与所述控制器在所述外围控制域对应的主控制器进行通信,实现了整个控制器集群内的通信;通过所述每个控制器集群的簇首控制器,与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信。在本发明中所有的控制器集群中所有控制器都部署在同一平面内,减小了运行成本,缩短了响应时间进而提高了网络性能,从而实现了面向广域互联的同构sdn网络控制器的互联互通。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例一提供的一种sdn网络多控制域通信方法的流程示意图;

图2为本发明实施例三中控制器集群内sdn从控制器优化选择示意图;

图3为本发明实施例三中控制器集群内sdn主从控制器切换示意图;

图4为本发明实施例三中控制器集群间sdn控制器互联互通示意图;

图5为本发明实施例四提供的sdn网络多控制域通信系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

为了更清楚的理解本发明,首先对本发明中将会出现的一些技术用语做出解释如下:

主控制器:通过南向接口协议向交换机下发流表,处理其控制域下的资源;

从控制器:和主控制器的功能相同,但只有交换机的主控制器失效时,从控制器才起控制作用;

核心控制域:以某一控制器为主控制器的所有交换机组成的集合;

外围控制域:以某一控制器为从控制器的所有交换机组成的集合;

簇首控制器:一个控制器集群中负载最小的控制器,可通过它进行控制器集群间的通信;

并连控制域:整个控制器集群中所有交换机的集合;

同时为方便描述在实施例中可能会将控制器集群简称为集群。

实施例一

参见图1为本发明实施例一提供的一种sdn网络多控制域通信方法的流程示意图,所述sdn网络多控制域通信方法适用于sdn网络多控制域通信系统,所述系统包括多个控制器集群,每个控制器集群包含簇首控制器和多个控制器组成,所述每个控制器对应着一个由多台交换机组成的控制域,所述每台交换机对应这一个主控制器和一个从控制器,并且所述主控制器拥有所述交换机的控制权,该方法包括以下步骤:

s11、当所述每个控制器集群中的某个控制器的核心控制域与其外围控制域中包含同一台交换机时,所述控制器通过所述交换机与所述控制器在所述外围控制域对应的主控制器进行通信;

其中,所述核心控制域为以所述控制器为主控制器的交换机的集合,所述外围控制域为以所述控制器为从控制器的交换机的集合;

具体的,由多个控制器组成一个控制器集群,每个控制器可对其控制域中多台交换机进行控制;为了在控制器失效时达到快速无缝切换的效果,每个交换机各有一个主控制器和一个从控制器,其中主控制器为当前控制器即拥有该交换机的控制权,从控制器为备用控制器,只有在主控制器失效时获得交换机的控制权。

s12、所述每个控制器集群的簇首控制器,与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信;

其中,所述簇首控制器为所在的控制器集群中负载最小的控制器。

具体的,在每个控制器集群中选择当前负载最小的控制器作为该集群的簇首控制器,各个控制器集群间可以通过各自的簇首控制器实现互联互通。

通过本发明实施例一公开的技术方案,当所述每个控制器集群中的某个控制器的核心控制域与其外围控制域中包含同一台交换机时,所述控制器通过所述交换机与所述控制器在所述外围控制域对应的主控制器进行通信,实现了控制器集群内的互联互通;所述每个控制器集群的簇首控制器,与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信。在本实施例一中不仅实现了控制器集群内的通信也实现了控制器集群间的通信,进而实现了面向广域互联的同构sdn网络控制器的互联互通,提高网络性能的目的。

实施例二

参照本发明实施例一和图1中所描述的s11和s12步骤的具体过程,在本发明的实施例二中,所述每个控制域集群还包括分配模块,该方法还包括:

所述分配模块为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器。

其中,为了在控制器失效时达到快速无缝切换的效果,每个交换机各有一个主控制器和一个从控制器,其中主控制器为当前控制器,从控制器为备用控制器,只在主控制器失效时获得交换机的控制权。

进一步的,所述分配模块为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器之后,该方法还包括:

在预设的情况下,所述交换机的从控制器对所述交换机进行控制;

其中,所述预设的情况包括当某一台交换机的主控制器失效时;

或者,当所述每个控制器集群中的某一控制器负载超过阈值时,将所述控制器对应的核心控制域中的下发流表最多的交换机的控制权交给所述交换机的从控制器;

或者,当所述每个控制器集群中的某一控制器出现故障时,将所述控制器对应的控制域中的所有交换机的控制权交由各自的从控制器。

所述每个控制器集群还包括选择模块,所述在预设的情况下,所述交换机的从控制器对所述交换机进行控制,包括:

所述选择模块为所述交换机选择新的从控制器;

其中,所述新的从控制器为所述控制器集群中负载最小的控制器。

具体的,交换机的主控制器在正常工作时保持不变,从控制器则进行实时优化选择,根据当前网络状况选择负载最小的控制器作为它的从控制器;

若某一控制器的负载超过了阈值,此处的阈值可以根据实际情况进行设置,比如,所述控制器集群应用的场景有所不同,则控制器对应的负载可以有所不同,为该控制器减负,将其核心控制域中下发流表量最多的交换机的控制权交由从控制器,并在该控制器集群内其他控制器中选择负载最小的控制器作为该交换机新的从控制器;

若某一控制器出现故障,则将其控制域内所有交换机的控制权交由各自的从控制器,并依次在所述控制器集群内其他控制器中选择负载最小的控制器作为该交换机新的从控制器。

为了实现控制器集群间的通信,在所述每个控制器集群通过该控制器集群的簇首控制器,与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信之前,所述sdn网络多控制域通信方法还包括:

所述每个控制器集群的簇首控制器,计算该控制器集群内的负载信息,并通过与相邻的控制器集群的簇首控制器进行连接,获得所述相邻的控制器集群的负载信息。

进一步的,当所述第一控制器集群的负载超过阈值时,该方法还包括:

所述第一控制域集群中的第一簇首控制器向拥有最小负载的相邻的第二控制器集群的第二簇首控制器发送负载均衡请求。

优选的,当所述第一控制域集群中的第一簇首控制器向拥有最小负载的相邻的第二控制域集群的第二簇首控制器发送负载均衡请求时,该方法还包括:

所述第二簇首控制器接收到所述请求后,将所述第二控制器集群内负载最小的控制器的信息回复至所述第一簇首控制器,并将所述负载最小的控制器迁移到所述第一控制器集群内,并重新分配所述第一控制器集群内各个控制器的核心控制域。

具体的,从每个控制器集群中选择当前负载最小的控制器作为该集群的簇首控制器,各个控制器集群可以通过各自的簇首控制器实现互联互通;

所述簇首控制器计算本控制器集群的负载,与相邻控制器集群的簇首控制器通信,得到相邻控制器集群的负载信息;

当本控制器集群内控制器负载超过阈值时,簇首控制器向拥有最小负载的相邻控制器集群的簇首控制器发送请求;

相邻控制器集群的簇首控制器回复控制器集群中拥有最小负载的控制器,当多个控制器集群同时向这一控制器集群发出请求时,则簇首控制器向拥有最大负载的控制器集群回复;

将拥有最小负载的控制器从相邻集群迁移到并联控制域中,所述并联控制域在所述发出请求的控制器集群内,原控制器集群内的该控制器核心控制域内交换机的控制权交由从控制器,重新选择这一控制器集群中负载最小的控制器作为新的从控制器。为了防止控制器短时间在两个控制器集群间往返迁移,被迁移的控制器需在迁入的集群中工作一段时间后才能再次迁出;

在迁入控制器的控制器集群中,对控制器的核心控制域进行重新分配。新迁入的控制器为各个核心控制域中下发流表最多的交换机的主控制器。如果此时新迁入的控制器负载过大,则再进行集群内负载均衡策略。将核心控制域中下发流表最多的交换机的控制权交由从控制器,并在集群内其他控制器中选择负载最小的控制器作为该交换机的从控制器。

根据本发明实施例二公开的技术方案,具体描述了控制器集群内的控制域中的交换机的主控制器和从控制器的设置和选择,这样可以使得在主控制器出现故障时达到无缝快速切换至从控制器的目的,避免重新建立连接带来的时延。某一控制器通过其核心控制域和外围控制域中的同一个交换机,实现了控制器集群间的互联互通;并且各个控制器集群通过各自的簇首控制器实现了集群间的互联互通。进而实现了面向广域互联的同构sdn网络控制器的互联互通,提高网络性能的目的。

实施例三

与本发明实施例一和实施例二所公开的sdn网络多控制域通信方法相对应,本发明的实施例三还提供了在具体的应用场景中的一种sdn网络多控制域通信方法,其中,

ci,j:控制器集群i中第j个控制器;

si,j,k:控制器集群i的第j个控制器的核心控制域中第k个交换机。

具体的,由多个控制器组成一个控制器集群,每个控制器可对其控制域中多台交换机进行控制;

为了在控制器失效时达到快速无缝切换的效果,每个交换机各有一个主控制器和一个从控制器,其中主控制器为当前控制器,从控制器为备用控制器,只在主控制器失效时获得交换机的控制权;

具体来说,主控制器通过南向接口协议向交换机下发流表,处理其控制域下的资源。当主控制器出现故障时,从控制器切换为该交换机的主控制器,获得控制权,接替主控制的工作。参见图2,每个交换机与其主控制器用实线连接表示,与其从控制器用虚线连接表示。其目的为了设置从控制器可以在主控制器出现故障时达到无缝快速切换的效果,避免重新建立连接带来的时延。

交换机的主控制器在正常工作时保持不变,从控制器则进行实时优化选择,根据当前网络状况选择负载最小的控制器作为它的从控制器;

具体来说,主控制器在无故障时保持不变,从控制器会依据实时负载动态变化。参见图2,在集群1中,从控制器优化选择前,c1,3是s1,2,2的从控制器。但此时集群内c1,1的负载最小。因此,在优化选择后,c1,1是s1,2,2的从控制器。

其目的为了实时判断负载情况对从控制器进行优化选择可以让交换机的从控制器始终拥有最小负载,当主控制器出现故障时,从控制器切换为主控制器后可以有最优的性能。

若某一控制器的负载超出了阈值,则为其减负,将其核心控制域下发流表量最多的交换机的控制权交由从控制器,并在控制器集群内其他控制器中选择负载最小的控制器作为该交换机新的从控制器;

具体来说,参见图3,控制器集群1中c1,2的负载达到阈值时,c1,2检测到其核心控制域中下发流表最多的是s1,2,3,即s1,2,3带来的负载最大,此时进行主从控制器的切换。s1,2,3的从控制器是c1,3,所以c1,3切换为s1,2,3的主控制器。集群中选择除c1,3之外的负载最小的控制器是c1,1,因此c1,1是s1,2,3新的从控制器。

其目的为了断开主控制器与下发流表最多的交换机的连接可以最大化的避免由于主控制器负载过重继而失效影响网络性能。设置从控制器可以在主从转换时实现无缝快速切换,不必重新建立新的连接。

若某一控制器出现故障,则将其控制域内所有的交换机的控制权交由各自的从控制器,并依次在集群内其他控制器中选择负载最小控制器的作为该交换机新的从控制器;

不同控制器的核心控制域和外围控制域有交集,可以实现整个集群的互联互通。

实现控制器集群间的互联互通:

由多个集群组成广域互联的sdn网络,每个集群包含多个控制器;

从每个集群中选择当前负载最小的控制器作为该集群的簇首控制器;

具体来说,簇首控制器是根据集群负载实时变化选定的,它一直为集群中负载最小的控制器。参见图4,c1,1是控制器集群1的簇首控制器,c2,1是控制器集群2的簇首控制器。

其目的为了簇首控制器需要进行集群间的通信,还要对其核心控制域内的交换机下发流表,选择当前负载最小的控制器作为该集群的簇首控制器可以减缓簇首控制器负载过大现象发生。

各个集群间可以通过各自的簇首控制器实现互联互通;

具体来说,簇首控制器的功能包括集群间的通信,两个集群的簇首控制器可以通过控制器虚拟网络接口(cvni)进行信息交互,由此实现集群之间的互联互通。参见图4,c1,1和c2,1分别为控制器集群1和控制器集群2的簇首控制器,它们可以进行两个集群间的互联互通。

簇首控制器计算本集群的负载,与相邻集群的簇首控制器通信,得到相邻集群的负载信息;

具体来说,簇首控制器的另一功能是计算本集群负载的总和。参见图4,在与相邻集群的簇首控制器通信的过程中,集群2的c2,1可以获取到相邻集群1的总负载情况。

本集群内控制器负载超过阈值时,簇首控制器向拥有最小负载的相邻集群的簇首控制器发送请求;

具体来说,参见图4,集群2的控制器负载超过了阈值,集群2的c2,1向拥有最小负载的相邻集群1发送请求,请求进行集群间负载均衡。

相邻集群的簇首控制器回复集群中拥有最小负载的控制器,当多个集群同时向这一集群发出请求时,簇首控制器向拥有最大负载的集群回复;

具体来说,参见图4,当与集群1相邻的多个集群同时因为负载过大向集群1发出请求,此时集群1的c1,1对所有的集群负载进行比较,向所有请求中负载最大的集群2的簇首控制器回复,回复内容为集群1中的c1,3负载最小。

其目的为,只回复负载最大的集群避免了同时从一个负载较轻的集群1中迁出多个控制器,使集群1的负载突然增大。

将拥有最小负载的控制器从相邻集群迁移到并联控制域中,原集群中该控制器核心控制域内交换机的控制权交由从控制器,重新选择这一集群中负载最小的控制器作为新的从控制器。为了防止控制器短时间内在两集群间往返迁移,被迁移的控制器需在迁入的集群中工作一段时间后才能再次迁移出;

具体来说,参见图4,将集群1中负载最小的c1,3迁移到集群2的并连控制域中。集群1中c1,3的核心控制域有s1,3,1。s1,3,1的从控制器c1,2切换为主控制器,重新选择集群1中负载最小的c1,1为从控制器。

其目的为了迁移控制器而不包括核心控制域的交换机可以更有效的缓解集群2中负载过重的情况。控制器需在集群一段时间后才能再次迁移出集群,避免某一控制器一直在两个集群间往返迁移。

在迁入控制器的集群中,对控制器的核心控制域进行重新分配。新迁入的控制器为各个核心控制域中下发流表最多的交换机的主控制器。如果此时新迁入的控制器负载过大,则再进行集群内负载均衡策略。将核心控制域中下发流表最多的交换机的控制权交由从控制器,并在集群内其他控制器中选择负载最小的控制器作为该交换机新的从控制器。

具体来说,参见图4,s2,1,2、s2,2,3、s2,3,3分别为c2,1、c2,2、c2,3中负载最大的交换机。他们的主控制器变更为集群2中新迁入c1,3,从控制器保持不变。

其目的为了新迁入的无负载的控制器用于均衡进群内的负载,缓解负载过大的压力。

在本发明的实施例三中,通过具体的例子描述集群内和集群间的互联互通技术,即通过控制器的核心控制域和外围控制域有同一个交换机实现了集群间的互联互通;通过各个集群的簇首控制器的连接实现了集群间的互联互通,并为了保证通信连接和负载均衡具体描述了交换机主从控制器的择优选择和集群间的负载均衡,进而实现了面向广域互联的同构sdn网络控制器的互联互通,并提高了网络性能的目的。

实施例四

与本发明实施例一和实施例二所对应一种sdn网络多控制域通信方法相对应,在本发明实施例四中提供了一种sdn网络多控制域通信系统,参见图5为本发明实施例四提供的sdn网络多控制域通信系统的结构示意图,该系统包括多个控制器集群,每个控制器集群包含簇首控制器和多个控制器组成,所述每个控制器对应着一个由多台交换机组成的控制域,所述每台交换机对应这一个主控制器和一个从控制器,并且所述主控制器拥有所述交换机的控制权;

当所述每个控制器集群中的某个控制器的核心控制域与其外围控制域中包含同一台交换机时,所述控制器,用于通过所述交换机与所述控制器在所述外围控制域对应的主控制器进行通信;

其中,所述核心控制域为以所述控制器为主控制器的交换机的集合,所述外围控制域为以所述控制器为从控制器的交换机的集合;

所述每个控制器集群的簇首控制器,用于与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信,其中所述簇首控制器为所在的控制器集群中负载最小的控制器。

优选的,所述每个控制域集群还包括分配模块,其中,

所述分配模块,用于为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器。

优选的,在所述分配模块为所述每个控制域集群中的各个控制器所对应的控制域内的每台交换机设置与之对应的主控制器和从控制器之后,

在预设的情况下,所述交换机的从控制器,用于对所述交换机进行控制;

其中,所述预设的情况包括当某一台交换机的主控制器失效时;

或者,当所述每个控制器集群中的某一控制器负载超过阈值时,将所述控制器对应的核心控制域中的下发流表最多的交换机的控制权交给所述交换机的从控制器;

或者,当所述每个控制器集群中的某一控制器出现故障时,将所述控制器对应的控制域中的所有交换机的控制权交由各自的从控制器。

优选的,所述每个控制器集群还包括选择模块,当在所述在预设的情况下,所述交换机的从控制器对所述交换机进行控制时,

所述选择模块,用于为所述交换机选择新的从控制器;

其中,所述新的从控制器为所述控制器集群中负载最小的控制器。

优选的,所述簇首控制器包括计算单元,其中,

所述计算单元,用于计算该控制器集群内的负载信息,并通过与相邻的控制器集群的簇首控制器进行连接,获得所述相邻的控制器集群的负载信息。

优选的,当所述第一控制器集群的负载超过阈值时,所述第一控制域集群中的第一簇首控制器包括发送单元,其中,

所述发送单元,用于向拥有最小负载的相邻的第二控制器集群的第二簇首控制器发送负载均衡请求。

优选的,其特征在于,所述第二簇首控制器包括回复单元、迁移单元和分配单元,其中,

所述回复单元,用于接收到所述请求后,将所述第二控制器集群内负载最小的控制器的信息回复至所述第一簇首控制器;

所述迁移单元,用于将所述负载最小的控制器迁移到所述第一控制器集群内;

所述分配单元,用于重新分配所述第一控制器集群内各个控制器的核心控制域。

在本发明实施例四中,sdn网络多控制域通信系统包括多个控制器集群,并且每个控制器集群包含簇首控制器和多个控制器组成,所述每个控制器对应着一个由多台交换机组成的控制域,所述每台交换机对应这一个主控制器和一个从控制器,并且所述主控制器拥有所述交换机的控制权。通过当所述每个控制器集群中的某个控制器的核心控制域与其外围控制域中包含同一台交换机时,所述控制器通过所述交换机与所述控制器在所述外围控制域对应的主控制器进行通信,实现了整个控制器集群内的通信;通过所述每个控制器集群的簇首控制器,与另一个控制器集群的簇首控制器进行连接,实现与另一控制器集群的通信。在本发明中所有的控制器集群中所有控制器都部署在同一平面内,减小了运行成本,缩短了响应时间进而提高了网络性能,从而实现了面向广域互联的同构sdn网络控制器的互联互通。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1