- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
软件定义网络:正在进行的网络变革
当前,网络已经成为支撑现代社会发展以及技术进步的重要基础设施之一,它深深地改变了人们的生产、生活和学习方式;然而,传统网络架构越来越不能满足当今企业、运营商以及用户的需求。传统互联网由极其复杂的交换机、路由器、终端以及其他设备组成,这些网络设备使用着封闭、专有的内部接口,并运行着大量的分布式协议。在这种网络环境中,对于网络管理人员、第三方开发人员(包括研究人员),甚至设备商来说,网络创新都是十分困难的。
例如,研究人员不能够验证他们的新想法;网络运营商难以针对其需求定制并优化网络,难以使得他们的收益最大化;甚至对于设备商来说,也不能及时地创新以满足用户的需求。
封闭的网络设备所带来的结果是:网络依旧面临着诸多问题与挑战,如安全性、健壮性、可管理性以及移动性等等;网络维护成本仍然居高不下,网络管理需要大量的人工配置等等。
近年来,逐渐兴起的SDN正试图打破这种僵局,并成为了近年来学术界和工业界讨论的热点。
1 SDN的架构
1.1 SDN架构的特点
SDN是软件定义网络的简称,其核心理念是使网络软件化并充分开放,从而使得网络能够像软件一样便捷、灵活,以此提高网络的创新能力。通常意义上来讲,SDN是指从发展而来的一种新型的网络架构,其前身是斯坦福的用于企业集中安全控制的Ethane项目[2].
2008年斯坦福大学的Nick Mckeown教授将其命名为OpenFlow,后经由斯坦福项目推广,以及在大型网络-全球网络创新环境(GENI)项目中的应用,该概念被逐渐扩展并成为了。
图1描述了SDN架构的逻辑视图。SDN的基本网络要素包括:逻辑上集中的SDN控制器,它是基于软件的控制器,负责维护全局网络视图,并且向上层应用提供用于实现网络服务的可编程接口(通常也称为"北向接口");控制应用程序,该程序运行在控制器之上,通过控制器提供的全局网络视图,控制应用程序可以把整个网络定义成为一个逻辑的交换机,同时,利用控制器提供的应用编程接口,网络人员能够灵活地编写多种网络应用,如路由、多播、安全、接入控制、带宽管理、流量工程、服务质量等;转发抽象,转发抽象通常称为"南向接口",SDN控制器通过利用SDN提供的转发平面的网络抽象来构建全局网络视图。
由此可知SDN的基本特征:
控制与转发分离。转发平面由受控转发的设备组成,转发方式以及业务逻辑由运行在分离出去的控制面上的控制应用所控制。
控制平面与转发平面之间的开放接口。SDN为控制平面提供开放的网络操作接口,也称为可编程接口。通过这种方式,控制应用只需要关注自身逻辑,而不需要关注底层更多的实现细节。
逻辑上的集中控制。逻辑上集中的控制平面可以控制多个转发面设备,也就是控制整个物理网络,因而可以获得全局的网络状态视图,并根据该全局网络状态视图实现对网络的优化控制。
1.2 SDN的实例——OpenFlow
提到SDN,必然要涉及控制平面与转发平面之间的接口定义,作为架构中控制平面与转发平面之间转发抽象定义的第一个实例,协议在提出的初期就受到业界的广泛关注,后经过GENI项目的推进以及多家IT/互联网企业的参与,现已形成强大的产业联盟。因此,业界普遍选择OpenFlow协议作为中控制平面与转发平面之间的通信接口,并围绕其建立一系列的网络操作系统、控制应用以及相关的组件等。
OpenFlow的成功与其简单高效的特点密不可分。OpenFlow架构十分简洁,如图2所示,OpenFlow交换机由内部转发流表以及用来与外部控制器进行通信的安全通道组成。为了使远端的控制应用能够对转发平面的网络设备进行编程,OpenFlow协议指定了一系列基本操作。通过,SDN控制应用可以直接访问并操控转发平面中的网络设备,交换机则使用流表流水线来进行数据包匹配与数据包转发。
如图3所示,OpenFlow交换机中的每个流表中含有多条流表项,每条流流表项由匹配域、优先级、统计域以及一系列的转发指令组成。控制器可以利用OpenFlow协议对这些流表项进行添加、删除或者修改操作,当数据包匹配到某个流表项时,该表项对应的指令集合将被触发。OpenFlow支持最基本的动作,包括转发、丢弃、群组操作、入队以及加/去标签等。OpenFlow通过对网络中"流"的控制来达到对网络进行灵活控制的目的。
此外,OpenFlow支持的多种控制方式也有利于其在多种网络环境中的部署。首先,基于OpenFlow的完全不会受网络规模的影响,分布式控制器能够很好地提高网络的可扩展性。其次,OpenFlow中对"流"的定义十分灵活,这也就使得能够对网络进行更灵活的控制。例如,在需要进行细粒度控制的网络场景中,可以逐流建立流表项并通过逐微流的精确匹配实现对网络的精确控制;在流量较大的网络环境中,可以使用通配流表来对汇聚流进行转发,降低流表项数目对转发节点内存空间的冲击。
最后,控制平面建立流表项的方式也十分灵活。控制平面既可以被动地建立流表项,由新流来触发流表项的建立,也可以主动地建立流表,提前对转发设备的转发行为进行配置,从而提高转发效率。OpenFlow细粒度的、基于流的转发能力,使得网络控制变得十分灵活,使其能够实时地对网络应用、用户、会话的需求做出不同的响应。
1.3 SDN网络虚拟化工具
——FlowVisor
网络虚拟化是未来网络的发展方向之一。在基于OpenFlow的中,FlowVisor能够有效地实现网络虚拟化。
FlowVisor是一个特殊的控制器,主要作为OpenFlow交换机与多个OpenFlow控制器之间的透明代理。FlowVisor可以将物理网络分成多个逻辑网络,也称为网络分片,并为网络管理人员提供广泛定义的规则以实现对网络的管理。FlowVisor通过抽象层来分割物理网络,它位于一组交换机和SDN或多个网络之间,可管理带宽的使用、CPU利用率的管理统计和流表的配置等,这十分类似于管理程序位于服务器硬件和软件之间,以支持多个虚拟操作系统的运行。正如管理程序依赖于标准x86指令来虚拟化服务器一样,FlowVisor使用标准OpenFlow指令集来管理交换机。由于所有这些规则都是通过流量表定义的,因此,无论是从带宽还是CPU使用率来看,网络虚拟化几乎没有增加额外的开销。
目前FlowVisor已经被部署在美国各地的一些大型校园网中(例如斯坦福)。两个以研究为重点的大型网络GENI和Internet 2上也在使用进行网络虚拟化的管理。
2 SDN的发展与应用
2.1 SDN广受关注
当前,SDN已逐渐成为了学术界、工业界以及标准化组织广泛关注并讨论的热点。
在学术界方面,近年来,世界各国纷纷开展了围绕着SDN的科研项目。美国科学基金会(NSF)支持的计划[4]在OpenFlow发展的初期就率先对OpenFlow予以了资金支持并实施了"GENI Enterprise"计划。目前,OpenFlow已经在美国多所高校、以及其他的多个科研机构中得到部署。欧盟第七框架计划也于2010年开始支持SDN的相关研究,并支持了OFELIA[5]、SPARC[6]以及等研究项目。2012年4月,领域中又诞生了一个新的研究机构:美国斯坦福大学与伯克利大学联合12家公司成立了开放网络研究中心(ONRC)[8],其中包括了Cisco、、华为及Juniper等网络公司。目前,SDN的相关研究已经遍布全球的各个角落,比较有影响力的研究机构包括斯坦福大学、普林斯顿大学、康乃尔大学、多伦多大学、巴西CPqD、爱立信研究中心、NEC研究中心、研究中心、德国电信T-Labs研究中心等等。于此同时,SDN/OpenFlow也在多个国家得到部署,主要包括:美国、巴西、加拿大、德国、英国、意大利、西班牙、日本等。
SDN在得到学术界的普遍认可的同时,工业界也对这种新的网络架构表达出浓厚的兴趣。从推出开始,NEC公司就对OpenFlow的相关硬件进行了跟进性的开发,并推出了多款支持OpenFlow协议的交换机。此外,HP、Junifer、pronto等公司也相继推出了支持OpenFlow的交换机、路由器、无线网络接入点(AP)等网络设备。2011年,开放网络基金会成立[9],专门负责OpenFlow标准和规范的维护和发展,并召开了第一届开放网络峰会,为OpenFlow和SDN做了很好的介绍和推广,该基金会成员基本涵盖了所有网络及互联网领域的商业巨头。在2012年初召开的第二届开放网络峰会上,Cisco宣布投入亿美元于一个专门致力于SDN产品研发的内部创业公司Insieme;宣布已经在其全球各地的数据中心骨干网络中大规模地使用。最近,Facebook也宣布在其数据中心中使用了OpenFlow/SDN技术。
在标准化方面,开放网络基金会(ONF)致力于推动SDN技术的标准化和商业化,已于2012年4月发布了协议的最新v1.3版本。此外,作为互联网协议标准的主要制订者,互联网工程任务组(IETF)也在积极开展SDN的相关工作。2011年月IETF第82次会议上的SDNP BoF吸引了包括运营商以及设备商在内的多人参加,主要讨论了SDN的需求、架构以及典型的应用场景。在第84次会议上,SDN更是成为技术全会的热门话题,Cisco、以及马里兰大学分别进行了相关的主题演讲。此外,负责进行互联网演进相关的相对长期性研究的互联网研究任务组(IRTF),也于会议上举行了SDNRG会议,并引起的极大关注。
2.2 SDN发展迅速
经过了几年的发展,SDN的相关技术正呈现着百花齐放的发展态势。
在控制平面方面,从第一个控制器平台NOX开始,业界已逐渐出现一系列的基于OpenFlow的网络控制器平台。这些控制器平台在向下封装与交换机通信的OpenFlow协议的同时,也向上层网络控制应用提供相对更高层的开放编程接口。当前主流的控制器平台主要包括:NOX,,Onix,Floodlight,Beacon以及等。
在转发设备方面,SDN的转发设备已不再局限于有线转发设备。支持OpenFlow的转发设备能够部署在更广阔的网络环境中,如适用于虚拟环境的Open vSwitch以及能够工作在无线环境中的Pantou等。于此同时,随着设备厂商的加入,支持的转发设备也正逐渐从基于软件的转发设备向基于高速硬件的转发设备过渡。
在控制平面与转发平面的通信接口方面,开放网络基金会ONF于年6月发布了Openflow v1.3版本。与早期版本相比,新版本的协议更加灵活。除了保留版本中对多级表、群组表、标签以及虚端口等特性的支持,以及OpenFlow v1.2版本中对IPv6以及可扩展匹配的支持之外,版本规范了基于参数类型、长度和数值(TLV)的能力表达框架,还增加了对逐流计量以及IPv6扩展头处理等功能的支持。OpenFlow v1.4版本的标准化工作计划也将在2013年上半年完成。
上一篇:SDN北向API是否需要标准化?
下一篇:源于传统超越传统的创新型会议模式