OpenFlow并非实现网络变革的唯一途径
API和各种消息协议,包括一些标准在内,都可以让用户构建今天的软件定义网络(SDN)。不过,关键的问题是,并非所有人都能实现同样的网络,或者说都能用同样的方法去实现。那么,OpenFlow真能带领我们大家走同一条路去往SDN乐园吗?
OpenFlow是一套开源的API,可借助在某个集中控制单元上运行的软件,对来自多厂商的交换机和路由器实现网络编程,从而实现“软件定义的网络。OpenFlow是把对路由器和交换机的编程与底层硬件相分离,用软件对多厂商路由器和交换机的流量进行定义,从而实现流量管理和网络设计的一致性。
OpenFlow的支持者称,这套API及相关协议,还有SDN,会提供一个抽象层,或者说在网络控制与物理基础设施之间设置一个虚拟化层,将会让网络变得更加开放,可以实现更多的创新。
伦敦Info-Tech研究集团的分析师Derek Silva说,“我们都已认识到,要想管理跨多个数据中心的网络,且该网络还不归企业自己管辖,这种管理难度是非常复杂的,尽管我们在其他所有方面都在取得进展也是如此。“网络管理要求越简单越好,而我觉得由SDN运动和OpenFlow的推动者开放网络基金会所提出的未来愿景,有可能是实现这一目标的最佳途径。
但是其他一些因素也在发挥作用,比如流量控制器应摆放在什么物理位置上,这些因素正在让我们超出OpenFlow去看待某些问题。
咨询公司Internet研究集团的联合创始人Peter Christy说,“有关OpenFlow的讨论都假定控制器是放在某个分离的设备上的。一个合理的SDN配置是把控制器软件分发给每台交换机。在这种情况下,交换机内部实现正常的通信协议就没有意义了。
Christy认为,把控制器软件分发给每台交换机这样的SDN会改善交换机和控制器间的通信性能,改善SDN的运营。在他看来,Juniper的QFabric架构就是分发控制器的SDN的一个例子。
Arista网络则认为,它的交换机客户可以或者利用控制器,或者利用分布式网络控制来实现SDN。Arista称,这两种方法各有利弊,但是要实现一个综合性的SDN,两种方法都需要。
Arista定义了软件定义云网络的四大“支柱:云拓扑、分布式控制、网络虚拟化和管理/自动化。OpenFlow只是实现基于控制器的SDN管理/自动化支柱中的多种方法中的一种而已。其他的实现方法还有CLI、SNMP、XMPP、Netconf、OpenStack、VMware vSphere虚拟化软件等等。
Arista的CEO Jayshree Ullal认为,每一种方法都有实施案例。在她看来,OpenFlow的实施案例就是动态分组重定向,可用于网络分路汇聚、合法监听/电子监控(lawful intercept/CALEA)和拓扑不可知网络的分段部署等。
究竟哪种实施案例会获得广泛采纳还有待观察。
她对软件定义网络有全面普及的机会深表赞同。但是OpenFlow究竟会成为API、OpenStack、Netconf、XMPP、VMware,或者另一个hypervisor,则很难预测。Ullal称,所有这些方法都承诺可实现拓扑不可知网络虚拟化,可以为应用和工作负载的移动性进行优化。
在今年的VMworld大会上,Arista演示了如何用虚拟机的简单预配置来构建云,利用其EOS操作系统软件和CloudVision接口最多可实现5万个网络节点。XMPP是其CloudVision中的API。
“没有任何理由认为,明天不会出现一个OpenFlow或者OpenStack API,Ullal说。“但是现在就有一个完善定义的接口。我们今天用Netconf和XMPP,就是因为它很容易实现,各种规范定义完善,而且我们的一些客户对此很感兴趣。
Ullal说,Arista的EOS将支持一套API,可根据用户需求用于不同的“实施案例。目前,Arista正在调研OpenFlow的初期市场需求,并在数据中心内试验将流量重定向给分路器和分路汇聚器。
“一项新的技术当然不会排除其他也能改进现有技术的务实方法,她对SDN如是评论说。“在普遍使用的遗留运营环境中,改进现有技术甚至比创新更重要。
在Ullal看来,并非OpenFlow在推动SDN,而是SDN在推动OpenFlow。
“OpenFlow与更广泛的SDN API的结合,对于OpenFlow能否获得更广泛的部署来说是至关重要的,她说。
OpenFlow控制器厂商Big Switch网络的联合创始人Kyle Forster认为,在今天的市场中,SDN还没有热到能给OpenFlow以市场动力的地步。很多API都必须加以剪裁才能适应某个特殊的“实施案例,这也说明市场对于网络编程的需求很少。