Control of Packet-switch Network

我们已经讨论过中心控制网络的原理,但主要是以电话网络做模型的。现在我们来看看对于分组交换网络的控制是如何改进的。

Why Separate Control?

以前一直反复提到的“数据平面与控制平面分离”、“转发与控制分离”,那这么做的原因是为什么?

(老生常谈)

  • More rapid innovation.

控制逻辑与硬件不再是直接紧密联系在一起的,这有利于加速创新。

  • Network-wide view.

让控制器获得对整个网络的非常清晰的视野,使得网络管理者更加容易去推断网络的行为。

  • Flexiblity

最后,如果使用了单独的控制通道,那就可以引入单独分离的控制器,方便引入新的服务和应用。

Custom Control:IETF Forces (2003)

下面介绍三种控制分组交换网络的技术。

Forces Protocol,是第一个将控制通道从分组交换网络中分离出来的协议,最早标准化于2003年。协议允许许多控制元素(control element,CE)去控制传输元素(forwarding element,FE)。也就是说,交换机、各种 FE,由一个叫 forces interface 的标准化的控制通道来控制。在forces interface 之上,又有各种控制器来控制 FE 的具体行为。这也是有一点像 OpenFlow 的模型。但这种方法存在一个问题:需要采取由供应商提供的标准、并配置新硬件。引入新的控制时很困难。这些障碍与早期的一些工作遇到的障碍是一样的,例如 Active Network。

Software Defined Networking(Week 2, part 3)-LMLPHP

Routing Control Platform (RCP) (2004)

RCP 在已有的传输协议上做出一点点小改进。每一个独立的网络拥有一个 RCP,由 RCP 来计算路由信息(而不是路由器),RCP 再使用已有的 BGP(边界网关协议)和其他的网络、路由器进行交流。这里的核心思想是由 RCP 来计算路由信息,计算完成后 RCP 将把信息推送给转发表(forwarding table)。路由器会认为好像还是在和路由器对话,但实质上是由 RCP 来完成计算路由,控制传输的工作。

Software Defined Networking(Week 2, part 3)-LMLPHP

对网络控制使用“带内协议”(in-band Protocol),可以使“控制”很有效地位于整个网络的中心。RCP 实际上还是使用了 BGP 作为传输协议,整个网络的控制都集中到了中心的一点上。这种方法就让配置新网络更加容易一些,但这种方法也被协议本身(BGP)所控制,RCP 能做的也就是控制 BGP 的路由,不能做到很灵活。实际上,网络管理者是想对更大范围的网络行为做到有效地控制。这种架构在实践中被证明是很有效的,尽管如此,和达到完全的控制平面分离相比,这种方法能达到的效果还是很有限的。

Software Defined Networking(Week 2, part 3)-LMLPHP

Customized Hardware:Ethane(2007)

在数据平面上使用定制的硬件可以让控制平面支持更多、更大范围的应用。

第一个关于此的项目叫做 Ethane。它为企业定义了一种网络架构,提供了一种粒度细致(fine-grained)的网络政策,主要是 Domain Controller。缺点是需要定制的硬件来支持 Ethane。

Software Defined Networking(Week 2, part 3)-LMLPHP

OpenFlow (2008)

有没有一种方法可以在现有的协议上运作,又不需要定制新的硬件?这个问题的答案就指向了OpenFlow。

OpenFlow 发挥现有硬件的能力,然后提供一个标准控制协议来控制硬件的行为。OpenFlow 中有一个分离的控制器与交换机流表进行交流,建立转发表交给交换机,来控制转发行为。因为大多数交换机都是自带流表的,OpenFlow 需要做到的就是让交换机的硬件提供商去为流表开发一个接口,那么控制器就可以指导、使用这些流表。

Software Defined Networking(Week 2, part 3)-LMLPHP

Summary

  • Control and data plane should be decoupled(去耦).

控制平面和数据平面是一定要分离的。垂直集成的控制和数据平面会让引进新的控制非常的困难。例如 forces。

  • Using existing protocols makes deployment easier, but constrain what can be done.

运用现有的协议,会让配置更容易,但会限制行为。例如 RCP 使得配置更容易了,但行为是限制在了BGP 之内。

  • Open hardware allows decoupling of control, can spur adoption.

这一点是 OpenFlow 相比于其他相似的解决方案非常有特色的一点,也是让 OpenFlow 相较其他解决方案更为成功的关键。

05-11 18:07