SDN产业发展历程

网络技术随着计算机工业的高速发展在不断的完善,并且信息化进化到云计算的时代,支撑数以亿计的用户平台不断涌现,人类建立起遍布全球的超大规模数据中心来应对这一挑战。原本是以人为控制核心的网络技术架构层已经远远不能无法适应这种需求,其背后体现的是:

  • 在宏观上,基础网络架构进化推进缓慢;

  • 在微观上,硬件厂商在涉及数据转发与控制层面的创新乏力。

网络硬件厂商要么安于现状,要么因为商业利益从而无法发起和推动创新。所以SDN就应运而生了。

SDN产业发展历程_第1张图片

这三位人物算得上是SDN鼻祖和创始人,中间的这位是斯坦福大学教授 Nick McKeown,是左边这位Martin Casado的老师,Martin Casado是Open vSwitch的创始人。Scott Shenker是一位物理学博士,在网络领域属于半路出家来做网络的人。其中Nick McKeown教授和Scott Shenker教授分别从不同的角度提出了对SDN的解读,也是两大组织ONRC和ONF的理念差异所在。Nick McKeown 教授从“系统功能重构”的角度来分析、解决当下的网络问题,而Scott Shenker 教授却从“重新定义抽象”的角度来尝试解决现有的网络问题。这两位不但提出了SDN的释义和理念,还积极推动SND的商业化运作,产业化发展进程。其中,这三位人物在2007来了合作成立了Nicira,首家专注于SDN的技术创业公司,开始尝试SDN的商业化发展。而Nick McKeown教授和Scott Shenker教授也在2011年成立ONF组织,积极推动SDN的产业化发展。

目前从产业化发展的角度来说,SDN的产业主要玩家包括但不限于以下这些:

SDN产业发展历程_第2张图片

上图列举了主要的SDN产业玩家,了解了这些之后,我们就可以分别展开来进行讨论了,因为SDN发展这些年,都是围绕这些角色发展而发展的,包含了这些角色之间的各种爱恨纠葛。

2009-2011:起步阶段

SDN产业发展历程_第3张图片

我们把2009到2011年这三年称作为起步阶段,那个时候的斯坦福大学教授 Nick McKeown 在一次大会上首次提出SDN这三个字母,据说还是一个记者帮他想出来的。之前一直都叫OpenNetwork,而在2009年,微软和Google已经在做SDN了。当是仅限于内部研究和使用,不像创业企业把SDN当做产业来做。当年微软就发布了一款VL2的产品,Goolge发布了G-wan并在2011年正式启用,并使用G-wan技术连接他在全球的十三个数据中心。同时,在这三年出现了很多著名的SDN创业公司,Nicira这家公司上文说过,可以说就是这家公司将SDN首次进行了商业化的尝试。而BigSwitch是斯坦福大学教授 Nick McKeown他们同一个实验室一些同事出来创办的,走了和Nicira完全不同的道路。Nicira走的是纯软件这条路子,后来被同是做软件的虚拟化巨头Vmwar收购,也算是志同道合。BigSwitch走的是另外一条路子:白牌交换机。在哪个年代,出了这两家公司拿到巨额投资意以外,在硅谷至少还有二十几SDN的创业企业拿到了投资。所以哪是一个SDN风口的年代。

当年以斯坦福大学教授 Nick McKeown为首的研究团队发起并推动了著名的控制与转发分离的网络部署模型和关键协议OpenFlow,这意味着正式宣告了软件定义网络(SDN)的诞生,但是那个时候SDN这个概念还未提出来。我国的SDN起步也是在2006年的时候,在清华大学的信息技术研究院有一个团队同步在研究OpenFlow。从2009年开始,在清华大学开发的国内第一套SDN系统正式上线,在2011的时候,主导开发这套系统的清华大学博士出来创立了云杉网络这家公司。和当年的Nicira和BigSwitch一起在当年获得相同投资基金的投资。

