论文部分内容阅读
软件定义网络(Software Defined Networks)通过控制转发分离的设计逻辑,可以有效增强网络的灵活性和便利性。然而,随着软件定义网络的广泛使用,软件定义网络在实际网络中的部署也面临越来越多的问题,设计实现高可用的软件定义网络已经成为研究者的研究重点。在这些研究中,控制平面作为软件定义网络的核心元件,是高可用软件定义网络实现的前提,吸引了很多研究者的关注。目前研究者们已经从控制效能的角度对控制平面的可用性增强技术进行了积极的探索和研究,提出的如高性能控制器和高性能控制集群的研究均可以在一定程度上通过资源优化、弹性控制等技术增强控制平面的可用性。近些年,随着网络安全形势的不断严峻,设计出安全可靠的高可用控制平面是软件定义网络的迫切需求。在高安全可靠的控制平面研究中,容错控制平面由于其可以通过冗余化、动态化、异构化控制平面的设计架构,进而从控制平面整体角度提高控制平面的安全性,受到了研究者们的青睐。然而由于容错控制平面的结构特点,在其面向实际使用时也会带来新的可用性问题,主要包括组网方式和设计架构两方面。(1)组网方式方面,在容错控制平面中如何部署控制资源、部署多少个控制资源、如何对控制资源进行合理有效的灾备设计,是提升容错控制平面可用性的重要问题;(2)架构设计方面,随着网络安全技术的不断演进,如何利用新技术、新架构对典型容错架构进行改进、优化,也是容错控制平面研究必须面对的问题。针对上述问题,为了应对网络安全形势的需求,提高软件定义网络控制平面的可用性,论文分别对高可用控制平面关键技术中的组网方式和架构设计技术进行研究。在组网方式方面,通过资源花销优化、灾备策略设计解决了在控制平面部署多少控制资源、如何对控制资源进行灾备的问题;在架构设计方面,借鉴移动目标防御和拟态技术,通过对异构容错控制平面进行动态调度,进一步提升容错控制平面的安全性能。论文的主要研究成果具体如下:1,针对容错控制平面的资源花销问题进行研究,以降低控制平面部署成本为目标,将网络故障容忍能力、交换机控制器之间的通信时延、控制器之间的通信时延及控制器的负载能力纳入到容错控制平面的布局模型中,构造了控制平面的最小容错覆盖模型。设计了一个基于局部搜索的控制器布局算法,算法可以从任意初始控制器布局开始,通过更新策略,不断产生邻居控制器布局,最终得到满足网络需求的控制器布局。通过在不同规模的网络中进行实验分析,所提算法可以灵活的、以更低的部署开销实现满足容错需求的控制平面布局,以此提升容错控制平面在实际网络中的可用性。2,针对容错控制平面在多控制器故障场景中缺乏针对性的灾备策略的问题,对网络中可能出现的控制器故障进行预估,分析了多个控制器发生故障时,控制平面中控制器的负载情况和控制器-交换机的时延情况,构建了基于故障备份序列的主备控制器映射模型。为了对模型进行求解时避免孤立节点的情况,设计了基于标签传播的启发式算法,算法可以通过不断对多级主备控制器序列进行更新调优,进而得到多控制器故障场景下的最优布局策略。仿真结果表明,所提算法不仅可以保证控制器发生故障时,网络中的时延指标和负载指标的恶化情况会大大缓解,还使交换机在进行故障迁移后,减少出现孤立交换机的情形,优化了故障恢复后交换机的流安装时延。3,针对控制路径灾备机制缺乏评估权重的问题,通过预估控制路径故障对于网络的影响,进而对控制路径的故障恢复成本进行量化,在此基础上构造基于控制路径故障恢复开销和故障恶化时延的整数规划模型。为对模型进行求解,设计了一种基于模拟退火算法的优化算法。仿真实验表明所提算法相对于其他算法,其部署出的控制平面布局可以在尽量少的损失网络的时延代价的同时,有效降低控制路径出现故障时网络的故障恢复开销。4,针对容错控制平面的架构设计问题,设计了一个同构弱点感知的动态容错控制平面,该平面不仅可以实现动态容错控制平面的状态维护,还可以通过对控制平面中异构控制器间的弱点分析,实现对异构控制平面的合理配置和动态调度。首先为了实现异构控制平面的合理配置,利用异构控制器之间的相似性对容错控制平面的安全风险进行建模,并设计了相应的启发式算法,所提算法可以从众多的异构控制器中,快速的选择出具有低安全风险的异构控制器组合,并以此构造出相应的控制平面;然后为了在长时间的动态调度中保证异构容错控制平面的安全性,通过分析两个调度周期之间控制平面的收益花销比,构造出整数规划模型,并设计相应的算法进行求解,所提算法可以以更低的调度开销实现更安全可靠的控制平面;最后通过构造原型系统,结合对同构弱点的模拟,证明了所提动态异构容错控制平面的安全性。