2.2.2 数据控制分离历史

2.2.1节中对数据平面和控制平面的基本知识进行了简要介绍,下面开始讲述传统网络领域数据平面和控制平面分离的历史。最早期的数据控制分离思想来源于电话网络,电话网络的初期设计模式是话音数据和控制信令混合传输的模式,信道中的一些特定频段用于传输信令,例如,2 600 Hz可以重置电话中继线,直流脉冲拨号也是一个典型的例子,可以用于为电话做路由,这种方案一个最明显的挑战就是安全性问题,因为攻击可以从数据平面发起。为了应对这样的问题, AT&T公司在20世纪80年代早期决定采取数据控制分离的网络模型,为电话网络引入了网络控制点(Network Control Point,NCP)的概念。NCP的主要功能是承载网络的所有控制信令,同时可以查询用户数据库,以获得更加丰富的数据,可以支持多种附加业务,例如800电话、电话卡服务等。值得一提的是,由于具有了全局数据,例如用户信息、网络空闲状态等,这个网络模型非常便于新业务的开发。截至目前,这个系统很多技术还在使用,足以证明数据控制分离模式的可用性和稳定性。然而与互联网相比,这是一个业务相对简单、流量相对较小的网络。当然,这一数控分离的思想也为理解SDN技术的发展提供了一些参考,例如SDN是否应当将注意力局限于特定的业务流,而不是试图替代全网业务,还是SDN应该追求设计一套更为通用的完整方案。

真正海量数据和丰富业务的通信网络应该是运行TCP/IP协议的Internet,与传统的电信网络(例如电话网)相比,Internet具有网络功能简单、终端功能复杂的特点,这个结构特征使互联网得以迅速发展,因为大家只需要遵守简单的网络层规则就可以实现互联,其他层面的功能则是开放和多样的,这非常有利于发挥海量互联网用户的潜力。然而,任何一项技术都有其弱点,并有可能随着发展周期而逐渐凸显。采用“尽力而为”模式的 Internet 的最大问题之一就是难以保证承载业务的服务质量,也缺少对网络状态的感知和控制,这些特点决定了互联网只能用间接的方法解决一些网络问题,例如不断升级路由器/交换机的能力,扩大骨干网带宽,用轻载方式(冗余带宽)提升服务质量(QoS)等。然而,这种模式既不够经济高效,也不具备可控可管性,因此,学术界和产业界不断涌现对互联网进行改进的方案,例如ATM网络和主动网络[5-7]等,它们都或多或少使用了数控分离的管控策略,虽然由于各种原因未能替代现有互联网,但是也体现了对可管可控的需求。

随着互联网的蓬勃发展,诸如Google、Amazon之类的大型服务商逐渐壮大,甚至构建了覆盖全球的网络基础设施。与传统Internet服务提供商(ISP)一样,这些服务商也开始努力思考如何对日益扩大的网络进行更好的运营与管理,同时迫于业务变化以及建设成本方面的考虑,它们对网络灵活优化的管控能力更加渴求。另一方面,随着通用计算平台的迅速发展,通用服务器与专用路由设备控制平面之间的性能距离正在逐步减小,这些趋势催化了一些数控分离的原始创新,例如在Linux中实现内核级数据分组转发功能的 Netlink 技术,IETF ForCES 工作组提出的ForCES(转发和控制单元分离)技术以及RCP(路由控制平台)技术等。

ForCES工作组是IETF在2002年专门成立的,工作组于2003年针对一般网络设备提出了控制面—转发面分离的基本结构,而后一直专注于 ForCES 协议等标准草案文件的制定。一个满足 ForCES 规范的网络设备,其基本结构如图 2-6所示,从图中可以看出,一个ForCES的网络单元(Network Element,NE)可以包含至少一个或多个(用于冗余备份)控制单元(Control Element,CE)和多达几百个转发单元(Forwarding Element,FE)。每个FE包含一个或多个物理介质接口 Fi/f,该接口用来接收从该网络单元外部来的报文或将报文传输到其他的网络单元,这些FE接口的集合就是NE的外部接口。在网络单元外部还有两个辅助实体:网络单元管理者(CE Manager,CEM)和转发单元管理者(FE Manager,FEM),它们用来在配置阶段对相应的CE和FE进行配置。图2-6中Fp为CE和FE间的接口(通信过程由ForCES协议的标准协议完成),其间可以经过一跳(Single Hop)或多跳(Multi-Hop)网络实现。Fi表示FE间的接口,Fr表示CE间的接口,Fe表示CE管理者和CE间的接口,Ff表示FE管理者和FE间的接口,Fl表示CE管理者和FE管理者之间的接口。ForCES的这种架构具有底层资源功能模块以及控制面与转发面分离的特点,为新一代网络提供了较好的功能灵活性。

