数据中心网络架构演进 — SDN 将控制面与数据面分离

目录

前文列表

数据中心网络架构演进 — 从传统的三层网络到大二层网络架构
数据中心网络架构演进 — 从物理网络到虚拟化网络
数据中心网络架构演进 — CLOS 网络模型的第三次应用
数据中心网络架构演进 — 从 Underlay 到 Overlay 网络

OpenFlow 源起

OpenFlow 起源于斯坦福大学的 Clean Slate 项目组。

2006 年,Clean Slate 项目由美国 GENI 项目资助,最终目的是要重新发明英特网,旨在改变设计已略显不合时宜,且难以进化发展的现有网络基础架构。

在这里插入图片描述

2007 年,斯坦福的学生 Martin Casado 领导了一个关于网络安全与管理的项目 Ethane,该项目试图通过一个集中式的控制器,让网络管理员方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通讯的安全控制
在这里插入图片描述

受 Ethane 项目的启发,Martin 和他的导师 Nick McKeown 教授(时任 Clean Slate 项目的 Faculty Director)发现,如果将 Ethane 的设计更一般化,将传统网络设备的数据转发(Data Plane)和路由控制(Control Plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展

2008 年,他们便提出了 OpenFlow 的概念,并且 Nick McKeown 等人于 2008 年在 ACM SIGCOMM 发表了题为《OpenFlow: Enabling Innovation in Campus Networks》(OpenFlow:校园网的创新使能)的论文,首次详细地介绍了 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 控制器对网络中的各种设备进行综合管理,这种行为就像对网络进行整体 “编程” 一样

2009 年,基于 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年,成立了开放网络基金会(ONF,Open Networking Foundation),专门负责 OpenFlow 标准和规范的维护和发展。同年,第一届开放网络峰会(Open Networking Summit)召开,发表了 SDN 白皮书《Software Defined Networking:The New Norm forNetworks》,为 OpenFlow 和 SDN 在学术界和工业界都做了很好的介绍和推广。

在这里插入图片描述
ONF 的主要发起成员是德国电信、Facebook、Google、微软、雅虎等公司。这些公司要么是网络服务提供商,要么是运营商,没有一个是来自设备商的。他们成立 ONF 的目的,是为了推动 SDN 和 OpenFlow 协议的发展。他们不希望 SDN 这个网络新技术又被设备商控制,成为设备商的赚钱工具。

2010 年,Google 开始将数据中心与数据中心之间的网路连线(G-scale),转换成 SDN 架构。整个改造分为三个阶段。到了 2012 年,整个 Google B4 网络完全切换到了 OpenFlow 网络。

在这里插入图片描述

改造之后,Google B4 网络的链路带宽利用率提高了 3 倍以上,接近 100%。这样的结果毫无疑问是令人震撼的,也坚定了行业对 SDN 的信心。

2012 年初,召开的第二届开放网络峰会上,Google 宣布已经在其全球各地的数据中心骨干网络中大规模地使用 OpenFlow/SDN,从而证明了 OpenFlow 不再仅仅是停留在学术界的一个研究模型,而是已经完全具备了可以在产品环境中应用的技术成熟度。而后,Facebook 也宣布其数据中心中使用了 OpenFlow/SDN 的技术。

2013 年,Google 在 SIGCOMM 上发表了论文《B4: Experience with a Globally-Deployed Software Defined WAN》,详细介绍了 Google 的 WAN 加速 SDN 方案。论文中提及,Google 使用的控制器名叫 ONIX。

面对 SDN 和 ONF,设备商当然也不能无动于衷。2013 年 4 月 8 日,在 Linux 基金会的支持下,作为网络设备商中的领导者,思科、博通、IBM、微软等网络设备厂商为了应对新的网络虚拟化技术潮流也联合成立了开源平台项目 OpenDayLight,旨在促进 SDN 技术交流和产业化开源机构。

在这里插入图片描述

OpenDaylight 提出,SDN 不等于 OpenFlow,人们需要对 SDN 进行 “重新定义”。也就是说,OpenDaylight 强调 SDN 控制器不仅仅局限于 OpenFlow,而是应该支持多种南向协议。同时,OpenDaylight 还强调,应该用分布式的控制平台,取代单实例的控制器。这样可以管理更大的网络,提供更强劲的性能,还能增强系统的安全性和可靠性。

OpenDaylight 成立之后,成员数量增长迅速。但实际上,各个成员都有自己的小算盘。Cisco 作为OpenDaylight项目的牵头人,它主导了其中大部分项目的开发。Cisco 也一直想推自家的 OpFlex 上位。现在 ODL 也逐渐变得商业化,硬件厂商的入局说到底还是为了自身的利益。所以 ONS 最初要求加入者不得为任何网络设备厂商工作,也是希望防止制造商的利益冲突被引入。

除了 Cisco 之外,Big Switch 推出 Big Network Controller 以及对应的开源版本 Floodlight。Juniper 推出的是 Contrial 以及对应的开源版本 OpenContrial。这一时期各种各样的 SDN 控制器处于百家争鸣的状态,发展势头一片大好。

在这里插入图片描述

2014 年 12 月 5 日,ON.Lab 推出了一款创新性的网络操作系统 —— ONOS(Open Network Operating System),对 OpenDaylight 发起了强有力的挑战。

在这里插入图片描述

ON.Lab 全名是 Open Networking Lab(开放网络实验室),最初是由 Parulkar 和 Nick McKeown 共同成立的。就是提出 SDN 的那个 Nick McKeown 教授。On.Lab 的某些职能和 ONF 很类似。2016年10月19日,两个组织宣布正式合并,组成了新的 ONF。

在这里插入图片描述

就这样,围绕 SDN 控制器和协议,各大流派及厂商进行了十多年的明争暗斗,并最终形成了现在的局面。从趋势来看,网络操作系统的概念深入人心,是大势所趋。SDN 控制器作为网络操作系统的核心,重要性不言而喻。

相关阅读:

原文地址:https://www.cnblogs.com/hzcya1995/p/13309555.html