由于现在的每个人在看SDN的时候都是在看他的局部时间点,在该点说发生的技术现象或者一个特定的产业。但是其实你在理解了SDN的演变以及厂商在中间所经历的博弈的时候,就会发现我们现在应该做的是什么?怎么做才是一个行之有效的办法,什么地方需要跟厂商合作,什么地方需要跟社区合作,什么地方需要自己去开发!当我们把这些都看的很清楚的时候,我们的SDN落地才会比较顺畅。

说道网络,用硅谷的话说,这个世界上做网络的就只有两家公司,一家是思科,一家是非思科。在那几年,思科主打的产品是Nexus 7K,属于数据中心的产品,也对虚拟化及虚拟网络做了一定程度的支持。这个阶段的思科还是以买硬件解决方案为主,不过硬件比较贴合但是的虚拟化以及数据中心建设的潮流。

SDN产业发展历程_第4张图片

这个时候思科的竞争对手瞻博花了一亿美金和IBM进行合作,推出了这个下图所示的QFabric体系。

我们可以这么认为,这是厂商推出的第一代SDN系统。为什么?因为QFabric体系里面第一次出现了“控制器”的概念,并且架构相比较思科的要简单很多,使用了更少的连接来实现更多的数据中心的功能。这个架构的好处有很多,在上图右边所示,无论是金钱上还是效率上,优势都很大。使用了QFabric网络以后,数据中心的网络就变成了一个大交换机环境了。

所以这个架构本身已经实现了数据中心网络的扁平化、一致化,所有节点全部都在边缘,不管你的路由器、存储还是服务器,全都都存在在边缘节点,而这些网络的控制是由中间的这个Fabric Director来提供的。所以这一整套架构已经接近于一个SDN体系的架构设计。当是为什么大家不把QFabric认定为业界SDN的鼻祖呢?就是因为该系统是一个封闭的商业化系统,是不开放的系统。SDN最初推出的时候,是从OpenNetwork中出来的,他需要解除厂商绑定、使用开源开放的系统来做。由于这些原因导致了QFabric未获得业界认可,因此也未对业界产生很大的影响。

第一个对业界产生较大影响的是Nicira。下图所示Nicira的所设计的一幅网络架构图,上面的这个梯形图就是数据中心网络,下面则是虚拟机还有物理机等等。这是数据中心常见的情况,如果是接入网的话,大家可以认为这是整个园区的网络或者是泛在网络,下面的这些虚拟机就是一个一个小区。这种情况下的网络设计,如果需要对虚拟机或小区网络进行网络隔离、安全防护、流量限制等操作。就需要在网络设备独立配置和管理规则条目,当三年后整个配置和维护的工程师离职后,知识的传承性和维护性得不到很好的维系,那么接任者就会人为的导致一些重复的或者新的规则,那么网络设备的上的规则就会越来越多,使得网络变得越来越复杂。

这种人为的干涉就导致了随着时间的推移网络变得越来越复杂。此外,越来越多的网络新协议和新算法使得网络控制平面变得越来越复杂。以至于网络发展了这么多年,仍然处于“管理复杂性”阶段,为了使得现在的网络具有更多的可编程能力,从而自动化、智能化网络管理。Nicira就开发出了基于软件来实现网络管理的方式从而实现自动化、 智能化网络管理。

下图展示了Nicira的第一款SDN产品NVP的架构:

这个产品的威力巨大,让Nicira这家公司在没有任何营收的情况下就买了10亿美金的价格,可想而知在当年这个技术和产品技术创新程度和优势程度。在图中,所有的虚拟机通通过Open vSwitch交换机和控制器进行网络功能的交换和路由通信。OpenvSwitch是Martin Casado在2007年8月份提交的一个开源虚拟交换机,这个开源虚拟交换机在2009年5月份真实称之为Open vSWitch,在2012年的时候就正式进入了Linux的主栈。由于技术标准的难以统一和利益冲突,其他各个厂商就分别推出了组件的虚拟交换机,比如思科的Nexus 1000V,Vmware的vDS以及IBM的DOVE都是当时的商业虚拟交换机产品。由于Linux当中默认的Bridge不能完全称之为虚拟交换机,其不支持OpenFlow以及交换机的一些高级特性,这些现状使得Open vSwitch获得了高度的关注,尤其是在合并进入Linux内核主栈之后,Open vSwitch几乎成为了开源虚拟交换机实际的标准。

