The Controller Placement Problem in Software Defined Networking

SDN控制器放置研究中的相关条件制约和解决思路的翻译

摘要

最近,已经提出了各种解决方案来解决SDN中的控制器布置问题。 目标包括最小化控制器及其关联交换机之间的延迟,增强网络的可靠性和弹性,并最大限度降低部署成本和能耗。 在本文中,我们首先对最先进的解决方案进行了调查,并根据其目标绘制了分类标准,然后提出了一种新的方法来最小化控制器和交换机之间的数据包传播延迟。 为了鼓励未来的研究,我们还确定了正在进行的研究挑战以及与此问题相关的公开问题。

介绍

软件定义网络(SDN)正在成为下一代网络的创新典范。与传统网络相比,SDN的显着特点在于控制平面与数据平面分离。具体而言,控制平面由一组专用控制器构成,作为SDN的智能“大脑”,而数据平面由多个简化的分组转发交换机组成。这种解耦使得网络可以直接编程,并获得几个好处[1-3],例如简化网络管理,提高网络利用率,并支持网络创新。

SDN的代表性通信接口是OpenFlow [1],为简单起见,它最初采用单个控制器。但是,当网络规模不断扩大时,这样的协议可能会遇到可扩展性和性能问题。因此,随后提出了许多多控制器方法,幸运的是,他们通过共同努力实现了共同的基本架构。如图1所示,基本的SDN架构由三层组成:数据平面,控制平面和应用平面。数据平面是由控制器通过南向应用程序编程接口(API)管理的数据包转发交换机组成的。这些控制器通过北向API连接到应用平面,以方便网络控制和网络服务。对于多个控制器,一个关键问题是控制器布局问题[2]。控制器放置问题通常指的是如何将控制器放置在支持SDN的网络中,以及如何将相关交换机分配给这些控制器以实现目标,包括缩短延迟,提高可靠性,提高能源效率等。图1给出了一个示例来演示控制器布局问题。粉红色的虚线表示交换机和控制器之间的可能连接,但在性能方面可能不是最佳的。控制器布局解决方案旨在寻求在支持SDN的网络中连接控制器及其关联交换机的最佳方法。控制器布局问题已经引起了巨大的研究兴趣,因为它严重影响了SDN的各个方面,从状态分布选项到容错到网络性能[2]。这激励我们从目标,数学方法和详细策略中调查和总结这些解决方案的当前发展。我们相信,对这一领域的最新发展和开放挑战进行全面调查将对研究人员和从业人员都有益。具体而言,研究进展根据其目标分为三类。对于每个类别,阐述了控制器放置问题的代表性模型,目标和解决方案。从对文献的全面研究中,我们了解到,减少控制器和交换机之间的数据包传播延迟对广域网特别重要。因此,本文提出了一种名为基于聚类的网络划分算法(CNPA)的新方法,以解决这个问题作为案例研究。具体而言,CNPA能够逐渐将网络划分为子网,并将控制器放置在这些子网中,以缩短控制器及其相关交换机之间的传播延迟。最后,讨论未解决的挑战和研究方向,以阐明控制器布局问题的未来研究。


控制器布局方法

在本节中,我们将分析正在进行的关于控制器放置问题的研究工作。在详细说明这些方法之前,首先介绍控制器布局问题的一般公式。对于支持SDN的网络,主要网络元件包括交换机控制器和连接这些设备的链路。因此,网络通常被建模为无向图G =(V,E),其中V代表交换机或控制器集合,E是这些交换机或控制器之间的物理链路集合。具体而言,E是指任意两个设备之间的物理距离,并且该距离影响物理网络中的传播等待时间。由于两台交换机之间可能存在多条链路,因此采用Dijkstra算法实现的最短路径距离来表示两台交换机之间的距离。具体来说,在这个模型中,交换机u和v(u,v∈V)之间的最短路径由d(u,v)表示。控制器布局的输出是一个元组{k; C; S},其中k是控制器的数量,C = {c1,c2,...,ck}是放置在网络中的一组控制器; S = {S1,S2,...,Sk},其中Si = {si1,si2,...}表示交换机Si受控制器ci的分配,(一片区域的交换机受一个控制器的控制,每一片区域的交换机各不相同,也就是每个交换机必须划分到不同的区域中,不存在一个交换机划分到两个S中的情况)其中Si∩Sj= 空集(i,j∈k) 并且S1∪S2 ...∪Sk = S。对控制器放置问题的研究通常利用方法找出网络中最好的k个节点来放置控制器,以便优化预定义的目标函数。我们对代表性的现有解决方案进行目标分类,并在表1中对其进行分类。主要有三个目标:最小化网络延迟,最大限度地提高可靠性和弹性,并最大限度降低部署成本和能耗。在本节的其余部分中,详细阐述了每个类别中的代表性作品。

