CN105024939A - 一种基于OpenFlow的SDN网络环境下分布式控制器系统 - Google Patents

一种基于OpenFlow的SDN网络环境下分布式控制器系统 Download PDF

Info

Publication number
CN105024939A
CN105024939A CN201510366859.9A CN201510366859A CN105024939A CN 105024939 A CN105024939 A CN 105024939A CN 201510366859 A CN201510366859 A CN 201510366859A CN 105024939 A CN105024939 A CN 105024939A
Authority
CN
China
Prior art keywords
controller
decision
active
openflow
making device
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.)
Pending
Application number
CN201510366859.9A
Other languages
English (en)
Inventor
王�华
孙洪波
朱洪波
卢捍华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201510366859.9A priority Critical patent/CN105024939A/zh
Publication of CN105024939A publication Critical patent/CN105024939A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于OpenFlow的SDN网络环境下分布式控制器系统,该系统包括决策器模块、控制器资源池、OpenFlow控制服务器和OpenFlow交换机;决策器模块是整个系统功能的核心,负责检测active_controller,即:处于工作状态的控制器,在其过载时将进行负载均衡决策,从资源池中调入新的控制器加入工作,并且周期性检查active_controller负载情况,完成控制器资源的回收;控制器资源池是收集所有的empty_controller,即:处于空闲状态的控制器合集,资源池的动态增减由决策器控制;OpenFlow控制服务器要实时监测自身负载,过载时要将负载情况通知决策器;另外要监听决策器传输过来的命令,完成自身负载情况上报或者完成自身角色的切换;OpenFlow交换机是完成数据的转发功能,并在控制器过载时要参与负载均衡过程。

Description

