掌桥专利:专业的专利平台
掌桥专利
首页

一种多重化的安全SDN控制系统及其控制方法

文献发布时间:2023-06-19 11:45:49


一种多重化的安全SDN控制系统及其控制方法

技术领域

本发明涉及SDN网络通信安全领域,特别是涉及一种多重化的安全SDN控制系统及其控制方法。

背景技术

软件定义网络SDN将多个网络设备的控制平面整合到单个控制器中,使得该控制器成为整个网络中的决策者,实现了对网络设备流量的集中控制。这样做的好处是,SDN控制器把握全网资源,有利于网络资源的集中调度分配,促进网络自动化管理。但是开发人员在构建SDN产品时对SDN网络的安全性没有足够关注,当SDN控制器由于某种原因与SDN交换机失去联系,会造成整个SDN网络的瘫痪,这种失效对于某些场合是不可接受的。

针对单一控制器安全性较差问题,SDN网络供应商大多采用多控制器技术,即构建SDN控制器集群,所述SDN交换机与所述SDN控制器集群中的一个SDN控制器建立主连接,并同所述SDN控制器集群中的其他至少一个SDN控制器间建立辅连接。多控制器技术的好处在于,在主连接失效的情况下,SDN交换机能够在所述SDN辅控制器中选定新的主连接。

发明内容

本发明创造的目的是提供一种多重化的安全SDN控制系统及其控制方法,能够提高控制器下发命令的准确性,同时能够在SDN控制器负载过高或与SDN交换机连接失效等SDN控制器不适合继续执行控制功能的情形下在SDN控制器集群中选取新的主控制器,以保证整个SDN网络的安全性及可靠性。

为了实现上述目的,本发明创造采用了如下技术方案:

一种多重化的安全SDN控制系统,包括SDN交换机和SDN控制器集群,SDN控制器集群中设有N个控制器,其中一个控制器为第1控制器,其余N-1个控制器均为第2控制器;所述的第1控制器与SDN交换机之间为第1连接关系,第2控制器与SDN交换机之间为第2连接关系;所述的SDN交换机向第1控制器和第2控制器发送命令,第2控制器向第1控制器发送反馈信息,第1控制器向SDN交换机发送反馈信息。

所述的第1控制器和第2控制器中设有安全管理模块,SDN交换机中设有安全配置模块。

所述的安全管理模块包含:通讯单元、指令比较单元、记录单元、选举单元和数据同步单元;安全配置模块包含:连接单元和调整单元。

利用所述的一种多重化的安全SDN控制系统的控制方法,其步骤为:

1)SDN交换机与SDN控制器集群中的某一个控制器建立第1连接,此控制器为第1控制器;其余控制器为第2控制器,SDN交换机与第2控制器建立第2连接;

2)SDN交换机向SDN控制器集群中所有控制器发送命令;

3)第1控制器接收SDN交换机发送的命令,生成第1反馈命令;第2控制器接收SDN交换机发送的命令,生成第2反馈命令;

4)第2控制器将生成的第2反馈命令发送至并第1控制器中;第1控制器将第1反馈命令和第2反馈命令进行处理,得到最优反馈命令,并将最优反馈命令作为最终反馈命令发送至SDN交换机中;

5)SDN交换机与SDN控制器集群多次命令交互后,SDN控制器集群在预设的情境下为SDN交换机更换第1控制器。

所述的第1控制器中的安全管理模块中存储有第1反馈命令和所有的第2反馈命令,安全管理模块将第1反馈命令和所有的第2反馈命令进行比较处理,选择一致性最高的反馈命令作为最优反馈命令;所述的第1控制器中的安全管理模块得到最优反馈命令后,将最优反馈命令发送回第2控制器中,第2控制器删除之前形成的第2反馈命令,使用最优反馈命令作为对SDN交换机的反馈命令进行记录。

所述的第1控制器中的指令比较单元对接收的第1反馈命令和第2反馈命令进行指令一致性比较,得到最优反馈命令,作为下发给SDN交换机的控制器命令;记录单元记录第1控制器的第1反馈命令与第2控制器第2反馈命令被采纳的情况:被采纳,对应控制器计数器记录值+1;未采纳,对应控制器计数器记录值+0。

所述的选举单元中,SDN交换机与SDN控制器集群多次命令交互后,选举单元根据记录单元的计数器记录,为预设情境下更换SDN交换机的第1控制器做准备,当SDN交换机第1控制器失效或第1控制器不适合继续执行控制功能的情况下,为SDN交换机选择新的第1控制器。