降低网络延迟

控制器和交换机之间的延迟尤其关键,因为SDN的所有功能都是通过控制器和交换机之间频繁的消息交换来执行的。总延迟由分组传输延迟,传播延迟,交换机排队延迟和控制器处理延迟组成。分组传输延迟等于分组大小和链路传输速率的比率。分组传播延迟主要取决于控制器和交换机之间的距离。交换机排队等待时间由链路的拥塞等级引入。控制器处理等待时间主要受控制器负载的影响。上述延迟组件对于不同的网络并不具有相同的权重。对于使用大容量链路(例如OS3E)在很大地理距离上延伸的广域网,分组传输等待时间和交换机排队等待时间可以忽略不计,而分组传播等待时间和控制器处理等待时间占主导地位。这是因为SDN中控制消息的大小相对较小,并且控制链路的大容量与数据平面分离。在文献中,控制器布局问题的大多数解决方案都是在广域网情景下提出的。当考虑广域网时,关于最小化SDN网络延迟的研究可以分为两个子类,分别旨在缩短数据包传播延迟和控制器处理延迟。

最小化传播延迟:考虑传播延迟时,控制器布局问题类似于设施位置问题。 因此,解决方案可以从“定位工厂附近的仓库”和“优化分布节点的位置”两方面借鉴。例如,控制器布置对平均和最差情况传播延迟的影响在[2]。 特别是,控制器布局问题被表述为最小k中值问题。 随机控制器放置的平均等待时间显示为比最佳解决方案大1.4至1.7倍。 从本质上讲,控制器和交换机之间的传播延迟对于支持SDN的网络起着最重要的作用,并且将持续引起对SDN研究界的极大兴趣。

最小化控制器处理延迟:控制器处理延迟是整体延迟的另一个重要因素。特别是当控制器的负载超过其容量时,会出现这种延迟。就我们所知,定量研究(例如,处理延迟,控制器数量,交换机并发会话数和会话请求率之间的关系的数学分析)在文献中未被观察到。 Yao等人进行了一项定性研究。 [3],它考虑了控制器的负载和解决方案中的传播延迟。具体来说,控制器放置问题被视为一个有限的K-中心问题,并通过整数编程来解决。仿真结果表明,该策略可以减少控制器数量以及最繁忙控制器的负载。尽可能缩短延迟是网络规划和部署的关键目标,因为它会显着影响网络性能。这就是为什么不断提出解决方案的原因,以尽量减少文献中控制器及其相关交换机之间的延迟。除了最大限度地减少控制器和交换机之间的延迟之外,在SDN中采用多控制器时,控制器之间的延迟也很关键,因为它会影响多个控制器之间的一致性。到目前为止,对控制器处理延迟的定量研究已经受到了有限的调查。预计未来将对这两个方向进行深入研究。

最大化可靠性和弹性

在SDN的背景下,由于网络故障可能会导致控制平面与数据平面之间的断开,并进一步禁用某些交换机,因此提高SDN的可靠性和弹性非常重要。 可靠性被定义为与“控制路径损耗的预期百分比”成反比的性能指标[4],并且优化目标是最小化控制路径损失的预期百分比。 相反,弹性被定义为反映控制器布置策略在控制器或链路中断时维持连接性丢失的能力[7]。 虽然这两个术语在其他领域经常交替使用,但在现有的SDN工作中,它们保持不同。

最大限度地提高可靠性:在调查网络可靠性时,通常假定在任何时候SDN网络中最多只有一个物理故障组件。由于多个部件故障的可能性很小,因此这种假设是合理的。类似于最小化控制器和交换机之间的等待时间的解决方案,该NP难问题可以转化为k中值问题,这通常由近似算法解决。例如,文献[4]采用模拟退火,通过在网络中放置适当的控制器来提高SDN的可靠性。尽管模拟退火是众所周知的技术,但它们的贡献在于优化算法的配置,这减少了搜索空间并确保快速收敛到接近最佳的位置。另一种方法是建立一个健壮的树形拓扑结构,以尽量减少网络中发生故障时的管理损失[5]。鲁棒控制拓扑由置于这些树根上的健壮树和控制器组成。健壮树能够最大限度地减少由于节点或链路故障造成的管理损失。另外,鲁棒树是均匀的,并且在不同分支上具有均衡的节点数量,因此不同树中的控制器的负载是平衡的。

