尽管围绕软件定义网络(SDN)的所有兴奋点都是由OpenFlow刺激起来的,但实际上利用各种标准工具对网络进行编程已经有一段时间了。OpenFlow并非实现SDN的唯一方法或者唯一途径。就目前而言,要想实现SDN,除了OpenFlow以外,至少还有6种方法或途经。
命令行接口(CLI)
CLI是交换机和路由器的常用接口,网络经理们常用它来配置交换机,激活或者禁用某些服务。
Arista网络的CEO Jayshree Ullal说,“要想开放,不只有一种方法。要想扩展,也不只一种方法。CLI虽然不是我们常用的可编程接口,但它依然是今天很多人构建现实网络的方法。”
SNMP
简单网络管理协议是网络管理的一个重要部分。在各项活跃的管理任务中,SNMP常被用来修正和应用新的配置,而且是通过远程修正配置信息实现的。
XMPP
可扩展的消息处理现场协议(XMPP)是处理现场和消息路由的一个XML流协议。它还可提供安全但是方便的可编程语言,用于耦合多种不同的网络。
Netconf
IETF的Netconf旨在减少与自动化设备配置有关的编程工作量。Netconf可使用XML来配置设备,实现更高效的分路状态,并在设备上存储配置数据。
OpenStack
OpenStack是Rackspace/NASA为云计算而建立的一个开源项目,这个模块化的开源软件可用域开发公有云和私有云计算架构和控制器。目前已有超过135家公司参与了OpenStack项目。
虚拟化软件API
hypervisor中的API和其他虚拟化软件,如VMware的vSphere,虚拟化服务器、存储和网络资源等都可以按需集中并分配给各种应用。它们包含可定义资源池的工具,以及定义服务等级的业务工具,并能自动强制执行服务等级,以确保应用的可用性、性能、安全和扩展性。