图2-6 ForCES网络件基本结构

另一个支撑数据控制分离的创新是逻辑上集中控制网络,如路由控制平台(Routing Control Platform,RCP)和SoftRouter架构[8]以及IETF的路径计算元素(PCE)协议。RCP 利用现有的标准控制平面协议(边界网关协议(BGP))在传统路由器中安装转发表条目,以支持快速部署。这些创新与前期的数控分离机制相比,一个较为突出的区别是将目光集中在网络管理问题上,即关注为网络管理员提供开放可编程、全网视图以及网络控制能力,而不是直接面向用户。这样的好处在于,用户面对的网络其实是有限的、局部的,而网络管理员面对的网络才是全网范围的,管理员的主要工作(例如,基于当前业务负载选择更优的网络路径,或是在规划路由过程中最大限度地减少瞬态干扰产生的变化)都是基于全网信息实现的。SoftRouter使用ForCES API,以允许分离的控制器能够安装数据平面转发表中的条目,从而彻底从路由器中清除控制功能。另外,类似Open vSwitch(OVS)的开源虚拟交换软件的出现以及高性能服务器技术的进步,为创建逻辑上集中式的路由控制器原型降低了门槛,提供了可能。虽然数控分离的业界原型和标准化工作已经取得了一些进展,但是距离方案真正被厂商广泛采纳仍然遥遥无期。这是因为占主导地位的设备商很少有动力采用标准的数据平面API,如ForCES,因为开放的API会降低设备商进入该市场的门槛,进而加剧网络设备领域的竞争,影响这些主导厂商的利益。

随后,学术界为拓展控制和数据平面分离的概念提出了一些逻辑集中的新型控制架构。例如,针对当前网络逻辑决策平面和分布式硬件设备结合过紧的问题, Greenberg等人重新设计了互联网控制和管理结构,提出了将决策逻辑从底层协议中完全分离出来的4D[9]项目,如图2-7所示。4D项目倡导4个主要平面:数据平面基于决策平面产生的状态来处理报文;发现平面用于在网络中发现物理网元并创建逻辑标识符识别它们,发现平面定义了标识符的范围和特久化,并执行彼此间的自动发现和管理;扩散平面提供一个连接路由器或交换机的健壮、高效的通信基础结构,从而能够将决策面产生成的状态扩散到数据面上,而自身不产生任何状态;决策平面用于处理网络控制诸如可达性、负载均衡、访问控制、安全和接口配置等功能。这样做的优势在于可以从分布式系统问题中独立出网络的控制逻辑,这种架构有助于实现更健壮、更安全的网络,同时便于对异构网络进行有效管理。

图2-7 4D框架系统模型

在4D项目的基础上,SANE[10]项目出现了。SANE 项目来自于斯坦福大学研究人员 Martin Casado 等提出的面向企业网的管理架构,其主要工作是创建了一个逻辑上集中的企业接入控制流级解决方案。具体来说,SANE在链路层和IP层之间定义了一个可以管理所有连接的保护层,所有路由和接入控制决策都通过这个保护层由一台中央服务器进行集中式控制。虽然SANE实现了以4D架构为基础的设计原则,但是由于面向企业网,因此其重点在于安全控制,而不是实现复杂的路由决策,同时,SANE 也没有经过大规模的测试验证,因此距离实际部署还比较远。2007 年提出的 Ethane[11]项目则在 SANE 项目的基础上进行了功能扩展,将安全管理策略添加到网络管理当中,扩充了中央控制器的管理功能,实现了更细粒度的流表转发策略。Ethane网络的设计遵循3条基本原则:网络应该被高层次发布的网络策略所管理;网络策略决定数据分组的转发路径;网络策略应该在数据分组与其源之间进行强制绑定。在Ethane网络中,中央控制器和Ethane交换机是两个主要部件,中央控制器负责完成网络主机认证、IP分配和产生交换机流表等基本功能,是整个网络的控制决策层;Ethane交换机则负责根据控制器部署的流表进行报文转发,是一个简单的、哑的数据转发单元。事实上,Ethane 项目实现了 OpenFlow[12]交换机和中央控制器的大部分功能,并最终奠定了OpenFlow的技术基础。

在以上相关工作的基础上,斯坦福大学的研究人员于2008年提出了OpenFlow技术,OpenFlow更加明确地提出了数据控制分离的基本概念,打破了传统网络的分布式框架,简化了网络管理和配置操作,实现了高层控制逻辑的灵活性和可部署性,为SDN概念和生态系统的发展迈出了重要的第一步。基于OpenFlow的SDN数据控制分离将会在下一节详细介绍。