SDN是业务 OpenFlow是技术
扫描二维码
随时随地手机看文章
很多人都不了解OpenFlow和软件定义网络(SDN)之间的差异。这并不奇怪,因为这两种技术是如此地紧密相关。然而,它们又是不可替换的。OpenFlow是配置网络交换机的一种协议,采用的过程类似于API。而SDN则是描述网络基础设施内部可编程接口的一个术语,这样的接口可以让网络服务的配置高度自动化。SDN正在被市场营销人员所滥用,用来指称各种不同的技术。
事实上,SDN的定义很清晰。一个SDN网络有三个架构层:物理网络、SDN应用和SDN控制器。我们来仔细分析一下这三个层。
物理网络。这是网络的最底层,由各种物理设备构成,形成所有IT基础设施的基础。我们之所以使用术语“交换机”,是因为OpenFlow改变了以太网交换机的工作方式。就本文而言,你还要考虑物理基础设施的虚拟交换机部分。
SDN应用。这是SDN设计中最容易看到的层,是交付各种服务,如交换机/网络虚拟化、防火墙和流量均衡器(注意:基于OpenFlow的负载均衡器叫做流量均衡器)等的各种应用所在的层。这些应用有点儿类似于我们今天在专用硬件上所使用的软件。网络中的大部分创新都将出自SDN应用。
SDN控制器。SDN控制器是中间件,是整个SDN架构的关键所在。该控制器必须与网络中的所有物理和虚拟设备相集成。该控制器通过与物理网络设备相应的SDN软件中去抽象各种物理设备。控制器与网络设备之间是高度集成的。在OpenFlow环境中,控制器将使用OpenFlow协议和NETCONF协议与交换机进行通信(OpenFlow是API,它发送流数据给交换机,而NETCONF则是网络配置API)。
在现有的各种SDN方式中,一般是厂商提供应用,控制器是单一产品。举例说,Nicira/VMware将其应用于控制器打包成一个专利的应用堆栈。思科则将其控制器打包成OnePK产品,嵌入思科设备上的IOS软件中。我预计思科不久也会发布一款主控制器。Big Switch最近发布的商用版本SDN控制器可提供在控制器上运行的两个应用:Big Virtual Switch和Big Tap。
显然,控制器是网络架构中的关键。它必须为各种应用提供API,才能让应用呈现其有用的功能,所以争夺SDN市场统治地位的最激烈的战争也将在这里发生。
SDN API:新的战场
SDN架构有两种不同的网络API:北向的和南向的。OpenFlow是南向的API。OpenFlow是工业标准API,可在以太网交换机中配置帧转发硅片,定义网络的流量路径。除此之外,负责监管OpenFlow协议的标准组织开放网络基金会(ONF),发布了一个叫OF-CONFIG的设备配置API。OF-CONFIG采用NETCONF XML数据格式来定义语言。
思科的OnePK也是南向的API。围绕着OpenFlow是否足以满足所有的联网需求有过太多的讨论,尤其是关于从包交换网络向流量网络迁移的问题。在这样的迁移中潜藏着一些尚未解决的问题,例如在现有协议STP和OSPF之间需要有互操作性等。
北向API在SDN架构中提供一种机制,为企业提供服务或者应用。每个应用都会为网络设备形成流量表视图,然后向控制器发出分发网络设备的请求。
例如一个虚拟交换应用可在物理和虚拟交换机网络中构建所有节点的网络图/数据库。在多租户以太网中,该应用可形成一组流规则,仿真以太网VLAN,同时又保持每个租户流量的完全隔离。这些流规则包含入口和出口流量值,还有源和目的MAC地址。
从服务到控制器的北向API目前尚未有定义。我认为有三个原因。首先,由于实用案例还不够多,不足以激励大厂商进行投资。其次,目前市面上只有为数不多的控制器存在,它们尚未证明自己是可用于生产流量的健壮平台。第三,不同的应用可能需要不同的控制器API。例如防火墙应用可能需要高性能、低延迟的数据交换,而一个监控应用则可能只需要在流量通过时读取一下而已。
网络行业内部各自的选择取向是不同的。ONF内部有些论坛会为在不久的将来提交一些指南,而IETF已经发表了来自网络工作组(Network Working Group)有关这一课题的一份草案。
缺乏标准API意味着软件开发者必须决定他们要为哪个平台开发应用。举例说,F5应该为思科还是为Big Switch的控制器开发?如果一家安全公司正在为OpenFlow开发防火墙,那它们是应该选择惠普的OpenFlow控制器还是IBM的?北向API肯定会在某个时点上标准化,但其格式、性能和数据结构却可能并未得到很好的理解。因此这个话题的讨论还会很多。
寻找彼此适应的位置
在考察OpenFlow和SDN之异同时,还须考虑它们各自在基础设施中的位置。OpenFlow是技术-to-技术的服务,因为它连接的是控制器和网络设备。对于用户或业务来说,它是不可见的。与之相反,SDN则是业务-to-技术接口。SDN向用户和企业展现服务,然后控制器将这些服务转变成抽象概念,翻译成网络上的动作。现在我们已接近这样一个时点,可以讨论网络的这场革命了。在今天的网络中我们还没有SDN。今天的“网络管理”平台还不足以提供可见性和对网络运营者的控制。这些平台大部分都会由于SNMP协议的限制而失灵,因为后者只是从网络中抽取数据的一种标准方法而已(尽管已经有一些工具尝试着从命令行界面抽取数据)。
SDN拥有一组物理和虚拟网络的完整抽象。南向API在OpenFlow和NETCONF上有很好的定义基础,开发者确信这些产品是可以不受限于单一厂商的。在未来数月内,市场将会朝着融合北向API的方向发展。SDN厂商会寻找更多的营销卖点和创新概念。这些创新将会以控制器和应用的形式出现。
已经有厂商宣布其物理设备和虚拟交换机可支持OpenFlow,例如Open vSwitch和思科Nexus 1000V。市场的下一步行动将是确认OpenFlow控制器和应用能否向企业交付各种服务。正如前面所提到的,Big Switch宣布了其OpenFlow控制器自带的两个应用。惠普也宣称它的一些应用将在2013年交付。随着越来越多的应用出现,SDN的采纳过程也将加速。