所述的数据同步单元,用于每次SDN交换机与SDN控制器集群命令交互后同步控制器集群的数据库;通过数据库同步使SDN控制器集群每个控制器对SDN交换机的反馈命令及配置命令一致;更换第1控制器后,数据库数据与原第1控制器数据库一致,更新关于控制器集群第1控制器和第2控制器信息。

所述的连接单元,用于向SDN控制器集群所有控制器发送命令请求。

所述的调整单元,用于执行第1控制器更换命令。

本发明创造的有益效果:

本发明提供一种多重化的安全SDN控制系统及其控制方法,SDN交换机与SDN控制器集群中的某一个控制器建立第1连接,与其余控制器建立第2连接;SDN交换机向集群中所有控制器发送命令,并接收控制器集群返回的唯一控制器指令;SDN控制器集群对交换机发来的请求命令,做出反馈,将反馈命令集合在第1控制器进行一致性比较,得到唯一命令反馈回交换机;多次命令交互,SDN控制器集群为更换SDN交换机第1控制器做准备,在预设的情境下为SDN交换机更换第1控制器。大大提高了SDN网络数据传输的准确性和安全性。

附图说明

图1为本发明实施例安全SDN控制器总体实现流程图。

图2为本发明实施例1SDN控制器安全管理模块功能示意图。

图3为本发明实施例1SDN交换机安全配置模块功能示意图。

图4为本发明实施例1SDN交换机与SDN控制器集群命令交互示意图。

图5为本发明实施例1SDN控制器数据库更新示意图。

图6为本发明实施例1SDN控制器安全管理模块指令比较单元功能图。

具体实施方式

下面将结合本发明创造实施例中的附图,对本发明创造实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明创造一部分实施例,而不是全部的实施例。

实施例1:如图一所示,安全SDN控制器总体实现过程,描述为:

SDN交换机与SDN控制器集群建立联系,与SDN控制器C

一次命令交互,SDN交换机向控制器集群发送命令请求,并接收控制器集群返回的唯一控制器指令;多次命令交互,SDN控制器集群为更换SDN控制器第1控制器做准备,在预设的情境下为SDN交换机更换第1控制器。

具体的:

SDN交换机向SDN控制器集群发送命令请求,SDN第1控制器通过安全管理模块得到最终反馈命令,回复给SDN交换机。

可选的,对于SDN控制器集群,将第1控制器接收SDN交换机命令请求后生成的反馈命令称为第1反馈命令,第2控制器接收SDN交换机命令请求后生成的反馈命令称为第2反馈命令;对于SDN控制器集群,将第1控制器安全配置模块选举得到一致性最高的,下发给SDN交换机的命令,称为最终反馈命令。

SDN第1控制器安全管理模块记录各控制器反馈命令被采纳次数,为SDN交换机更换第1控制器做准备。

可选的,安全管理模块记录单元记录各控制器反馈命令被采纳次数,被采纳次数称为计数器记录。

SDN控制器集群为SDN交换机更换第1控制器,此功能由第1控制器安全管理模块选举单元实现。需要说明的,更换第1控制器有两种情境:主动更换和被动更换。

可选的,主动更换适用于SDN第1控制器安全管理模块选举单元根据计数器记录判定自身不满足继续担当第1控制器角色情境,被动更换适用于SDN交换机与SDN第1控制器连接失效情境。

如图二所示,为本发明一实施例SDN控制器安全管理模块功能示意图,安全管理模块由通讯单元、指令比较单元、记录单元、选举单元、数据同步单元组成。

可选的,通讯单元用于控制器与控制器之间的通信,在接收第2控制器发送的第2反馈命令后,第1反馈命令和第2反馈命令传递给指令比较单元。通讯单元得到最终反馈命令、计数器记录和选举结果,并将它们传递给数据同步单元,同时发送给其他控制器。

可选的,指令比较单元,用于对通讯单元传递的所有控制器的反馈命令进行一致性比较,一致性最高的反馈命令作为最终反馈命令,将最终反馈命令传递给记录单元和通讯单元。

可选的,记录单元,用于记录控制器集群所有控制器反馈命令被采纳的情况,生成计数器记录,传递给通讯单元和选举单元。

