我们准备好了吗?软件定义网络的实现挑战外文翻译资料

 2022-08-12 15:59:34

英语原文共 16 页,剩余内容已隐藏,支付完成后下载完整资料


我们准备好了吗?软件定义网络的实现挑战

摘要

云服务正在爆炸式增长,组织正在聚合它们的数据中心,以利用虚拟化技术提供的可预测性、连续性和服务质量。与此同时,节能和高安全性的网络也越来越重要。网络运营商、服务和产品提供商需要一种新的网络解决方案来有效地应对不断变化的网络环境中不断增长的需求。软件定义网络已经成为一种高效的网络技术,能够支持未来网络功能和智能应用的动态特性,同时通过简化硬件、软件和管理降低运行成本。在这篇文章中,提出了如何用软件定义的网络来实现一个成功的载波级网络的问题。特别关注网络性能、可伸缩性、安全性和互操作性方面的挑战,并提出了潜在的解决方案方向。

1.引言:什么是软件定义的网络?

网络配置和安装需要高度熟练的人员,他们擅长配置许多网络元素。当网络节点(交换机、路由器等)之间的交互非常复杂时,就需要一种包含模拟元素的更基于系统的方法。在当今大多数网络设备上,使用当前的编程接口很难做到这一点。

此外,近年来,供应和管理覆盖多种技术的大型多厂商网络所涉及的运营成本一直在增加,而运营收入的主要趋势是下降。再加上人力资源的日益稀缺和房地产成本的不断上升,对于服务提供商来说,这场“完美风暴”正在重新激发人们对能够跨多个域统一网络管理和供应的解决方案的兴趣。需要一个新的网络模型来支持这一点。

软件定义网络(SDN)这个术语是近年来出现的。然而,SDN背后的概念自1996年以来一直在演变,这是由于希望在网络节点中提供用户控制的转发管理。研究和行业组织的实现包括Ipsilon(提议的通用交换机管理协议,1996年)、Tempest(安全、资源保证、可编程网络的框架,1998年)和Internet工程任务组(IETF)转发和控制元素分离,2000年和路径计算元素,2004年。最近,Ethane(2007)和OpenFlow(2008)使SDN的实现更接近现实。Ethane是一个安全管理架构,它将简单的基于流的交换机与管理流的导纳和路由的中央控制器组合在一起。OpenFlow允许由交换机外部的服务器定义流表中的条目。但是,SDN并不局限于这些实现中的任何一种,而是平台的通用术语。

为了清晰起见,本文使用开放网络基础(ONF)[1]定义对SDN进行了描述:“在SDN体系结构中,控制平面和数据平面是解耦的,网络智能和状态在逻辑上是集中的,底层网络基础设施是从应用程序中抽象出来的。”

SDN专注于四个关键特性:

bull;控制平面与数据平面的分离

bull;一个集中的控制器和网络视图

bull;打开控制平面(控制器)中的设备与数据平面中的设备之间的接口

bull;外部应用程序对网络的可编程性

图1:SDN功能体系结构说明了构成网络的基础设施、控制和应用程序元素

图1描述了我们对未来SDN架构的展望。该体系结构包含完整的网络平台。

图1的底层涉及到物理网络设备,包括以太网交换机和路由器。这就形成了数据平面。

中间层由控制器组成,这些控制器可以方便地设置和分解网络中的流和路径。控制器利用流量通过的网络设备获得的容量和需求信息。中间层通过称为南向API的应用程序编程接口(API)与底层连接。控制器之间的连接使用东向和西向的API。Controller application接口被称为向北的API。

图1的顶部显示了一些功能应用,如高效节能网络、安全监控和网络操作和管理的访问控制,突出了用户控制/管理与数据平面的分离。本文中的应用程序是指网络运营商提供的服务。对图1中架构的每个元素的详细了解超出了本文的范围。相反,本文介绍了SDN网络从传统网络向当今最先进网络的转变。

SDN的一个关键挑战涉及控制面和数据面分离,以及在此框架内维护载波级服务。在载波级网络中,满足操作期望的体系结构要求是可伸缩性、可靠性、服务质量(QoS)和服务管理[2]。本文后面将讨论由控制数据平面分离挑战引起的四个具体问题。然后研究了针对这些问题的一系列解决方案,并在文章的最后概述了我们对SDN未来的展望。

2.背景:为什么SDN ?

通信网络的基本目的是将信息从一个点传送到另一个点。在网络中,数据跨多个节点传输,网络应用程序/服务提供的控制支持高效、有效的数据传输(转发)。

传统网络体系

