《当大数据遇见网络:大数据与SDN》
摘要
大数据和SDN无论是对于学术界还是工业界来说都极具吸引力。传统上人们都是分别在最前沿工作中研究这两个重要的领域。然而一方面,SDN的特点可以极大促进大数据的获得(acquisition)、传输(transmission)、存储(storage)和处理(processing)。在另一方面,大数据也在SDN的设计(design)和运作(operation)发挥着深远的影响。在这篇文章中,我们展示了SDN在解决一些主要和大数据应用有关的问题的长处(good features),包括大数据在云数据中心的处理(cloud data centers),数据传递(data delivery),联合优化(joint optimization),科学的大数据结构和调用问题(scientific big data architectures and scheduling issues)。我们展示了SDN可以高效管理网络,以改善大数据应用的性能。另外展示了大数据也有利于SDN,包括流量工程(traffic engineering)、跨层设计(cross-layer design)、防范安全攻击(defeating security attacks)和基于SDN内部(SDN-based intra)和内部数据中心网络(inter data center networks)。此外,我们讨论一些未来研究中需要人们解决(address)的已知问题,以共同考虑大数据和SDN。
主要内容
大数据
大数据的特点:人们通常习惯称大数据为“5Vs”(最初称为“3Vs”;其中两个是最近添加的):volume(数据集的大小)、variety(数据类型和来源的范围)、速率(velocity)(数据进出的速度)、价值(如何使用数据)和真实性(veracity)(数据质量)。
现状:大数据应用程序体积庞大,计算复杂,故需要网络底层的支持。而SDN更易开发和部署应用程序,在SDN中可使用全局视图,可直接一致执行网络策略。
什么是大数据:关于大数据的两种两种定义:
- 属性定义:根据"5Vs"特点来进行定义。
- 比较定义:“数据集大小超出了典型数据库工具捕获、存储、管理和分析的能力。”
SDN的良好特性有利于大数据应用程序,如图1所示:
图1.SDN的良好特性有利于大数据应用程序
Software-Defined Networking Can Benefit Big Data Applications(SDN可以使大数据应用程序受益)
SDN Can Benefit Big Data Processing in Cloud DataCenters(SDN可以为云数据中心的大数据处理带来好处)
那SDN有利于大数据的哪些方面呢?首先谈谈大数据。大数据应用程序的资源请求是动态改变的,如何有效地分配和管理云数据中心的资源,以满足不同大数据应用的SLA需求是非常重要的。
SLA:大数据应用程序的SLA是大数据服务提供商与其用户之间协商(negotiate)达成的协议(agreement)。
SLA定义了提供的大数据服务的特点,包括服务水平目标(service level objectives)、预期服务质量(expected quality of service (QoS))和未满足大数据服务提供者目标的处罚。
那SDN有什么用呢?使用启用了SDN的数据中心、网络和存储基础设施作为服务交付并由SDN来实现自动化。
在参考文献[4]中,研究了一个基于SDN的云数据中心在大数据应用中的应用。
具体来说(Specifically),提出了一个基于SDN的OpenFlow网络,该网络具有输入和交叉点队列(crosspoint queued)(CICQ)交换机,用于调度(schedule)不同大数据应用程序的数据包。在这种方法中,控制器为不同类型的大数据应用程序维护(maintain)带宽供应表(bandwidth provisioning table),并将其发送给CICQ交换机,然后交换机根据控制器提供的带宽表确定分组调度优先级(scheduling priorities),资源分配高效,在云数据中心的不同大数据应用中也降低了功耗。
在文献[5]中,作者提出了基于SDN 的数据中心,具有最有拓扑结构(optimal topology composition)和流量负载平衡(traffic load balancing)。
) 最优拓扑结构找到一个子集数据中心网络拓扑结构,可以满足(accommodate)不同大数据应用程序的预期流量需求(expected traffic demands)。为了处理网络拥塞(network congestion),流量负载平衡通过找到最优子集拓扑来分配不断变化的业务需求。
SDN Can Benefit Data Delivery for Big Data Applications(SDN可以为大数据应用程序提供数据)
由于数据体积巨大,在大数据应用程序中传递数据是一项巨大的挑战。
作者提出基于SDN的光网络来加速和支持大数据应用的“-cast”的流量传递。大数据应用导致了大量的流量,其不同的通信模式被表示为“-cast”,结合了单播、多播、Incast和all-to-all cast。
在文献[7]中提出了一种混合(hybrid)(光和电)方法,它利用物理层光学(physical layer optics)来加速每一种模式的流量传递,应用驱动控制平面与SDN兼容,使得(enabling)光子设备的灵活状态运行时的配置(dynamic runtime configuration)能够支持复杂的流量模式。
为了处理大数据应用程序中的突发数据(bursting data),文献[8]的作者提出了一种支持SDN的主题传输体系结构,它可以无缝地(seamlessly)与SDN的部署相结合(mesh)。在这种可编程架构中,一个核心传输节点被抽象(abstract)为一个可编程虚拟交换机,该交换机利用(leverage)OpenFlow协议进行控制。通过对大数据应用的原型演示(prototype demonstration),证明了SDN所带来的可编程性和灵活性可以极大地促进大数据应用的数据传递。
此外,超高清视频流(ultra-high-definition video streaming)和视频会议(Video conference )是大数据应用程序的例子。文章[9]提出了一种集成(integrate)SDN和广义多协议(Generalized multiprotocol label)标签交换(GMPLS)控制平面的系统,并证明了这种体系结构能够支持各种大数据应用。在这种方法中,OpenFlow可以被称为“网络大脑”,GMPLS用于支持多种类型的交换,如时分复用(TDM)、Lambda、波段和光纤交换。
Programming at Runtime for Optimizing Big Data Applications(运行时编程优化大数据应用程序)
因为不断变化的环境,许多大数据应用程序频繁要求重新配置。SDN的可编程能力(capability of programming)对这种情况就非常有用。文章[10]的作者介绍了一种基于SDN的大数据应用网络跨层结构(cross-layer structure)。
SDN Can Benefit Scientific Big Data Architectures(SDN可有利于科学大数据架构)
校园网络没有能力处理如此巨大的数据。随着数据数目的不断增加,现在更需要简单的、可伸缩的(scalable)端到端网络体系结构和实现,以使应用程序能够最有效地使用网络[11]。
为了绕过典型校园网中的传统性能热点进行科学大数据的应用,SDN具有一定的优势来解决这一问题。Mona等人.将SDN引入到科学的大数据体系结构模型中[11],提出了一种新的校园网络体系结构模型,该模型将SDN应用于同一校园网中的多学科领域(multi-science disciplines)。该模型还为科研协作(collaborations)建立了一个虚拟广域网(virtual network over wide area networks)(WANs)。此外,还引入了一种基于SDN/OpenFlow的终端站点体系结构(end-site architecture),以支持多个科学学科。该模型提出了一个数据传输节点(DTN)重定向器(redirector)。每个DTN可以向DTN重定向发送数据传输请求。当DTN重定向器接受数据传输请求时,使用OpenFlow规则将数据传输到请求DTN。它可以将数据流封装(encapsulate)在预先核准的虚拟局域网中,从而绕过(bypass)防火墙功能。SDN/OpenFlow控制器管理与校园网有关的所有策略。这种新的架构模型的有效性(effectiveness)被证明用于科学大数据应用。
SDN Can Benefit Scheduling in Hadoop for Big Data Applications(SDN可以使Hadoop中的大数据应用程序的调度更有利)
对Hadoop的介绍:Hadoop作为一种支持大数据存储和处理的软件框架,受到业界和学者的广泛关注(substantial attention)。Hadoop将数据存储、数据处理、系统管理和其他模块集成在一起,形成了功能强大的系统级解决方案,正在成为处理大数据挑战的主流(mainstay)。
但在Hadoop中需要解决的一个重要问题是NP-完全最小共轭问题(he NP-complete minimum make span problem)[12],它对Hadoop系统的性能有着重要的影响。
图2.基于SDN和大数据的动态流量工程系统体系结构
文章[12]在Hadoop中采用SDN来解决这个问题。具体来说,提出了一种基于SDN和带宽感知的调度器(bandwidth-aware scheduler),它可以灵活地以最优方式分配(assign)任务,并从全局角度保证(guarantee)数据局部性。它首先利用(utilize)SDN来管理网络带宽并以时隙方式分配带宽,然后根据完成时间决定是在本地还是远程分配任务。因此,这种方法可以保证全局视图中的数据局部性(data locality),同时可以有效地分配任务。该方法(approach)的关键点是SDN/OpenFlow控制器的稀缺网络带宽不仅被考虑到,而且被认为是任务调度的一个重要参数(a vital parameter)。实际实验表明,该方法可以提高Hadoop中大数据应用的调度性能。
Big Data Can Benefit Software-Defined Networking(大数据有利于SDN)
Big Data Can Benefit Traffic Engineering in SDN
流量工程的典型目标是均衡网络负载(network load)和最大化网络利用率(utilization)。由于以下原因,将大数据和SDN结合用于流量工程将是一个恰当的解决方案(an apt solution):
1.通过逻辑集中的SDN控制器获取大数据流量和故障信息相对容易。
2.任意粒度(arbitrary granularity)的大流量数据的任何流格式(flow format)都可以用于流量工程。
3.通过修改交换机内的流表(flow tables),将流量工程结果应用于数据中心网络中的交换机相对容易。
图3.具有SDN和大数据的跨层设计
在图2中,我们描述了一个具有SDN和大数据的动态流量工程系统的体系结构。数据中心网络中的SDN交换机/路由器通过控制/数据平面接口(interface)向SDN控制器报告其大流量数据和故障状态。SDN控制器对采集到的大流量数据信息进行汇总和总结(aggregate and summarize),并将其发送给大数据应用程序。大数据分析利用(leverage to)分析方法从大流量数据中获取洞察力(insights),进而指导(guidance)流量工程管理者制定流量工程策略。根据这些流量工程策略,SDN控制器通过更新SDN设备的流表来改变SDN设备的切换行为,并在数据中心网络中打开/关闭设备和链路,以最小化功耗和链路拥塞。
Big Data Can Benefit Cross-Layer Design in SDN(SDN中的大数据有利于跨层设计)
大数据不仅有利于流量工程,也有利于SDN的其他层。跨层设计的最新进展(recent advances)表明,非相邻层可以在运行时共享信息,这将导致新的算法,并显著(significantly)改善网络系统的性能。
大数据可以使SDN中的跨层设计受益,SDN中的逻辑集中控制器具有全局性的网络视图,使其能够从任意粒度(granularity)的所有不同层获取大数据,如物理层的信道状态信息、数据链路/网络层的分组信息和应用层的应用信息。将大数据技术应用于网络控制和管理,可以极大地改善网络的控制和管理过程,因此,SDN中的跨层设计将是一个具有挑战性的课题。
本文提出了一种将大数据和SDN相结合(facilitate)的体系结构,该体系结构可以在大数据的帮助下,方便SDN中的跨层设计。
Big Data can Benefit SDN in Defeating Security Attacks(大数据可以帮助SDN抵御安全攻击)
我们可以将在SDN上发起的攻击分(calssify)为三类(categories):应用层攻击、控制层攻击和基础结构层攻击。大数据分析在缓解(mitigate)安全攻击问题上的应用越来越受到人们的关注。大数据分析的能力使我们能够以不同的格式(formats)全面分析来自不同来源的大量不同和复杂的数据。我们可以对这些数据进行比较,进行异常检测(perform anomaly detection),并实时(in real time)对抗网络威胁。可以建立多维到超高维的数据模型(Multi-dimensional to ultra-high-dimensional data models),以准确地在线描述(profile)数据流,从而可以实时检测甚至预测安全攻击。大数据分析还可以提供异构(各种各样的,heterogeneous)安全数据之间的关联方法。此外,大数据分析的机器学习方法有可能成功地抵御未来的攻击和检测异常(detect anomalies)。
图4.可对SDN的三层进行潜在的攻击
SDN-Based Intra- and Inter-Data-Center Networks with Big Data(基于SDN的大数据中心网)
SDN是数据中心最大(maximal resource utilization)资源利用率的一种很有前途的(promising)解决方案。对于内部数据中心网络,文章[14]的作者提出了一种基于OpenFlow的光网络中的时间感知SDN(TASDN)体系结构。TASDN根据数据中心请求的到达情况,可以根据时间因素(time factors)和响应因子(response factors)协调(coordinate)大数据应用程序。
对于数据中心间(inter-)网络,Zhang等人提出了一种适用于大数据应用的增强型SDN(ESDN)体系结构[15]。
在图5中,我们提出了一种具有大数据和SDN的数据内部和数据间中心网络的体系结构,它还包括三层:基础层、数据处理和控制层以及应用层。
图5.基于SDN的大数据和数据中心网络
Open Issues(公开问题)
在本节中,我们将讨论大数据和SDN联合设计中的一些尚未解决的问题。
Scalable Controller Management(可扩展控制器管理)
当SDN中的网络控制器被用于(is used for)大数据应用时,由于其快速频繁的表更新请求以及(as well as)大的数据传输和处理,其性能会下降(be regrated)。
Intelligent Flow Table/Rule Management(智能流程图/规则管理)
在交换机中不进行数据预处理(preprocessing),这会导致控制器负载过重(heavy load)。
High Flexible Language Abstraction(高度灵活的语言抽象)
SDN中常用的高级编程语言对于大数据应用程序的开发仍然缺乏(missing for)
Wireless Mobile Big Data(无线移动大数据)
随着无线移动网络的迅速发展,越来越多的数据从移动设备和网络中被收集起来。因此,研究SDN在无线移动网络中大数据应用中的优势还有待进一步的研究(be conducted)。
Conclusion (结论)
本文首先讨论了大数据和SDN的基本特点和新趋势。然后介绍了SDN(控制与数据平面分离、逻辑集中控制、全局网络视图、网络编程能力等)对大数据应用的好处,包括云数据中心的大数据处理、数据传递、联合优化、科学的大数据体系结构和调度问题。此外,我们还表明,大数据可以使sdn的各个方面受益,包括流量工程、跨层设计、击败安全攻击以及基于sdn的数据内部和数据中心间网络。此外,我们还讨论了一些有待进一步研究的问题,如可扩展控制器管理、智能表/规则管理、高度灵活的语言抽象和无线移动大数据。
综上所述,大数据和SDN的联合设计可以成为大数据网络的一种很有前途的解决方案。如何充分利用SDN的优势,提高大数据应用的性能,如何利用大数据使SDN更好、更有效地工作,是亟待解决的问题。本文对大数据与SDN联合设计的相关技术进行了简要的探讨,并对今后的研究进行了有益的探讨。
原文:https://share.weiyun.com/5ZOmxgm
翻译:https://share.weiyun.com/5aBXzbR