虚拟化的逆袭:OpenFlow和SDN
发表时间:2013/10/12 点击:995
从网络虚拟化说起 云计算的发展,是以虚拟化技术为基础的。云计算服务商以按需分配为原则,为客户提供具有高可用性、高扩展性的计算、存储和网络等IT资源。虚拟化技术将各种物理资源抽象为逻辑上的资源,隐藏了各种物理上的限制,为在更细粒度上对其进行管理和应用提供了可能性。
OpenFlow和SDN尽管不是专门为网络虚拟化而生,但是它们带来的标准化和灵活性却给网络虚拟化的发展带来无限可能。
起源与发展
OpenFlow起源于斯坦福大学的Clean Slate项目组 ,Martin和他的导师Nick McKeown教授(时任Clean Slate项目的Faculty Director)发现,如果将Ethane的设计更一般化,将传统网络设备的数据转发(data plane)和路由控制(control plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。
于是,他们便提出了OpenFlow的概念 基于OpenFlow为网络带来的可编程的特性,Nick和他的团队(包括加州大学伯克利分校的Scott Shenker教授)进一步提出了SDN(Software Defined Network, 目前国内多直译为“软件定义网络”)的概念--其实,SDN的概念据说最早是由KateGreene于2009年在TechnologyReview网站上评选年度十大前沿技术时提出。
可以看出OpenFlow/SDN的原理其实并不复杂,从严格意义上讲也很难算是具有革命性的创新。然而OpenFlow/SDN却引来了业界越来越多的关注,成为近年来名副其实的热门技术。目前,包括HP、IBM、Cisco、NEC以及国内的华为和中兴等传统网络设备制造商都已纷纷加入到OpenFlow的阵营,同时有一些支持OpenFlow的网络硬件设备已经面世。
2011年,开放网络基金会(Open Networking Foundation)在Nick等人的推动下成立,专门负责OpenFlow标准和规范的维护和发展。第二届峰会上,来自Google的Urs H lzle在以OpenFlow@Google为题的Keynote演讲中宣布Google已经在其全球各地的数据中心骨干网络中大规模地使用OpenFlow/SDN,从而证明了OpenFlow不再仅仅是停留在学术界的一个研究模型,而是已经完全具备了可以在产品环境中应用的技术成熟度。
下面将举几个典型的研究案例来展示OpenFlow的应用。
1. 网络虚拟化 – FlowVisor
网络虚拟化的本质是要能够抽象底层网络的物理拓扑,能够在逻辑上对网络资源进行分片或者整合,从而满足各种应用对于网络的不同需求。为了达到网络分片的目的,FlowVisor实现了一种特殊的OpenFlow Controller,可以看作其他不同用户或应用的Controllers与网络设备之间的一层代理。
因此,不同用户或应用可以使用自己的Controllers来定义不同的网络拓扑,同时FlowVisor又可以保证这些Controllers之间能够互相隔离而互不影响。
下图展示了使用FlowVisor可以在同一个物理网络上定义出不同的逻辑拓扑。FlowVisor不仅是一个典型的OpenFlow应用案例,同时还是一个很好的研究平台,目前已经有很多研究和应用都是基于FlowVisor做的。
2. 负载均衡
传统的负载均衡方案一般需要在服务器集群的入口处,通过一个gateway或者router来监测、统计服务器工作负载,并据此动态分配用户请求到负载相对较轻的服务器上。既然网络中所有的网络设备都可以通过OpenFlow进行集中式的控制和管理,同时应用服务器的负载可以及时地反馈到OpenFlowController那里,那么OpenFlow就非常适合做负载均衡的工作。
3. 绿色节能的网络服务 – ElasticTree
在数据中心和云计算环境中,如何降低运营成本是一个重要的研究课题。能够根据工作负荷按需分配、动态规划资源,不仅可以提高资源的利用率,还可以达到节能环保的目的。
结语
没有任何一项技术可以解决所有问题,我们相信OpenFlow/SDN也不会是解决现有所有网络问题的“万金油”。但是,我们相信OpenFlow/SDN的确给网络变革和创新带了许多机遇—既然网络问题已经变得可以通过编程来解决的时候,技术宅们该出手了,拯救网络世界的时候到了!