论文部分内容阅读
故障恢复技术对于保证网络数据可靠传输以及系统安全具有重要的意义。在软件定义网络(SDN)中,数据平面和控制平面都面临着不同程度的故障问题,对网络可靠性、安全性构成了巨大的威胁。研究高可靠性的网络容错技术,增强网络的抗干扰能力,已经成为了一项热门的研究课题。针对数据平面的链路故障恢复问题中所面临的实现恢复时间和网络资源利用有效均衡的挑战,本文受预备式恢复策略耗时短和反应式恢复策略灵活分配网络资源的启发,提出了一种基于两种恢复策略相结合的协同式链路故障恢复机制。本文对SDN网络中链路故障恢复问题进行了数学建模并形式化为一个多目标优化问题,然后设计了一个两阶段式恢复算法解决该问题。算法的第一阶段是在链路故障发生前预判故障位置并静态地配置备份转发路径,保证网络连通性能够在故障发生后短时恢复;第二阶段主要基于网络实时监控信息对备份路径进行动态调整,以提高资源利用效率。通过不同恢复策略的协同工作,实现了恢复时间和资源利用上的有效平衡。针对控制平面的控制器故障恢复过程中所面临的控制器负载对恢复时间产生的冲突问题,本文提出了一种基于控制器负载感知的控制器故障恢复机制。本文对多控制器环境下的控制器故障恢复问题进行数学建模,形式化为一个最短恢复时间的优化问题,并设计了一种启发式恢复算法来解决该问题。算法首先对故障控制器管理下的交换机进行网络集的划分,以保证同一个网络集的交换机迁移到目标控制器时延最短,然后根据网络集划分后的结果进行动态调整,保证交换机迁移到备份控制器中不会引起备份控制器自身的负载过重进而影响恢复效率。启发式算法保证了控制器故障恢复过程中交换机负载的合理分配,实现了恢复时间和控制器负载的有效平衡。本文采用Mininet网络模拟器和Ryu控制器对设计的恢复机制进行了仿真验证,分析了恢复机制对故障恢复的性能开销,并从恢复时间、存储空间、网络时延、网络带宽、网络负载等多个方面对设计的恢复机制进行分析验证。相对于现有的恢复机制,本文设计的恢复机制在网络服务质量、交换机存储空间、控制器负载利用等方面都有显著的性能优势。