1、中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 1 页可编程无线网络架构文献综述Draft V0.92014年01月03日中国科学技术大学软件学院 2013 年网络程序设计课程全体同学 翻译郭志鹏 整理说明本文由 Junaid Qadir, Nadeem Ahmed, Nauman Ahad 的论文 Building Programmable Wireless Networks:An Architectural Survey(2013)翻译整理而来,本文未经仔细校对修订请读者谅解,如有任何问题欢迎邮件()与我们交流。中国科
2、学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 2 页目录I. 摘要 .2II. 简介 .3III.可编程网络的发展 .4A.通用可编程网络的历史回顾 .4B.可编程无线网络的历史回顾 .9IV.可编程无线网的三个主导趋势 .11A.趋势一:软件定义无线网络(SWNs) .12B.趋势二:认知无线网络(CWNS) .13C.趋势三:虚拟化的无线网络(VWNs) .14V.开放性研究与挑战 .15A.建立软件定义的认知无线网络 .15B.特定无线网络的 API 开发 .15C.整合无线与云计算技术 .16D.无线物联网 .16E.
3、集中式与分布式模式的平衡 .16VI. 总结 .17中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 3 页I. 摘要近年来,人们付出很多努力来改善僵化的网络架构,以维持足够的增长和创新。感到网络架构僵化的一个主要原因是网络缺乏像操作系统一样可编程的能力。这种情况部分由于历史上对于原始互联网设计的决策,设计强调通过在每个网络设备上同地协同数据层和控制层来分散网络操作。对于无线网络,这种情况没有什么区别,它导致了许多错综复杂的事物和大量不兼容的无线技术。 “可编程的无线网络”允许更大的灵活性,易于管理,有可配置性;它的出现是朝
4、着克服无线网络中的上述缺点的正确方向迈出的一步。在本文中,我们对于在文献中提及的建立可编程的无线网络的架构提供了全面的概述,主要侧重于三种流行的技术,即:软件定义网络,认知无线电网络,虚拟化网络。这项调查是一个关于这些技术和应用的完备的教程。我们同时讨论构建下一代可编程无线网络的机遇和挑战,并确定开放性研究的议题和未来的研究方向。II. 简介由于无线通信固有的便利性,无线网络变得越来越受欢迎。它们被无处不在地部署在无数网络环境,包括蜂窝移动网络,区域或城域网(例如,通过WiMAX技术) ,本地甚至个人网络环境(例如,分别通过Wi-Fi和蓝牙技术)1 。在未来,随着在需求和应用多样性方面对于无线
5、网络应用的要求提升2,制定和实施灵活的 支持体系的问题变得更加重要。虽然较新的无线技术已经以高产率在形成,但是无线网络的体系结构有很大程度上已经固定和难以发展。结构“僵化”的弊端并不是无线网络独有,更普遍出现于网络。在我们指出这种僵化的原因之前,我们在操作上定义数据层以线速度转发数据包是可靠的,控制层指出并且实例化数据层需要的转发状态。种种原因已经提供了互联网架构僵化的解释,例如:i)垂直整合和数据层与控制层在节点一级的耦合,ii )缺乏控制层的抽象和模块化,最后,前面的两个原因造成;iii)缺乏作为一个整体的可编程的网络。这些相互关联的原因,一同阻碍了网络的增长和创新3。为了管理复杂的计算机
6、系统,计算机科学家们早已认识到抽象概念的潜力。有人认为少数有用的抽象造成对互联网产业最强大的挑战5。由于缺乏基本的抽象,网络降低为一个没有任何架构基础的“过多的协议和工具”56。使用抽象类有三个主要好处:i)模块化,这使得通过提供通用功能的可重用模块来管理复杂的问题,ii) 通过降低内部模块执行情况不可知的耦合分散关系,iii)创新,因为新的发展可以关注没有“重造整个车轮”而需要调整的模块7。分层模型通常被认为是计算机网络的一个极为成功的案例,在其应用的几十年里,原有互联网架构仍然保持着很好的持续可扩展性6。著名的 OSI 分层模型和TCP / IP的分层模型,由表示层子模块,通过明确定义的抽
7、象接口进行交互。而数据层方面应用分层的概念,提供了一些有用的抽象,控制层方面虽然已经在一个特定的方式下开发诸多抽象,但是直到现在仍然缺乏好的可扩展的抽象 8。为了发展可编程的无线网络,最重要的是能够实现对数据层和控制层两个方面的编程。不同于已有模式,只是将实现重点放在其中一个方面。在本文中,我们将提供可编程的无线网络的统一的整体概述,并突出主要的观点中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 4 页和见解。传统意义上来说,网络设备特性已经提供了确定的“旋钮”,或者说是配置选项。可以通过调整这些特性从而去适应不同的操作者
8、。然而,设备的操作者就会被设备供应商所提供的这些配置选项所限制。从可编程的设备的角度来看,它允许操作者以任意想要的方式去编程。举个例子:操作者可以根据需求自由定义新的“旋钮”从而支持特殊的应用和服务。这样可编程就比可配置设备提供了更好的灵活性。可编程与可配置的不同之处也能延伸到网络层的行为当中。虽然传统网络的确提供了有限的可配置性,但是现在的新观点是创建一个完全可编程的网络。泛泛的说,可编程网络指的是一个可以通过软件的基础接口来自我调整或者重新配置的网络。这个软件基于适应性,通常是通过调用一个应用程序编程接口(API)来执行的。软件功能的合并,允许网络在与硬件的缓慢的开发周期相比更加迅速的软件
9、开发周期方面进行革新。应用的可编程性包括:快速的提供服务10、自由的资源管理 11、高效的资源共享和对新架构的支持12,例如:云计算、物联网等13等。有趣的是,可编程网络并不完全是最近的一个概念。网络缺乏可编程性一直是公认的,并且为了弥补这个不足提出了各种方法1415。1999年由坎贝尔和美国联盟共同出版了一个著名的预言书14,说到很多的编程趋势都预期使用惊人的现代术语将会带来巨大的影响。特别的,它预示着更高层的网络编程将要诞生,由于硬件与软件的分离、公用网络接口的可用性、网络基础设施的虚拟化和网络的告诉创建与部署服务。这些预言已经精确地以这些形式实现着,软件定义网络(SDN) 、标准化的AP
10、I、网络虚拟化、云计算。类似的,另一富有洞察力的文章16,早期的版本始于1996年,其中说到将编程语言应用到网络和他们的协议中,而且他们的目标是创造一个网络中的“Smalltalk” 。这些想法现在正在的一个新的领域SDN编程语言中慢慢复活17。依据目前大多数对未来可编程无线网络的研究,可得出三个突出的技术发展趋势。这些有前景的技术是:i)软件定义无线网络( SWN) ,ii)认知无线网络(CWN) ,iii)虚拟化的无线网络(VWN ) 。在本文中,我们详细讨论这些技术的发展趋势,并提供一个完备的教程以及这些趋势的应用程序的详细调查。本文的主要贡献是我们提供可编程的无线网络的新兴领域的统一概
11、述。我们证明了活跃的网络,软件定义的无线电,认知无线电,软件定义网络和无线虚拟化,这一系列看似不相干的领域,其实都是亲属学科。我们研讨此文,并提出未来可编程无线网络的新方向。我们的论文不同于其他调查论文11 1819的地方在于,其专注于无线可编程网络,而以往文献则主要侧重于通用(有线)可编程网络。文章中其余部分组织如下。在接下来的部分(第三部分) ,我们追溯可编程网络的发展,既聚焦于通用可编程网络和可编程的无线网络。我们描述了三个可编程的无线网络的主要类别,也就是说,SWNs(软件定义无线网络),CWN s(认知无线网络)和VWNs(虚拟无线网络) ,并分别在第IV-A,IV-B 和IV-C重
12、点介绍属于每个类别的作品。在第五部分,我们讨论了各种开放的研究问题和未来的研究方向。第六部分为总结。III.可编程网络的发展在本节中,我们将追溯可编程的网络的历史演变,首先在III-A部分关注通用有线网络,然后在III -B部分侧重无线网络。中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 5 页A.通用可编程网络的历史回顾伴随着可编程并发网络创新的匮乏,可编程网络的创建工作真正开始于20世纪90年代初19。当时,有两个主张可编程网络但稍有不同的主流学术派别:第一种支持采用“开放信号(Opensig) ”方案19 ,而第二种
13、推动采用“主动网络(Active networking) ”方案20 。所出现的普遍共识是,可编程网络的解决方案应基于将控制软件从硬件分离,并且提供开放的控制和管理接口。之后,在各式各样的可编程网络组件(如基于Click的软件路由器21等)中开始出现了创建可编程网络的构建模块。最近,随着数据中心、虚拟化和云计算技术的出现,对网络可编程性的需求已经成为主流。许多支持OpenSig和Active Networking体系的关于可编程网络(关于“开放式的接口”, “分离的控制和数据平面”)的初步想法,已经在软件定义网络(SDN)架构中逐渐成熟。虽然软件定义网络和主动网络范例都有共同的动机,即创建可编
14、程的网络,但是二者的侧重点不同:主动网络更多致力于数据层的可编程性,而可编程网络致力于控制层的可编程性18。在本节的之后部分,我们将更具体的描述可编程网络的发展。1)开放信号(OpenSig)方案:20世纪90年代中期,Opensig方法22 提倡ATM网络数据层和控制层的分离,和这两层之间开放的通信接口的使用。其主要的思想是:伴随着独立的控制层与数据层和开放的标准接口,ATM 交换机将变得可远程编程,从而更可控。OpenSig 社区积极致力于标准化开放接口,在一些探索这些计划的研究院所建立一些实验性的网络。基于OpenSig理念的暴风雨框架(TheTempest framework) ,允许
15、多个控制层同时控制单一的ATM交换机网络。 OpenSig 方法不能成为主流的主要原因是它定义的接口的静态的属性。2)主动网络:主动网络(AN)方法和OpenSig同时在20 世纪90年代中期流行。而那个时候也正是因特网急速商业化和急需更灵活控制的时候。主动网络方法的目的在于创造可编程的网络以允许快速的网络革新。主动网络的研究主要由美国国防高级研究规划局努力驱动,是出于在运行时快速调试新的服务和动态配置网络的需求。这是由于人们察觉到OpenSig的静态环境是不能够支持这些需求的。主动网络的核心观点是主动地控制网络节点,那样的话网络的节点就可以依据操作者的需要被编程来执行随意移动代码。这样一个方
16、法的价值意义在于它将会确保新的创新性的应用,即利用网络来平衡计算,而且它将会通过将服务与底层的架构脱离来提高创新的速率。在另一个方面,由这种方法提供的灵活性也伴随着对它表现和安全隐患的担忧。主动网络方法由两种编程模型组成: 1:胶囊模型:数据包不仅包含交互的数据还携带着执行的说明。 2:可编程的开关模型:利用带外数据机制在不同的节点执行代码。但是胶囊模型显著区别于传统的网络操作范例的方式,更加激进,却是与主动网络联系最紧密的。公平地说,这两种模式都赠予了现代可编程网络框架所继承的宝贵的遗留。在胶囊模型中,由实际的程序代码所组成的特定的包或者流,将被控制器安装在运行一个特定操作系统(节点操作系统
17、)的智能节点上。该NodeOs工程专注于整合主动网络技术于linux内核中,但是也允普通的非活动的应用,操作系统的操作,像如入无人之境一样运行,并且不会有任何显著的性能损失。胶囊方式能够引起兴趣的最大的原因在于它能够提供一种干净的方法,用来沿着整个的网络路径升级数据平面处理。据报道,胶囊模型最具有说服力的应用实际上在于确保网络层服务的进化,并不一定是在任意的网络位置运行任意代码的灵活性。通过使用胶囊方式,大量的服务,比如说动态的平衡负载,多点广播,缓存等等,能够被支持。中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 6 页
18、在90年代中期和末期,得益于DARPA的兴趣和慷慨的资金支持,主动网络框架在研究机构中被大力推行。各种有影响力的项目在这个时候启动,其中一些著名的主动网络项目有:麻省理工学院的ACTIVEWARE 项目,佐治亚理工学院的CANES项目, 宾夕法尼亚大学的SwitchWare 项目, 华盛顿大学的 ANTS 项目 ,剑桥大学的Tempest项目。关于这些的更过细节,以及其他重要的主动网络项目,能够在表1和调查论文中看到。现代的“从头再来” 的方案比如说软件定义网络(我们将在III-A5中涉及)很大程度上要感激主动网络的社区。主动网络的模式是在仍然增长的“从头再来”因特网重设计方案系列中的第一个。
19、许多可编程网络的概念,看上去及其时髦,比如说控制平面和数据平面分离,远程控制数据平面, ,虚拟化,网络接口等等,事实上是从主动网络社区中萌生出来的。现在是值得剖析主动网络方法来强调它的不足之处,并且利用围绕它的浓厚的兴趣谈论它的失败。失败的一个原因是缺乏一个引人注目的应用程序使用的案例,使用主动网络方法,能够在现存框架之内很实用的工作。虽然我们可以看到SDN架构和AN 架构很相似,但是SDN 看上去变的更加主流,由于技术的进步,更多引人注目的使用案例,还有重要的是,特定的实用的设计选择。特别是,SDN变的流行大部分原因在于在现代数据中心和云计算对于虚拟化的需求。由于他们对自动化供应,自动化和编
20、排的依赖,它们需要网络虚拟化的支持。另一个AN成为主流失败的原因在于它主要关注于更新的数据平面的抽象,而SDN方法更关注于更新的控制平面的抽象(这可以说是定位了一个更大的痛点) 。第三个原因是,AN强调为网络末端用户提供编程网络机会的灵活性,但却从未成为一个流行的使用案例。而SDN 更关注于从网络供应商中夺取控制权并将它提供给网络操作者。最终,SDN架构不同与AN架构,由于前者强调控制面和数据面的分离,但这在 AN架构中并不是不可或缺的。3) 可编程网络部件:可编程的路由器被视作是未来可编程网络的关键部件。这种路由器将会把可编程数据通路处理能力,与执行常规协议以及任意的载荷处理,结合起来。名为
21、Click的可编程路由器,是一个先前很有影响力的软件路由器,它将多种不同的模块化“元素”整合到了路由逻辑中。尽管Click 提供了快速建立原型与部署的能力,并且在PC上运行有着不错的表现,但任何软件为基础的实现很难满足现代网络对于性能的要求 。最近,具有可编程硬件的可编程路由器,如FPGAs ,能同时满足对于灵活性,可扩展性,以及性能的需求。同类型中杰出的项目还有,NetFPGA ,the RouteBricks,the SwitchBlade 。在可扩展的开源控制层的软件中,XORP的开源软件套件是一个好的例子。XORP定义了一个完全可以扩展的平台,对研究和部署都很适用,它是基于可扩展的Cl
22、ick框架。4)虚拟化和云计算:虚拟化实现了 IT资源的逻辑抽象和统一表示,在大规模数据中心管理和解决方案交付方面发挥着巨大的作用,是支撑云计算伟大构想的最重要的技术基石。虚拟化是计算机学科的技术基石,它是一项通过资源的逻辑抽象和统一表示而实现资源共享的技术,从而达到实用的目的。 虚拟化在如今大数据时代影响尤其深远。之前常见的虚拟化技术的各种问题(如安全性,隔离性,性能)决定了服务器需要专门用于特定应用(例如,专用Web服务器,数据库服务器等)和配置的峰值负载。从而导致了总的资源利用率不足10 -20 。基于以上原因,需要创建一个新的“虚拟机”(VM )的逻辑抽象,该逻辑抽象使用了多个虚拟机,
23、并且各个虚拟机相互之间完全隔离。这些虚拟机提供接口给终端的应用程序,而接口与底层的物理服务器是完全相同的。由于虚拟机的复制性和流动性这些特性,使得物理资源能够有效安全的共享。基于上述优点,,虚拟化已经成为现代计算机不可或缺的组成部分。中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 7 页计算虚拟化的流行在大数据时代催生了两个趋势:1)云计算,2)网络虚拟化。云计算的主要观点是在虚拟化的数据中心提供服务,这个数据中心通过网络API以编程方式提供,作为一种通用的计算方式的服务。尽管早在1961年John McCarthy就已经
24、设想了通用计算,但直到最近才由云计算把他转化为现实。云范式与传统的数据中心的区别,主要是虚拟化技术和网络API 的发展使得所提供的服务完全可行并且具有相当的活力。程序服务的能力已经促使了极大的创新,同时使开源行为更加大众化。云计算范式的圣杯正是对建立一个非营利性的网络架构的憧憬,它可以通过编程来提供各种服务而不用人工认证网络节点。这样一个基于虚拟化数据中心的架构,由于虚拟网络的复杂已经证明它很难实现,以至于大家普遍认为网络领域数据中心的创新已经到了一个瓶颈。借助传统的垂直集成的网络设备,提供云时代应用需要超出预期的负担,需要人工通过供应商特定的命令行接口这种又笨重又容易出错的进程去认证各种网络
25、交换设备。随着每台物理机上能承载10个乃至100个虚拟机,一种运行在服务器内部基于软件的虚拟交换机也应运而生,它主要负责内部VM的网络。最近我们也见证了一个重大的转折点:网络中估计的物理节点被虚拟节点所赶超。这在网络领域的历史中的确是一个重大的事件,同样在在网络架构上有重要的意义。尤其值得注意的是,网络领域的大神Scott Shenker已经强调,使用一种在由SDN技术构造的网络上的管理程序管理网络,与传统上有影响力的端到端原则在功能上是等价的。另外,虚拟化/SDN混合架构也将集成MPLS(多协议标记交换)和middleboxes(穿越中间设备)的功能,以此在核心设备和边缘设备之间提供一种清晰
26、的边界。我们不久应该就能看到这些由虚拟交换机(如Open vSwitch)组成的边缘设备,而这些虚拟交换机是软件定义且可编程的。这一到软件控制的转变从根本上改变了创新的步伐,开启了一个具有全新可能性的时代。然而虚拟机从被绑定的特殊物理服务器释放请求,传统网络虚拟技术(例如VLANs,VPNs和覆盖网络)没有提供一个类似于“虚拟网络”的抽象,即从物理设施中把网络分离出来。这种虚拟网络抽象应该像虚拟机相对于服务器一样,保证把虚拟网络从物理设施中脱离出来,并且把多用户共享相同的设施隔离开来,同时提供了相同的接口作为最初的网络。在网络虚拟化时代有一个显著的早期工作:在1999年“起源项目Genesis
27、 project”提出了一个虚拟化网络内核能够按需求“产卵”出虚拟网络架构,这个“产卵”术语被用来作为一个隐晦的参考,它被用在操作系统领域上,它指的是创造一个模拟在相同硬件上运行的新的进程, “产卵 ”一个网络意味着在相同的设施上创建一个新的网络体系结构,这种概念虽然重要且新颖,但是它与现代虚拟网络抽象不同,就像一个虚拟机是一个软件容器,封装了逻辑CPU ,内存,存储器和网络等,它提供了一个接口,等同于物理机器的一个应用,一个虚拟网络是软件容器,它封装了逻辑网络的组件,比如:路由器,交换机,防火墙等,呈现了一个物理网络对网络的应用,这种抽象对于IT管理人员有着极大的灵活性,物理网络可以被管理作
28、为一个“结构”提供了一些可以被使用,编程和所需要的运输能力。虚拟化在互联网界也是一种流行的方法,通过使用覆盖网络使得在生产网络上引入创新的干预最小。大多数的网络服务供应商对“将电信设备的功能从专用设备中分离从而使得网络功能虚拟化” 越来越感兴趣,这样能在数据中心的服务器上实现网络功能(比如移动网络节点等) 。随着虚拟化正成为最近几乎所有的因特网重建项目的核心功能,人们预言虚拟化会成为未来因特网架构的主要技术或者是窄腰。由于它的架构保证和直接的商业吸引力,我们可以说虚拟化给云时代的网络世界带来一场风暴。云计算和网络虚拟化的结合允许可编程,这种特性可以根据每个用户的需求能够快速创建,部署和管理新颖
29、的服务,具有空前的灵活性。这能够为无线网络构建一个新的面向服务的架构,多样化的无线访问技术可以作为可扩展的云基础设施在一起共存和聚集。因中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 8 页此,最初为数据中心提出的云计算概念有可能在构建未来可编程的无线网络方面发挥重要作用。5)软件定义网络(SDN):SDN通过为网络编程提供架构支持彻底改变了网络行业。SDN有望成为引领提高和简化网络管理经营方面的一次重大转变。SDN的主要观点是通过允许当出现日益成熟的抽象化设定时数据层和控制层的分离来实现横向的一体化7211。虽然SDN
30、的概念在 2009年才诞生,但SDN 的理念却已经有了丰富的理论历史。特别的,它集许多可编程网络领域的观点和设想之大成1118。虽然主要还处于学术设想,但SDN已经通过许多成功案例在这个行业里占据了一席之地4873。SDN也被看做是近期较成功的行业项目12。随着SDN 的日益发展,各行各业的利益相关者也纷纷加入SDN行列,以便从其早期成功里受益,SDN的范围也出现了相当大的扩展。为了分析和解释SDN以便于我们可以精确地定义它。有两种互补的方法来看待SDN。第一种观点,Nickmckeown提出的也被称作Nickmckeown观点,把SDN定义为一个遵循以下两个性质的网络:i)数据层和控制层分离
31、,ii)单个控制层可以控制多个数据层。第二种观点,由Scott Shenker提出,因此可以被称为Shenker观点,将 SDN概括为通过网络的控制平台提供的抽象概念。这种观点强调了网络控制的模块化分为以下三个部分:转发抽象 规范抽象 分销抽象406。总结联合以上两种观点,SDN通过处理抽象和机制来建立起一个通用的同层网络平台。通过抽象层,在中央控制器上编程实现新应用已达到更丰富的目的成为了可能。这些应用程序包括建立虚拟网络,实施服务质量(QoS) ,显式路由等SDN的最发达的应用已经被用于数据中心和校园网8,然而,SDN还提出许多其他设置,如:服务供应商,运营商网络,无线网络。具体而言,SD
32、N已被应用到的无线网络中不同的设置,例如无线传感器网络(WSN) ,以及无线网状网络( WMN)74。虽然网络一直被软件所定义、创作,管理和更新的网络软件只能由厂商所采用的开发者来完成。这种“ 封闭” 的网络架构本质上是不可编程的,扼杀了创新,并且所有新的功能需求必须被传输到网络供应商那里实施。 SDN通过分离控制平面和数据平面改变了这种模式,简单但强大。这种分离,加上新的控制机制,形成新的SDN体系结构的核心。SDN的发展是由一个新兴的开源社区的支持。控制平面与数据平面的分离,它有可能为第三方/开源开发人员编写应用程序的控制器。这使得网络采用可编程商用硬件而不是封闭的厂商的硬件,增加了灵活性
33、和开发,同时降低了成本。开放式网络基金会(ONF)是致力于开发和维护的SDN 标准的组织。广义地说,在SDN架构里有两种主要的应用程序编程接口(API ):集中式网络之间的Southbound API定义了一个集中式网络控制设备和网络设备之间的接口Northbound API定义了被控制器到网络应用开放的接口。OpenFlow8或许代表着与 SDN相关的最容易识别的协议。 OpenFlow的是一个标准的南API,它已经被ONF 标准化。 OpenFlow的标准化,推动了它作为主要的 SDN控制平面抽象化,从而可以有许多创新75。以在一个单独的控制器实现的控制逻辑,以及一个标准化的控制。控制器和
34、数据平面之间的API使用的是高层次的控制语言,所以可以实现网络的编程。而现今通过openflow定义的控制API还是相当原始的(相比汇编语言) ,高水平的控制语言的诞生以及更复杂的抽象化都只是时间问题。事实上,在这方面的工作已经展开17。从单个设备到集中控制器的功能看似无用的重构,基翁的观点明确认为,释放出强大的新范式提供的抽象,如Shenker观点,这有利于网络运营的简化高效,还可扩展管理和服务。OpenFlow也被用于通过一个可重复使用的平台 OpenPipes设计和实现高速联网。利用中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获
35、得授权! 第 9 页OpenFlow的网络,新系统可以很快由 OpenPipes构造,像模块化路由器、探寻模块,可他们在CPU 或者FPGA 或者ASIC 里实施,都在一个管道里。OpenPipes还允许灵活模块化(在软件或硬件中实现,或软硬件兼具) ,从一个子系统向另一个,即使在一个正在运行的系统。SDN架构的发展也带动了网络操作系统的发展。操作系统的作用是综合管理各部件的协作,即一台电脑的组成模块,并向程序员提供一个简化的编程接口。类似的,可以设想网络操作系统(NOS)将管理所需的各种任务来管理网络(如分布状态的交换和路线的计算) ,并向程序员提出一个简化了的网络应用程序接口。网络操作系统
36、通常在SDN控制器实现。一个网络操作系统应该具备管理状态,提供一个一致的网络视图中管理分散的状态,并提供一个API网络应用,促进高层次的编程。各种网络操作系统包括NOX77的开创性工作和ONIX 78以及ONOS79的后续工作被用于SDN的实施。最初的SDN 实用案例 8,被看做是允许研究人员在虚拟的生产网络里运行实验协议。分层网络虚拟化技术的概念甚至早于SDN,并且被用于VINI80,星球实验室44 和Emulab81项目,以及最近在美国国家科学基金会资助的全球环境网络创新的项目82 。更进一步,Casado 等人提出了网络虚拟化技术来模拟网络转发平台的概念。术语“系统管理程序”通常指的是虚
37、拟机监视器(VMM ) 。它是运行在物理机上,而在该机器上控制多个虚拟机的主机程序。网络管理程序的概念是类似的传统管理程序的概念。超级管理员接口建立了一个指向多个虚拟网络的网络软件层,从而减弱潜在的硬件实例化,这种做法是可行的。在这样的环境中,网络状态(转发和配置)是从底层硬件扩散,因此网络可以像VN 在服务器领域被创建、移动、复制或者删除,都是软件工作。网络虚拟化,FlowVisor69,已经开发了基于OpenFlow的SDN环境,允许雕刻出的虚拟的“ 片”,即彼此分离和独立的NOS,释放OpenFlow的生产网络的控制 70。SDN 架构,如之前已经强调的,使用了许多早期 projects
38、.In 特定的可编程性概念,它是建立在早先的观点上:i)分离控制平台和数据平台,ii) 控制从一个单独的控制器,iii) 利用开接口的单独的控制器和数据平面(如 OpenSig 框架)之间的通信。表 1 显示了一些有代表性的编程概念的总结,其中许多利用 SDN 进行开发。尽管SDN 利用许多积极的网络项目的成果,SDN 已经变得比它的前辈更受欢迎,由于各种技术的推动(例如,先进的计算机和网络技术)和应用程序拉(例如数据中心和云计算服务,网络虚拟化等)和较大的工业接受由于某些实用的设计选择18。SDN 的长期成功还将需要控制和数据台的创新为与务实的策略。在这里澄清SDN和NV是有必要的的。因为这
39、两种技术都牵涉到类似的利益,把这两个混作一谈是常见的错误18。SDN架构的特点在于其对控制平台和数据平台的分离的强调以及多个数据平台通过分离控制平台的管理。NV,另一方面,其特点是在物理基础设施的虚拟网络上强调一个新的“虚拟网络”(VN )的抽象。这是另一个神话,NV 只是SDN的一个应用,当把SDN作为一种架构的时候着重发展NV是值得的。 NV可以更容易地使用由SDN提供的架构灵活地实施, SDN的实现不是NV的一个先决条件。有认为NV 是一个独立的实体的看法,其太过强调自我841840,但此举可能会比目前的SDN风潮影响力更大40。可编程的无线网络的发展,如之前强调的那样,需要改变不仅在控
40、制平台中,而且在数据平台。特别地,无线数据平面需要被重新设计,以定义新的,更实用的结构。透彻分析以下这些内容,通过支持OpenFlow 的交换机提供的当前数据平台是基于原始的“匹配行动”的范式。为了提供更多的支持,以创新的控制平台和数据平台的功能,以便支持更先进的和有用的结构。研究新的数据平台结构正在大力推行与使用可编程硬件的说法很流行85。中国科学技术大学软件学院 移动云计算系统实验室版权所有:版权归编者及相关原作者所有,盈利性机构使用本文须获得授权! 第 10 页重申本文的中心论点,可编程无线网络的美好前景,需要在多个相关领域的协同效应,并需要同时在数据平台和无线网络的控制平台创新。B.可
41、编程无线网络的历史回顾在早期关于无线网络程序开发所做的工作中仅限制在无线路由器93的固件程序。可编程无线网络一个早期的目的是作为主动网络时代的一个作品。Bose et al.提出了放射性(RadioActive)网络94,他的目的致力于建立一个能够动态自我再编程来优化自身的无线网络,使得这样的网络能够适应当下网络状态、用户请求和流量限制。这个放射性网络项目的目的与我们如今可编程网络的目的非常的相似。Mobiware65曾经是另一个主动网络项目,其主要关注移动网络领域。在 2003 年,美国国家科学基金会(NFS)注意到现存无线网络生态系统的不灵活性,因此开始致力于可编程无线网络95领域。NFS
42、 随后的工作主要在可编程网络架构方面的开发,此架构提供对资源高效的管理、动态服务、异构连接和策略兼容操作。在最近一段时间,社会上对可编程无线网络研究的兴趣有比较大的提升。展望未来,可编程性功能将对于有效的支持新的无线技术创新非常重要。在本章节,我们讨论几种已经被提出的技术和架构,这些技术和架构能够实现可编程无线网络所带来的好处。尤其是,我们将按顺序阐述软件定义无线电、认知无线电、软件定义网络、MAC 可编程无线设备和可编程无线测试台的发展趋势。1)软件定义的无线电(SDR):一个 SDR 的定义特征是它实现了大部分 PHY 层的基本建设模块在软件中的无线通信。随着硬件精简到只剩下对所有的无线通
43、信必不可少的元件时,自定义模块在传统硬件中被实现了,例如:滤波器,放大器,调制器,解调器,混频器等,现在已经被实现了。这意味着适当的通用无线硬件程序在原则上能允许它支持任何的技术。这个 SDR 技术在这个新的可编程无线设备时代是一个重大的转变实例。因此,使用SDR,操作者可以编写一个支持任何无线技术的无线设备96。这为第一时间979899创造一个可编程的无线设备开辟了一个前所未有的机会。目前,对于 SDR 的精确定义仍有争议,因为人们对于如何重新配置无线电还没有达成共识。显然,通过 DSP 来调用每一个无线电的做法是不合适的。一个工作文献提供97的定义是,SDR 它基于软件定义的无线通信协议而
44、非通过硬连线实现,其物理层行为可以通过软件改变。SDR 论坛定义了一个 USR 作为“ 接受可编程的流量和控制信息,并支持广泛的频率,空中接口和应用程序软件” 97。在100中,我们将讨论两种极端的 SDR 平台:第一种做法是 SDR 由可编程元件,如 FPGA,DSP 等组成,这些器件可以直接编程,另一种极端做法是通过设置编程一个高度可配置的基于 SDR 的芯片组,由它来确定配置寄存器频率,编码,和 PHY 层和 MAC 层的协议的细节。最实用的 SDR 在这两个极端之间做出权衡100。传统的 SDRs 由于其过多的成本主要是使用于军事背景中,但是技术现在已经成熟到了一定阶段,它的形状和成本被非军事的市场100接受。 90 年代的 SDR 只有一台小冰箱那么大,并且很容易花费超过 100,000 美元,而现在的 SDR 的大小类似于一台计算机的电池和它可以花费少于 500 美元。根据这种趋势,我们有理由假定 SDRs 未来的价格和形状因素会匹配消费者典型的电子设备100。SDR 技术的民主化会让人信服地去推动无线和移动网络的革命:比如,一个消费者不再受限于一个无线设备的任何单一的无线协议。这会导致前所未有的灵活性,因为技术(比如 Wi-Fi 和蓝牙)不再是被烧到硬件上,而是会成
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。