论文部分内容阅读
软件定义网络(Software Defined Network,SDN)作为一种新型的网络架构,通过解耦转发与控制功能,实现了网络的集中管控,从而大幅度提高了网络的灵活性与可控性。随着SDN逐步推广于广域网等大型网络,采用多个控制器构建分布式控制层成为SDN应用于大规模网络的必然选择。然而,如何在SDN网络架构中实现分布式控制层的合理部署仍是一个有待解决的问题。由于控制层的首要任务是对网络事件作出及时处理,因此控制器与交换机间的通信时延被视为衡量控制层部署性能的重要指标。网络运行过程中,通信链路和控制器元件故障时常发生。其中,在链路发生故障时,将直接影响到网络拓扑结构,从而造成时延指标的急剧恶化;当控制器失效时,网络转发功能将会受到影响,严重时甚至导致局部网络瘫痪。针对上述问题,本文从控制层初期部署和后期控制器失效时的重部署两个层面,设计了控制层的部署策略。其中,在控制层初期部署设计中,综合考量了网络正常状态以及多种链路故障状态下的最坏情况时延最小化问题,将网络状态时延作为新的时延优化目标,建立了一种基于网络状态发生概率的控制层部署模型,并设计了一种基于贪婪算法以及一种基于粒子群算法思想的控制层部署算法对模型进行求解。最后,采用真实的Internet2网络拓扑对所提算法进行仿真验证。仿真结果表明,该应用场景中,控制器的最佳部署数量为3台。同时,两种算法可以分别保证74%与67%的网络状态下时延指标维持在10.7ms范围内。针对后期网络运行过程中的控制器失效问题,提出一种基于交换机迁移机制的控制层重部署方案。该方案综合考虑了迁移过程中的时延开销、负载均衡开销和跨域通信开销三种衡量因素,构建了一种控制层重部署模型,并针对该模型设计了一种基于基因遗传算法的控制层重部署算法。仿真结果表明,本文所提重部署算法避免了交换机迁移导致控制层中出现的跨域通信问题,同时有效保证了重部署后控制层的整体性能。