数据中心网络架构的问题与演进 — SDN
目录
前文列表
《数据中心网络架构的问题与演进 — 传统路由交换技术与三层网络架构》
《数据中心网络架构的问题与演进 — 网络虚拟化》
《数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构》
《数据中心网络架构的问题与演进 — Overlay 网络》
OpenFlow 源起
OpenFlow 起源于斯坦福大学的 Clean Slate 项目组。Clean Slate 项目的最终目的是要重新发明英特网,旨在改变设计已略显不合时宜,且难以进化发展的现有网络基础架构。在 2006 年,斯坦福的学生 Martin Casado 领导了一个关于网络安全与管理的项目 Ethane,该项目试图通过一个集中式的控制器,让网络管理员方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通讯的安全控制。受此项目(及 Ethane 的前续项目 Sane)启发,Martin 和他的导师 Nick McKeown 教授(时任 Clean Slate 项目的 Faculty Director)发现,如果将 Ethane 的设计更一般化,将传统网络设备的数据转发(Data Plane)和路由控制(Control Plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。
于是,他们便提出了 OpenFlow 的概念,并且 Nick McKeown 等人于 2008 年在 ACM SIGCOMM 发表了题为《OpenFlow: Enabling Innovation in Campus Networks》的论文,首次详细地介绍了 OpenFlow 的概念。该篇论文除了阐述 OpenFlow 的工作原理外,还列举了 OpenFlow 几大应用场景,包括:
- 校园网络中对实验性通讯协议的支持;
- 网络管理和访问控制;
- 网络隔离和 VLAN;
- 基于 WiFi 的移动网络;
- 非 IP 网络;
- 基于网络包的处理。
当然,目前关于 OpenFlow 的研究已经远远超出了这些领域。
「控制转发分离架构」是一个划时代概念,也是 OpenFlow 的典型特征。将控制逻辑从网络设备中分离出来,交给中央控制器集中统一控制,实现网络业务的灵活部署。用于控制的网络称为 “控制面”,用于数据包发送的网络称为 “数据面”。
- 控制面、数据面统一的路由器:

- 控制面、数据面分离的 OpenFlow:

控制面部分为 OpenFlow 控制器,数据面部分为 OpenFlow 交换机,OpenFlow 实现了集中式控制模型的设计。关于 OpenFlow 的详细内容在《OpenFlow Switch 1.3 规范》一文中已有记录,此处不再赘述。
从 OpenFlow 衍生 SDN
OpenFlow 的 “可编程性” 是最为人称道的成就,OpenFlow 网络中的各种设置并不是通过转发数据包的 OpenFlow 交换机来完成的,而是通过统一控制多台 OpenFlow 交换机的 OpenFlow 控制器来完成的。OpenFlow 控制器对网络中的各种设备进行综合管理,这种行为就像对网络进行整体 “编程” 一样。基于 OpenFlow 为网络带来的可编程特性,Nick 和他的团队(包括加州大学伯克利分校的 Scott Shenker 教授)进一步提出了 SDN(Software Defined Network,软件定义网络)的概念。SDN 最初的原型主要是由 OpenFlow 交换机、控制器两部分组成。OpenFlow 的 “可编程性” 是 SDN 的基石。
˙注:实际上 SDN 的概念最早是由 KateGreene 于 2009 年在 TechnologyReview 网站上评选年度十大前沿技术时提出。如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,也可以抽象出一个网络操作系统(Network OS)的概念。这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑结构。
软件定义有啥好处呢?
想象你有一个大的数据中心,里面有很多的网络设备,光交换机就有很多,你希望在交换机上配置一些网络的策略,例如:某个口应该属于某个 VLAN。怎么配置呢?登到这台交换机上去,敲几行命令就搞定了。那么,如果要配置 100 台交换机呢?
此时,你是否希望有一个集中的地方,能看到整个网络的拓扑图,统一配置一下,然后一回车,配置的策略就通过管理网络平面下发到 100 台交换机上。这样整个网络的拓扑结构就不是僵硬的了(不再单纯通过插线,拔线,登陆盒子配置),而是变成了软的,也即通过软件统一控制,这个统一控制的地方我们称为 SDN Controller(控制器),这样的网络拓扑结构,我们称为软件定义的网络。
- SDN VS:

- SDN 三层架构:

- SDN 的特征:
- 控制与转发分离。转发平面由受控转发的设备组成,转发方式以及业务逻辑由运行在分离出去的控制面上的控制应用所控制。
- 控制平面与转发平面之间的开放接口。SDN 为控制平面提供开放的网络操作接口,也称为可编程接口。通过这种方式,控制应用只需要关注自身逻辑,而不需要关注底层更多的实现细节。
- 逻辑上的集中控制。逻辑上集中的控制平面可以控制多个转发面设备,也就是控制整个物理网络,因而可以获得全局的网络状态视图,并根据该全局网络状态视图实现对网络的优化控制。
- SDN 的推进组织:
- ONF(Open Networking Foundation)
- ODL(OpenDayLight)
- ONOS(Open Network Operating System)
- NFV(Network Function Virtualization)
OpenFlow/SDN 的原理其实并不复杂,从严格意义上讲也很难算是具有革命性的创新。然而 OpenFlow/SDN 却引来了业界越来越多的关注,成为近年来名副其实的热门技术。SDN 得以快速发展,得益于互联网公司对 “软件定义一切” 的青睐,因为这种模式更能发挥他们在编程方面的优势。最初 SDN 的发展主要由 Googel,Facebook,Yahoo 等互联网巨头推动,他们希望以此来挣脱网络设备厂商的枷锁,获得更加灵活且契合自身需求的、更加低耗高效的网络基础设施。2011年,成立了开放网络基金会(Open Networking Foundation),专门负责 OpenFlow 标准和规范的维护和发展。同年,第一届开放网络峰会(Open Networking Summit)召开,发表了 SDN 白皮书《Software Defined Networking:The New Norm forNetworks》,为 OpenFlow 和 SDN 在学术界和工业界都做了很好的介绍和推广。2012 年初,召开的第二届开放网络峰会上,Google 宣布已经在其全球各地的数据中心骨干网络中大规模地使用 OpenFlow/SDN,从而证明了 OpenFlow 不再仅仅是停留在学术界的一个研究模型,而是已经完全具备了可以在产品环境中应用的技术成熟度。而后,Facebook 也宣布其数据中心中使用了 OpenFlow/SDN 的技术。

再后来思科、博通、IBM 等网络设备厂商为了应对新的网络虚拟化技术潮流也联合成立了开源平台项目 OpenDayLight,旨在促进 SDN 技术交流和产业化开源机构。但现在 ODL 也逐渐变得商业化,硬件厂商的入局说到底还是为了自身的利益。所以 ONS 最初要求加入者不得为任何网络设备厂商工作,也是希望防止制造商的利益冲突被引入。
数据中心网络架构的问题与演进 — SDN的更多相关文章
- 数据中心网络架构的问题与演进 — NFV
目录 文章目录 目录 前文列表 前言 NFV NFV 的最终目标 NFV 的抽象框架 基础架构层与虚拟基础设施管理层 资源管理与业务流程编排层 OSS 层 SDN 控制层 NFV 的生态合作 NFV ...
- 数据中心网络架构的问题与演进 — 云网融合与 SD-WAN
目录 文章目录 目录 前文列表 云网融合 云网融合的应用场景 SD-WAN SD-WAN 的应用场景 企业组网互联 SD-EN 数据中心互联 SD-DCI 云间互联 SD-CX 企业用户接入云 数据中 ...
- 数据中心网络架构的问题与演进 — 混合云与 VPC 专有网络
目录 文章目录 目录 前文列表 历史背景 混合云 Why hybrid cloud? 混合云市场 混合云的逻辑架构 混合云应用场景 灾难恢复 数据备份 负载扩容 应用部署 开发测试生产部署 混合云产品 ...
- 数据中心网络架构的问题与演进 — Overlay 网络
目录 文章目录 目录 前文列表 数据中心网络架构演进回顾 Overlay 网络 Overlay 网络的优势 基于 VxLAN Overlay 的 Spine-Leaf 网络架构 参考文章 前文列表 & ...
- 数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构
目录 文章目录 目录 前文列表 CLOS Networking Switch Fabric 胖树(Fat-Tree)型网络架构 Fat-Tree 拓扑示例 Fat-Tree 的缺陷 叶脊(Spine- ...
- 数据中心 CLOS 架构
1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚至几十万台.为了降低网络建设和运维成本,数据中心网络的设计者们也竭力将 ...
- [转载] Google数据中心网络技术漫谈
原文: http://www.sdnlab.com/12700.html?from=timeline&isappinstalled=0#10006-weixin-1-52626-6b3bffd ...
- [转帖]数据中心网络里的Underlay和Overlay
数据中心网络里的Underlay和Overlay https://blog.csdn.net/zjc801blog/article/details/54289683 2017年01月09日 15:47 ...
- 数据中心网络(1)-VXLAN
想写个DC系列的文章,站在传统路由交换网络基础上谈谈数据中心网络,一方面是给自己的学习做下总结,另一方面也想分享一些东西. 谈到数据中心网络,能想到的东西无非就VXLAN.SDN.NFV.EVPN这些 ...
随机推荐
- GridView 二维排布
与ListView一维排布相对 public class MainActivity extends Activity implements AdapterView.OnItemClickListene ...
- LNMP安装与配置之Python3
环境 我们是在CentOS7下安装python3,但CentOS已经默认安装了Python2,而 Yum 等工具依赖原来的Python2.所以我们需要稍作配置让Python2与Python3可以共存. ...
- Sereja and Brackets CodeForces - 380C (树状数组+离线)
Sereja and Brackets 题目链接: CodeForces - 380C Sereja has a bracket sequence s1, s2, ..., *s**n, or, in ...
- 布隆算法(BloomFilter)
BloomFilter算法,是一种大数据排重算法.在一个数据量很大的集合里,能准确断定一个对象不在集合里:判断一个对象有可能在集合里,而且占用的空间不大.它不适合那种要求准确率很高的情况, ...
- BZOJ1491 [NOI2007]社交网络[最短路计数]
$n$非常的小,结合题目计算式可以想到$O(n^3)$暴枚$s,t,v$,看$v$在不在$s\to t$最短路上($dis_{s,v}+dis_{v,t}=dis_{s,v}$是$v$在两点最短路上的 ...
- 函数参数-undefined-默认值-可选参数
1.函数参数为undefined时,触发参数默认值 2.实参数量 < 形参数量,多余的形参值为 underfined 3.设置可选参数 1)JS中: 检测 undefined :function ...
- IDEA中使用Sqlite3
去maven下载驱动包 ( jar包 ) 下载地址:http://mvnrepository.com/artifact/org.xerial/sqlite-jdbc/3.23.1 打开IDEA 创建 ...
- JAVA解压ZIP文件
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp ...
- 在jquery中,使用ajax上传文件和文本
function onSubmit (data) { //获取文本 var callingContent = $('#callingContent').val() // 获取文件 var files ...
- C#与数据库有关的控件和属性
BindingNavigator 数据记录导航 BindingSource 与数据源绑定, 常用属性:DataSource.DataMember 常用方法: DataGridView 以表格形式显示 ...