博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Software Defined Networking(Week 2, part 3)
阅读量:5268 次
发布时间:2019-06-14

本文共 2196 字,大约阅读时间需要 7 分钟。

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。

1092156-20170330150404842-781418321.png

In some sence, forces looks a lot like OpenFlow but because it required new standardization, adoption and changes to the hardwares deployment, ultimately became very difficult.

Routing Control Platform (RCP) (2004)

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

1092156-20170330150412920-1457553829.png

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

1092156-20170330150420467-2132375690.png

Customized Hardware:Ethane(2007)

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

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

1092156-20170330150427467-1387256439.png

OpenFlow (2008)

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

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

1092156-20170330150444311-398830546.png

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 相较其他解决方案更为成功的关键。

转载于:https://www.cnblogs.com/ZCplayground/p/6646270.html

你可能感兴趣的文章
XHTML学习要点
查看>>
JavaScript的学习要点
查看>>
我用到的 Linq 扩展方法
查看>>
18.1 线程简介
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
程序员常用软件,你用了哪些
查看>>
1043: [HAOI2008]下落的圆盘 - BZOJ
查看>>
线程同步之读写锁
查看>>
codeforces 620D Professor GukiZ and Two Arrays
查看>>
pylint
查看>>
Oracle——SQL基础
查看>>
Java设计模式(2)——工厂方法模式
查看>>
互联网基础之DIV和CSS二
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
传微软Windows Phone 7将更新支持HTML 5
查看>>
P1970 花匠
查看>>
query和exec区别
查看>>