OpenFlow 是斯坦福大学的一个研究项目,由Nick McKeown教授领导。在最初的 OpenFlow 研究论文中,OpenFlow 的目标是为研究人员提供一种“在他们每天使用的网络中运行实验协议”的方法。多年来,网络研究人员几乎不可能完成在具有真实以太网交换机和 IP 路由器的真实网络上部署和评估他们的想法的任务。困难在于,来自思科、惠普等公司的真正交换机和路由器都是封闭的、专有的盒子,它们执行标准“协议”,如以太网生成树和 OSPF。有商业原因为什么思科和惠普不允许你在他们的交换机和路由器上运行软件;没有技术原因。OpenFlow 的发明是为了解决一个人的问题:如果 Cisco 不愿意让你在他们的交换机上运行代码,也许他们至少可以提供一个非常窄的接口让你远程配置他们的交换机,这个窄接口被称为 OpenFlow。
据我所知,目前有十多家公司正在为其交换机实施 OpenFlow 支持。像惠普这样的一些公司只提供用于研究目的的 OpenFlow 软件。NEC 等其他公司实际上正在提供商业支持。
对于想要在真实网络中评估新路由协议的学术研究人员来说,OpenFlow 是一个巨大的胜利。对于交换机供应商来说,从长远来看,OpenFlow 支持是否会有所帮助、伤害或没有影响还不太清楚。毕竟,学术研究市场非常小。
OpenFlow 最常在企业网络环境中讨论的原因是,OpenFlow 源于之前的一个名为Ethane的研究项目,该项目使用 OpenFlow 的机制在企业网络中远程编程交换机以集中安全策略。Ethane 以及 OpenFlow 直接导致了两家初创公司:由Martin Casado创立的Nicira和由Guido Appenzeller创立的Big Switch Networks。如果网络中的所有交换机都支持 OpenFlow,那么实现类似 Ethane 的系统会更容易。
与企业网络密切相关的是数据中心网络,这些网络将 Google、Facebook、Microsoft、Amazon.com 和 Yahoo! 等公司的数千到数万台服务器互连起来。以太网的一个问题是它无法扩展到同一第 2 层网络上的这么多服务器。我们试图在一个名为PortLand的研究项目中解决这个问题。我们使用 OpenFlow 来帮助从中央控制器(我们称为 Fabric Manager)对交换机进行编程。我们将PortLand 源代码作为开源发布。
但是,我们也发现了 OpenFlow 功能的限制。在另一个名为Helios的数据中心网络研究项目中,我们无法使用 OpenFlow,因为它没有提供将多个交换机端口绑定到链路聚合组 (LAG) 的机制。大概可以无限期地扩展 OpenFlow 规范,直到所有可能的交换机特性都暴露出来。
还有其他网络,例如互联网接入网络、互联网骨干网、家庭网络、无线网络、蜂窝网络等。研究人员正试图了解 OpenFlow 适合所有这些市场的位置。真正归结为一个问题,“OpenFlow 解决了什么问题?” Ethane 为企业网络提供了一个案例,但我还没有看到任何其他类型的网络令人信服的案例。OpenFlow 可能是下一件大事,或者它可能最终成为“不要用技术解决方案解决人员问题”的案例。