基于模块化的控制器部署方案,用于可扩展的软件定义网络

时间:2026年3月31日
来源:Computer Networks

编辑推荐:

软件定义网络(SDN)的控制器部署问题,针对单控制器瓶颈,提出改进的贪心模ularity最大化算法,结合负载均衡,划分网络为平衡子网,设计四种部署策略,经七种实际拓扑验证,有效优化控制器数量和位置,降低延迟并保持网络结构。

广告
   X   

Bipal Khanal|Chandan Kumar|Md Sarfaraj Alam Ansari
计算机科学与工程系,锡金国立技术学院,Barfung Block,Ravangla,737139,锡金,印度

摘要

软件定义网络的兴起通过分离控制平面和基础设施平面简化了网络管理。控制平面中的控制器便于管理基础设施平面中的各种网络功能。然而,随着网络规模和复杂性的增加,单一控制器成为了瓶颈。引入多个分布式控制器,每个控制器管理网络的一部分,通过增强冗余性、可扩展性、可靠性和灵活性解决了这一问题。尽管有许多好处,但多个控制器也带来了新的挑战,如控制器放置、控制器之间的同步、网络成本增加以及复杂性。本文重点讨论控制器放置问题,旨在确定控制器的数量和最佳放置位置。对Clauset-Newman-Moore贪婪模块化最大化算法进行了修改,以便在将大规模网络划分为平衡分区时实现负载均衡。此外,基于平均延迟和最坏情况延迟提出了四种放置策略。所提出的贪婪模块化控制器部署(GMCD)算法在从SND-lib、Internet Topology Zoo和Internet2 OS3E获得的七个不同网络规模的真实拓扑上进行了广泛评估,证明了有效的控制器负载均衡,并在保持网络内部结构的同时最小化了延迟。

引言