而NVP产品实现了但是业界第一个与硬件无关,支持多种X86虚拟化架构的网络虚拟化产品,引领甚至颠覆了当时的网络虚拟化技术。在NVP架构中,不管你是LAN网咯还是数据中心的网络,只要是三层IP可达就行。这个时候,在服务器虚拟化上跑着的Open vSwitch虚拟交换机或支持OpenFlow协议的物理交换机作为下属连接点,然后通过虚拟网络构建的规则来达到虚拟机之间的互联互通问功能。所有的功能实现都是在边缘,这符合网络设计最初的理念,即所有功能都在边缘实现。以前的边缘是思科和瞻博的网络设备在负责这个事情,现在NVP架构已经将这种实现平滑到了服务器里面。服务器提供了更强大的计算能力来做这个边缘计算。在这个架构中,NVP主要做了三项工作:

1、  网络设备的无关性;

2、  将Open vSwitch放到了Linux内核中,利用服务器的计算资源进行网络计算;

3、  实现控制平台和数据平面分离。

当NVP架构将Open vSwitch放置到Linux内核中后,就相当于NVP的控制器能够控制器全世界的Linux系统。这样的影响力才是造就NVP价值的一方面。从工程应用上来讲,NVP已经实现了真正的实践应用,从思想上,他已经产生了一个革命:解耦软件和硬件,让软件和硬件无关。

除了创业公司这个先行者,还有类似Google这种互联网公司也在实践和关注SDN的发展。Google随着自身网络规模的扩展,就越发面临着网络技术的挑战。在Google的各大数据中心之间,每个数据中心都有一条链路相互连接,怎么使得每条线路的利用率更高?这样业务承载量会更大,因为每条线路都是海底光缆,造价是十分高昂的。所以Google当时在做SDN的时候,他的每条线路的利用率不到50%。这和我们在做网络设计的时会按照一定的容量设计并保留冗余很相似,但是在实现了SDN之后,他的每条线路的利用率不到99%。Google为什么敢在SDN网络里面把网络跑满99%,是因为他们通过SDN对网络的控制已经达到很细粒度的把控。下图是但是Google说标识出来的全球十三个数据中心:

SDN产业发展历程_第5张图片

Google的SDN架构如下图所示:

SDN产业发展历程_第6张图片

上述的这几张图解释了Google的SDN架构G-WAN的原理。在上述的十三个数据中心中,每个数据中心都会有几十台交换机,这些交换机构成了可悲软件定义的网关。就是这样的交换机组成的网络使得Google公司控制了全球7%的流量。在第二幅图中,为我们揭示了G-WAN的架构,主要思想是实现数控分离,底层的控制器不受上层控制器的影响,上层控制器断开或者失效之后底层完全可以治愈。正是这种控制器设计的治愈原则使得Google利用其实现了全球的业务。

而微软一开始主要是围绕自己的数据中心在做,最后也将其部署到全球。微软在最开始的时候也在自己的数据中心内部使用了大量的白牌交换机来构建自己的SDN网络,跟Google最大的不同,微软主要的优势在操作系统和服务器领域,所以微软在网卡上做了很多设计和技术优化。最终导致了两者SDN的差异,Goolge的SDN架构主要是在网络层面去实现的,微软的SDN架构主要是在系统层上去实现的。但是最终实现的效果是一样的。

下图显示了微软的SDN架构VL2:

SDN产业发展历程_第7张图片

VL2在这里主要的贡献在于:

1、  SDN架构主要在于区别与传统7层的网络,是一张基于两层结构扁平化网络结构,两层结构无限扩展,可以扩展到3层;

2、  只负责点到点的可达,不做任何其他事情;

3、  所有的功能都在边缘使用对Flow的控制来实现。

