1.2 SDN的发展历程
我们知道,当前网络对流量的控制和转发都依赖网络设备,这些设备集控制和转发于一体,并且都由厂商预先设定。用户想要添加新的功能,需要设备厂商重新研发,这些都要经历一个较长的周期后才能实现。用户如果根据自己的需求更改配置,必须使用厂商提供的接口登录每一台设备再进行操作,且能实现的更改有限。于是,研究者提出了将网络设备的控制和转发分离的设想,以实现网络的可编程,由此推动了转发和控制单元分离(Forwarding and Control Element Separation,ForCES)及路由控制平台(Routing Control Platform,RCP)两项技术的发展。但这两项技术由于缺乏相应厂商的支持和配合等各方面的因素,最终仅是“昙花一现”,但数控分离的思想却被SDN继承了。
SDN最初起源于斯坦福大学的“Clean-Slate Design for the Internet(Clean-Slate)”项目。2006年,斯坦福大学联合美国国家科学基金会以及多个工业界厂商共同启动了这一项目。该项目的目标为摒弃传统渐进叠加和向前兼容的原则,实现互联网的重塑。同年,斯坦福大学的研究生Martin Casado参与了该项目,并负责其中的一个子项目——Ethane。Ethane旨在提出一个新兴的企业网络架构,实现网络的集中式管理,提高网络的安全性和管理的灵活性。为此,Martin Casado部署了由1台控制器和19台交换机组成的小型网络,用于管理300个有线用户和一些无线用户的流量。网络管理员可定义一个全网的安全策略,并将这些策略应用于交换机,再由交换机执行,以控制用户流量的走向。
Martin Casado的导师——斯坦福大学的Nick McKeown教授对Martin Casado的这个项目非常重视,并给Martin Casado提出了很多建设性意见。在研究过程中,师徒俩想进一步提高Ethane的设计,即解耦传统网络设备的控制平面和转发平面,转发平面仅仅负责数据的高速转发,转发策略则由控制平面通过可编程的标准接口下发给转发设备,这样,网络的管理和配置就会变得简单。于是,两人开始着手研究一款名为NOX的控制器,想把它用作单独的控制平面。控制器和交换机已具备,但控制器和交换机之间如何通信呢?Martin Casado和Nick McKeown设想每一台交换机若能向控制器提供一个标准的接口,那么控制器通过这些接口对交换机进行集中控制和策略下发的操作会变得灵活便捷。于是他们开始研究控制器和交换机通信的协议,即传说中的OpenFlow协议。
随后,在2007年的ACM SIGCOMM会议上,Martin Casado将Ethane项目的研究成果整理成一篇名为“Ethane:Taking Control of the Enterprise”的论文,该论文获得了学术界的广泛关注。实际上,Ethane包含了SDN的早期思想,即基于流表的转发和中央控制器,因而被视为SDN架构的雏形。同一年,为进一步完善SDN的概念,Martin Casado和Nick McKeown邀请加州大学伯克利分校的Scott Shenker等共同创建了一个致力于创新网络虚化技术的公司——Nicira(2012年被VMware收购)。Nicira的诞生标志着SDN迈出了走向工业界的第一步。
2008年,Nick McKeown在ACM SIGCOMM会议上发表了名为“OpenFlow:Enabling Innovation in Campus Networks”的论文,首次提出了将OpenFlow协议用于校园网络试验的创新项目中。OpenFlow是一个用于控制平面的控制器和数据平面的交换机进行交互的协议。OpenFlow协议实现了网络设备的数控分离,从而使控制器得以专注于决策控制工作,而交换机仅需专注于转发工作,极大地简化了网络的结构,提升了网络管理和配置的灵活性,同时,使得网络具有强大的可编程能力。OpenFlow协议的发布在SDN的发展历史上具有划时代的意义,引发了人们对SDN技术的广泛关注。同年,Nick McKeown和Martin Casado研发的第一个开源控制器NOX面世,这有力地推动了SDN系统实验的部署。
2009年,由OpenFlow协议引出的SDN概念入围麻省理工科技评论评选出的十大前沿技术,SDN自此获得了学术界和工业界的广泛认可和大力支持。同年,OpenFlow协议规范1.0正式发布,OpenFlow开始走进公众视野。
2011年,Nick Mckeown团队联合Google、Facebook、NTT、Verizon、德国电信、微软、雅虎7家企业共同成立了ONF。ONF致力于推动SDN架构、技术的规范和发展工作。2012年,ONF便发布了SDN白皮书“Software-Defined Networking:The New Norm for Networks”,提出了SDN的正式定义:“SDN是一种支持动态、弹性管理的新型网络体系架构,是实现高带宽、动态网络的理想架构。SDN将网络的控制平面和数据平面分离,并对数据平面的资源进行了抽象,支持控制平面通过统一的接口对数据平面进行编程控制”。ONF在该白皮书中提出的SDN三层架构模型(应用层、控制层和基础设施层)获得了业界的广泛认可。
2012年被世界视为SDN商用元年。在这一年中,SDN的商业化部署取得了许多重大进展。Google宣布其主干网络已经全面运行在OpenFlow协议上,并且通过10Gbit/s的网络连接分布在全球各地的12个数据中心,使广域线路的利用率从30%提升到接近饱和,从而证明了OpenFlow协议不再是停留在学术界的一个研究模型,而是完全具备商业可行性的技术。同年,德国电信等运营商开始研发和部署SDN;Big Switch两轮融资超过3800万美元;VMware以12.6亿美元收购了Nicira。这些成功的商业案例标志着SDN完成了从实验技术向实际网络部署的重大跨越。同年,AT&T、BT、Deutsche Telecom、Orange、Telecom Italia、Telefonica和Verizon联合发起成立了NFV产业联盟,旨在将SDN的理念引入电信业。
2013年4月,Cisco、IBM、Juniper、VMware等企业联合发起了开源项目——OpenDaylight。该项目致力于开发SDN控制器、南向/北向应用程序接口(AppCication Programming Interface,API)等软件,打破大厂商对网络硬件的技术封锁,驱动网络技术创新,使网络管理更容易。OpenDaylight项目的创建代表了传统网络厂商对SDN的认可。
2014年12月,由斯坦福大学和加州大学伯克利分校的SDN知名研究者共同创立的ON.Lab推出了新的SDN开源控制器——开放网络操作系统(Open Networking Operating System,ONOS)。至此,SDN开源控制器领域形成了OpenDaylight和ONOS两大阵营。ONOS是首款面向网络运营商和企业骨干网的开源SDN操作系统,主要致力于推动SDN在大规模组网场景下的应用,支持设备的白盒化,满足电信级网络在高可用性、高性能及可扩展性方面的需求。同年,可编程、协议无关的数据包处理器(Programming Protocol-Independent Packet Processors,P4)的发布,开启了SDN数据平面可编程的先河。
2015年,ONF发布了一个开源SDN项目社区,该项目提出的软件定义广域网成为第二个成熟的SDN应用市场。
随着SDN的不断发展,SDN与其他技术,如云计算、NFV的联系愈加紧密,各种各样的产品相继出现。SDN迈着稳健的步伐逐渐走向商业化。对于SDN的未来发展,业界看法不一,有人认为SDN只能停留在少数大型企业的专用骨干网络或数据中心网络中,或许会成为运营商网络的一个附属功能;也有人认为SDN技术必将掀起一场网络技术的革命。不管SDN最终会走向何方,其当前的发展趋势表明,SDN将在运营商网络转型、产业互联网应用等方面发挥重要作用。