我们为什么需要SDN?

引言:SDN为什么会出现?是什么原因使得学术界提出SDN?我们为什么需要SDN?如果你刚接触SDN方案时,你一定有这样的疑问。而问题的答案是:我们需要拥有更多可编程能力的网络,来支持快速增长的网络业务需求。
本文选自《重构网络:SDN架构与实现》。

  众所周知,相比发展迅速的计算机产业,网络产业的创新十分缓慢。每一个创新都需要等待数年才能完成技术标准化。为了解决这个问题,SDN创始人Nick McKeown教授对计算机产业的创新模式和网络产业的创新模式进行了研究和对比。在分析了计算机产业的创新模式之后,他总结出支撑计算机产业快速创新的如下三个因素。

  • 计算机工业找到了一个面向计算的通用硬件底层:通用处理器,使得计算机的功能可以通过软件定义的方式来实现。
  • 计算机功能的软件定义方式带来了更加灵活的编程能力,使得软件应用的种类得到爆炸式的增长。
  • 计算机软件的开源模式,催生了大量的开源软件,加速了软件开发的进程,推动了整个计算机产业的快速发展,Linux开源操作系统就是最好的证明。

相比之下,传统的网络设备与上世纪60年代的IBM大型机类似,网络设备硬件、操作系统和网络应用三部分紧耦合在一起组成一个封闭的系统。这三部分相互依赖,通常隶属于同一家网络设备厂商,每一部分的创新和演进都要求其余部分做出同样的升级。这样的架构严重阻碍了网络创新进程的开展。如果网络产业能像当今计算机产业一样,也具备通用硬件底层、软件定义功能和开源模式三要素,一定能获得更快的创新速度,最终像计算机产业一样取得空前的发展。

  正是在这种思路的影响下,McKeown教授团队提出了一个新的网络体系结构:SDN。在SDN架构中,网络的控制平面与数据平面相分离,数据平面将变得更加通用化,变得与计算机通用硬件底层类似,不再需要具体实现各种网络协议的控制逻辑,而只需要接收控制平面的操作指令并执行即可。网络设备的控制逻辑转而由软件实现的SDN控制器和SDN应用来定义,从而实现网络功能的软件定义化。随着开源SDN控制器和开源SDN开放接口的出现,网络体系结构也拥有了通用底层硬件、支持软件定义和开源模式三个要素。从传统网络体系结构到SDN网络体系结构的演进关系如下。

          
                    传统网络架构向SDN架构演进示意图

  所以可以看出,Nick McKeown教授在分析计算机产业创新模式的基础上,对传统网络系统的三部分功能模块进行了重新划分,在每层之间建立统一的开放接口,从而形成类似计算机架构的SDN体系结构。

  除了从Nick McKeown教授的思路去理解为什么SDN会出现以外,还可以从另外一位SDN创始者Shenker教授的观点中顺藤摸瓜,进一步了解为什么SDN会出现。

  “为了让系统更好地工作,早期需要管理复杂性而后期需要提取简单性”是由美国学者唐·诺曼提出的系统设计理念。在这个理念的启发下,Shenker教授对现阶段的网络系统进行了分析,并得出了结论:网络发展了这么多年,仍然处于“管理复杂性”阶段,越来越多的网络新协议和新算法使得网络控制平面变得越来越复杂。但是现在的网络用户却对网络的易用性有更高的要求,希望网络具有更多的可编程能力,从而自动化、智能化网络管理。所以对于当下的网络而言,当务之急是如何解决从“管理复杂性”阶段转变到“提取简单性”阶段的问题。

  Shenker教授以计算机软件编程为例进行分析。编程语言发展初期,程序员必须处理所有底层硬件细节,整个编程方式处于“管理复杂性”阶段;后来出现的高级编程语言对底层硬件细节进行了抽象,提出了操作系统、文件系统和面向对象等抽象概念,使得编程变得更加容易。从计算机软件编程的发展中可以看出,“抽象”是完成这个转变的关键。

  而对于网络而言,现有的分层协议可以看作一种数据平面抽象模型,但是控制平面依然只是网络功能和网络协议的堆砌,缺少合适的抽象模型。所以,网络需要建立控制平面的抽象模型。

  而在SDN架构中,SDN控制平面、数据平面通用抽象模型和全局网络状态视图三种抽象模型实现了包括控制平面抽象在内的网络抽象架构。SDN控制平面抽象模型支持用户在控制平面上进行编程去控制网络,而无须关心数据平面的实现细节;SDN数据平面通用抽象模型将不同协议的匹配表整合起来,形成多字段匹配表,解决了网络协议堆砌问题;集中式的SDN控制平面也可以统计网络状态信息,提供描述网络状态的抽象模型。因此,通过进一步的抽象,SDN可以使网络从“管理复杂性”阶段到“提取简单性”阶段转变,满足网络用户对易用性的需求,使网络管理更加简单,更加自动化和智能。这也是为什么需要SDN的原因之一。

  对比两位SDN创始人的观点:Nick McKeown教授从“系统功能重构(Refactoring Functionality)”的角度来分析、解决当下的网络问题,而Scott Shenker教授却从“重新定义抽象(Redefining Abstractions)”的角度来尝试解决现有的网络问题。归根结底,这两种思路从不同的角度阐述了当下网络需要更多可编程能力的事实,而这也正是为什么需要SDN的真正原因。虽然两位教授的思路不同,但殊途同归,有异曲同工之妙。

  本文选自《重构网络:SDN架构与实现》,点此链接可在博文视点官网查看此书。
                    
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                       

