介绍SDN发展历史之前,先了解clean slate项目
从1969年DARPA试验网开始,基于Ethernet和TCP/IP的Internet,由于设计的松散性,简单性,获得了巨大成功,积累了很多技术,解决在不同时期出现的不同问题。
与此同时也存在着很多缺陷,主要集中在扩展性,安全性,移动性和QoS上,当然有不少技术尝试解决这些问题,比如无类别域间路由CIDR,网络地址转换NAT,MPLS,traffic engineering等,这些技术在不同程度上帮助整个Internet以及各种私有协议发展到今天,但不管怎样总有新问题出现,究其原因是因为这些现有的技术都是在网络框架内部进行修补的。越来越多的的研究者相信重新定义网络架构也许是根本的解决方案,而这种方案被称为clean slate方案。
clean在互联网研究上有广义与狭义之分,广义上泛指下一代网络NGN项目,协议的clean slate则是由斯坦福大学Nick mckeown教授的实验室研究计划,SDN就诞生在这个狭义的clean slate计划中。
SDN公认的发源地是美国斯坦福大学,起源于校园网,发扬光大与数据中心,首创者是一个叫Martin casado斯坦福研究生,确切来说是OpenFlow的首创者而不是SDN概念的首创者。
再者,网络设备的制造商不允许对硬件进行重新编程,代码都是直接写进交换机或者路由器的,也不可能允许代码开源,就算开源了,那些代码很复杂,也不易改动,这就给用户改造和控制网络带来了很大麻烦,控制接口再灵活,也总有不能满足的时候。
所以Martin casado想着手建立一种灵活的,能够像计算机一样可编程的网络,并撰写了《一种名为ethane的网络架构》,这个项目也是属于clean slate计划的一部分。了解Ethane项目有助于学习OpenFlow以及SDN。这个项目是安全相关的,涉及一些安全策略,该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些策略应用到各种网络设备中,从而实现对整个网络通信的安全控制。其实SDN后续的发展也证实了这一点,安全领域是非常适合SDN部署的,因为安全领域本身强调配置管理而不是动态网络协议,也强调集中控制,这与SDN的理念很吻合。
而Casaso的导师就是Nick mckeown,Mckeown花了很多时间在OpenFlow通用芯片模式设计上是有原因的。Mckeown先后创建多家公司,被PMC-sierra,cisco,vmware收购。Mckeown对自己学生的这个项目很重视,给了很多指导,受Ethane项目的启发,Casado和Mckeown发现,如果将Ethane的设计更一般化,将传统网络设备的数据转发data plane和路由控制control plane两个功能模块相分离,通过集中式的控制器controller以标椎化的接口对各种网络设备进行管理和配置,那么将为网络资源的设计,管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。
但是开始他们并没有提出OpenFlow与SDN的概念,而是着手开发一个叫NOX的controller,用来对网络中的交换机进行集中控制,OpenFlow只是NOX的一个副产品,因为他们发现在使用NOX对交换机进行集中控制的时候,如果每台交换机能够对controller提供一个标准的统一接口,那么控制起来会很容易,于是OpenFlow就诞生了。
OpenFlow几大应用场景:
校园网络中对实验性通信协议的支持;
网络管理和访问控制;
网络隔离与VLAN;
基于WiFi的移动网络;
非IP网络;
基于数据包的处理等
基于OpenFlow为网络带来的可编程的特性,才进一步提出了SDN的概念,
从SDN诞生的历史就可以看出来,SDN最本质的特点就是控制与转发分离。
很快OpenFlow技术引起了工业界的关注,很多公司相继参与进来,2011年3月21日,德国电信,Facebook,goole,微软,Verizon,Yahoo!发起了ONF(open networking foundation)组织,旨在推广SDN,同时开始了OpenFlow的标准化工作,随着更多的公司加入这个组织,ONF以及SDN的影响力迅速扩大。
很多公司看到了其中的机会,也有很多公司看到了技术改革对自己带来的负面影响,伴随利益之争,ONF之外的一些组织成立了。