与此同时,中国的第一个SDN实践在清华大学里实现。在当时,清华大学的研究团队在Fit大楼上利用大楼已有的三层网络,再加上OpenFlow再加上一些TP-Link的盒子,利用重新刷新TP-Link盒子的固件,使得TP-Link能够支持OpenFlow协议。同时在服务器里面安装上Open vSwitch,当有了这层结构之后,整个大楼就变成了一个SDN的网络。所有的历史上网的行为都可以做监控,你可以任意地让任何一个流量去做一个防火墙,当你的防火墙性能不够时,你还可以通过边缘的网络负载均衡做多个防火墙。

上述是SDN的第一个三年,之后,2012年到2014年,SDN就进入到了一个冷渐期,SDN的创业企业在这个时期就特别迷茫,很多SDN的企业在拿到钱做好产品之后卖不出任何产品和技术。回个头来看,这个时期正是各个标准、巨头、Linux基金会等正在对SDN进行博弈的关键时期。

SDN产业发展历程_第8张图片

在这个时期,佐证这个事实的是几个并购,VMware针对Nicria的12亿美金的收购。思科10亿美金收购Insieme,IBM收购SoftLayer,SoftLayer的产品结合了微软VL2和Google的G-Wan各自的优点设计而成。Vmware在收购了Nicria之后整个号了NVP产品,推出NSX产品。思科也基于Insieme推出了ACI架构。

在这三年中,我们可以认为SDN主要分为两大阵营,以Vmware为代表的“软件”和以思科为代表的“硬件”。“软件”的SDN包含的意思是该SDN解决方案不需要硬件,使用传统或现有的网络硬件即可实现SDN,所需的功能都在软件上来实现,这是现在的发展趋势。“硬件”的SDN是指SDN架构需要使用专门的SDN硬件来进行支撑和功能的实现。

SDN产业发展历程_第9张图片

对于思科的ACI方案,有几个部分:一是控制器APIC,二是在控制器上有一些监控等应用,三是Nexus 9K。Nexus 9K才是真正实现SDN网络功能的地方,这些交换机都是由控制器来进行控制,用以实现SDN的网络转发等功能,往上我们可以通过不同的编排来虚拟不同的网络环境。

SDN产业发展历程_第10张图片

这个方案卖的还是思科的硬件盒子。到了Vmware这边,vmware的nsx架构上和ACI差不多,都是三层的架构,使用方法上也没有差异。本质的区别在于vmware的能实现支持任何网络环境,而思科的ACI必须基于自身的控制器APIC和Nexus9K。vmware就是依靠这样的优势在短短几年之内实现了NSX10亿美金的收入。

SDN产业发展历程_第11张图片

这个时候的IBM也对SDN非常重视,下图显示了IBM的SDN规划布局,这个Google的G-wan很像,要解决的问题也很类似,但是说提供的服务不同。IBM收购SoftLayer,各个数据中心之间的网络连接,也要像google那样,只是做法大同小异而已。2011年Google在做G-wan的时候,是自己找台湾的代工设计的硬件。IBM后来在做SoftLayer的时候,控制器自己做,交换机等直接采购了思科的支持SDN的设备,所以SDN到最后,随着时间的推移,网络设备厂商会参与进来共同建设SDN网络。后来的IBM SoftLayer做成之后,到现在每年产出几十亿美金,而运维团队不超过40人,到今天还是这样。

SDN产业发展历程_第12张图片

而国内的第一套商用的SDN系统,其实现的功是很多的,如下图所示:

SDN产业发展历程_第13张图片

除了能够接入计算、存储等资源外,用户可以在数据中心自己组网,不管你是在物理还是虚拟环境,用户可以自己去配置防火墙,同事跨数据中心的二层、三层、隧道连接全部由用户自己去定义。同时还对接了很多的厂商产品,作为数据中心的一部分交付给用户。

这个阶段还是各个大厂自己在玩,真正落地的SDN商业化案例不多。真正出现SDN井喷是在2015年到2017年这三年,大量的部署发生在这几年中。在这个阶段,主要发生了以下事件:

SDN产业发展历程_第14张图片

综上,SDN整个产业发展的历程就基本上梳理清楚了。2009年到2011年是SDN的起步阶段,2012到2014年是布局阶段,从2015年开始,到未来的几年时间,都将是SDN逐渐产生价值的阶段。