目录

前文列表

数据中心网络架构的问题与演进 — 传统路由交换技术与三层网络架构

数据中心网络架构的问题与演进 — 网络虚拟化

数据中心网络架构的问题与演进 — 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 几大应用场景,包括:

  1. 校园网络中对实验性通讯协议的支持;
  2. 网络管理和访问控制;
  3. 网络隔离和 VLAN;
  4. 基于 WiFi 的移动网络;
  5. 非 IP 网络;
  6. 基于网络包的处理。

当然,目前关于 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 的特征
  1. 控制与转发分离。转发平面由受控转发的设备组成,转发方式以及业务逻辑由运行在分离出去的控制面上的控制应用所控制。
  2. 控制平面与转发平面之间的开放接口。SDN 为控制平面提供开放的网络操作接口,也称为可编程接口。通过这种方式,控制应用只需要关注自身逻辑,而不需要关注底层更多的实现细节。
  3. 逻辑上的集中控制。逻辑上集中的控制平面可以控制多个转发面设备,也就是控制整个物理网络,因而可以获得全局的网络状态视图,并根据该全局网络状态视图实现对网络的优化控制。

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的更多相关文章

  1. 数据中心网络架构的问题与演进 — NFV

    目录 文章目录 目录 前文列表 前言 NFV NFV 的最终目标 NFV 的抽象框架 基础架构层与虚拟基础设施管理层 资源管理与业务流程编排层 OSS 层 SDN 控制层 NFV 的生态合作 NFV ...

  2. 数据中心网络架构的问题与演进 — 云网融合与 SD-WAN

    目录 文章目录 目录 前文列表 云网融合 云网融合的应用场景 SD-WAN SD-WAN 的应用场景 企业组网互联 SD-EN 数据中心互联 SD-DCI 云间互联 SD-CX 企业用户接入云 数据中 ...

  3. 数据中心网络架构的问题与演进 — 混合云与 VPC 专有网络

    目录 文章目录 目录 前文列表 历史背景 混合云 Why hybrid cloud? 混合云市场 混合云的逻辑架构 混合云应用场景 灾难恢复 数据备份 负载扩容 应用部署 开发测试生产部署 混合云产品 ...

  4. 数据中心网络架构的问题与演进 — Overlay 网络

    目录 文章目录 目录 前文列表 数据中心网络架构演进回顾 Overlay 网络 Overlay 网络的优势 基于 VxLAN Overlay 的 Spine-Leaf 网络架构 参考文章 前文列表 & ...

  5. 数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构

    目录 文章目录 目录 前文列表 CLOS Networking Switch Fabric 胖树(Fat-Tree)型网络架构 Fat-Tree 拓扑示例 Fat-Tree 的缺陷 叶脊(Spine- ...

  6. 数据中心 CLOS 架构

    1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚至几十万台.为了降低网络建设和运维成本,数据中心网络的设计者们也竭力将 ...

  7. [转载] Google数据中心网络技术漫谈

    原文: http://www.sdnlab.com/12700.html?from=timeline&isappinstalled=0#10006-weixin-1-52626-6b3bffd ...

  8. [转帖]数据中心网络里的Underlay和Overlay

    数据中心网络里的Underlay和Overlay https://blog.csdn.net/zjc801blog/article/details/54289683 2017年01月09日 15:47 ...

  9. 数据中心网络(1)-VXLAN

    想写个DC系列的文章,站在传统路由交换网络基础上谈谈数据中心网络,一方面是给自己的学习做下总结,另一方面也想分享一些东西. 谈到数据中心网络,能想到的东西无非就VXLAN.SDN.NFV.EVPN这些 ...

随机推荐

  1. Linux用户组管理及用户权限2

    用户.组和权限管理    Multi-tasks,Multi-Users,多任务,多用户的计算机    每个使用者:        用户标识.密码:            Authentication ...

  2. uvalive 5905 Pool construction

    题目链接 题意: 有一个花园,有些地方是草地,有些地方是洞,现在要在这个花园中修建一个泳池,泳池全部由洞构成. 把洞变成草地需要花费一定的费用,把草地变成洞也需要花费一定的费用,并且泳池的边缘的草地上 ...

  3. python+Appium自动化:记录遇到的坑

    1.打开 uiautomatorviewer同步的的时候突然报错 Error while obtaining UI hierarchy XML file: com.android.ddmlib.Syn ...

  4. Jmeter的安装配置

    最近我在学习软件测试,然鹅学习最大的成效就是实践,这不刚看完视频之后就开始自己动手了... 首先要下载软件--JMETER: 1).在输入框中输入jmeter,然后找到Apache  Jmeter 官 ...

  5. windows设置自动清理log

    @echo off set srcDir="D:\xx\xx\xx" set daysAgo=5 forfiles /p %srcDir% /s /m *.* /d -%daysA ...

  6. 使用OmniDiskSweeper清理MAC

    Mac 经常提示我磁盘空间已满,管理磁盘空间. 然后我就管理了一下,发现系统竟占90个G,有点懵逼.然后网上查了资料 使用了一个名叫OmniDiskSweeper的超级强大的工具,而且还是免费的,它能 ...

  7. 二维数组转化为json数组

    二维数组转化为json数组 -1 var colName = [ ["08020092", "AVX", "1200m", "12 ...

  8. Java-五种线程池,四种拒绝策略,三种阻塞队列(转)

    Java-五种线程池,四种拒绝策略,三种阻塞队列 三种阻塞队列:    BlockingQueue<Runnable> workQueue = null;    workQueue = n ...

  9. Spring Boot 中application.yml与bootstrap.yml的区别(转)

    yml与properties其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在. 推荐使用yml,更简洁. bootstrap与applic ...

  10. 浅析flex 布局

    Flex基本概念: 容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis).主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end: ...