很多人都不了解OpenFlow和软件定义网络(SDN)之间的差异。这并不奇怪,因为这两种技术是如此地紧密相关。然而,它们又是不可替换的。OpenFlow是配置网络交换机的一种协议,采用的过程类似于API。而SDN则是描述网络基础设施内部可编程接口的一个术语,这样的接口可以让网络服务的配置高度自动化。SDN正在被市场营销人员所滥用,用来指称各种不同的技术。

事实上,SDN的定义很清晰。一个SDN网络有三个架构层:物理网络、SDN应用和SDN控制器。我们来仔细分析一下这三个层。

物理网络。这是网络的最底层,由各种物理设备构成,形成所有IT基础设施的基础。我们之所以使用术语“交换机”,是因为OpenFlow改变了以太网交换机的工作方式。就本文而言,你还要考虑物理基础设施的虚拟交换机部分。

SDN应用。这是SDN设计中最容易看到的层,是交付各种服务,如交换机/网络虚拟化、防火墙和流量均衡器(注意:基于OpenFlow的负载均衡器叫做流量均衡器)等的各种应用所在的层。这些应用有点儿类似于我们今天在专用硬件上所使用的软件。网络中的大部分创新都将出自SDN应用。