一种基于OpenFlow的SDN网络环境下分布式控制器系统
技术领域
本发明涉及一种基于OpenFlow的SDN网络环境下分布式控制器系统,属于互联网技术领域。
背景技术
SDN(即:软件定义网络)是一种新型网络创新架构,是未来网络发展的趋势。SDN强调网络设备的控制平面和数据平面想分离,控制平面的功能汇集到网络内的一个集中式控制器。SDN控制器实现网络拓扑的收集、路由的计算、流表的生成和下发、网络的管理与控制等功能,网络层设备仅仅负责流量的转发和策略的执行。
转发与控制分离带来了控制逻辑集中,SDN控制器拥有网络的全局静态拓扑、全网的动态转发表信息、全网络的资源利用率、故障状态等,从而也开放了网络能力,通过集中的SDN控制器实现网络资源的统一管理、整合以及虚拟化后,采用规范化的北向接口为上层应用提供按需的网络资源及服务,实现网络能力开放,按需提供。
OpenFlow作为实现SDN架构的控制器与SDN Switch的南向接口协议,定义了一系列规范。SDN网络环境中单OpenFlow控制器虽然带来了控制上的便利性,但存在单点可靠性和性能问题。而本发明能够很好地解决上面的问题。
发明内容
本发明目的在于针对现在OpneFlow的SDN网络环境下单控制器的单点故障问题和性能问题,提出了一种逻辑上集中但物理上分布的分布式控制器系统,解决了单点故障和性能的问题,该系统既解决了存在的单点故障和性能问题,又保持了单控制器的便利性。
本发明解决其技术问题所采取的技术方案是:一种基于OpenFlow的SDN网络环境下分布式控制器系统,该系统包括决策器模块、控制器资源池、OpenFlow控制服务器和OpenFlow交换机。
决策器模块的功能是整个系统功能的核心,该决策器模块是整个系统功能的核心,负责检测active_controller的工作情况,在其过载时将进行负载均衡决策,从资源池中调入新的控制器加入工作,并且周期性检查active_controller(即:处于工作状态的控制器)负载情况,完成控制器资源的回收。
控制器资源池的功能是收集所有的empty_controller,即:处于空闲状态的控制器合集,资源池的动态增减由决策器控制;控制器和底层的OpenFlow交换机处于正常的工作状态中。
OpenFlow控制服务器的功能是,除了完成传统OpenFlow控制器的功能外,要实时监测自身负载,过载时要将负载情况通知决策器;另外要监听决策器传输过来的命令,完成自身负载情况饿上报或者完成自身角色的切换。
OpenFlow交换机的功能是完成数据的转发功能,并且在控制器过载时要参与负载均衡过程。
本发明所述empty_controller,即:处于空闲状态的控制器与active_controller,即:处于工作状态的控制器的转换是完全由决策器控制,而OpenFlow交换机控制权的转移则由两个控制器之间按照切换流程完成。
本发明所述控制器的负载,根据控制器的内存、CPU、IO的使用情况定量计算得出,使得在后续负载均衡过程中,不会使得参与均衡过程的控制器过载。
有益效果:
1、本发明很好地解决了SDN网络单点故障和性能问题。
2、本发明保证了每个控制器都处于正常工作状态中,不会发生控制器过载。
3、本发明的控制器和底层交换机处于动态的映射,能实时进行控制器角色的切换
附图说明
图1为本发明的系统架构图。
图2为本发明OpenFlow控制服务器与OpenFlow交换机之间的切换过程示意图。
图3为本发明控制器过载时处理流程图。
图4为本发明Decision负载均衡阶段一示意图。
图5为本发明Decision负载均衡阶段二示意图。
图6为本发明Decision负载均衡阶段三示意图。
图7为本发明周期性负载均衡示意图。
具体实施方式
下面结合说明书附图对本发明创造作进一步的详细说明。
实施例一
本发明的MasterNode决策器(即:Decision),该Decision与每个OpenFlow控制服务器建立双向连接(即:TCP连接)。实际连接,处于工作状态的OpenFlow交换机的Controller称为active_controller,未连接OpenFlow控制器,空闲状态的控制器处于资源池中,称为empty_controller。
每个控制器会统计自己的“内存、CPU使用率”,“进程数”、“IO量”和各下层“OpenFlow交换机占用的资源比”,并且会依据此设置三个值:切换线、正常工作线、过载线。处于“切换线”下的active_controller可以被Decision选中参与负载均衡过程。当某个active_controller超过“过载线”后,则会向Decision发送Warning_pacekt,Decision会启动一系列步骤去完成loadbalance(即:负载均衡),在此过程中会用来Query_packet和Response_packet。最后Decision会回送Hand_off_packet。最终OpenFlow交换机在两个activecontroller之间完成切换。
本发明的Decision能够控制OpenFlow交换机,在各个active_controller之间切换完成负载均衡,当active_controller不足时,Decision在资源池中启动新的OpenFlow控制器。当active_controller资源富足时,Decision会将多余的active_controller回收进资源池中。
如图3所示,本发明的工作中的控制器称为active_controller,active_controller,根据其“内存、CPU使用率”,“进程数”、“IO量”和各下层“OpenFlow交换机占用的资源比”各项统计数据完成一个负载指标的计算(即:负载指标越大证明active_controller越繁忙),本发明根据指标值设定三基准线:切换线、正常工作线、过载线。
当active_controller处于“切换线”以下时,active_controller可参与Decision负载均衡调度。当active_controller处于“过载线”之上时,active_controller将向Decision发出Warning_packet指出本控制器已经过载工作,并且在Warning_packet中包含有自己的内存、CPU使用率,进程数和IO量等计算值,为了避免active_controller的瞬时过载引起Decision的负载均衡调度,本发明设定一个last_time参数,在active_controller过载时间超过last_time时发出Warning_packet。
Decision收到active_controller发出的Warning_packet时,将提取其中的内存、CPU使用率,进程数和IO量等指标,并且Decision进入负载均衡阶段,在Decision负载均衡决策完成后,将向发起Warning_packet的active_controller回送Hand_off_packet。
如果在Decision的一个负载均衡的某个阶段收到了另一个active_controller的Warning_packet,只有等待前一个处理完后,才能处理下一个。
“内存、CPU使用率”,“进程数”、“IO量”和各下层“OpenFlow交换机占用的资源比”各项统计数据的意义,前三项表示某个active_controller整体资源使用状况,最后的“OpenFlow交换机占用的资源比”是用来了解各个OpenFlow交换机占用active_controller总资源比率,这样决定哪些OpenFlow交换机可以转移到新的active_controller上,且不会引起新的active_controller过载情况的发生
“过载线”的设定要满足以下一个条件,任何处于过载线的active_controller与empty_controller(未连接任何OpenFlow交换机的controller)的负载均衡是一定会成功的,既均衡后两个控制器都不会过载
结合流程图,本发明详述整个系统工作流程,包括:
如图3所示,当active_controller处于“过载线”之上时,active_controller将向Decision发出Warning_packet指出本控制器已经过载工作,并且在Warning_packet中包含有自己的内存、CPU使用率,进程数和IO量等计算值(为了避免active_controller的瞬时过载引起Decision的负载均衡调度,本发明设定一个last_time参数,在active_controller过载时间超过last_time时发出Warning_packet)
如图4所示,本发明的Decision进入负载均衡阶段一,Decision(即:决策器)收到active_controller_A发送的Warning_packet,提取其中“内存、CPU使用率”,“进程数”、“IO量”和各下层“OpenFlow交换机占用的资源比”等统计数据,然后Decision向所有(除发出此Warning_packet的active_controller之外)active_controller发出Query_packet用来请求控制器的以上数据,控制器收到Query_packet后回复Response_packet,其中包含Decision所请求的关于各个控制器的统计数据,Decision据此计算每个active_controller的负载指标,如果负载指标处于“正常工作线”以下,则将此active_controller加入loading_balance_table,否则忽略。
等待所有active_controller的Response_packet。并且进行上述判断。
所有active_controller回复处理完成后,判断loading_balance_table是否为空,若为空直接进入阶段三。否则的话,进入阶段二。
根据图5阐述决策阶段二,本发明对loading_balance_table中的每个active_controller与发出Warning_packet的过载active_controller进行各项统计数据比对,若进行计算后满足切换条件(即:切换条件是:将过载active_controller连接的某些OpenFlow交换机进行累计后归入新的active_controller统计数据后判断是否过载,并且过载active_controller减去这些累计的资源后会恢复到“过载线”下),则向发出Warning_packet的过载Controller发送Hand_off_packet,其中包含要移除的OpenFlow交换机。
如果在loading_balance_table中的所有控制器均不满足上述的条件,则在loading_balance_table内部完成一个负载均衡的调度。生成一个新的load_balance_table,在新的load_balance_table中重复上述过程,若满足切换条件,则Decision向发出Warning_packet的过载active_ontroller发送Hand_off_packet,其中包含要移除的OpenFlow交换机。否则进入阶段三。
本发明描述一下在load_balance_table内部完成负载均衡生成新的load_balance_table,在load_balance_table内部进行某种调度,调度的最终结果是使得原本处于“切换线”之下的某些active_controller的负载指标提升到“正常工作线”和“过载线”之间,使得另外一些active_controller的负载指标更低或者处于empty_controller状态下。如果最终调度完毕出现empty_controller,那么Decision就可以发送Hand_off_packet了。否则的话,将二次调度后负载指标处于“切换线”之下的active_controller加入新的loading_balance_table,再重复一次比较过程。
结合根据图6阐述阶段三:
Decision(即:决策器)从Resource_pool中启动新的empty_controller成为active_controller,与过载的active_controller进行负载均衡。此时Decision向发出Warning_packet的过载active_ontroller发送Hand_off_packet,其中包含要移除的OpenFlow交换机。
上述所有的过程都是在某个active_controller过载时引起的负载均衡过程。但是可能某个时间段active_controller过于富足,为了将富余的控制器归还于Resource_pool(contrller由active_controller变为empty_controller),Decision周期性的将进行以下操作实现上述功能:
现结合图7阐述如下,包括:
Decision周期性的会向所有的active_controller发送Query_packet,并且等待所有的active_controller响应response_packet。
Decision会计算每个active_controller的负载情况,将负载线处于“切换线”以下的所有active_controller加入load_balance_table,然后Decision会对load_balance_table中的所有active_controller进行均衡,实现过程与阶段二中在load_balance_table进行负载均衡的过程是一样的。
若完成后,出现empty_controller,则Decision将其归还到resource_pool中。
实施例二
具体阐述一个应用场景,在一个基于OpenFlow的SDN网络环境中,某个时段网络空闲时只有一个active_controller参与实际的工作,网络中所有的OpenFlow Switch都与此active_controller建立连接并接受其控制。另外还有多个控制器处于启动状态但不参与实际的网络控制,这些控制器称为empty_controller,这些empty_controller合集称为resource_pool。
某个时段,网络流量加大,单个active_controller受自身资源的限制很难处理所有OpenFlow交换机上传的信息。此时active_controller过载,active_controller将过载情况上报给决策器,决策器收到warning_packet后,由于此时只有一个控制器在工作,故决策器从resource_pool中抽取一个empty_controller,并将原active_controller控制的某些OpenFlow交换机转移到empty_controller下,由empty_controller控制以减小原active_controller的负载,此时empty_controller变为active_controller。这个过程是决策器向active_controller和empty_controller发送hand_off_packet实现,hand_off_packet中包含了要转移的OpenFlow交换机的地址,empty_controller与active_controller按照图2所示转移OpenFlow交换机的控制权。不断重复上述过程直到没有active_controller处于过载状态。
若在某个时段,网络流量逐渐减少,active_controller的负载逐渐减小,为了减少资源的浪费,决策器将OpenFlow交换机的控制权限集中起来,将空闲出来的active_controller重新归于resource_pool中。