时间: 2024-10-28 03:26:31

我们为什么需要SDN?的相关文章

利用SDN扩展虚拟网络

  SDN可以将你带到现有网络没有到过的地方,但你可能要重新考虑转发表. SDN被认为是企业实现完全虚拟化网络的主要途径,乃至实现完全虚拟数据中心的主要方式. 所有这些虚拟化的主要好处之一是规模.不受硬件限制,SDN环境将能够根据用户的变化而变化,这带来了随时随地实现数据连接的时代. 然而,如果是这样的话,为什么还有这么多围绕虚拟网络平台的可扩展性限制的问题出现呢? 转发表限制 事实证明,虽然控制平面和转发平面的分离可以带来很多好处,但虚拟网络仍然受到转发表能力的限制,虚拟网需要转发表来记录推动

应当关注SDN控制器的哪些要素?

  软件定义网络潜在用户所面临的一个关键挑战是判断特定SDN控制器的特定价值,毕竟控制器作为网络应用和网络基础设施之间的桥梁发挥着关键性作用.但目前还没有一个可以规范SDN的模型,也没有一个SDN控制器必须要遵守的任何标准. 虽然Linux基金会旗下的多厂商OpenDaylight项目的出现为统一的模块化控制器架构所需的SDN堆栈带来了希望,但是对于控制器需要提供什么样的特定服务,厂商当中仍然存在着许多不同的意见.用户的压力在于确定SDN控制器具有什么样的能力,以及这些功能是否能够帮助实现期望的

简单聊聊VPC和SDN/NFV

注:本文部分内容来自网络搜索的整合 大家都知道,目前各大云服务商都提供了VPC(Virtual Private Cloud)产品,VPC已经成为用户使用云首先需要考虑的云产品,甚至是比ECS更早需要考虑的云产品,可以说是基础中的基础.首先,我们还是来简单介绍下什么是VPC?VPC又有什么好处?再来讨论我们今天的主题,即阿里云VPC和SDN及NFV的关系. 什么是VPC 可以从下面三点来理解VPC. 首先,VPC可以认为是一个网络容器.用户可以免费开通这个容器,开通后再在这个容器中"放置"

基于 SDN 的虚拟私有云研究

本文中主要介绍了虚拟私有云系统的功能特点;针对目前云计算资源池网络隔离较差和配置比较复杂的问题,分析云计算资源池对于虚拟私有云的需求.同时,还对基于SDN技术实现虚拟私有云的两种主要方式进行分析,对每种方式的技术原理及架构进行描述.对两种方式的优缺点进行比较. 引言 云计算的大规模运营给传统网络架构和应用部署带来挑战[1-2],新一代网络支撑这种巨型的计算服务,不论是技术革新还是架构变化,都需要服务于云计算的核心要求,即动态.弹性.灵活,并实现网络部署的简捷化.具体来说传统网络面临的挑战主要4点