在传统网络中,如图2所示,控制平面和数据平面在一个网络节点中组合。控制平面负责节点的配置和对数据流使用的路径进行编程。一旦确定了这些路径,就将它们下推到数据平面。硬件级的数据转发基于此控制信息。在这种传统方法中,一旦定义了流管理(转发策略),对策略进行调整的惟一方法就是更改设备的配置。事实证明,这对网络运营商来说是一种限制,因为他们急于扩展自己的网络,以应对不断变化的流量需求、移动设备使用量的增加以及“大数据”的影响。

图2:传统网络视图与SDN网络视图的比较:a)传统方法(每个网络节点都有自己的控制和管理平面);b) SDN方法(从网络节点中提取控制平面)。

SDN网络体系

从这些以服务为中心的需求中,SDN应运而生。控件从独立的网络节点转移到分散的集中控制器。SDN交换机由网络操作系统(NOS)控制,网络操作系统使用图2中a所示的API收集信息并操作它们的转发平面,向承载应用程序的SDN控制器提供网络拓扑的抽象模型。

因此,控制器可以利用网络的完整知识来优化流管理,并支持可伸缩性和灵活性的服务用户需求。例如,可以从应用程序动态地将带宽分配到数据平面。

在图3中,一旦第一个包的新流到达从发送方(步骤1),切换开关检查这个包的流动法则SDN缓存(步骤2)。如果找到一个匹配的条目,与特定流条目相关的指令执行(例如,更新计数器,包/匹配字段,行动组,元数据)。然后将数据包转发给接收方(步骤5)。

如果在流表中没有找到匹配项,则可以通过安全通道将数据包转发给控制器(步骤3)。使用南向API(如OpenFlow、ForCES、PCEP),控制器可以主动地(响应数据包)和主动地添加、更新和删除流条目。控制器执行路由算法,并添加一个新的转发条目流表的每个相关开关的开关和沿流程(步骤4)。然后切换将数据包转发到相应的端口发送数据包到接收者(步骤5)。

图3:SDN(控制开关)的操作。

SDN将带我们走向何方?

SDN的实现为新的创新和新的应用开辟了途径。动态拓扑控制。通过全局网络视图,可以根据负载和流量映射调整交换机的使用。这为整个网络的访问控制、电源管理和家庭网络引入了范围,对于这些方面,网络视图是没有好处的,但却是绝对必要的。

此外,SDN网络的可编程性允许从硬件到软件以及最终到终端用户(网络运营商)的所有级别的无缝通信。可编程性使应用程序感知网络,而网络感知应用程序。这可以极大地改进资源的使用,并为新应用程序打开潜力,这些应用程序具有产生收入的相关潜力(例如,流量计量),在这些应用程序中,可以根据服务提供的级别来定义成本计划。

3.主要挑战

SDN在简化网络部署和操作,以及通过提供可编程网络服务来降低管理企业和运营商网络的总成本方面有着巨大的潜力。然而,仍有一些挑战有待解决。本节集中讨论SDN面临的挑战所产生的四个具体问题。

性能与灵活性:如何实现可编程开关?

SDN的一个基本挑战是如何高效地处理高接触、高安全性、高性能的包处理流。有两个因素需要考虑:性能和可编程性/灵活性。

在本节中,性能特指考虑到吞吐量和延迟的网络节点的处理速度。可编程性是指为了改变功能行为而改变和/或接受一组新的指令的能力。灵活性是使系统适应新的不可预见的特性(例如,应用程序、协议、安全措施)的能力。

图4:网络处理-性能与可编程性

有许多倡议[3,4]正在进行中,以使现有网络技术以符合SDN目标的方式可编程。除此之外,SDN的可编程性和性能问题仍然是实现节点带宽超过100Gbps的挑战。

图4根据可编程性/灵活性和性能之间的关系(权衡),概述了用于网络处理的主要技术。

通用处理器(CPUs / GPPs)提供了最高的灵活性。高级编程语言和设计工具使最高的设计抽象和复杂包处理功能的快速开发成为可能。然而,CPU实现的限制在于它的性能和功耗,这受到了通用体系结构的限制。然而,多核处理器,例如Intel Xeon家族的[5],可以通过在多核上实现负载平衡来实现几十千兆的吞吐量。

网络流处理器(NPUs/NFPs)是用于网络处理的优化处理器体系结构。指令和互连是为处理分组数据而定制的。专用硬件加速器和各种接口技术用于加速,同时降低功耗。然而,实现的灵活性降低了,因为为了定义包/流处理功能并充分利用设备的并行处理能力,需要对设备有更详细的了解。最先进的NPUs(例如,Netronome[6])承诺每个设备超过200 Gb/s的线速率和超过100 Mpackets/s的流处理性能。

可编程逻辑器件(PLDs)或现场可编程门阵列(FPGAs)已经发展成为一种电信和网络处理技术。与微处理器相比,pld是使用硬件设计工具配置的。这种技术非常适合实现为各个网络处理功能定制的高度并行和流水线化的数据路径。PLD技术(如Tabula[7])可以实现每个设备超过200 Gb/s的自定义数据路径处理(如200 Mpackets/s交换)。