可选的,选举单元,用于SDN交换机第1控制器失效或第1控制器不适合继续执行控制功能的情况下,根据计数器记录为SDN交换机选择新的第1控制器,包括主动更换和被动更换两种情境。主动更换,SDN第1控制器负载过高或其他不适合继续执行控制功能情境;被动更换,SDN第1控制器与SDN交换机连接失效情境。具体说明,计数器记录达到预设值后,选举单元根据计数器记录预设反馈命令被采纳次数最多的控制器作为候选第1控制器,选举单元预设反馈命令被采纳次数次于最多的控制器作为候选第2控制器,若被采纳次数相同,则随机分出优劣。主动更换情境下,若候选第1控制器为原第1控制器,则执行更换第1控制器命令,候选第2控制器成为SDN交换机第1控制器;若候选第1控制器不是原第1控制器,执行更换第1控制器命令,候选第1控制器成为SDN交换机的第1控制器。被动情境下,若候选第1控制器为原第1控制器,候选第2控制器成为SDN交换机第1控制器,若候选第1控制器非原第1控制器,候选第1控制器成为SDN交换机第1控制器。

可选的,数据同步单元,用于每次SDN交换机与SDN控制器集群命令交互后同步控制器集群的各个控制器的数据库。数据库同步保证了SDN控制器集群每个控制器对SDN交换机的反馈命令及配置信息一致。更换第1控制器后,数据库数据与原第1控制器数据库一致,更新关于控制器集群第1控制器和第2控制器信息。

如图三所示,为本发明一实施例SDN交换机安全配置模块功能示意图,包括连接单元和调整单元。

可选的,连接单元,用于向SDN控制器集群所有交换机发送命令请求,接收控制器集群第1控制器返回的最终反馈命令及其他常规配置命令。

可选的,调整单元,用于执行第1控制器更换命令,包括主动更换和被动更换两种情境。需要说明的:主动更换情境下,SDN第1控制器负载过高或其他不适合继续执行控制功能情境,在SDN控制器集群中选取候选第1控制器或候选第2控制器作为新的第1控制器,将更换第1控制器命令下发给SDN交换机,SDN交换机执行对应命令;被动更换情境下,SDN交换机与SDN第1控制器连接失效,SDN控制器集群中第1候选控制器或第2控制器自动成为SDN第1控制器,与SDN交换机建立连接。

可选的,SDN交换机更换第1控制器后向控制器集群发送更新信息,控制器集群数据库同步更新。

如图四所示,为本发明一实施例SDN交换机与SDN控制器集群命令交互示意图,SDN交换机与SDN控制器C

SDN交换机向SDN控制器集群所有控制器发送命令请求。

第2控制器向第1控制器发送生成的第2反馈命令。

第1控制器安全管理模块对所有第1反馈命令和第2反馈命令进行一致性比较,得到第最终反馈命令,回复给SDN交换机,同时发送给所有第2控制器。

如图五所示,为本发明一实施例SDN控制器数据库更新示意图,数据库更新有两种情境,SDN交换机与SDN控制器集群一次命令交互数据库更新和SDN交换机更换第1控制器数据库更新,具体说明如下:

情境1,SDN交换机与SDN控制器集群一次命令交互数据库更新,最终反馈命令回复给SDN交换机后,SDN控制器安全管理模块数据同步单元接收常规更新数据、最终反馈命令和计数器记录,更新数据库;情境2,SDN交换机与SDN控制器集群多次命令交互后,在预定情境下SDN交换机更换第1控制器,SDN控制器安全管理模块数据同步单元接收常规更新数据、最终反馈命令、计数器记录和第1控制器更新信息,更新数据库。

如图六所示,为本发明一实施例SDN控制器安全管理模块指令比较单元示意图,指令比较单元的核心构成是一个比较器,具体功能是通过内置算法将集合在一起的所有控制器反馈命令进行一致性比较,一致次数最多的反馈命令作为比较结果输出,记为最终反馈命令。需要说明的,如果一致次数最多的反馈命令有两个,则随机选择一个作为比较结果输出。

综上所述,本发明提供一种多重化的安全SDN控制器方法,描述为,SDN交换机与SDN控制器集群中的某一个控制器建立第1连接,与其余控制器建立第2连接;SDN交换机向集群中所有控制器发送命令,并接收控制器集群返回的唯一控制器指令;SDN控制器集群对控制器发来的请求命令,做出反馈,将反馈命令集合在第1控制器进行一致性比较,得到唯一命令反馈回交换机;多次命令交互,SDN控制器集群为更换SDN交换机第1控制器做准备,在预设的情境下为SDN交换机更换第1控制器。大大提高了SDN网络数据传输的准确性和安全性。

相关技术
  • 一种多重化的安全SDN控制系统及其控制方法
  • 一种基于SDN的安全服务控制系统及方法
技术分类

06120113043303