法律状态公告日
法律状态信息
法律状态
2018-11-30
授权
授权
2015-12-16
实质审查的生效 IPC(主分类):H04L29/06 申请日:20150729
实质审查的生效
2015-11-18
公开
公开
技术领域
本发明涉及SDN安全领域。更为具体的,本发明涉及一种基于前置代理群组和SDN控 制器群组的具有入侵容忍能力的SDN控制器端系统,以及采用该系统的安全通信方法,以提 高SDN控制器的可用性和可靠性,为SDN网络提供安全保证。
背景技术
SDN网络(SoftwareDefinedNetwork,软件定义网络)是一种新型网络创新架构,其核 心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控 制。与传统网络相比,SDN网络的基本特征有三点:其一是控制与转发分离,转发平面由受 控转发的设备组成,转发方式以及业务逻辑由运行在分离出去的控制面上的控制应用所控制; 其二是控制平面与转发平面之间的开放接口,SDN为控制平面提供开放可编程接口,通过这 种方式,控制应用只需要关注自身逻辑,而不需要关注底层更多的实现细节;其三是逻辑上 的集中控制,逻辑上集中的控制平面可以控制多个转发面设备,也就是控制整个物理网络, 因而可以获得全局的网络状态视图,并根据该全局网络状态视图实现对网络的优化控制。
由于在SDN网络中,控制平面和转发平面的分离,网络控制统一集中到网络控制器,交 换机与控制器之间通过Openflow协议进行通信,这使得网络控制器成为SDN网络的安全焦 点,网络控制器的可用性和可靠性直接关系到整个网络的安全性。在现有的部署模式和安全 手段下,由于安全攻击的不可预知,难以保证SDN控制器的安全性。
上述问题的根源在于安全攻击手段的无法预知,而SDN控制器对于底层网络具有完整的 控制能力,所以只有对未知攻击具有一定的容忍能力才能保证SDN控制器的安全性,才能保 证底层网络的安全性。
发明内容
针对在现有单一SDN控制器的局限,本发明提供了一种基于入侵容忍的SDN控制器 7AEF系统,以及采用该系统的安全通信方法,能够提高SDN控制器的可用性和可靠性,为 SDN网络提供安全保证。
为实现上述目的,本发明采用如下技术方案:
一种基于入侵容忍的SDN控制器端系统,包括SDN控制器群组、交换机和至少一个前 置代理;所述前置代理位于SDN控制器群组和交换机之间,负责将交换机发出的Openflow 请求消息发往SDN控制器群组中的多个SDN控制器,并提取各个SDN控制器发出的 Openflow应答消息中的流规则,对提取的流规则进行比对,如果比对结果满足预设的入侵容 忍策略,则向交换机转发正确的Openflow应答消息。
进一步地,所述SDN控制器群组中的各个SDN控制器运行不同的软件环境栈;所述前 置代理为多个时,各个前置代理两两之间运行不同的软件环境栈。
进一步地,所述前置代理为多个,任意时刻只有一个活动的前置代理处于工作状态,剩 余的前置代理处于备用状态,同时对活动的前置代理进行检测,一旦发现其行为异常,则从 剩余的前置代理中选举出新的活动代理。
进一步地,所述入侵容忍策略表示为m/n,表示从至少n个SDN控制器中收到m个包含 相同流规则的Openflow消息。
进一步地,所述前置代理将发送了可疑消息的SDN控制器移除出SDN控制器群组;如 果不存在符合入侵容忍策略的Openflow消息,则前置代理向管理员预警,由管理员通过重新 初始化系统进行恢复。
进一步地,所述前置代理以反向代理模式分别和SDN控制器和交换机数据连接。
一种采用上述系统的基于入侵容忍的SDN安全通信方法,其步骤包括:
1)前置代理收到交换机发出的Openflow请求消息时,对消息进行复制,同时发往多个 SDN控制器;
2)前置代理收到控制器发出的Openflow应答消息时,对包含流规则的消息,提取其中 的流规则进行比对,如果比对结果满足预设的入侵容忍策略,则向交换机转发正确的Openflow 消息。
与现有技术相比,本发明的有益效果是:
本发明基于冗余和环境的多样性(软件环境栈的多样性)提供了具有一定入侵容忍能力 的SDN控制器端系统方案,将前置Openflow代理群组透明接入到交换机和SDN控制器的交 互过程中,实现对SDN控制器发往交换机的流规则的控制,通过保证SDN控制器端的可用 性和可靠性为SDN网络提供安全保障。本发明能够实现对于少数SDN控制器被入侵进行容 忍的同时,还具有良好的可扩展性。
附图说明
图1是本发明的基于入侵容忍的SDN控制器端系统示意图。
图2为前置代理处理Openflow请求消息和应答消息的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图, 对本发明做进一步说明。
图1是本发明的基于入侵容忍的SDN控制器端系统架构图。如图1所示,前置代理群 组位于SDN控制器群组之前,在控制器之前接收来自交换机的Openflow消息(请求消息), 然后复制转发给SDN控制器群组;在交换机之前接收到来自SDN控制器的Openflow消息(应 答消息),分析比对其中的流规则,将包含了符合入侵容忍策略的Openflow消息转发给交换 机。图2为前置代理处理Openflow消息的示意图。
上述方案中的入侵容忍能力依赖于冗余和软件环境栈的多样性,各个前置代理两两之间 运行不同的软件环境栈(包括操作系统,运行环境和代理软件),各个SDN控制器两两之间 运行不同的软件环境栈(包括操作系统,运行环境和SDN控制器软件);任意时刻只有一个 活动的前置代理处于工作状态,剩余的前置代理处于备用状态,同时对活动的前置代理进行 检测,一旦发现其行为异常,则从剩余的前置代理中选举出新的活动代理,前置代理以反向 代理模式分别和所述交换机和多控制器建立连接,前置代理将交换机发往服务器的消息发往 SDN控制器群组,然后将多控制器返回的消息中包含流规则的Openflow消息对其中的规则 进行分析比对,如果符合入侵容忍策略则向交换机转发其中一份正确的消息,同时将发送了 可疑消息的SDN控制器移除出群组;如果不存在符合入侵容忍策略的Openflow消息,则向 管理员预警,管理员通过重新初始化系统进行恢复。
具体来说,整个方法的具体执行流程如下:
1)用户的网络控制逻辑需要在所有后端不同的SDN控制器环境上实现和部署。
2)用户配置所有前置代理的执行参数,包括入侵容忍策略、ID号、所有其他的前置代理 的地址、所有后端SDN控制器地址、端口以及相关连接认证参数(如有必要)等,并与所有 后端SDN控制器建立连接,并标记状态为“正常”。
其中,入侵容忍策略表示为m/n,表示前置代理从至少n个SDN控制器中收到m个包含相 同流规则的Openflow消息,此时即判定为符合入侵容忍策略。也就是说,对于多控制器返回 的消息中包含流规则的消息,前置代理对其中的规则进行比对,如果多数一致(比如m个一 致)则判定为符合入侵容忍策略,即向交换机转发其中一份消息;同时还可将发送了不一致 消息的SDN控制器移除出群组;如果不存在多数一致的消息,则向管理员预警,管理员通过 重新初始化系统进行恢复。
3)用户配置SDN交换机的执行参数,包括后端前置代理的地址和端口,以及相关连接认 证参数(如有必要)等,并与活动前置代理建立连接。
4)活动前置代理通过在前置代理群组中选举产生。
该步骤采用的选举方法是:在剩余的活动前置代理中,相互通报ID号,其中ID号最小的 一个被选择出作为新的活动前置代理。
5)活动前置代理接收到来自某SDN控制器的Openflow消息,对于其中包含了流规则的消 息如下处理,其他消息则进行转发:
a)如果其中包含的流规则未包含在现有会话中,则建立新的会话,设定定时器,等待其 他SDN控制器的相关消息。
b)如果其中包含的流规则已包含在现有的会话中,而对该会话是否符合系统入侵容忍策 略进行判定,如果已经符合该策略,则对当前的消息进行转发,同时继续等待直至收到所有 SDN控制器下发该规则的消息时删除该会话。
c)对于超时的会话,如果该会话已被判定过符合系统入侵容忍策略,则对于该会话中被 选择但未能收到包含对应流规则的SDN控制器,标记该SDN控制器的状态为“可疑”,并向管 理员进行预警,管理员通过重新初始化系统进行恢复;如果该会话未被判定过符合系统容忍 策略,则对于收到的包含对应流规则的SDN控制器,标志该SDN控制器的状态为“可疑”,并 向管理员进行预警,管理员通过重新初始化系统进行恢复。
6)活动前置代理接收到来自交换机的Openflow消息,根据系统入侵容忍策略(m/n),在 状态为“正常”的SDN控制器中选择至少n个控制器,复制该消息进行转发。
7)处于备用状态的非活动前置代理实时对活动代理进行检测,发现异常行为后在剩余代 理中选择新的前置代理进行替换。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保 护范围应以权利要求书所述为准。
机译: SDN和SDN的配置方法,基于SDN的数据传输方法以及网络控制器
机译: SDN,SDN构建方法,基于SDN的数据传输方法和网络控制器
机译: SDN,SDN配置方法,基于SDN的数据传输方法和网络控制器