整个软件定义网络的控制器分布
随着软件定义网络的普及和普及,SDN网络的规模越来越大。在软件定义广域网中,如何选择合适的控制器位置,以缩短控制器与交换机之间的时延,是软件定义广域网中的一个重要问题。文献中的大多数方法都是基于分组传播延迟,但传播延迟只是控制器和连接的交换机之间总体延迟的贡献者之一。本研究旨在解决软件定义网络中控制器的布置问题,提出一种考虑控制器负载、可扩展性、可靠性、传播时延等因素的控制器优化布置方法,从而确定控制器的最优数量和位置。
为了减少从控制器到交换机的端到端延迟,采用网络分区的概念和基于聚类的网络分区算法(CNPA)对网络进行分区。该算法将确保每个分区能够缩短控制器和相关交换机之间的最大端到端延迟。为了进一步减小控制器与开关之间的延时,在各自的分区域中放置适当的多个控制器,并采用最小延时算法找到与每个域内其他点的距离之和最小的最优位置。针对网络负载不平衡的问题,提出在控制器上构建弹性应用模块,根据网络流量情况动态收缩控制器池。这个应用程序模块可以根据所选择的控制器类型用任何高级编程语言编写,它将自动平衡控制器之间的负载,因此无论流量动态如何,都能确保性能。为了实现这种负载转移,还需要采用符合OpenFlow协议的交换机迁移协议。
与传统的集中式控制器相比,像分布式控制器集群布局这样的解决方案将提供更好的可伸缩性、高可用性和更好的容错性,而传统的集中式控制器容易受到瓶颈或单点故障的影响,在这种情况下,控制器容量可能会被淹没的流请求饱和。
本课题旨在通过实现分布式控制器集群策略来提高网络性能、一致性和可伸缩性,并通过将控制器放置在最优位置来减少控制器及其相关交换机之间的端到端延迟。