摘要:当前网络已经发展了40余年,存在许多问题亟待解决。随着美国产业互联网、德国工业4.0以及“互联网+”等战略的提出,当前的互联网所支撑的方向正在由消费型向生产型转变,但是基于TCP/IP的网络体系架构在可扩展性、安全性等方面都无法适应这一转变,因此未来网络受到了全球范围的重视,比较有代表性的工作包括软件定义网络和信息中心网络,另一方面,大数据技术也在各个行业崭露头角,这些新兴的技术都处于发展初期,仍存在许多问题亟待解决。本文将这些新技术的优势加以利用,提出了一种数据驱动的网络架构,旨在通过该架构来解决新兴的未来网络在发展中所面临的问题和挑战。
成都创新互联公司10多年企业网站设计服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站设计及推广,对加固等多个方面拥有丰富的网站制作经验的网站建设公司。关键词:软件定义网络;信息中心网络;大数据;数据驱动网络
1、网络结构僵化,不能应对新业务的需求。在传统网络中,层次化的结构是互联网得以发展的关键,但是网络规模不断增大,层次化结构中封闭的网络设备中内置的大量复杂的协议,大大增加了网络优化运营的难度,使得科研和管理人员都无法在网络中部署新的协议,增加新的业务能力。
2、网络不能进行自适应配置。现有网络中,网络不能进行自适应配置,必须预先留有足够的冗余,用来防止峰值时出现网络拥堵的情况。根据上海贝尔和诺基亚的调查研究表明,我国现阶段网络峰值利用率在60%以下,平均网络利用率只有35%,也就是说,运营商建设1G的宽带,平均只有350M可以被用户利用,剩下的65%只能作为“备胎”,长此以往再加上流量的急速增长,运营商需要投入的带宽建设资源的数量可想而知。
3、信息网络正在与传统行业进行深度的融合,深度融合之后所带来的对实时性、安全性等需求是当前网络难以满足的。例如在车联网中,要求网络的时延非常小,需要达到10毫秒以下,但是当前互联网的传输时延80%都高于90毫秒,离车联网的目标还相差很远。
因此,面对当前互联网的这些问题和挑战,全球正在积极展开未来网络基础架构的研究来解决问题。比较有代表性的工作包括软件定义网络(Software-Defined Networking, SDN)[1], 信息中心网络(Information–Centric Networking, ICN)[2]等,此外,大数据技术也在各个行业崭露头角[3]。但是这些新兴的未来网络架构和技术仍处在最初的发展阶段,其自身仍存在许多问题亟待解决。因此在本文中,将这些新架构、新技术的优势加以利用,综合的提出了数据驱动的网络架构,旨在通过该架构来解决新兴的未来网络在发展中所面临的问题和挑战。
软件定义网络来自2006年斯坦福大学Clean Slate研究课题[4],2008年,Nick McKeown教授在Sigcomm会议上展示了基于OpenFlow网络的演示试验。软件定义网络的思路逐渐形成。2011年3月,成立了ONF (Open Networking Foundation)组织[5],该组织希望通过产业联盟的方式推动软件定义网络技术发展。2011年4月20日,印第安纳大学、斯坦福Clean State计划工作组与Internet2发起了NDDI计划(Network Development and Deployment Initiative)[6],希望创建一个基于软件定义网络的网络试验平台。2011年11月,第82届IETF会议启动了成立软件驱动网络(Software Driven Network)工作组的提案,并同时获得了批准, IETF的81/82次会议重点讨论了SDN的框架、模型、特性、层次化结构、API接口以及技术标准化等方面的内容。
软件定义网络是一种新型的网络架构,它将控制平面和数据平面进行了分离,并将可编程能力引入到控制平面中。这一创新有利于对底层网络资源的抽象管理,可以从逻辑的形式上支持上层应用,从而实现灵活性和可控性。
软件定义网络的体系架构如图1,包括数据转发层、控制层和应用层。数据转发层不在支持大量的协议标准,它只需要接收控制层的指令进行操作;对于控制层而言,可以进行全局信息的监视,实现集中化的网络智能;在应用层中,控制层提供的开放的接口来提供多样化的应用服务。
图1 软件定义网络体系架构
SDN面对的问题和挑战主要包括以下两点:
1)当前的网络用户从关注“在哪里”逐渐转为关注“是什么”,但是SDN并没有很好的对内容的命名和路由解析进行探讨。
2)SDN中的控制平面掌握有各种粒度的全局信息数据,这些数据对于网络分析和决策是具有重要价值的,但是现阶段的研究并没有对这些数据加以有效的利用。
信息中心网络(Information-Centric Networking,ICN)是近年以来未来网络一类发展方向的总称,其下有美国的CCN,DONA,NDN,和欧盟的PSIRP,4WARD,PURSUIT,SAIL等[7][8]。
施乐帕克研究中心的Van Jacobson于2006年分析认为网络的应用呈现以内容为中心的特点,提出了CCN(内容中心网络)的架构,实现了从IP为中心向数据为中心的转变,解决地址空间可扩展、流量冗余、移动性、安全性等问题。
NDN是美国NSF于2010年8月支持的4个未来互联网架构项目之一,该项目力图改变当前互联网以主机为基础的点对点通信架构。欧盟在2008年立项支持的FP7计划4WARD项目中提出开展Networking of Information(NetInf)研究项目,期望构建以信息为中心的网络体系,项目对命名机制、解析流程、协议架构等方面进行了探讨。
2010年,FP7在SAIL(自适应的互联网解决方案)重点项目中又进一步支持了该研究方向。
此外,欧盟还专门启动了针对发布订阅通信模式的PSIRP/ PURSUIT项目,在该项目中,组播通信将代替传统的单播通信模式,缓存代替传统无缓存的数据获取模式。
信息中心网络与传统互联网体系架构的根本区别在于以命名信息为中心,并将其作为网络体系结构的细腰。从关注“在哪里”——地址和主机,到关注“什么”——用户和应用需要的信息内容。
对象模型是信息中心网络中的基本概念,包括信息对象(Information Object)、比特级对象(Bit-level Object)。而信息对象作为信息中心网络的核心元素,其命名和标识影响着整个网络体系结构的设计。CCN和NDN项目是以层次化的命名方式对信息对象进行命名,而4WARD与SAIL项目则采用了扁平化的命名方式,目前该领域研究尚无定论。
信息中心网络借助在网络中缓存、逐跳传输等技术能够高效地减少网络中传统数据密集型应用(如www、文件下载等)的流量,即通过“存储换带宽”的策略来降低链路带宽消耗并节省设备能耗;同时信息中心网络更加关注安全问题,直接对信息内容本身进行保护,而不再像传统IP网络主要保护数据包和通道的安全,从而实现从信任主机到信任信息内容的设计思路转变。
虽然CCN有良好的发展事态,但是仍存在许多问题需要解决,例如如何更好的对内容和用户兴趣进行命名、以内容命名的数据的转发、网络内缓存和可移动性等。此外,大多数现阶段的网络应用、传输层协议、主机和路由器都是以用户为中心的,不可能在朝夕之间部署内容为中心的网络架构,然而随着网络中缓存成本的降低,网络内缓存已经成为了提升用户体验的主要途径。
随着互联网、数据库技术、高性能存储设备的快速发展,人们正在快速的生成着各种数据:照片、邮件、位置信息、视频等等。国际文献资料中心从2006年开始,逐年发表一个“数字宇宙”的报告,来跟踪全球数据量的增长情况。2006年时,全球数据量为0.18ZB,2011年达到1.8ZB,预计到2020年时,会达到40ZB,这个数字为地球上所有海滩上沙粒总数的57倍,因此大数据问题应运而生。
2011年5月,麦肯锡公司在美国举办了EMC World年度大会,发布了“Big data: The next frontier for innovation, competition and productivity”的报告,第一次提出了“大数据”的概念。2012年世界经济论坛发布了“Big data, big impact: New possibilities for international development”的报告,明确指出了大数据为全世界发展带来的新机遇。2012年3月,美国政府打不了“大数据研究发展倡议”,启动了“大数据发展计划”。联合国于2012年也公布了“Challenges and opportunities with big data”的白皮书。对于我国而言,工信部发布了物联网“十二五”规划,提出了海量数据存储、数据挖掘、图像视频智能分析等大数据的重要组成成分。在中国计算机学会的主导下,成立了大数据专家委员会。2013年科技部正式启动了863“面向大数据的先进存储结构及关键技术”的研究项目[9]。
近些年来,大数据迅速发展成为科技界和企业界关注的热点,通过利用大数据技术可以获得意想不到的商业价值 [10]。什么是大数据,至今为止没有公认的定义,从宏观角度而言,大数据是一种对结构化和非结构化的大量数据进行快速准确的存储、分类、管理、抽象和分析的技术 [11]。
在当下数据进行爆炸式增加的阶段,例如网络中的博客文章、照片、邮件等在一直不断的增长,这些数据也恰好暗示了一些用户的行为,渐渐地这些数据也就产生了巨大的商业价值,这也就促使了许多商业组织建立了大数据分析和处理平台。
与传统数据相比,大数据的基本特征有5个V,包括:volume(体积大)、velocity(速度快)、variety(模式多)、veracity(精确性高)、value(价值高)。针对大数据这5个特点,一些互联网公司,例如Google、Facebook、Microsoft退出了不同的大数据处理系统,他们利用深度学习、知识技术、可视化等技术使得大数据得到了迅猛的发展。
在大数据技术发展过程中,涌现出如Hadoop和Spark等批处理和流处理技术,但是在处理过程中如果对数据预处理不完善,会导致数据的可用性差,数据不准确等问题。海量数据的处理需要可靠的架构设计,强大的数据中心来支撑。因此,如何在保证高并发稳定访问的同时,有效减少服务器的负载,成为大数据发展过程中的一大挑战。
毫无疑问的是在SDN中有大量数据存在,然而很少有研究会真正将这些宝贵的数据加以分析和利用,从而帮助控制器更好的做出全网决策。因此有必要在控制器中增加大数据分析模块来更加智能的确定功能统一的网络解决方案。
该架构的参考模型见图2,由三层结构组成,分别是数据层、控制层和应用层,接下来将详细介绍各层的功能。
图2 数据驱动的网络架构
数据平面由多个SDN智能转发设备组成,可以是SDN交换机或数据中心、基站等,这些智能转发设备的功能特点主要包括以下几点:
1)智能转发设备是在传统转发设备的基础上嵌入了内容缓存功能,缓存功能的加入可以有效的降低对用户的内容请求响应时延。当用户的内容请求到达与之相连的智能转发设备时,该转发设备首先与本地缓存的内容相匹配,如匹配成功则之间回复用户的请求;否则,从其他智能转发设备取回该内容来回复用户的请求。
2)在智能转发设备中还嵌入了监控装置,该监控装置是可扩展的分布式监控模块并具有高性能的运算系统,它负责收集智能转发设备上的内容数据、缓存数据和网络状态数据,并定期地通过南向接口将这些数据上传到控制平面,其中内容数据包括用户的内容请求、缓存中的内容信息等;缓存数据包括缓存的大小和利用率;网络状态数据包括网络拓扑、流量数据、链路数据等。
3)智能转发设备还负责根据控制器下发的流表对数据包进行转发,并且可以接收来自控制器的流表对缓存的大小和缓存的内容进行调整和重新布局,从而可以确保内容和缓存的重新配置。
控制层通过两个接口连接了数据层和应用层,因此控制层是该架构的核心组成部分,它主要由两部分组成,分别是大数据处理平台和SDN控制器。
大数据分析平台嵌入了分析能力,所分析是数据包括用户数据,如内容数据、缓存数据,网络数据,流表数据等。大数据分析平台应用分析算法从大量的数据中挖掘有用的信息,从而建立流量模型、用户行为模型和内容流行度模型从而更好的理解网络状态、用户需求和内容流行度。最后大数据将分析得到的决策信息,如内容重分配、缓存重分布以及网络管理策略等,并将这些决策信息传递给SDN的控制器模块。
根据大数据平台给出的决策信息,SDN控制器模块通过向数据层下发流表来改变智能转发设备的状态和缓存状态,包括数据包转发规则、缓存分配情况和内容分布情况,调整后的网络可以大程度的提升缓存利用率。
因此控制层的功能可以归纳为以下两点:
1)对数据平面:SDN控制模块接收来自数据平面的网络状态信息来构成网络全局视图,并且向数据平面下发流表转发规则;与此同时,大数据分析平台接收来自智能转发设备的各类数据,包括缓存数据、内容数据和网络状态数据。根据缓存数据并结合大数据分析功能,我们可以得知哪个智能转发设备有较高的内容请求频率,则接下来将会给该转发设备分配更多的缓存资源;根据内容数据并利用大数据分析功能,得到哪些内容在哪些转发设备上有较高的请求热度,则将会把该内容缓存在该转发设备上,从而降低大部分用户的内容请求时延;通过网络状态数据和大数据分析能力,得到哪些链路和转发设备会出现负载拥塞,则将会在将会在路由转发时尽量避免容易出现拥塞的链路和节点。大数据分析模块将这些决策策略传递给SDN控制器模块,然后控制器通过下发流表的方式执行相应的策略。
2)对应用平面:向用户提供内容请求服务和应用程序服务,控制层感知这些服务请求,并根据服务请求制定相应的完成策略,并将策略下发给数据平面,从而实现用户请求。
应用层包括各种各样的内容服务和应用程序服务来满足用户的需求,利用北向接口和控制层,应用层可以获取全局视图,并且以编程的方式利用数据层的物理资源来实现用户的请求。
一个用户向与之相连的智能交换机提交了内容请求,当该交换机处缓存有该内容或是交换机可以利用流表取回该内容时,该交换机将立即回复用户的请求或是根据流表取回该内容;否则,该交换机则将用户请求上传给控制器,控制器根据全局信息得到取回该内容的最优路径,并向交换机下发流表,从而取回该内容。与此同时,大数据平台定期接收来自智能交换机上传的数据,并根据这些数据分析网络状态、性能和用户行为,并将分析的结果传递给控制器,控制器将根据这些结果调整内容的分布和缓存的分配。
例如某一用户想与之相连的智能交换机提交了对电影《阿凡达》的内容请求,但是该电影并没有缓存在交换机中,根据交换机中的流表也不能转发取回该电影,因此交换机将该内容请求上传给控制器,控制器下发流表,该交换机根据流表转发取回电影《阿凡达》。一段时间之后,大数据平台根据数据分析得知该智能交换机所连接的用户对电影《阿凡达》有着很高的请求频率,并将这一分析结果传递给控制器,控制器通过流表的下发将该电影缓存在该智能控制器中,从而可以大大降低大多数用户的请求等待时间。
因此,大数据模块通过对软件定义网络和信息中心网络中的数据进行分析,得到网络中各种终端的兴趣与需求,更加智能地解决了网络中数据缓存与数据转发等问题,有效地缓解网络拥塞,从而提高网络的性能。