关闭

我们为什么需要SDN?

标签: SDN架构
5312人阅读 评论(0) 收藏 举报

引言: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架构与实现》,点此链接可在博文视点官网查看此书。
                    图片描述
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                       图片描述

2
0
查看评论

为什么需要SDN

一、影响数据中心/企业网的显著变化趋势: 数据中心的合并:许多企业将部分网络或全部网络移到了公有云提供商。服务器虚拟化新的应用架构:要求不同的应用间相互隔离云计算BYOD 数据中心的扩大要求管理员能够管理越来越复杂的网络和设备,不熟各种复杂的应用,以及越来越大的数据流量。所以说,是数据中...
  • u012447563
  • u012447563
  • 2015-08-25 20:39
  • 905

SDN基础理解

1. 何为SDN      1) 为什么需要一个全新的网络架构,比如SDN?        在传统的架构中,交换机和路由器不得不在操作6000种分布式协议的控制下实施整个网络的智能。这就意味着,即使只有一个网元增加了一种...
  • freezgw1985
  • freezgw1985
  • 2013-11-21 23:37
  • 11153

我们为什么需要SDN?

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

SDN之出现原因解析

软件定义网络(Software Defined Networking,SDN)作为一种新型的网络架构,正在大型的企业内部或是数据中心逐步取代传统的七层网络架构。同传统网络相比,SDN最本质的创新在于实现了网络控制层面和转发平面的分离。那么,相比传统网络,SDN的优势在哪?SDN在将来完全取代传统网络...
  • u010558281
  • u010558281
  • 2016-10-31 16:11
  • 430

我们为什么需要SDN?---致新人

引言:SDN为什么会出现?是什么原因使得学术界提出SDN?我们为什么需要SDN?如果你刚接触SDN方案时,你一定有这样的疑问。而问题的答案是:我们需要拥有更多可编程能力的网络,来支持快速增长的网络业务需求。本文选自《重构网络:SDN架构与实现》。   众所周知,相比发展迅速的计算机产业,网络产...
  • github_38885296
  • github_38885296
  • 2018-01-05 11:00
  • 18

论为什么需要软件工程

工程这个东西是很有意思的,我们说科学是掌握规律,技术是利用规律克服大自然的限制,而工程,却是利用技术来克服人自身的限制。技术会告诉你,造个金字塔,把石头垒成四棱锥就行了,如果你是个力大无穷的巨人,或者是个能意念移物的魔法师,你就啪啪啪把石头搬过来堆起来就完事了。但我们是凡人,我们力量很小,我们很弱,...
  • sunansheng
  • sunansheng
  • 2017-12-14 15:06
  • 341

为什么说Neutron不是SDN

作者:SDN qq群#北京-小武,微博@北京-小武  个人博客: http://blog.csdn.net/night_elf_1020 http://www.sdnap.com/sdnap-post/5601.html @盛科张卫峰&...
  • night_elf_1020
  • night_elf_1020
  • 2015-03-07 15:49
  • 959

SDN牛人

转载至SDNLab:http://www.sdnlab.com/8366.html Scott Shenker 上榜指数:5颗星 上榜人物:Scott Shenker教授,加州大学伯克利分校 上榜理由:美国工程院院士,ACM和IEEE的Fellow,计算机科学界被引用次数最多的论文作者。...
  • wangdimmy
  • wangdimmy
  • 2015-05-26 15:36
  • 604

SDN基础知识了解

SDN(Software Defined Network)是最近新兴的网络技术,它使得网络进行结构的创新,同时允许网络运营商更多地控制、定制和优化自己的基础设施,因此能够减少整体资本和运营成本。SDN是一个新兴的网络架构,它使得网络控制和转发进行分离,并且可以直接编程。将控制迁移到可计算的设备上(原...
  • zhanglei415415415
  • zhanglei415415415
  • 2014-04-19 11:14
  • 1348

云计算中为什么需要sdn?

1 基于VLAN的网络需要手动修改物理网络。使虚拟网络的流量直接暴露在物理网络中,不安全。 2.openflow的首个数据包总是要去一趟控制器,并且openflow交换机需要专用的转发芯片。
  • wjw7869
  • wjw7869
  • 2016-09-25 20:47
  • 501
    个人资料
    • 访问:3921006次
    • 积分:56473
    • 等级:
    • 排名:第57名
    • 原创:1462篇
    • 转载:83篇
    • 译文:1篇
    • 评论:3786条
    博客专栏
    文章存档
    最新评论