最大化韧性:根据网络中是否采用重复链接,对网络弹性的研究可以进一步分为两类。在第一类中,假定任何两个节点之间只有一个链接。其中一个代表作品是Guo的解决方案[6],其中借用相互依赖关系图来模拟问题,并采用级联失效分析来分析控制器布局对SDN弹性的影响。在他们的工作中,一个支持SDN的网络被分成两个独立的网络:用于数据转发的交换机交换网络(SS)和用于网络控制的控制器交换网络(CS)。仿真结果表明,预期的网络弹性与网络拓扑的平均路径长度成反比。与单链路方法不同,文献中也提出了冗余链路解决方案来提高网络的弹性。一个代表作品是Survivor [7],它将多个并发连接引入网络。为了最大限度地提高网络连接性,Survivor首先选择控制器位置,从而产生控制器和交换机之间节点不相交路径的最大数量。之后,构建备份控制器列表以提高故障情况下的生存性。仿真结果验证了路径多样性大大提高了SDN的生存性并且容量意识对于处理正常和故障状态下的过载也非常重要。值得注意的是,冗余链路绝对有利于网络弹性,但它们也增加了网络部署成本。因此,在[8]中评估了无故障状态和控制器故障之间的折衷,这表明在主导拓扑中,超过20%的所有节点需要作为控制器工作,以保证所有节点连续连接到一个的控制器。他们的算法没有针对特定展示位置提供具体建议,但会返回一组帕累托最优展示位置,这使网络运营商可以选择适当的展示位置。该策略为运营商部署支持SDN的网络提供了更大的灵活性。

降低部署成本和能源消耗

网络的总体成本也是一个令人关注的问题,也引起了人们的关注。 整体成本主要包括部署成本和能耗。 部署成本指网络设备(控制器和交换机)的成本及其运营支出,其中包括将控制器安装到网络中,将控制器连接到交换机以及连接这些控制器。 已经开展相关工作来降低部署成本。 此外,在网络负载较低的情况下,网络设备的能耗仍占繁忙时间负载的90%以上。 因此,在文献中也提出了关闭处于低负载以减少能量消耗的设备的解决方案。

最小化部署成本:尽量减少控制器部署的成本可以分为两种方法,例如静态方法和动态方法。静态方法旨在计算控制器的最佳数量,位置和类型以及交换机和控制器之间的互连,以最大限度降低部署成本。例如,在[9]中提出了一个最优模型来制定支持SDN的网络中的部署成本。根据这个模型,通过增加潜在的放置位置的数量,可以观察到部署成本略有下降。这表明网络运营商有更多的选择来选择控制器所需的位置,从而降低总体成本。这种模式的一个缺点是解决这个NP难题是非常耗时的。特别是,有些计算在30个小时内无法实现,这意味着这种方法仅适用于静态控制器放置。相反,然后提出具有低复杂性并且实时运行的动态解决方案。一项具有代表性的工作在[10]中找到,该工作定期计算网络的整体负载并将其与控制器的容量进行比较。通过这种方式,可以根据负载的变化动态地添加或删除所需的控制器。

最大限度地减少能源消耗:互联网中的传统设备(如交换机和路由器)通常运行时间不受流量负载的影响。在网络中采用SDN后,可以实时监控流量并快速重新路由。因此,通过减少非高峰期间活动链路的数量可以降低能耗。最大限度降低能源消耗的方法之一是GreCo [11],该方案旨在关闭尽可能多的链路,同时确保交换机和控制器之间必要的连接,并具有预定义的时延限制和负载平衡。提出了一种启发式算法来将交换机连接到其他控制器,并使幸存的链路能够形成连接的网络。仿真结果证实,与非最佳解决方案相比,GreCo能够在非高峰时段节省多达55%的能源,并使用多达20%的链路。另一种方法[12]提出通过两个步骤来解决这个问题。第一步是确定控制器绑定通信延迟的位置。第二步是确定每个模块的控制器数量以满足负载要求。此外,还提出了一种动态流量管理算法来激活所需数量的控制器。在降低网络部署成本和能源消耗方面已经观察到了一些有价值的研究,但是今后需要进一步努力。例如,控制器放置SDN所采用的策略之一是流量管理,其中包括将流量负载迁移到冗余链路[7],动态地向/从网络添加或删除控制器[10],以及关闭链路以保存能源[11]。请注意,流量管理不可避免地会产生额外的成本,这在文献中尚未得到深入探讨。此外,网络性能与节能之间的折衷也需要深入评估。

猜你喜欢

转载自blog.csdn.net/jemary_/article/details/80233520
今日推荐