Claims (6)

1.一种基于OpenFlow的SDN网络环境下分布式控制器系统,其特征在于,所述系统包括决策器模块、控制器资源池、OpenFlow控制服务器和OpenFlow交换机;
所述的决策器模块的功能:是整个系统功能的核心,负责检测active_controller,即:处于工作状态的控制器,在其过载时将进行负载均衡决策,从资源池中调入新的控制器加入工作,并且周期性检查active_controller负载情况,完成控制器资源的回收;
控制器资源池的功能:是收集所有的empty_controller,即:处于空闲状态的控制器合集,资源池的动态增减由决策器控制;
OpenFlow控制服务器的功能是:除了完成传统OpenFlow控制器的功能外,要实时监测自身负载,过载时要将负载情况通知决策器;另外要监听决策器传输过来的命令,完成自身负载情况上报或者完成自身角色的切换;
OpenFlow交换机的功能是:完成数据的转发功能,并且在控制器过载时要参与负载均衡过程。
2.根据权利要求1所述的一种基于OpenFlow的SDN网络环境下分布式控制器系统,其特征在于,所述empty_controller,即:处于空闲状态的控制器与active_controller,即:处于工作状态的控制器的转换是完全由决策器控制,而OpenFlow交换机控制权的转移则由两个控制器之间按照切换流程完成。
3.根据权利要求1或2所述的一种基于OpenFlow的SDN网络环境下分布式控制器系统,其特征在于:所述控制器的负载,根据控制器的内存、CPU、IO的使用情况定量计算得出,使得在后续负载均衡过程中,不会使得参与均衡过程的控制器过载。
4.根据权利要求1所述的一种基于OpenFlow的SDN网络环境下分布式控制器系统,其特征在于:所述的MasterNode决策器,即:Decision,该Decision与每个OpenFlow控制服务器建立双向连接,即:TCP连接。
5.根据权利要求4所述的一种基于OpenFlow的SDN网络环境下分布式控制器系统,其特征在于:所述的Decision能够控制OpenFlow交换机,在各个active_controller之间切换完成负载均衡,当active_controller不足时,Decision在资源池中启动新的OpenFlow控制器;当active_controller资源富足时,Decision会将多余的active_controller回收进资源池中。
6.根据权利要求1所述的一种基于OpenFlow的SDN网络环境下分布式控制器系统,其特征在于:当active_controller处于“切换线”以下时,active_controller参与Decision负载均衡调度;当active_controller处于“过载线”之上时,active_controller向Decision发出Warning_packet指出本控制器已过载工作,并且在Warning_packet中包含有自己的内存、CPU使用率,进程数和IO量计算值;设定一个last_time参数,在active_controller过载时间超过last_time时发出Warning_packet。
CN201510366859.9A 2015-06-29 2015-06-29 一种基于OpenFlow的SDN网络环境下分布式控制器系统 Pending CN105024939A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510366859.9A CN105024939A (zh) 2015-06-29 2015-06-29 一种基于OpenFlow的SDN网络环境下分布式控制器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510366859.9A CN105024939A (zh) 2015-06-29 2015-06-29 一种基于OpenFlow的SDN网络环境下分布式控制器系统