从传统网络向软件定义网络(SDN)的范式转变在现代计算机网络中具有重要意义。分离控制平面和数据平面已被证明对于集中控制和管理底层基础设施非常有效,提供了可编程性、灵活性和可扩展性[1]。此外,引入了应用平面以高效地提供网络服务。这些平面通过使用各种应用程序编程接口(API)(即北向和南向API)进行交互。应用平面和控制平面通过北向API进行通信,而控制平面和基础设施平面通过南向API进行通信。重要的是要认识到,基础设施平面执行控制平面的数据包转发指令,而控制平面作为网络的大脑,做出数据包转发决策。SDN的通信接口OpenFlow协议[2]被控制平面用来分配这些任务。虽然集中控制有许多优点,但SDN架构也变成了单点故障[3],[4]。OpenFlow最初是为单一控制器设计的;然而,随着网络需求的增长,单一控制器设置遇到了可扩展性和性能问题[5],[6]。
为了解决这些问题,引入了多种多控制器设置[7]。这些多个控制器协同做出转发决策,从而在大型网络中创建了多个域。控制器被放置在每个域的各个位置,如图1所示,并被分配用于控制和监控交换机。这些域也可以称为为提高网络性能和服务质量而创建的大型网络的子集,同时保持每个控制器的全局视图。这种方法通过将负载分布在控制器之间本质上提高了网络性能,但在它们之间平衡负载是一个挑战[8]。此外,由于消除了单一控制器带来的单点故障,它提供了更高效和可扩展的网络。
尽管有许多好处,但在网络中引入多个控制器也为网络管理带来了新的挑战,包括控制器放置问题(CPP)。CPP最初由Heller等人提出[9],他们提出了两个基本问题:(i)需要多少控制器,以及(ii)它们的放置位置。此外,还必须评估将交换机分配给特定控制器以形成子网络的问题。
需要根据网络的需求使用各种目标来回答这些问题。目标可能是减少延迟、提高可靠性、改善可扩展性、负载均衡、成本优化或这些目标的组合[10]。例如,在广域网(WAN)中,交换机-控制器(S-C)和控制器-控制器(C-C)之间的延迟是一个重要问题,因为节点分布在较大的地理区域内。鉴于WAN的CPP,建议的方法可以有效地确定控制器的最佳数量,将它们分配给交换机,并在满足延迟和控制器负载均衡标准的同时安排它们的拓扑结构。贡献的概述如下:
  • 提出了一种改进的基于贪婪模块化的社区检测算法,用于从大规模网络拓扑中找到理想的子网络数量。
  • 在提出的算法中引入了负载均衡约束,有效地找到了平衡的分区。
  • 使用提出的算法引入了控制器部署方案,最小化了平均和最坏情况下的S-C延迟。
  • 提出了一种结合S-C和C-C延迟的平衡指标,以及控制器部署算法。
  • 提出的控制器部署方案避免了在放置过程中陷入局部最优解的风险,因为控制器是按子网络逐一放置的,使其成为一个单一控制器放置问题。
  • 在真实网络拓扑上进行了性能评估,结果表明提出的GMCD可以在合理的时间内找到最小数量的控制器分配和放置,同时保持负载均衡性能并最小化延迟要求。
  • 本文的其余部分组织如下:第2节描述了关于控制器部署的相关工作。第3节提出了CPP的数学公式,第4节介绍了分区算法和部署技术。第5节解释了发现和讨论,第6节讨论了整体分析和进一步工作的建议。

    相关工作

    相关工作

    多控制器设置的最新进展在控制器的大规模部署和SDN的适应方面发挥了重要作用[11]。大多数CPP工作被表述为优化问题,解决方案基于启发式方法、元启发式方法及其组合。在部署SDN时,控制平面的设计至关重要,因此控制器放置自然对于满足网络需求至关重要。现有文献表明CPP被广泛研究

    控制器放置问题的数学摘要

    本节使用数学符号描述了CPP的问题表述。给定输入是一个包含链接、控制器、交换机和终端设备的SDN网络拓扑,目标是找到最佳的分区数量并在分区内部署控制器,以满足延迟和负载均衡要求。因此,一个无向图G=(V,E),其中V,E表示一组OpenFlow交换机以及连接它们的通信链接集合,

    提出的方法

    本文提出了一种GMCD方案,其中控制器部署分为两个阶段。第一阶段负责网络分区或子网络的形成,第二阶段选择子网络中控制器的位置。在第一阶段使用基于贪婪模块化的算法将大型SDN网络划分为多个子网络。这些子网络是根据社区属性形成的,其中簇内的节点紧密连接,簇间的连接

    实验结果和讨论

    本节讨论了所提出方法的性能,基于平均情况S-C、最坏情况S-C、组合S-C和C-C延迟、负载均衡和模块化得分。我们的测试平台包括Internet2 OS3E拓扑[33],这是文献中广泛采用的用于控制器放置问题的SDN网络拓扑之一。除了Internet2 OS3E拓扑外,我们还包括了从SND-lib[34]和Internet Topology Zoo[35]获得的六个不同网络规模的拓扑

    结论和未来工作

    随着SDN架构被采用以与现有和未来的网络集成,CPP已成为必须考虑的一个突出网络设计问题。在本文中,我们尝试使用一种改进的贪婪模块化最大化算法来解决这个问题,该算法在社区检测中得到了广泛应用。大型SDN网络最初被划分为个子网络,同时保持网络的社区结构。此外,还考虑了控制器的容量以平衡

    利益冲突

    作者声明本文的发表不存在任何竞争或利益冲突。

    数据可用性

    由于本研究没有创建或分析新的数据,因此不适用于数据共享。

    作者贡献声明

    所有作者都对将手稿转化为重要的研究论文做出了平等的贡献。

    资助

    这项研究没有收到公共部门、商业部门或非营利部门的任何特定资助。

    出版许可

    作者特此提供工作许可

    CRediT作者贡献声明

    Bipal Khanal:撰写——原始草稿、验证、软件、资源、方法论、调查、形式分析、数据管理、概念化。Chandan Kumar:可视化、方法论、调查、形式分析。Md Sarfaraj Alam Ansari:撰写——审阅与编辑、验证、监督、资源、概念化。

    利益冲突声明

    作者声明他们没有已知的竞争性财务利益或个人关系可能会影响本文报告的工作。

    生物通微信公众号
    微信
    新浪微博


    生物通 版权所有