1.2 有关SDN/OpenFlow的工作
虽然OpenFlow在业界引起了极大的关注,但仍有必要指出,有关可编程网络和将控制平面与数据平面相分离的想法其实由来已久。早在1995年,开放信令工作组(Open Signaling Working Group,OPENSIG)就发起了一系列的活动,旨在使ATM、因特网和移动网络变得更加开放、广泛和可编程。这些活动进一步促进了因特网工程任务组(Internet Engineering Task Force,IETF)的一个工作组推出用于控制标记交换的通用交换机管理协议(General Switch Management Protocol,GSMP)。该工作组于2002年6月推出了GSMPv3并正式结束了其工作组活动。主动网络(Active Network)最早提出了可编程网络基础设施的思想,用于定制服务方面,然而,主动网络的概念一直没有得到足够的拥趸,主要是出于对安全和性能的担心。自2004年开始,4D项目(www.cs.cmu.edu/~4D)倡导重新设计(clean slate design)的理念,强调把路由决策逻辑与主宰网元之间交互的协议分开。4D项目的这一理念直接激发了后续的一些研究工作,如NOX(www.noxrepo.org)所提出的用于OpenFlow网络中的网络操作系统。到2006年,IETF的网络配置协议(Network Configuration Protocol)工作组提出了NETCONF,用作修改网络设备配置的管理协议。该工作组目前仍然活跃,其最新标准发布于2011年6月。IETF的转发与控制元素分离(Forwarding and Control Element Separation,ForCES)工作组目前正担纲一个与SDN并行的研究项目。此外,SDN和开放网络互联基金会(Open Networking Foundation)也与ForCES致力于同一基本目标。对于ForCES来说,随着控制元素从转发元素中分离出来,内部网络设备架构会被重新定义,但是对外仍然用单一的网元来表示两者相结合的实体。OpenFlow最直接的前身是斯坦福大学的SANE/Ethane项目(yuba.stanford.edu/sane和yuba.stanford.edu/ethane),该项目于2006年定义了用于企业网的新型网络架构。Ethane的重点是采用集中式的控制器来管理网络中的策略和安全。
开放网络互联基金会(www.opennetworking.org)是由一组网络运维人员、服务提供商和厂商最近创立的机构,是一个由业界发起的组织,致力于推广SDN和使OpenFlow协议标准化。作者写作本书时,OpenFlow规范的最新版本是1.4版,不过由于目前得到广泛实施和部署的是OpenFlow 1.1.0(Wire协议0x01),在本书中我们将只针对OpenFlow 1.1.0展开描述。