Publications (1)

Publication Number Publication Date
CN105024939A true CN105024939A (zh) 2015-11-04

Family

ID=54414660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510366859.9A Pending CN105024939A (zh) 2015-06-29 2015-06-29 一种基于OpenFlow的SDN网络环境下分布式控制器系统

Country Status (1)

Country Link
CN (1) CN105024939A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592156A (zh) * 2015-12-25 2016-05-18 中国人民解放军信息工程大学 面向网络功能的分布式弹性控制方法
CN105681193A (zh) * 2016-03-02 2016-06-15 付宏伟 一个软件定义网络控制器系统
CN106529283A (zh) * 2016-09-30 2017-03-22 中国人民解放军信息工程大学 一种面向软件定义网络的控制器安全性定量分析方法
CN106603288A (zh) * 2016-12-15 2017-04-26 中国科学院沈阳自动化研究所 一种面向工业控制网络的集中式多控制器管理方法、装置和系统
CN106792820A (zh) * 2016-12-27 2017-05-31 南京邮电大学 一种使用sdn控制器的小基站控制协议及方法
CN107147507A (zh) * 2016-03-01 2017-09-08 中卫大河云联网络技术有限公司 一种软件定义网络的控制平面构架以及控制方法
CN108199956A (zh) * 2017-12-05 2018-06-22 上海大学 基于sdn的状态感知的分布式共享内存构建方法
CN108282523A (zh) * 2018-01-18 2018-07-13 东华大学 一种基于sdn的负载均衡系统
CN109450812A (zh) * 2018-12-29 2019-03-08 优刻得科技股份有限公司 处理数据包的方法、交换机和控制器以及介质
CN114510003A (zh) * 2021-12-28 2022-05-17 浙江中控技术股份有限公司 一种工业控制系统的控制器负载均衡检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120250496A1 (en) * 2009-11-26 2012-10-04 Takeshi Kato Load distribution system, load distribution method, and program
CN104065585A (zh) * 2014-07-16 2014-09-24 福州大学 一种在软件定义网络中动态调整控制器负载的方法
CN104065509A (zh) * 2014-07-24 2014-09-24 大连理工大学 一种降低管理负载开销的sdn多控制器部署方法
CN104158758A (zh) * 2014-08-26 2014-11-19 上海斐讯数据通信技术有限公司 Sdn网络基于用户报文时间反馈的负载均衡处理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120250496A1 (en) * 2009-11-26 2012-10-04 Takeshi Kato Load distribution system, load distribution method, and program
CN104065585A (zh) * 2014-07-16 2014-09-24 福州大学 一种在软件定义网络中动态调整控制器负载的方法
CN104065509A (zh) * 2014-07-24 2014-09-24 大连理工大学 一种降低管理负载开销的sdn多控制器部署方法
CN104158758A (zh) * 2014-08-26 2014-11-19 上海斐讯数据通信技术有限公司 Sdn网络基于用户报文时间反馈的负载均衡处理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吁迎平: "OpenFlow网络中控制器负载均衡策略研究", 《网络安全技术与应用》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592156A (zh) * 2015-12-25 2016-05-18 中国人民解放军信息工程大学 面向网络功能的分布式弹性控制方法
CN107147507A (zh) * 2016-03-01 2017-09-08 中卫大河云联网络技术有限公司 一种软件定义网络的控制平面构架以及控制方法
CN105681193A (zh) * 2016-03-02 2016-06-15 付宏伟 一个软件定义网络控制器系统
CN106529283A (zh) * 2016-09-30 2017-03-22 中国人民解放军信息工程大学 一种面向软件定义网络的控制器安全性定量分析方法
CN106529283B (zh) * 2016-09-30 2019-05-21 中国人民解放军信息工程大学 一种面向软件定义网络的控制器安全性定量分析方法
CN106603288A (zh) * 2016-12-15 2017-04-26 中国科学院沈阳自动化研究所 一种面向工业控制网络的集中式多控制器管理方法、装置和系统
CN106792820A (zh) * 2016-12-27 2017-05-31 南京邮电大学 一种使用sdn控制器的小基站控制协议及方法
CN108199956A (zh) * 2017-12-05 2018-06-22 上海大学 基于sdn的状态感知的分布式共享内存构建方法
CN108282523A (zh) * 2018-01-18 2018-07-13 东华大学 一种基于sdn的负载均衡系统
CN109450812A (zh) * 2018-12-29 2019-03-08 优刻得科技股份有限公司 处理数据包的方法、交换机和控制器以及介质
CN114510003A (zh) * 2021-12-28 2022-05-17 浙江中控技术股份有限公司 一种工业控制系统的控制器负载均衡检测方法

