OpenFlow起源于斯坦福大学的Clean Slate项目组。Clean Slate项目的最终目的是要重新发明Internet,改变设计已略显不合时宜,且难以进化发展现有的网络基础架构。在2006年,斯坦福的学生Martin Casado领导了一个关于网络安全与管理的项目Ethane,该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通信的安全控制。Martin和他的导师NickMcKeown教授将传统网络设备的数据转发(DataPlane)和路由控制(Control Plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。于是,他们便提出了OpenFlow的概念,并且Nick McKeown等人于2008年在ACM SIGCOMM发表了题为OpenFlow:Enabling Innovation in Campus Networks的论文,首次详细地介绍了OpenFlow的概念。该篇论文除了阐述OpenFlow的工作原理外,还列举了OpenFlow几大应用场景,包括:
校园网络中对实验性通讯协议的支持(如其标题所示);
网络管理和访问控制;
网络隔离和VLAN;
基于WiFi的移动网络;(www.xing528.com)
非IP网络;
基于网络包的处理。
当然,目前关于OpenFlow的研究已经远远超出了这些领域。
基于OpenFlow为网络带来的可编程的特性,Nick和他的团队进一步提出了SDN(Software Defined Network)的概念。如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操作系统(Network OS)的概念,这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无须关心底层网络的物理拓扑结构。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。