SDN的前身最早可追朔到“可编程网络”的概念,此后陆续有学者提出相应的可编程网络思想和方法。2004年,4D Project项目提出了一种Clean-Slate的网络设计方案,该方案重点突出了网元之间的交互协议与路由决策逻辑的分离。
2006 年,斯坦福的Martin Casado 领导了一个关于网络安全与管理的项目Ethane,该项目试图通过一个集中式的控制器,让网络管理员方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通讯的安全控制。受此项目启发,Martin 及Nick McKeown 提出将传统网络设备的数据转发(Data Plane)和路由控制(Control Plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展,于是OpenFlow 的概念应运而生。
2008年第一篇详细介绍OpenFlow概念的论文“OpenFlow: EnablingInnovation in Campus Networks”发表于ACM SIGCOMM ,标志着SDN时代的开启,图2给出了SDN/OpenFlow的发展历程。