Similar Documents

Publication Publication Date Title
CN105024939A (zh) 一种基于OpenFlow的SDN网络环境下分布式控制器系统
CN103812949B (zh) 一种面向实时云平台的任务调度与资源分配方法及系统
CN105897509B (zh) 一种基于云计算的机器人软件运行及仿真系统
CN103516744A (zh) 一种数据处理的方法和应用服务器及集群
CN104144183A (zh) 数据中心系统及数据中心系统的管理方法
CN103596652A (zh) 一种网络控制方法及装置
CN104468390A (zh) 软件定义网络中基于分布—集中式架构模型的多控制负载均衡的方法和系统
CN100428722C (zh) 多生成树协议的分布式处理系统及处理方法
CN113098711A (zh) 一种基于云边协同的配电物联网cps管控方法及系统
CN105592156A (zh) 面向网络功能的分布式弹性控制方法
CN102970247A (zh) 一种有效的时间触发网络通信时间调度方法
CN104754053A (zh) 一种分布式软件定义网络及在其中动态控制控制器的方法
CN102436399A (zh) 一种负载均衡的采集方法
CN105099908A (zh) 路径计算的方法、消息响应的方法以及相关设备
CN107835130A (zh) 一种流量分配方法及装置
CN105207856A (zh) 一种基于sdn虚拟交换机的负载均衡的系统及方法
CN111193971A (zh) 一种面向机器学习的分布式计算互连网络系统及通信方法
CN103326916A (zh) 智能变电站自动划分并优化vlan的系统及方法
CN105094944A (zh) 一种虚拟机迁移方法及装置
CN109104334B (zh) 监控系统中节点的管理方法和装置
CN103259723A (zh) 基于数据中心网络路由与流抢占调度相结合的节能方法
CN210578532U (zh) 一种电路及多通道装置
Li et al. SDN based computation offloading for Industrial Internet of Things
CN111092821A (zh) 一种基于动态迁移的sdn网络负载均衡方法
CN114253736A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151104