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。

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 来完成计算路由,控制传输的工作。

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

Customized Hardware:Ethane(2007)

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

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

OpenFlow (2008)

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

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

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

Software Defined Networking(Week 2, part 3)的更多相关文章

  1. Software Defined Networking(Week 1)

    前言 课程名称:软件定义网络 课程地址 Coursera上新的一期还没开课,所以是YouTube. Instructor:Nick Feamster Get Started 对于本次课程,主要的新内容 ...

  2. Software Defined Networking For Dummies, Cisco Special Edition

    从接触SDN开始,不论是硬件还是软件,一直都是从具体的点开始,慢慢的勾勒出自己认为的SDN的样子,相信读完这本思科出的关于SDN的书会对其有新的认识 这本书的名字就是Software Defined ...

  3. Improving Network Management with Software Defined Networking

    Name of article:Improving Network Management with  Software Defined Networking Origin of the article ...

  4. Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking

    A method of transferring data between a software defined network (SDN) and an information-centric ne ...

  5. Software Defined Networking(Week 2, part 2)

    History of SDN 1.3 - 1.4 课程地址 Network Virtualization 网络可虚拟化,可以说是SDN的一项核心内容,同样也源自很多先前的技术和思想.我们先讨论何为网络 ...

  6. Software Defined Networking(Week 2, part 1)

    History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...

  7. A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges

    将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...

  8. Software Defined Networking(Week 3, part 1)

    Control and Data Plane Seperation 课程地址 Overview 今天正式地学习一个控制与数据平面分离.学习完本节,应该要掌握何为控制和数据平面,了解它们的功能以及好处, ...

  9. RFIDler - An open source Software Defined RFID Reader/Writer/Emulator

    https://www.kickstarter.com/projects/1708444109/rfidler-a-software-defined-rfid-reader-writer-emul h ...

随机推荐

  1. ISE14.7使用教程(一个完整工程的建立)

    FPGA公司主要是两个Xilinx和Altera(现intel PSG),我们目前用的ISE是Xilinx的开发套件,现在ISE更新到14.7已经不更新了,换成了另一款开发套件Vivado,也是Xil ...

  2. Matlab 装自定义模块

    Matlab for Mac 右上角有一个set path选项. 点进去再点击 add with subfolders. 把你下载好的且解压过的工具箱添加进去 然后点save. 重启,就可以直接用了.

  3. WPF中的动画——(一)基本概念

    WPF的一个特点就是支持动画,我们可以非常容易的实现漂亮大方的界面.首先,我们来复习一下动画的基本概念.计算机中的动画一般是定格动画,也称之为逐帧动画,它通过每帧不同的图像连续播放,从而欺骗眼和脑产生 ...

  4. 【转载】COM 组件设计与应用(十七)——持续性

    原文:http://vckbase.com/index.php/wv/1264.html 一.前言 我们写程序,经常需要实现这样的需求: 例一.程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置, ...

  5. 【转载】COM 组件设计与应用(九)——IDispatch 接口 for VC6.0

    原文: http://vckbase.com/index.php/wv/1224.html 一.前言 终于写到了第九回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常 ...

  6. 【HEOI2016】序列

    题面 题解 很像最长不下降子序列对吧(废话) 设$up[i]$和$down[i]$分别表示$i$最大最小能取多少 注意到: $$ f[i] = max_j\left\{f[j]\right\} + 1 ...

  7. Linux下的消息队列

    文章链接:https://blog.csdn.net/qq_38646470/article/details/80169406

  8. [环境配置]Ubuntu 16.04+CUDA 9.0+OpenCV 3.2.0下编译基于Caffe的MobileNet-SSD踩过的一些坑

    SSD是Caffe的一个分支,源码在github上:https://github.com/weiliu89/caffe/tree/ssd $ git clone https://github.com/ ...

  9. SSL详解

    SSL 1.整体结构 SSL是一个介于HTTP协议与TCP之间的一个可选层,其位置大致如下 SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Int ...

  10. JDK 和 JRE 有什么区别

    JDK是Java开发工具包(Java Development Kit),JRE是Java运行环境(Java Runtime Environment),JDK包含了JRE,搭建Java环境的时候,安装J ...