Software Defined Networking(Week 2, part 3)
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)的更多相关文章
- Software Defined Networking(Week 1)
前言 课程名称:软件定义网络 课程地址 Coursera上新的一期还没开课,所以是YouTube. Instructor:Nick Feamster Get Started 对于本次课程,主要的新内容 ...
- Software Defined Networking For Dummies, Cisco Special Edition
从接触SDN开始,不论是硬件还是软件,一直都是从具体的点开始,慢慢的勾勒出自己认为的SDN的样子,相信读完这本思科出的关于SDN的书会对其有新的认识 这本书的名字就是Software Defined ...
- Improving Network Management with Software Defined Networking
Name of article:Improving Network Management with Software Defined Networking Origin of the article ...
- 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 ...
- Software Defined Networking(Week 2, part 2)
History of SDN 1.3 - 1.4 课程地址 Network Virtualization 网络可虚拟化,可以说是SDN的一项核心内容,同样也源自很多先前的技术和思想.我们先讨论何为网络 ...
- Software Defined Networking(Week 2, part 1)
History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...
- A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges
将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...
- Software Defined Networking(Week 3, part 1)
Control and Data Plane Seperation 课程地址 Overview 今天正式地学习一个控制与数据平面分离.学习完本节,应该要掌握何为控制和数据平面,了解它们的功能以及好处, ...
- 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 ...
随机推荐
- SAP库龄表
&---------------------------------------------------------------------* *& Report ZFIR005 *& ...
- windows 8 中 使用 httpclient
基本技术点 windows 8 中 使用 httpclient 代替 windows phone 中的 httpwebclient , 使用方法 也有些不同 . 下面是windows 8种使用 htt ...
- 20155237 2016-2017-2 《Java程序设计》第2周学习总结
教材学习内容总结 通过教材了解了JAVA可区分为基本类型和类类型(参考类型)两大类型系统. 基本类型 分类 整数 short(2) / int(4) / long(8) 字节 byte(-128-12 ...
- 20155238 2016-2017-2 《Java程序设计》第一周学习总结
教材内容总结 浏览教材,根据自己的理解每章提出一个问题 1.Java语言跨平台的依据是什么?标准的出现是否会限制JAVA的开发与发展? 2.怎样理解类?PATH对于Java编写的意义是什么? 3.Ja ...
- 《Java 程序设计》课堂实践项目-类定义
<Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ...
- TCP/IP协议、HTTP协议
一.序: TCP/IP协议是程序开发的基础知识,我们都知道它可以实现不同计算机之间的通信,它是什么意思?怎么实现通信的? 二.TCP/IP协议: (1)协议:约定 (2)tcp/ip:tcp是传输控制 ...
- python基础学习1-类相关内置函数
#!/usr/bin/env python # -*- coding:utf-8 -*- #===issubclass(class,classinfo) 检查class是否是classinfo类的子类 ...
- @Helper辅助方法和@functions自定义函数
1.首先说下@helper辅助方法,当我们在多个视图中共用相同的方法的时候,可以把此方法剥离出来放到一个位置,此时就可以用到@Helper辅助方法,首先我们在解决方案右键添加 App_Code文件夹, ...
- 怎样注册Docker Hub账号
Docker Hub是Docker的远程镜像仓库,类似于GitHub;如果没有搭建本地私有仓库,Docker会默认去Docker Hub拉镜像. 访问Docker Hub官网https://hub.d ...
- centos安装及Xshell连接配置
一.百度下载并安装VMware 二.下载centos 打开https://www.centos.org,点击“get centos now”,点击“DVD ISO”下载(也可以下滑点击“more do ...