CN104754053B - 一种分布式软件定义网络及在其中动态控制控制器的方法 - Google Patents
一种分布式软件定义网络及在其中动态控制控制器的方法 Download PDFInfo
- Publication number
- CN104754053B CN104754053B CN201510152981.6A CN201510152981A CN104754053B CN 104754053 B CN104754053 B CN 104754053B CN 201510152981 A CN201510152981 A CN 201510152981A CN 104754053 B CN104754053 B CN 104754053B
- Authority
- CN
- China
- Prior art keywords
- controller
- interchanger
- condition
- interchangers
- backup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000005059 dormancy Effects 0.000 claims abstract description 93
- 238000012546 transfer Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 17
- 235000013399 edible fruits Nutrition 0.000 claims description 5
- 230000007958 sleep Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000005265 energy consumption Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000004888 barrier function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000284 resting effect Effects 0.000 description 2
- 206010027476 Metastases Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009401 metastasis Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种分布式软件定义网络中动态控制控制器的方法,分布式软件定义网络中包括多个交换机和控制器,每个控制器至少连接一个交换机,每个交换机至少连接一个控制器,每个交换机连接的控制器中仅有一个作为主控制器,其余作为备份控制器,对每一个控制器:若控制器活跃且输入流量低于βT,判断以该控制器为主控制器的所有交换机是否都能转移到符合第一条件的备份控制器上,若都能,则控制器满足休眠条件;将以满足休眠条件的控制器为主控制器的所有交换机都转移到符合第一条件的备份控制器上,满足休眠条件的控制器休眠;第一条件是指与交换机连接的并活跃的备份控制器接收交换机后输入流量≤αT,T为控制器的吞吐量,0<β<1,0<α≤1,α>β。
Description
技术领域
本发明属于计算机网络领域,特别是涉及基于分布式控制器的软件定义网络(Software defined networking,SDN)性能优化方案,即分布式软件定义网络及在其中动态控制控制器的方法。
背景技术
通过四十年的发展,互联网已成为现代社会发展及技术进步的重要基础设施之一。然而,随着互联网规模急剧膨胀,传统互联网架构已经无法满足当前运营商、企业以及用户的需求。当前网络面临着诸多挑战,如安全性、可管理性等:网络接入终端逐渐丰富,网络延迟更加深入,网络安全问题凸显;网络管理主要依靠人工配置,服务质量保证难度提升,网络维护成本急剧增加。诸多问题及新的需求给未来互联网架构提出来更高要求。为了适应未来互联网业务发展需求,在工业界和研究领域,逐渐开始创新思考互联网基本体系结构,采用新设计理念优化未来网络基础架构。
软件定义网络(Software defined networking,SDN)是实现网络虚拟化的重要技术,是未来网络的主流研究方向之一。SDN的核心是使网络软件化并充分开放,从而使得网络能够像软件一样灵活、便捷,从而提高网络的创新能力。SDN技术通过把原有封闭的体系解耦为数据平面、控制平面和应用平面,并为网络提供可编程的接口,从而革命性地改变了现有网络架构。这种新型网络架构具有以下优势:1)网络管控能力得到改善,通过控制器实现网络可视化,用户可以根据需求定制个性化网络;2)网络创新能力得到提升,简化网络设计,可以灵活地添加、删除、改进网络功能,使得网络创新以软件更新的速度进行;3)网络可靠性得到加强,网络设备功能大大简化,复杂的网络控制等功能由软件实现,大幅度降低网络设备故障率,从而提升网络可靠性。
然而,SDN架构带来管理便捷的同时也引入了其他问题,这些问题与其管理集中性和开放性是密不可分的。网络的管理集中性使网络服务访问控制、网络配置、网络安全服务部署等都集中于SDN控制器上,攻击者一旦成功实施了对控制器的攻击,将造成网络服务的大面积破坏,影响到整个网络的性能。在SDN的这种架构下,攻击者的攻击对象变得越来越集中,极大地降低了攻击难度。由此,SDN网络提出了分布式的结构。分布式SDN架构使用数量充裕的控制器来完成对整个网络的控制,以获得更好的网络扩展性和可靠性。
当前主要的分布式SDN系统分为以下两种:
1)“垂直的分布式SDN系统”:这种结构是将网络按照功能划分为不同的区域,每个区域有自己的控制器,这些控制器在功能相同的地方会有相互备份,在这一层上方是一个总的控制器来控制这些区域控制器的行为;
2)“平面的分布式SDN系统”:这种结构将网络按照位置划分为互不重合的部分,每一个部分有自己的控制器,这些控制器可以拥有全局视图,或者拥有局部视图,然后根据传统网络中分布式系统的通信方式进行通信。
在分布式SDN网络中,每一个控制器连接多个交换机,每一个交换机连接多个控制器,其中有且仅有一个控制器作为Master控制器,也就是主控制器,其余的作为Equal控制器或者Slave控制器(相当于备份控制器)。Equal控制器同时接收到交换机的流量,但是对流量不做处理,在实际模型中可以不做考虑。本文中后续的讨论中Equal和Slave控制器当作相同的控制器。控制器的角色可以通过角色转换请求信息来完成角色转换。
由于分布式系统在控制器和交换机之间的连接存在大量的备份连接,这些“富连接”网络拓扑在低负载时的能量使用效率却非常低。这是由于在大部分的时间内,网络的负载都远低于峰值负载,使得网络内存在大量低利用率的控制器。由于当前网络设备和部件的能耗受负载变化的影响较小,它们在低负载与满负载时的能耗基本相近,因此这些空闲和低利用率的网络资源将浪费大量的无效电能。如图1所示,图1中有两个控制器,每一个控制器都连接多个交换机(实线表示Master控制器,虚线表示Equal/Slave控制器,下同)。其中以2号控制器为Master控制器的交换机都同时连接了1号控制器,以1号控制器为备份控制器。当网络负载较小的时候,两个控制器都处于活跃状态,则两个控制器的负载都比较小,消耗能量会比较大,如果考虑将2号控制器的所有交换机转移到1号控制器上,同时将2号控制器休眠,不但集中了网络的流量,还节省了2号控制器消耗的能量。虽然这种弹性的分布式的SDN网络已经被提出,但是并没有具体的控制器选择的实现方案。
发明内容
为了弥补上述现有技术的不足,本发明提出一种分布式软件定义网络及在其中动态控制控制器的方法,如果网络在负载较小的时候,控制池会自适应地根据流量的大小来进行收缩。
本发明的技术问题通过以下的技术方案予以解决:
一种分布式软件定义网络中动态控制控制器的方法,所述分布式软件定义网络包括多个交换机和多个控制器,每个控制器至少连接一个交换机,每个交换机至少连接一个控制器,每个交换机连接的控制器中有且仅有一个作为主控制器,连接的其余控制器作为备份控制器,所述控制器的工作状态包括休眠和活跃,所述控制器的输入流量为与其连接的所有交换机流入所述控制器的流量和,其特征在于,对每一个控制器进行操作:包括步骤:
若所述控制器为活跃状态且输入流量低于下限阈值βT,判断以所述控制器为主控制器的所有交换机是否都能转移到符合第一条件的备份控制器上,若都能转移,则所述控制器为满足休眠条件的控制器;
将以所述满足休眠条件的控制器为主控制器的所有交换机都转移到符合所述第一条件的备份控制器上,所述满足休眠条件的控制器休眠;所述第一条件是指与交换机连接的并处于活跃状态的备份控制器接收所述交换机的流量后输入流量不超过上限阈值αT,T为控制器的吞吐量,表示每个控制器在单位时间内能够处理的最多流量;0<β<1,0<α≤1,α>β。
优选地,对所有控制器按所述输入流量从小到大进行排序后,再对排序后的控制器中的每一个控制器进行所述操作;将交换机转移到符合所述第一条件的备份控制器上时,选择所述备份控制器中输入流量最大的备份控制器接收所述交换机。
优选地,包括如下步骤:
(1)、检测控制器是否为满足休眠条件的控制器:
将所述控制器从1到n做标记,所述交换机从1到m做标记,其中n是所有控制器的数量,m是所有交换机的数量;然后计算第i个控制器的输入流量,1≤i≤n;
对所有控制器按输入流量从小到大进行排序,从所述输入流量最小的控制器开始到所述输入流量最大的控制器依次进行检测,对第i个控制器,若所述第i个控制器为活跃状态且输入流量低于下限阈值βT,找到以所述第i个控制器为主控制器的所有交换机,查找这些交换机连接的所有备份控制器,检测这些交换机是否可以转移到符合第一条件的备份控制器上,检测的结果包括:
1)其中有一个或多个交换机只连接所述第i个控制器,则所有交换机都不能转移,所述第i个控制器不能休眠;
2)其中有一个或多个交换机连接有备份控制器,但所述备份控制器为不符合所述第一条件的备份控制器,则所有交换机都不能转移,所述第i个控制器不能休眠;
3)所有交换机都连接有符合所述第一条件的备份控制器,则所有交换机都能转移,所述控制器为满足休眠条件的控制器;对每个交换机,选择所有符合所述第一条件的备份控制器,选择所述备份控制器中输入流量最大的一个备份控制器接收所述交换机,然后标记所述交换机和所述备份控制器,表明所述交换机需要转移到所述备份控制器上;
如果第i个控制器为满足休眠条件的控制器,本步骤返回所述第i个控制器的序号i,如果第i个控制器为不满足休眠条件的控制器,则撤销对所述交换机和所述备份控制器的标记;如果经过检测,所有控制器都为不满足休眠条件的控制器,本步骤返回-1;
(2)、交换机无缝转移
判断步骤(1)的返回值是否为-1,如果否,所述返回值表示的是满足休眠条件需要休眠的控制器序号,将步骤(1)中标记的交换机转移到相应的备份控制器上,然后将需要休眠的控制器休眠,然后继续进行步骤(1)以检测满足休眠条件的控制器,如果步骤(1)的返回值为-1,表示所有交换机已经转移完毕,则结束。
优选地,还包括如下步骤:
(3)、负载均衡:将经过所述步骤(2)后的所有控制器按输入流量从大到小进行排序,从输入流量最大的控制器开始到输入流量最小的控制器依次进行检测,对于第i个控制器,若所述第i个控制器的输入流量不低于下限阈值βT,找到以所述第i个控制器为主控制器的所有交换机,查找这些交换机连接的所有备份控制器,检测这些交换机是否可以转移到同时符合所述第一条件和符合第二条件的备份控制器上,所述第二条件是指交换机从主控制器上转移到处于活跃状态的备份控制器上后,所述主控制器和所述备份控制器的输入流量差小于交换机转移之前所述主控制器和所述备份控制器的输入流量差,检测的结果包括:
1)其中有一个或多个交换机只连接所述第i个控制器,则这些交换机不能转移;
2)其中有一个或多个交换机连接有备份控制器,但所述备份控制器为不符合所述第一条件的备份控制器,则这些交换机不能转移;
3)其中有一个或多个交换机连接的备份控制器符合所述第一条件,但不符合所述第二条件,则这些交换机不能转移;
4)其中有一个或多个交换机连接的备份控制器既符合所述第一条件又符合所述第二条件,则这些交换机可以转移;对于每个可转移的交换机,选择所有满足情况4)的备份控制器中使得流量差最小的一个备份控制器接收所述交换机。
优选地,所述分布式软件定义网络为层次结构的分布式软件定义网络,所述分布式软件定义网络还包括分布式存储模块,所述分布式存储模块与所有控制器连接,用于存储所有控制器的工作状态以及所有交换机与控制器的连接关系和配置信息。
一种分布式软件定义网络,包括多个交换机和多个控制器,每个控制器至少连接一个交换机,每个交换机至少连接一个控制器,每个交换机连接的控制器中有且仅有一个作为主控制器,连接的其余控制器作为备份控制器,所述控制器的工作状态包括休眠和活跃,所述控制器的输入流量为与其连接的所有交换机的流量和,还包括:
休眠检测模块,用于依次检测每个控制器是否满足休眠条件,若所述控制器为活跃状态且输入流量低于下限阈值βT,判断以所述控制器为主控制器的所有交换机是否都能转移到符合第一条件的备份控制器上,若都能转移,则所述控制器为满足休眠条件的控制器;
交换机无缝转移模块,用于将以所述满足休眠条件的控制器为主控制器的所有交换机都转移到符合所述第一条件的备份控制器上,所述满足休眠条件的控制器休眠;
所述第一条件是指与交换机连接的备份控制器接收所述交换机的流量后输入流量不超过上限阈值αT,T为控制器的吞吐量,表示每个控制器在单位时间内能够处理的最多流量;0<β<1,0<α≤1,α>β。
优选地,所述分布式软件定义网络还包括负载均衡模块,用于对经过所述交换机无缝转移模块处理后的所有控制器进行检测,对每一个控制器,检测以所述控制器为主控制器的所有交换机中是否有交换机能转移到既符合所述第一条件又符合第二条件的备份控制器上,若是,将所述控制器中能转移的交换机依次转移到符合所述第二条件的备份控制器上;所述第二条件是指交换机从主控制器上转移到备份控制器上后,所述主控制器和所述备份控制器的输入流量差小于交换机转移之前所述主控制器和所述备份控制器的输入流量差。
优选地,所述分布式软件定义网络还包括控制器之间的选举模块,用于不同的控制器之间进行通信以共同完成对交换机的控制。
优选地,所述分布式软件定义网络还包括分布式存储模块,所述分布式存储模块与所有控制器连接,用于存储所有控制器的工作状态以及所有交换机与控制器的连接关系和配置信息。
优选地,所述分布式软件定义网络还包括分布式存储模块更新模块和控制器更新模块;所述分布式存储模块更新模块用于更新所述分布式存储模块中存储的所有控制器的工作状态以及与控制器连接的所有交换机的配置信息,所述控制器更新模块用于更新工作状态有更新的控制器连接的所有交换机的配置信息。
本发明与现有技术对比的有益效果是:本发明采用自适应选择休眠控制器的模型,利用软件定义网络中控制器强大的处理能力,对当前网络负载进行分析,快速地选择一部分控制器进行休眠,并且移动休眠的控制器所负责的交换机到其他的控制器上,从而达到节约能源的目的。本发明技术方案解决了弹性的分布式SDN网络的两个难点:1)哪些控制器可以休眠:由于网络连接的复杂性,休眠的控制器需要满足一定的条件才能进行休眠,并且该控制器休眠之后网络能够正常运行。2)休眠的控制器连接的交换机的流量需要怎样重新分配:由于一些控制器处于休眠状态,那么这些控制器连接的交换机的流量需要转移到其余的控制器上,怎样根据网络的结构进行分配交换机的流量,并且保证网络的正确性。本发明使用数学建模的方法建立了选择休眠控制器的模型,并且证明了该模型为NP-complete问题。
附图说明
图1是现有技术中的SDN网络拓扑结构示意图;
图2是本发明实施例中的选择模型示意图;
图3是本发明实施例中控制池收缩示例;
图4是本发明实施例中检查是有可以休眠的控制器的流程图;
图5是是本发明实施例中控制池负载均衡示例;
图6是本发明实施例中的负载均衡流程图;
图7是本发明实施例中的分布式网络中控制器角色的网络示意图;
图8是本发明实施例中的分布式网络中各模块的关系示意图。
具体实施方式
下面对照附图并结合优选的实施方式对本发明作进一步说明。
为了方便叙述,首先定义网络中的各个参数(以图2为例)。
网络拓扑结构:R,表示网络的拓扑结构,包含了控制器与交换机之间的互联关系,R(i,j)为1表示第i个控制器与第j个交换机相连且该第i个控制器作为该第j个交换机的主控制器;R(i,j)为-1表示第i个控制器与第j个交换机相连且该第i个控制器作为该第j个交换机的备份控制器;R(i,j)为0表示第i个控制器与第j个交换机不相连。
网络流量矩阵信息:F_I,F_O,分别表示输入和输出的网络流量矩阵信息,以图1中的两个控制器与交换机的输入流量关系为例,其F_I的数据结构如下:
F_O的数据结构与F_I的数据结构相同,
流入第i个控制器的流量(即输入流量):Ci
流出第i个控制器的流量:C_Oi
流入第j个交换机的流量:Sj
流出每个控制器的流量集合:(C_O1,C_O2,...,C_On),即F_O矩阵的行分量的和的集合,如C_O1表示矩阵F_O中第一行的总和。
流入每个控制器的流量集合:(C1,C2,...,Cn),即F_I矩阵的行分量的和的集合。
流入每个交换机的流量集合:(S1,S2,...,Sm),即F_I矩阵的列分量的和的集合。
每个交换机至少连接控制器的数量:P(≥1),控制交换机连接的最少的控制器的数量,至少保证每一个交换机连接一个控制器。
控制器状态信息:Bn(n维数组),保存了控制器的状态(即活跃、休眠和不可休眠的状态),活跃状态用1表示,休眠状态用0表示,不可休眠状态用-1表示。
控制器数量:n,网络中所有控制器的数量
交换机数量:m,网络中所有交换机的数量
控制器的吞吐量:T,即每个控制器在单位时间内能够处理的最多流量,设所有控制器的吞吐量相同。
控制器处理流量阈值参数:α,β,分别是控制器流量的上限和下限阈值系数,α>β。
首先预定义一个活跃的控制器的流量的最大阈值为αT,(0<α≤1)和最小阈值βT(0<β<1)。定义αT是因为如果网络中所有的控制器都达到或者接近T阈值,则这个网络对于突发的流量将没有任何处理的能力,所以为了保证整个网络能够在一段时间内有很好的稳固性,一个控制器的流量应该接近αT而不是T。因此控制器的流量最好的状态时处于βT和αT之间。如果控制器满足休眠条件(即该控制器的流量处于βT之下,与该控制器连接的所有的交换机都可以转移到其余的Equal或Slave控制器上去,且Equal或Slave控制器在接收之后不会引起过载),则将该控制器休眠。
控制器选择模型如下:
限制条件:
公式(1)给出了模型的目标,即在网络负载较小(网络负载根据流量判断:例如,在实验时如果控制器的负载是100M,那么当网络平均流量小于40M的时候即可判定为流量较小)的时候,控制池中活跃的控制器的数量最小,或者休眠的控制器的数量最大,公式(2)限制了每个控制器的输出流量不能超过上限阈值αT,公式(3)限制选择控制器的条件,当控制器的流量低于下限阈值βT,并且符合休眠的条件,则将控制器休眠,公式(4)限制了交换机连接控制器的数目,即每一个交换机至少连接P个控制器,公式(5)保证了网络流量的一致性,即输入和输出的总流量是相等的。
本发明证明了该问题为NP-complete问题:
定理1:在网络负载较小的时候,控制池(包含所有的控制器)的大小自动收缩,最大限度地休眠负载小的控制器,以减少活跃的控制器的数量,这个选择休眠控制器的模型是一个NP-complete问题。
证明:
首先定义符号变量,含义如下:
拓扑图:G(V,E),其中V代表控制器和交换机节点,E表示控制器和交换机之间的连接关系(即连接或不连接,如果控制器和交换机连接则表示有一条边)。
第i个交换机连接的控制器的所有边(每一个交换机可以连接多个控制器,交换机和控制器连接表示它们之间有一条边)的集合:ei,当第i个交换机连接两个及以上控制器时,将该交换机连接的边组成一个集合。
所有ei集合的子集组成的集合的子集的数量:q,所有ei集合的子集组成的集合的子集的数量。
q个子集中的一个子集:Ej,即将要删除的第j个边的子集
删除的边的集合:S={E1,E2,…Eq},按照集合S进行对边的删除
删除完Ej之后剩余的边的集合:Ej',删除完Ej之后剩余的边的集合,也就是可用的边的集合。
分别删除第j个Ej集合之后,形成的网络拓扑图:{G′1(V,E′1),G'2(V,E'2),...,G'q(V,E'q)}
然后问题归结如下:
第一步:
{V′1,V′2,...V′q} (6)
限制条件:
Vi'∈V(|Vi'|=k)(i∈(1,q)) (7)
第二步:
Min k (9)
限制条件:
首先将{G′1(V,E′1),G'2(V,E'2),...,G'q(V,E'q)}中的孤立的顶点删除,求解Vi',根据Vi'的属性来选择性的加入到结果集中。如果节点是控制器,那么将该控制器加入到结果集中,如果该节点是交换机,如果该交换机只连接一个控制器,那么将该控制器加入到结果集中,如果一个交换机连接多个控制器,若其中有Master控制器,则将Master控制器加入到结果集中,如果没有Master控制器,则按照控制器序号选择流量最小的控制器加入到结果集中。然后进行第二步,在求得的集中寻找适合第二步限制条件的解。
由于求解{V′1,V′2,...V′q}是一个顶点覆盖问题,所以该步不能在多项式内求解(顶点覆盖问题是一个NP-complete问题),所以问题的求解不可能在多项式时间内完成,故问题为NP完全问题。
本发明提出一种贪心算法来求解选择休眠控制器的问题。该贪心算法基于以下两个贪心原则:
1)流量最小的控制器优先休眠的原则:该原则保证每次检测的控制器是网络中符合条件的流量最小的控制器。因为将流量小的控制器处于休眠状态要比将流量大的控制器处于休眠状态操作更简单,更加节省操作的时间,并且也能节省操作的能量。
2)交换机上的流量优先分配给符合条件的流量最大的控制器的原则。该原则保证了全网中符合条件的控制器中流量较大的控制器获得将要休眠的控制器的流量的优先级别较高,这样,就能保证让符合条件的控制器的总流量也能接近αT,也即使网络中的部分控制器的使用效率最大,而且能适当的减少网络中负载不均衡的状况。
算法分为以下三个部分:
(1)检测控制器是否为满足休眠条件的控制器(即是否能移动休眠的控制器所负责的交换机到其他的控制器上)
该算法可以计算出哪个控制器最需要休眠,为了方便阐述,将每个控制器从1到n做标记,每一个交换机从1到m做标记(n是控制器的数量,m是交换机的数量)。然后计算F_I矩阵的行分量和列分量的和,分别记为(C1,C2,...,Cn)和(S1,S2,...,Sm),其中Ci表示的是流入第i个控制器的流量(即控制器的输入流量),Sj表示流入第j个交换机的流量。
首先将控制器的流量(C1,C2,...,Cn)从小到大排序,为方便表述,排序只是用控制器的序号,也就是序号的位置表示的是控制器的流量大小的排序。按照流量从小到大的顺序查看,由于使用的是控制器的序号来进行寻找,因此只需要排列控制器的序号而不需要排列控制器的值。首先检测第一个控制器,也就是流量最小的控制器,找到每一个以该控制器为Master控制器的交换机,查找这些交换机连接的所有的控制器,检测是否有可以接收这些交换机的Equal或Slave控制器,检测的结果可以分为以下三种情况:
1)其中有一个或多个交换机只连接有一个控制器,即没有连接Equal或Slave控制器,这些交换机无法移动。
2)其中有一个或多个交换机连接有Equal或Slave控制器,但是由于控制器的上限阈值的问题接收该交换机可能会引起过载,所以没有一个控制器可以接收该交换机的流量。
3)所有的交换机均能够找到Equal或Slave控制器接收其流量。选择所有满足条件的Equal或Slave控制器,选择其中流量最大的一个控制器接收该交换机,然后将该控制器做好标记,表明该交换机需要转移到该控制器上去,以备步骤(2)进行控制器的休眠和交换机的转移。
这里使用数据库上经常使用的事务处理的方法,如果所有的交换机都能成功转移,就返回该控制器的序号;如果在转移过程中,如果有一个交换机不能成功的进行转移,这样的情况下,交换机就不能全部转移,那么该控制器就不能休眠,就要重新回卷所有的信息,好像没有一个交换机转移过一样。如果经过查询,所有的控制器都不能休眠的话,返回-1,该过程的示意图见附图3,伪代码如下,流程图见附图4。
(2)交换机无缝转移
该步骤是将所有满足条件的控制器休眠。首先获取步骤(1)中返回的值;判断该值是否是-1。如果不是-1,那么该值表示的是接下来需要移动的控制器的序号,根据步骤(1)在做检测时所作的标记,将标记的交换机转移到相应的其他控制器上,然后将需要休眠的控制器休眠,然后继续进行步骤(1)查找适合休眠的控制器序号。如果该值是-1,则表示所有交换机已经转移完毕,则结束。
(3)负载均衡步骤,在做完交换机转移后,检查是否需要进行负载均衡,如果可以找到比现在网络更加均衡的连接方式,就进行负载均衡步骤。
该步骤分为以下三步:
首先将(C1,C2,...,Cn)矩阵从大到小排序;按照流量从大到小的顺序查看,由于使用的是控制器的序号来进行寻找,因此只需要排列控制器的序号而不需要排列控制器的值。找到每一个以该控制器为Master控制器的交换机;查找该交换机连接的所有的控制器,检测是否有可以接收该交换机的Equal或Slave控制器;可以分为以下四种情况:
1)其中有一个或多个交换机只连接有一个Master控制器,没有连接Equal/Slave控制器;
2)其中有一个或多个交换机连接有Equal/Slave控制器,由于接受该交换机的流量会导致控制器过载的问题,所以没有一个控制器可以接收该交换机的流量;
3)其中有一个或多个交换机连接有Equal/Slave控制器,而且存在交换机可以在不引起流量过载的情况下转移到其Equal/Slave控制器上,但是两个控制器在交换机转移之后的流量差大于转移之前的流量差,使得网络的负载更加不均衡;
4)其中有一个或多个交换机连接有Equal或Slave控制器,而且存在交换机可以在不引起流量过载的情况下转移到Equal/Slave控制器上,同时两个控制器在转移之后的流量差小于转移之前的流量差;
5)选择所有满足条件4)的Equal或Slave控制器,选择其中流量差最小的一个控制器接收该交换机,示意图见附图5,伪代码如下,流程图见附图6。
贪心算法的步骤(1)的计算复杂度为O(n2m),步骤(3)的计算复杂度同样为O(n2m),其中n为控制器的数量,m为交换机的数量。所以最终的复杂度为O(n2m)。
网络在负载减小时,通过自适应选择控制器的过程,控制池利用上述提出的贪心算法能够进行有效的收缩,使负载较小的控制器处于休眠状态,以减少控制器中处于活跃状态的数量,从而节约能源。
本实施例在实施时,具体包括如下方案:
本实施例不仅需要对控制器进行修改升级,还要部分修改OpenFlow协议,使其能够支持交换机在不同控制器之间的无缝地转移。而SDN网络中的转发设备则需要支持LPI(Low Power Idle)技术。如图8所示,需要增加控制器之间的选举模块、分布式存储模块、休眠检测模块、交换机无缝转移模块、负载均衡模块、分布式存储模块更新模块、控制器更新模块。下面具体的介绍每一个模块的功能和实现。
1、OpenFlow交换机的LPI技术
网络中转发过程需要的能耗是最大的,大约占总能耗的54%,现有的LPI技术能够使得转发层的硬件在空闲时处于休眠状态,从而减少能耗。本发明是基于硬件的LPI技术实现。当网络中的流量减小时,将该控制器控制的交换机转移到其他控制器中,从而使该控制器处于空闲状态,从而减小能耗。
2、控制器之间的选举模块
不同的控制器之间需要通信,共同完成对交换机的控制。当一个新的交换机进入到网络中,各控制器会相互通信,然后选举出合适的控制器作为该交换机的Master控制器以及相应的Equal和Slave控制器。每一个交换机只能连接一个Master控制器,但是可以连接多个Equal和Slave控制器,当Slave想要接管交换机时,Slave控制器需要首先进行角色转换,转换到Equal控制器,然后才能转换到Master控制器,而Master控制器被替换之后,直接转换到Slave控制器。
3、OpenFlow协议的修改
由于现有的OpenFlow协议不能支持交换机在不同的控制器之间的无缝转移,所以需要对其进行扩展,使其能够支持交换机在Master控制器和Slave/Equal控制器之间无缝的转移,从而达到休眠控制器或者负载均衡的目的。
如图7中所示,OpenFlow中原有的转移机制是直接由Slave控制器B向交换机x发起角色转换的请求信息,由于控制器之间是可以通信的,当Master控制器A和交换机x都收到Slave控制器B的请求信息后,则控制器A变为Slave控制器,控制器B变为Master控制器,由于转换过程需要相应的时间进行,可能存在控制器A已经转换成了Slave控制器,而控制器B还没有转换成为Master控制器,这个时间段交换机x就没有相应的控制器对其进行操作,而且还可能存在发往控制器A的packet-in数据包在控制器A变为Slave控制器后,交换机x不再承认这个数据包处理过程为其Master控制器对其的处理过程,从而可能丢弃该packet-in包。这样的机制会引起数据的不一致性,也会导致网络的不稳定性和不安全性。
具体做法举例如下:假如交换机x要从控制器A转移到控制器B上,现在控制器A是Master控制器,B是Slave控制器。首先控制器A向控制器B发送一个交换机转移的请求信息,控制器B发送一个角色转换Slave-to-Equal的请求信息给交换机x,交换机x回应一个角色转换Slave-to-Equal的信息给控制器B,然后控制器B再发送一个准备好转移的信息给控制器A。然后控制器A发送一个增加空的流表项的信息给交换机x,然后再发送一个Barrier请求信息(Barrier请求信息是OpenFlow中的一种请求信息,该信息能够起到同步的作用)给交换机x,之后交换机x回应Barrier请求信息,然后控制器A发送撤销刚才添加的空的流表项的信息,交换机x给其所有Master和Equal控制器回应流表项撤销的消息,此节点作为控制器A和控制器B角色进行转换的节点。之后控制器A再次发送Barrier信息进行同步操作,然后控制器B发送Equal-to-Mater的操作,交换机x回应了该消息之后,控制器B就成为了Master控制器,而控制器A就变成了其Slave控制器。该过程保证了转移过程中网络的稳定性和安全性。
4、分布式存储模块
现有的被提出的分布式的SDN架构中,有两种存在形式。一种是平面结构的,即只有一层控制器,每一个控制器都维护全局的网络视图以及所有控制器和交换机的配置信息。另外一种是层次结构,即第一层为集中式的SDN架构,有一个总的控制器来控制下一层中所有的控制器,而第二层的控制器只维护一部分网络视图和相应的配置信息。本发明中采用的是第二种层次结构,既能保证网路的灵活性,又能保证网络的可扩展性和安全性。
分布式存储模块连接了所有的控制器,提供了一个集中式的数据集,充当了所有控制器的中央控制器。它存储了所有交换机与控制器的连接关系,以及所有设备的相关配置信息。该存储模块的增加将分布式网络分成了两个层次,高层次是一个集中式的SDN网络,而第二层次是分布式的SDN网络,每一个二层的控制器只控制部分交换机,负载部分功能,维护部分网络视图,维护自己部分的控制器和交换机的配置信息等。例如,图1中控制池中的两个控制器,均只维护自己与相应交换机的配置关系。这样的层次不但增加了网络的安全性,同时增加了网络的灵活性和可扩展性。
5、交换机无缝转移模块
当检测到上述贪心算法的步骤(1)中返回的结果是控制器的序号时,表明该控制器可以休眠。由于在检测时,已经对接收的控制器做好了记录,所以每一个交换机的转移方向已经完全确定,该交换机无缝转移模块要实现该控制器控制的所有交换机在这个控制器和接收控制器之间进行无缝地转移,即保证转移的过程中数据的完整性,网络的稳定性。
k个交换机以第一个控制器为Master控制器,以第二个控制器为Slave控制器,第i,j,m个交换机以第一个控制器为Slave控制器,以第二个控制器为Master控制器。当检测到i,j,m需要转移到控制器1时,该模块负载无缝的将i,j,m号交换机转移到控制器1上。完成该模块后,所有的控制器会立即进行分布式存储模块更新和网络拓扑信息的更新。
6、休眠检测模块
休眠检测模块是所有模块中最重要的,它完成了休眠时选择控制器的问题和交换机在转移时选择控制器的问题。
该模块首先从分布式存储模块获取相应的数据,然后将所有控制器的流量总和计算出来,将控制器的序号根据流量从小到大的顺序排列。第一个序号代表的就是流量总和最小的控制器序号。例如图3中,两个控制器按照流量总和进行排列,第二个控制器的流量较小,则第一个序号就是2,代表的是第二个控制器,而第二个序号是1,代表的是第一个控制器。
然后检测第一个控制器,检测其流量是否小于下限阈值βT,如果大于该阈值,则证明该系统不需要转移,或者已经转移完毕。如果小于该阈值,表示这个控制器符合转移的流量条件。接下来计算是否有符合条件的控制器可以接收该控制器控制的所有交换机。
检测每一个该控制器控制的交换机,检测其是否有Slave/Equal控制器,如果没有Slave/Equal控制器,则表示该交换机不能移动,也就是该控制器不能被休眠,则检测下一个控制器。如果有Slave/Equal控制器,计算这些Slave/Equal控制器是否可以接收该交换机。如果由于流量过载等问题不可以接收该交换机,则该交换机也不能转移,该控制器也不能被休眠。如果Slave/Equal控制器可以接收该交换机,则将该交换机和该Slave/Equal控制器记录下来,如果同时有多个Slave/Equal控制器符合条件,则选择流量较大的控制器作为接收控制器。例如图3中的情况,首先检测第二个控制器的流量是否小于最小阈值βT,如果不小于该阈值,则本过程结束。如果小于该阈值,则检查所有以二号控制器为Master控制器的交换机i,j,m。如果其中有一个或多个交换机没有Slave/Equal控制器,则该过程结束,因为该控制器不能休眠。如果i,j,m均有Slave/Equal控制器,则计算这些Slave/Equal控制器是否可以接收这些交换机。如果有一个或多个交换机的Slave/Equal控制器不能接收该交换机,那么检测下一个控制器。如果所有的交换机的Slave/Equal控制器均可以接收交换机,则记录相应的交换机序号和对应的接收该交换机的Slave/Equal控制器的序号,并返回控制器的序号。本例中,i,j,m号交换机均以一号控制器为Slave控制器,并且1号控制器的流量较小,可以同时接收三个交换机,那么将(i,1),(j,1),(m,1)记录下来,然后返回控制器序号2。将返回结果和记录结果一并作为输入传给交换机无缝转移模块,由交换机无缝转移模块完成三个交换机的无缝转移过程。
7、负载均衡模块
该模块和休眠检测模块非常相似。该模块首先从分布式存储模块获取相应的数据,然后将所有控制器的流量总和计算出来,将控制器的序号根据流量从大到小的顺序排列。第一个序号代表的就是流量总和最大的控制器序号。例如图5中,两个控制器按照流量总和进行排序,第二个控制器的流量较大,则第一个序号就是2,代表的是第二个控制器,而第一个序号是1,代表的是第一个控制器。
然后检测第一个控制器的交换机,计算是否有符合条件的控制器可以接收该控制器控制的交换机,从而使得网络的负载更加均衡。
检测每一个该控制器控制的交换机,检测其是否有Slave/Equal控制器,如果没有Slave/Equal控制器,则表示该交换机不能移动。如果所有的交换机均没有Slave/Equal控制器,那么检测下一个控制器。如果有交换机有Slave/Equal控制器,计算这些Slave/Equal控制器是否可以接收该交换机。如果由于流量过载等问题不可以接收该交换机,则该交换机也不能转移,如果所有有Slave/Equal控制器的交换机均不能转移,那么检测下一个控制器。如果Slave/Equal控制器可以接收该交换机,计算该交换机移动之后的网络负载是否比移动之前更加均衡,如果不是,则不移动,如果更加均衡,则将该交换机和该Slave/Equal控制器记录下来,如果同时有多个Slave/Equal控制器符合条件,则选择能够使得网络负载最均衡的控制器进行记录。例如图6中的情况,首先检测以流量最大的控制器(即2号控制器)为Master的交换机,即i,j,m。如果所有的交换机i,j,m都没有Slave/Equal控制器,则检测下一个控制器。如果i,j,m中有一个或多个交换机有Slave/Equal控制器,则计算这些Slave/Equal控制器是否可以接收该交换机。如果所有的Slave/Equal控制器不能接收该交换机,那么检测下一个控制器。如果存在有交换机的Slave/Equal控制器可以接收该交换机,则计算移动前后的网络负载情况,若网络负载更加不均衡,那么开始检测下一个控制器,如果网络负载更加均衡,并且记录能够使得网络负载最均衡的控制器接收该交换机。本例中,i,j,m号交换机均以一号控制器为Slave控制器,并且1号控制器的流量较小,可以同时接收三个交换机,但是由于第i和m号交换机转移之后会使得负载更加不均,所以不进行转移,而第j号交换机转移之后会使得负载更加均衡,从而将(j,1)记录下来。将记录结果作为输入传给模块5,由模块5完成j号个交换机的无缝转移过程。
8、分布式存储模块更新模块
由于分布式存储模块需要维护全局网路的视图并维护所有交换机与控制器之间的配置关系,所以每当有交换机进行转移或者控制器进行休眠的时候,该模块也必须相应地进行更新,来维护数据的一致性,网路的稳定性等。例如图3中,第二号控制器进行休眠后,需要更新该控制器连接的交换机的所有配置信息。图6中,第j号交换机转移到1号控制器上,也需要更新此次交换机的转移。完成这个模块后,会通知有变更的控制器,从而完成控制器更新模块。
9、控制器更新模块
完成了分布式存储模块更新模块之后,相应的控制器更新模块也必须及时完成。由于分布式存储模块记录的是全局信息,而每一个控制器只维护跟自己连接的控制器和交换机的配置信息,这些信息是控制器定期或者收到通知从分布式存储中获取,所以当分布式存储中的信息变更之后,相应的控制器的信息也会变更,这个模块中只更新需要更新的控制器,而没有变化的控制器则不需要进行更新。图3中,2号控制器休眠,此时其负责的所有交换机都转移到1号控制器上,则分布式存储需要更新控制器的活跃信息,以及i,j,m号交换机的配置信息。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
Claims (10)
1.一种分布式软件定义网络中动态控制控制器的方法,所述分布式软件定义网络包括多个交换机和多个控制器,每个控制器至少连接一个交换机,每个交换机至少连接一个控制器,每个交换机连接的控制器中有且仅有一个作为主控制器,连接的其余控制器作为备份控制器,所述控制器的工作状态包括休眠和活跃,所述控制器的输入流量为与其连接的所有交换机流入所述控制器的流量和,其特征在于,对每一个控制器进行操作:包括步骤:
若所述控制器为活跃状态且输入流量低于下限阈值βT,判断以所述控制器为主控制器的所有交换机是否都能转移到符合第一条件的备份控制器上,若都能转移,则所述控制器为满足休眠条件的控制器;
将以所述满足休眠条件的控制器为主控制器的所有交换机都转移到符合所述第一条件的备份控制器上,所述满足休眠条件的控制器休眠;所述第一条件是指与交换机连接的并处于活跃状态的备份控制器接收所述交换机的流量后输入流量不超过上限阈值αT,T为控制器的吞吐量,表示每个控制器在单位时间内能够处理的最多流量;0<β<1,0<α≤1,α>β。
2.如权利要求1所述的方法,其特征在于,对所有控制器按所述输入流量从小到大进行排序后,再对排序后的控制器中的每一个控制器进行所述操作;将交换机转移到符合所述第一条件的备份控制器上时,选择所述备份控制器中输入流量最大的备份控制器接收所述交换机。
3.如权利要求2所述的方法,其特征在于,包括如下步骤:
(1)、检测控制器是否为满足休眠条件的控制器:
将所述控制器从1到n做标记,所述交换机从1到m做标记,其中n是所有控制器的数量,m是所有交换机的数量;然后计算第i个控制器的输入流量,1≤i≤n;
对所有控制器按输入流量从小到大进行排序,从所述输入流量最小的控制器开始到所述输入流量最大的控制器依次进行检测,对第i个控制器,若所述第i个控制器为活跃状态且输入流量低于下限阈值βT,找到以所述第i个控制器为主控制器的所有交换机,查找这些交换机连接的所有备份控制器,检测这些交换机是否可以转移到符合第一条件的备份控制器上,检测的结果包括:
1)其中有一个或多个交换机只连接所述第i个控制器,则所有交换机都不能转移,所述第i个控制器不能休眠;
2)其中有一个或多个交换机连接有备份控制器,但所述备份控制器为不符合所述第一条件的备份控制器,则所有交换机都不能转移,所述第i个控制器不能休眠;
3)所有交换机都连接有符合所述第一条件的备份控制器,则所有交换机都能转移,所述控制器为满足休眠条件的控制器;对每个交换机,选择所有符合所述第一条件的备份控制器,选择所述备份控制器中输入流量最大的一个备份控制器接收所述交换机,然后标记所述交换机和所述备份控制器,表明所述交换机需要转移到所述备份控制器上;
如果第i个控制器为满足休眠条件的控制器,本步骤返回所述第i个控制器的序号i,如果第i个控制器为不满足休眠条件的控制器,则撤销对所述交换机和所述备份控制器的标记;如果经过检测,所有控制器都为不满足休眠条件的控制器,本步骤返回-1;
(2)、交换机无缝转移
判断步骤(1)的返回值是否为-1,如果否,所述返回值表示的是满足休眠条件需要休眠的控制器序号,将步骤(1)中标记的交换机转移到相应的备份控制器上,然后将需要休眠的控制器休眠,然后继续进行步骤(1)以检测满足休眠条件的控制器,如果步骤(1)的返回值为-1,表示所有交换机已经转移完毕,则结束。
4.如权利要求3所述的方法,其特征在于,还包括如下步骤:
(3)、负载均衡:将经过所述步骤(2)后的所有控制器按输入流量从大到小进行排序,从输入流量最大的控制器开始到输入流量最小的控制器依次进行检测,对于第i个控制器,若所述第i个控制器的输入流量不低于下限阈值βT,找到以所述第i个控制器为主控制器的所有交换机,查找这些交换机连接的所有备份控制器,检测这些交换机是否可以转移到同时符合所述第一条件和符合第二条件的备份控制器上,所述第二条件是指交换机从主控制器上转移到处于活跃状态的备份控制器上后,所述主控制器和所述备份控制器的输入流量差小于交换机转移之前所述主控制器和所述备份控制器的输入流量差,检测的结果包括:
1)其中有一个或多个交换机只连接所述第i个控制器,则这些交换机不能转移;
2)其中有一个或多个交换机连接有备份控制器,但所述备份控制器为不符合所述第一条件的备份控制器,则这些交换机不能转移;
3)其中有一个或多个交换机连接的备份控制器符合所述第一条件,但不符合所述第二条件,则这些交换机不能转移;
4)其中有一个或多个交换机连接的备份控制器既符合所述第一条件又符合所述第二条件,则这些交换机可以转移;对于每个可转移的交换机,选择所有满足情况4)的备份控制器中使得流量差最小的一个备份控制器接收所述交换机。
5.如权利要求1所述的方法,其特征在于:所述分布式软件定义网络为层次结构的分布式软件定义网络,所述分布式软件定义网络还包括分布式存储模块,所述分布式存储模块与所有控制器连接,用于存储所有控制器的工作状态以及所有交换机与控制器的连接关系和配置信息。
6.一种分布式软件定义网络,包括多个交换机和多个控制器,每个控制器至少连接一个交换机,每个交换机至少连接一个控制器,每个交换机连接的控制器中有且仅有一个作为主控制器,连接的其余控制器作为备份控制器,所述控制器的工作状态包括休眠和活跃,所述控制器的输入流量为与其连接的所有交换机的流量和,其特征在于,还包括:
休眠检测模块,用于依次检测每个控制器是否满足休眠条件,若所述控制器为活跃状态且输入流量低于下限阈值βT,判断以所述控制器为主控制器的所有交换机是否都能转移到符合第一条件的备份控制器上,若都能转移,则所述控制器为满足休眠条件的控制器;
交换机无缝转移模块,用于将以所述满足休眠条件的控制器为主控制器的所有交换机都转移到符合所述第一条件的备份控制器上,所述满足休眠条件的控制器休眠;
所述第一条件是指与交换机连接的备份控制器接收所述交换机的流量后输入流量不超过上限阈值αT,T为控制器的吞吐量,表示每个控制器在单位时间内能够处理的最多流量;0<β<1,0<α≤1,α>β。
7.如权利要求6所述的分布式软件定义网络,其特征在于,所述分布式软件定义网络还包括负载均衡模块,用于对经过所述交换机无缝转移模块处理后的所有控制器进行检测,对每一个控制器,检测以所述控制器为主控制器的所有交换机中是否有交换机能转移到既符合所述第一条件又符合第二条件的备份控制器上,若是,将所述控制器中能转移的交换机依次转移到符合所述第二条件的备份控制器上;所述第二条件是指交换机从主控制器上转移到备份控制器上后,所述主控制器和所述备份控制器的输入流量差小于交换机转移之前所述主控制器和所述备份控制器的输入流量差。
8.如权利要求6所述的分布式软件定义网络,其特征在于,所述分布式软件定义网络还包括控制器之间的选举模块,用于不同的控制器之间进行通信以共同完成对交换机的控制。
9.如权利要求8所述的分布式软件定义网络,其特征在于,所述分布式软件定义网络还包括分布式存储模块,所述分布式存储模块与所有控制器连接,用于存储所有控制器的工作状态以及所有交换机与控制器的连接关系和配置信息。
10.如权利要求9所述的分布式软件定义网络,其特征在于,所述分布式软件定义网络还包括分布式存储模块更新模块和控制器更新模块;所述分布式存储模块更新模块用于更新所述分布式存储模块中存储的所有控制器的工作状态以及与控制器连接的所有交换机的配置信息,所述控制器更新模块用于更新工作状态有更新的控制器连接的所有交换机的配置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510152981.6A CN104754053B (zh) | 2015-04-01 | 2015-04-01 | 一种分布式软件定义网络及在其中动态控制控制器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510152981.6A CN104754053B (zh) | 2015-04-01 | 2015-04-01 | 一种分布式软件定义网络及在其中动态控制控制器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104754053A CN104754053A (zh) | 2015-07-01 |
CN104754053B true CN104754053B (zh) | 2017-12-19 |
Family
ID=53593140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510152981.6A Expired - Fee Related CN104754053B (zh) | 2015-04-01 | 2015-04-01 | 一种分布式软件定义网络及在其中动态控制控制器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104754053B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208023B (zh) * | 2015-09-14 | 2018-03-30 | 北京交通大学 | 中心控制器保护方法、设备及系统 |
CN105610854B (zh) * | 2016-01-18 | 2019-08-06 | 上海交通大学 | 一种网络协同防御系统 |
CN107179912B (zh) * | 2017-06-07 | 2020-09-01 | 广州市品高软件股份有限公司 | 一种分布式架构软件定义网络控制器的热升级方法 |
WO2019006708A1 (zh) * | 2017-07-05 | 2019-01-10 | 全球能源互联网研究院有限公司 | 基于双端口交换机的sdn多域网络备份方法及系统 |
CN107197478A (zh) * | 2017-07-19 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于转发强度测量的流量均衡方法 |
CN108123891A (zh) * | 2017-12-07 | 2018-06-05 | 长沙学院 | Sdn网络中使用分布式域控制器实现的动态负载均衡方法 |
CN108199890B (zh) * | 2018-01-11 | 2019-11-22 | 重庆邮电大学 | 一种软件定义网络弹性控制器部署方法 |
CN113411211B (zh) * | 2021-06-16 | 2022-09-30 | 中国科学技术大学 | 一种主从集群控制方法、装置及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065509A (zh) * | 2014-07-24 | 2014-09-24 | 大连理工大学 | 一种降低管理负载开销的sdn多控制器部署方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750119B2 (en) * | 2010-07-06 | 2014-06-10 | Nicira, Inc. | Network control apparatus and method with table mapping engine |
-
2015
- 2015-04-01 CN CN201510152981.6A patent/CN104754053B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065509A (zh) * | 2014-07-24 | 2014-09-24 | 大连理工大学 | 一种降低管理负载开销的sdn多控制器部署方法 |
Non-Patent Citations (1)
Title |
---|
A Dormant Multi-Controller Model for Software Defined Networking;FU yonghong .et al;《COMMUNICATONS SYSTEM DESIGN》;20140331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104754053A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104754053B (zh) | 一种分布式软件定义网络及在其中动态控制控制器的方法 | |
CN104065509B (zh) | 一种降低管理负载开销的sdn多控制器部署方法 | |
CN107579518B (zh) | 基于mhba的电力系统环境经济调度方法和装置 | |
CN103077082A (zh) | 一种数据中心负载分配及虚拟机迁移节能方法及系统 | |
Luo et al. | Reliable virtual machine placement based on multi-objective optimization with traffic-aware algorithm in industrial cloud | |
Ullah et al. | A computationally efficient consensus-based multiagent distributed EMS for DC microgrids | |
CN113098711A (zh) | 一种基于云边协同的配电物联网cps管控方法及系统 | |
WO2023245740A1 (zh) | 一种基于蚁群算法的第四方物流运输路径规划方法 | |
CN104317646B (zh) | 基于OpenFlow框架下云数据中心虚拟机调度方法 | |
CN107590612A (zh) | 需求响应系统,需求响应方法、装置及计算机处理设备 | |
Yu et al. | Distributed consensus strategy for economic power dispatch in a smart grid | |
US10152036B2 (en) | Adaptive mixed integer nonlinear programming for process management | |
CN108064036A (zh) | 蓝牙低功耗协议结构及网络调度方法 | |
CN109121105A (zh) | 基于马尔可夫博弈的运营商竞争切片强化学习方法 | |
CN106451415A (zh) | 一种基于分布式协调方法的微电网电力交易系统 | |
CN111324429B (zh) | 一种基于多代血统参考距离的微服务组合调度方法 | |
Fan et al. | Game balanced multi-factor multicast routing in sensor grid networks | |
CN107835130A (zh) | 一种流量分配方法及装置 | |
CN104836846A (zh) | 一种基于sdn技术的能源互联通信网络架构系统 | |
CN113408779B (zh) | 新能源汇集网络的多目标规划方法、装置和计算机设备 | |
Yi et al. | Energy‐aware disaster backup among cloud datacenters using multiobjective reinforcement learning in software defined network | |
CN106681795A (zh) | 一种利用节点局部拓扑属性和可利用资源容量值的虚拟网络映射方法 | |
Yujie et al. | An effective controller placement algorithm based on clustering in SDN | |
CN104866611B (zh) | 一种电力系统主动解列断面的实用化快速搜索方法 | |
CN103596203B (zh) | 一种局部自维护的无线传感器网络节能分簇拓扑控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171219 |