论文部分内容阅读
随着互联网的广泛普及与发展,当今的网络变得越来越复杂并愈加难以管理,它严重阻碍了网络的创新发展。软件定义网络(Software-Defined Networking, SDN)是一种有望改变现有网络困局的新型网络范例。通过将控制与转发解耦合,并提供逻辑上集中式的控制能力及网络可编程能力,软件定义网络在简化网络管理的同时,极大地促进了网络的创新,并迅速成为近年来学术界工业界关注的焦点。然而作为一项新兴的技术,SDN仍面临着诸多亟待解决的问题。控制与转发分离是SDN技术取得成功的关键所在,然而逻辑上集中式的控制方式却也引入了可扩展性方面的挑战,为此需要对SDN的控制器架构加以设计,以提高控制平面的可扩展性和可用性;采用分布式控制器是解决SDN可扩展性的主要手段,然而如何在网络中部署多个控制器仍然是一个开放的问题;SDN的转发设备完全受控制平面控制,在这种情况下网络故障极易造成控制平面与转发平面间的通信中断,进而会影响SDN网络的正常运行,因此需要设计相应的机制来保证控制流的可容错传输;现有网络中存在大量的传统节点,如何对待SDN与传统网络的共存并如何通过调节SDN节点的转发行为来提高网络的性能也是需要解决的重要问题之一。基于上述软件定义网络中依然存在的问题,本文从软件定义网络的可扩展性、可靠性/容错性以及部署方面出发,对软件定义网络的关键技术及相关问题进行深入研究,取得了以下研究成果:1.提出了BalanceFlow分布式控制器负载均衡架构,以解决控制器与交换机的静态映射关系所带来的控制器负载不均问题。BalanceFlow将控制器分为超级控制器和普通控制器两类。其中,超级控制器能够根据其他普通控制器上的负载情况,通过将交换机在控制器间进行动态迁移来实现控制器的负载均衡。此外,针对现有交换机迁移机制的不足,提出了基于BalanceFlow的改进交换机迁移机制,并进一步提出了高效的负载均衡算法。实验结果表明所提出的方案能够在控制器负载均衡性和交换机迁移次数间做出权衡,并能够减轻由于交换机迁移对交换机和控制器间的传播延时所造成的影响。2.提出了一种可靠性感知的控制器部署策略,旨在通过合理的选择控制器的数量和部署位置来优化SDN控制网络的可靠性。提出了采用控制路径失效百分比的期望值来度量SDN控制网络的可靠性。在此基础上,对可靠性感知的控制器部署问题进行了形式化描述,证明了该问题为NP难问题,并提出了一系列能够求解该问题的算法。实验结果表明所提出方案能够有效地提高SDN控制网络的可靠性,同时并不会对交换机和控制器间的传播延时造成较大的影响。3.为了提高控制器与交换机间通信的容错性,研究了多控制器软件定义网络中的控制流保护技术。提出了一种结合本地重路由保护和受限的逆向路径转发保护的控制流保护方案。在此基础上,提出了可保护控制网络问题,其目标是寻找一系列用于传输控制流的主要传输路径,使得尽可能多的控制流都能够得益于所提出的保护方案。证明了该问题为NP难问题,并设计了求解算法。实验结果表明所提出的方案能够有效地提高软件定义网络中控制流的容错性。4.针对SDN节点与传统节点并存的SDN混合网络的特点,提出了利用控制器逻辑上集中式的控制能力来提高混合网络所能转发的最大流量的流量优化方案。将问题建模为一个优化问题,并提出了求解该问题的完全多项式时间近似算法。实验结果表明SDN混合网络比传统网络性能更优,所提出的算法能够有效地提高网络所能承载的最大流量。