特定于应用程序的标准产品(ASSPs)是高性能网络的基石。它们针对广泛使用的功能或产品进行设计和优化,以实现高容量。assp的缺点是其灵活性有限。核心ASSP领域包括物理和数据链路层产品、交换和无线产品。近年来,Intel、Broadcom和Marvell引入了特定于sdnsps的assp,其主要目标是高性能以太网交换,支持超过500gb /s的虚拟化和OpenFlow交换。

特定应用集成电路(ASIC)是系统供应商(如思科、华为、Juniper)在标准产品不可用、可编程解决方案无法满足性能约束时定制的专用设备。作为特定于应用程序的解决方案,ASIC提供最低的灵活性,同时提供最高的性能、功率和成本效益。SDN产品将包含实现SDN数据平面的专用ASICs。

考虑到数据处理技术的可编程性/性能权衡,很明显,只有混合方法才能为SDN提供有效的技术解决方案。主要的SDN节点功能可以被分解成子功能的集群,这样就可以使用特性特定的技术(在节点内或节点间)来在功耗、成本和可伸缩性方面满足最佳性能和可编程性之间的平衡。

例如,构建一个基于自定义设备(如PLDs/ASSPs)、NPUs/NFPs和CPU/GPP的平台,呈现出一种混合的可编程架构。该平台可以支持对网络中已建立的流进行快速转发,并支持对封装的流量和新流进行可编程和受控处理。

SDN的目标之一是开发建立在通用硬件上的网络。混合架构中描述的技术组合支持这一目标。通过在标准硬件上建立可编程接口,可以实现多厂商网络。

可伸缩性:如何启用控制器来提供全局网络视图?

假设可以在混合可编程体系结构中实现性能要求,那么SDN中的可伸缩性是另一个讨论较多但解决方案有限的问题。

这个问题可以大致分为控制器可伸缩性和网络节点可伸缩性。这里的重点是控制器的可伸缩性,其中确定了三个特定的挑战。首先是通过在多个节点和单个控制器之间交换网络信息而引入的延迟。第二个问题是SDN控制器如何使用东向和西向的API与其他控制器通信。第三个挑战是控制器后端数据库的大小和操作。

考虑到第一个问题,分布式或对等控制器基础结构将分担控制器的通信负担。然而,这种方法并没有消除控制器与控制器交互的第二个挑战,这需要一个完整的网络视图。

传统的分组网络可以提供可扩展的解决方案,因为它们不需要在系统单元之间保持大量的状态。每个网络节点都是自治的,只需要知道邻居的有限信息。路由协议被设计用来控制流量。为了创建弹性网络,需要可选路径和辅助设备。然后可能需要在系统之间保持某种状态,以确保在发生故障时,服务中很少或没有中断。需要此功能的典型系统包括负载平衡器和防火墙等网络元素。

在纯SDN环境中,单个控制器或一组控制器将为更多的数据转发节点提供控制平面服务,从而允许系统范围内的网络资源视图。

与SDN的目标和现有路由协议相匹配的其他方法包括添加一个用于公开API的编排层,应用程序元素可以使用该API向传输层请求所需的性能。

对应用层流量优化(ALTO)数据模型的扩展已由多个组织提出,其中ALTO服务器承载聚合的信息,每个控制器都与这些信息有链接。ALTO的目标是指导应用程序选择能够提供所需资源的几个主机之一。在[8]中,为了支持全局网络视图,提出了一个具有双向信息流的SDN控制器和ALTO服务器的垂直架构。在改善应用程序性能方面,使用SDN的ALTO将是一个强大的工具。

HyperFlow[9]是一种特定的控制器可伸缩性解决方案。HyperFlow是一个控制器应用程序,它位于NOX控制器上,与事件传播系统一起工作。HyperFlow应用程序有选择地发布改变系统状态的事件,其他控制器会重播所有发布的事件以重建状态。这意味着所有的控制器共享相同的一致的网络范围的视图。

实际上,在[10]中强调了通过在多个控制器上分布状态来提供网络视图的概念,其中描述了一系列针对控制器可伸缩性的解决方案。Onix[11]是一个分布式控制平台,提供了将网络状态划分和分布到多个分布式控制器的抽象。值得注意的是,在[10]中,作者得出结论,SDN的灵活性在网络可管理性和功能可伸缩性方面提供了机会。

为了实现SDN的完全可伸缩性,需要采用一种渐进的网络可编程方法。例如,使用这种混合架构,可以在节点CPU中解决大量查询,否则这些查询将被传输到控制器进行处理。这可能会减少控制器上的数据库大小,同时减少控制器与其节点之间的通信。

安全性:如何保护软件定义的网络免受恶意攻击

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[236742],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。