软件定义网络(Software Defined Network, SDN ),是由[1]美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
2012年7月24日消息,据BusinessInsider报道,虚拟化技术和云基础架构厂商VMware宣布,将以10.5亿美元现金,收购软件定义网络(SDN)先驱者、开源政策网络虚拟化私人控股企业Nicira,以扩大网络虚拟化产品组合。
IT168 SDN技术专题:
http://www.it168.com/redian/SDN1111/
所有SDN方法共有的一个要素是软件接口的使用,如提供更具自动化性能的API,以及跨设备的资源流程管理,如交换机,路由,防火墙和负载平衡器。这类API还应该能够刺激应用的创建。
最为人熟知的SDN分离了网络的转发面和控制面,通常控制面存在于交换机中。SDN把这个控制面移到了单独的设备中。这个名为控制器的设备会为特定的工作负载计算最佳路径,为交换机的数据转发进行设计。控制器可以是一个装置,一个虚拟机或是一个物理服务器。
大量供应商都宣称自己有意发布OpenFlow交换机,包括Bracade,Cisco,Extreme Networks,惠普和瞻博网络。
Open Networking Foundation(ONF)是一个监督OpenFlow协议开发的非盈利组织,该组织提倡使用OpenFlow的基于控制器的架构。ONF成员数超过70,包括电信公司,谷歌和Facebook这样的互联网巨头,以及一些全球领先的网络设备厂商(包括思科)以及一些新创公司。
尽管OpenFlow是最为人熟知的接口,但是有很多替代物也能作为控制器和网络设备之间的沟通协议。除了Java,C,Python和REST API外,还有Extensible Messaging和Presence Protocol,Network Configuration Protocol和Rackspace与NASA的OpenStack可作为替代物。不过,调查发现OpenFlow与SDN的关系非常密切。
虽然思科和惠普这些供应商对低端交换机不屑一顾,但是戴尔,IBM和NEC这样的公司却更加重视。例如,NEC推出了支持OpenFlow的控制器和交换机。IBM也推出了支持OpenFlow的交换机系列,而且还联手NEC确保IBM 的交换机产品适用于NEC控制器。一间名为Big Switch的初创公司还在开发支持OpenFlow的控制器。
虽然ONF是最常与SDN产生关联的,但还有另外两种SDN。其中第二种也是将控制面和转发面分开,只不过是利用虚拟机,如思科Nexus 1000v,VMware DVS或IBM DVS 5000v。在此方法中,虚拟交换机就像是一个虚拟机之外的设备所支配的转发引擎。这一功能是现有网络架构(如使用GRE的Virtual Extensible LAN或Network Virtualization)顶层网络的一部分。此方法或许对思科和VMware的现有客户相对比较有吸引力。不过,它仅可用于基于hypervisor的虚拟交换机,而不适合物理交换机。此外,它还支持刚出现不久的VXLAN和NVGRE功能。
第三种方法则通过网络设备的API使用直接的编程接口,这些设备都可以在OSI定义的网络堆栈的Layers 2层操作。在这种情况下,控制和转发面板没有被分开,但控制面也不是中心。许多网络供应商,包括思科,都在采用这一方法。今年夏天,思科称作为其SDN的一部分,将为多个思科平台提供API,包括IOS,IOS XR,IOS XE和NX-OS操作系统。思科称这样可以把软件应用紧密结合,为网络架构提供更好的控制。与思科一道,Arista,Extreme Networks和瞻博网络都通过API为其平台提供了直接访问。这样做的好处是可以在网络设备上有详细的访问和控制。还可以避免与OpenFlow协议有关的互操作性缺陷。因为这种方法不依赖于集中式控制器,它还避免了能够与基于控制器的架构相关的可用性和安全问题。至于负面影响,这种方法是供应商指定型。在有多个供应商的网络环境中,这种方法可能导致操纵者不得不在设备供应商的基础上设置不同的网络设备控制级别。
于2008年在ACM SIGCOMM发表了题为OpenFlow: Enabling Innovation in Campus Networks[4]的论文,首次详细地介绍了OpenFlow的概念。该篇论文除了阐述OpenFlow的工作原理外,还列举了OpenFlow几大应用场景,包括:1)校园网络中对实验性通讯协议的支持(如其标题所示);2) 网络管理和访问控制;3)网络隔离和VLAN;4)基于WiFi的移动网络;5)非IP网络;6)基于网络包的处理。当然,目前关于OpenFlow的研究已经远远超出了这些领域。
。关于SDN的概念和原理,可以参考开放网络基金会(Open NetworkingFoundation)于今年4月份发表的SDN白皮书Software Defined Networking:The New Norm forNetworks [6] 。
[4] OpenFlow: EnablingInnovation in Campus Networks, www.openflow.org/documents/openflow-wp-latest.pdf
[6] Software DefinedNetworking: The New Norm for Networks, https://www.opennetworking.org/images/stories/downloads/white-papers/wp-sdn-newnorm.pdf
[8] SDN Standards: What andWhatnot, http://opennetsummit.org/talks/ONS2012/pitt-tue-standards.pdf
[9] OpenFlow SwitchSpecification v1.3.0, https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.0.pdf
[10] OpenFlow v1.0.0源代码, http://openflowswitch.org/downloads/openflow-1.0.0.tar.gz