




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