阿里云SDN/NFV之架构与实践

摘要:在10月23日阿里云网络技术演讲上,来自阿里云网络产品团队孙成浩(花名:梵叶)分享了<阿里云SDN/NFV之架构与实践--一次自然的技术演进>.作为网络产品团队中负责产品相关的技术架构架构师,他结合阿里云的网络云产品探讨了阿里云虚拟网络的网络技术架构,并且结合SDN和NFV分享了阿里云的思考和实践. 他的演讲内容主要分为三个方面:1.为什么抽象出来了SDN和NFV的概念,如何一步一步摸索出这两套架构 2.如何理解SDN和NFV?.3未来的SDN/NFV架构上的展望.以下是本次演讲上的发言

阿里云SDN、NFV技术揭秘

摘要:阿里云的网络产品,为海量的客户提供了私密.灵活.高效.可靠.安全的基础服务,在由和阿里云网络团队联合主办的2017阿里云网络技术在线高峰论坛上,阿里云高级技术专家仙侠就为大家揭开了阿里云的网络产品背后技术架构,并且分享了阿里云网络团队对SDN和NFV相关技术的理解和实践. 本文内容根据演讲嘉宾分享视频以及PPT整理而成. 一.什么是NFV 公有云客户的需求:"既要"."又要"."还要" SDN.NFV的概念对于很多同学而言是比较陌生的,其实

【SDN控制器分析之二】ONOS网络状态表述

概述 控制平面所维护的关键信息是网络状态.控制平面必须聚合此信息,并使其对应用程序可用.此外,为了保持可扩展性和组件重用,应用程序应该免受协议细节的影响,即使网络状态信息是通过特定协议的方式获得的. ONOS协议不可知的拓扑结构是采用两个互补机制:网络发现和配置来实现的.前者利用网络协议让ONOS识别网络元素的位置和/或性能,在功能使能的情况下会主动开展相关的采集工作.后者允许应用程序和操作人员配置预期的拓扑,或者为网络组件提供提示,这些组件在网络中不能被典型的方法发现. 下一节首先说明ONOS

SDN的发展之路由谁说了算?

SDN: 谁来主导 到目前为止,SDN还处在发展的一个初级阶段,单单对于SDN的定义,市面上就有着很多种说法.各大厂商不但纷纷发布自己的SDN策略,解决方案之间也是千差万别,市场上已经开始出现一部分厂商各行其是的现象. SDN虽然有很好的承诺,但在实施.标准化.规模和安全策略方面,仍然有许多问题待解决.现在市场上不仅支持SDN的交换机越来越多,而且也有更多的厂商开始涉足控制器领域.在讨论环节,Arista网络公司业务开发和联盟副总裁Ed Chapman对当前SDN的发展表示了担忧:"在实施SDN

SDN学习笔记:分布式与集中式控制层面

"水在人类文明发展历程中的作用非常重要.用来存储.处理和传播信息及知识的计算机的发展历程,与人类储存.使用和管理水的历程有很多相似之处.在原始部落以及游牧时期,人们的生活和生产局限在靠近水源的范围,需要水的时候,要去江河湖泊里取水回来,'江河湖泊'就像'主机'.到了个人计算机时代,如同人类的农耕时代,由于家家都有水井,人们的生活和生产获得了更多的自由和便利:'水井'很像个人计算机,自给自足,但是不能共享.大量闲置,严重浪费和低效.等我们到了城市,有了发达的自来水网络,'水'被集中起来处理.随时.

按需选择 3种不同的SDN实现模式

SDN的目的 软件定义网络(SDN)是电信行业冉冉升起的新星,该技术能够将网络中的较低级的功能提取到统一化的控制平面上,从而让管理员能够从中央控制台引导流量.SDN旨在使网络更易于实现互操作性,降低对传统昂贵的专有硬件的以来,从而降低运营成本(OPEX)和资本支出(CAPEX). 然而,如果没有事先选择好实现SDN的方式,企业就无法获得SDN带来的优势.选择错误的实现方式甚至会浪费时间,并给企业网络带来问题.本文讨论了不同的部署SDN的模型,同时对不同模型的优缺点加以分析. 基于交换机的SDN