深入SDN(三):SDN、OpenFlow和NOS是什么?

本文解答四个问题:

问题一:What is
SDN?

之前根据自己的经验和学习状况回答了如何去研究SDN&OpenFlow?,到底What
is SDN?

现有的SDN课程中在介绍SDN时,基本都是两步走:

  • 第一步引用Nick McKeown的观点,类比PC产业,从“Refactoring
    Functionality”的角度来定义SDN,直接了当非常容易理解,感觉豁然开朗。

  • 第二步引用Scott Shenker的观点,从“Redefining
    Abstractions”的角度来思考SDN,有点形而上的意思,但是仔细研究,发现确实是那么回事。后来看Larry
    Peterson
    在2013sigcomm上做《Zen and the Art of Network
    Architecture》的演讲,才明白“技术是可以用哲学方式思考的”。

关于SDN的确切定义,我最喜欢ONRC的描述,用词用句非常准确:

  • SDN is changing how we design, build and operate networks to better
    support growth, agility and innovation. SDN’s key attributes
    include: separation of the data and control planes; a uniform,
    vendor-agnostic interface, called 
    OpenFlow, between control and data
    planes; and a logically centralized control plane that offers a consistent,
    network-wide view to programers or operators
    . The logically
    centralized control plane is realized using a network operating system that
    constructs and presents a logical map of the entire network to services or
    control applications implemented on top of it. With SDN, a network operator or
    third party can introduce a new service or customize network behavior by
    writing a simple software program that manipulates the logical map of a slice
    of the network. The rest is taken care of by the network operating system.This
    view of SDN supports boundless innovation, with a truly modular architecture
    that allows providers, operators and end users to mix and match the
    applications, network operating systems, hypervisors and switches they want to
    best address their requirements. Network managers can finally run applications
    to manage their network and deliver the unique performance, scale, service and
    functionality needs for their organization.

而在《SDN白皮书》中是这样描述SDN体系结构的三个特点: In the SDN architecture,the control and data
planes are decoupled,network intelligence and state are logically
centralized,and the underlying network infrastructure is abstracted from the
applications。后续13年底发布的《SDN体系结构概述》中的描述: The aim of SDN is to provide open
interfaces enabling development of software that can control the connectivity
provided by a set of network resources and the flow of network traffic though
them, along with possible inspection and modification of traffic that may be
performed in the network.

国内来看,弯曲评论陈首席之前认为(Logically) Centralized
Controller是非常有意思的点(Jennifer在自己的课程中也特别认可这一点) ,卫峰谈到SDN的三个本质属性:1.控制与转发分离,2.开放的编程接口,3.集中化的网络控制;@wang_russell博客中的一些列文章阐明了对SDN的理解,谈到本质属性,跟卫峰一个观点。这三种观点都不敢妄加评论,
大家可以比较分析一下。

下面是我个人的理解:

首要的当然是“控制与转发的分离”,这里的分离一方面是指decouple,所谓解耦合,在控制与转发之间定义了清晰的开放接口,让控制和转发都可以独立演进,在不断改进的同时还能向后兼容;另一方面这里的decouple又特指物理位置上的远离,这一点与PC的控制/处理分离是不同的,与分布式系统的通信类似,依赖于消息。

其次是“控制面的抽象,转发面的抽象”,前者是指摆脱之前控制面的功能堆砌,解决一个问题多一个协议,多一个协议多一个控制面功能的尴尬,为了使得网络易用,控制面需要抽象,一旦抽象也能持续演进。与PC的类比来看,控制面的抽象就是控制面的软件层次化,一方面NOS负责对转发面的机器级控制,同时给上层应用提供良好的开放接口,另一方面应用在更高抽象级别上建立模型,这样一来,控制面本身也是NOS与Apps的分离,也能独立演进,并且可以借鉴计算机发展以来软件工程积累的经验;后者是指对网络数据包处理行为进行通用化,建立通用转发抽象模型,一个关键是通用转发模型的体系结构,一旦这个定下来,之后就是修修补补和具体实现了。

再次才是“逻辑上的集中控制”,个人认为这一点已经不那么清晰明确了(也可能是自己的局限性,没理解透),尤其再加上Logically这个修饰词,还有Kadoo的local
controller的概念,到底(Logically) Centralized
Controller在实现层面是怎么操作的?当网络的规模足够庞大时,就需要分布式的控制器集群来作为整个网络的控制面,这是一种层次型的分布式协作系统,还是将巨量的任务分成块来处理?我更愿意把最终的控制面理解成一个逻辑上的a
big controller,一边是network global view,另一边是传统软件工程师。

为什么要弄清楚SDN的本质属性?其实之前挺不愿意去讨论“本质属性”的,因为以我的理解深度可能还没到这个程度,更多愿意分析别人目前在各个方向上的成果,开源项目和产业界的产品策略,但后来发现如果要“保持SDN学习/研究的专注性,保持对各个技术方向的敏锐性”,就必须先弄清楚这个。假如什么都是SDN,那么SDN就什么都不是了。

最后,小结一下SDN体系结构:类似PC的开放分层体系结构,data plane逐步通用化,control plane从data
plane分离出来,摆脱之前的协议(功能)堆砌,进行抽象且要实现(Logically)
Centralized,在控制面内部再次进行分层:NOS和Apps。

如下是ON.LAB给出的SDN简史:

The roots of SDN can be traced back to projects such as RCP and 4D. Martin
Casado invented SANE and Ethane in 2007 while doing his PhD, co-advised by Nick
McKeown (Stanford) and Scott Shenker (Berkeley). Some of the basic SDN ideas can
be traced back to SANE and Ethane (separation of control plane from forwarding,
programmatic control, or flow-based). The technology really took off at Nicira,
where the first versions of NOX and OpenFlow were created, and later the ONIX
distributed controller.

问题二:What is
OpenFlow?

问题三:What is
NOS?

问题四:What is SDN
Apps?

时间: 2024-10-08 06:30:14

深入SDN(三):SDN、OpenFlow和NOS是什么?的相关文章

华三SDN产业链分析

华三通信从2009年起开始跟踪SDN技术的发展,并投入大量研发力量进行相关产品的研发,截止目前已经开发了丰富的产品和解决方案.华三通信一直 积极与各行业用户在SDN领域进行紧密的合作与研究,并结合用户业务需求推出多种场景SDN解决方案,是国内SDN领域实践案例最为丰富的网络厂商之一. 华三于2013年推出支持OpenFlow1.3版本的可商用交换机,于2014年推出首款达到商用要求的SDN控制器产品VCF,并先后与联通研究院. 电信广州院.清华大学.江苏省未来网络创新研究院等建立联合实验室与战略

深入SDN(二):关于SDN/OpenFlow的学习&研究路线

我个人的理解: 第一步:当然是SDN的history,这里主要指的是学术界的研究情况: The Road to SDN, Nick Feamster, Jennifer Rexford, 2013,从学术概念上讨论SDN这一路在时间轴上的演进 Maturing of OpenFlow and SDNthrough Deployments,Nick McKeown, 2012,斯坦福在研究和部署的四个阶段的成果,以及两者之间的互相影响,可以说是SDN是怎样炼成的 A Survey of SDN:

OpenFlow和SDN的历史和原理介绍

OpenFlow相关的历史.新闻:http://blog.csdn.net/jincm13/article/details/7825754起源与发展[https://36kr.com/p/5035985] OpenFlow起源于斯坦福大学的Clean Slate项目组 [1] .CleanSlate项目的最终目的是要重新发明英特网,旨在改变设计已略显不合时宜,且难以进化发展的现有网络基础架构.在2006年,斯坦福的学生Martin Casado领导了一个关于网络安全与管理的项目Ethane[2]

也谈OpenFlow, SDN, NFV

Copyright (2014) 郭龙仓. All Rights Reserved. OpenFlow 传统的网络环境中,仅仅有路由器/交换机之间的接口/协议是标准化的,可是在网络设备内部,数据平面和控制平面事实上是耦合在一起的,每一家厂商都有自己专有的系统来实现这两个平面,并且数据平面和控制平面不可以分开独立演化. 在 初期网络环境比較简单的时候,这样的数据平面和控制平面的耦合事实上无关紧要:可是如今的企业内部网络环境愈来愈复杂,大量异构的网络设备.复杂的组织架构. 竞争日趋激烈的市场环境--

SDN openflow 学习小得

一.openflow 大概的工作原理 SDN 的一个大概简陋图, 同网段通讯 1.我们传统网络 pc1 10.1.1.1 要找同一子网的 pc2 10.1.1.2  通过广播洪泛.找到pc2,然后转发. 2.在openflow 中是怎么工作的呢? openflow 在转发层设备上只负责数据的一个转发,相对传统的交换机,没有MAC表,但是有一个流表,根据流表来转发. 但是,转发层设备不会自己计算.学习.维护流表,流表来自sdn控制器. 这里简单描述一下PC1 如何发送数据包到PC2, 先声明几个名

软件定义网络(Software Defined Network, SDN)

软件定义网络(Software Defined Network, SDN)在InfoWorld于2011年11月公布的将影响未来10年的十项新技术中排名第二.2012年7月,SDN代表厂商Nicira被VMware以12.6亿美元收购,随后Google宣布成功在其全球10个IDC网络中部署SDN,这促使SDN引起业界的强烈关注.到底SDN与传统网络架构有何区别?其带来哪些颠覆性创新? 现有网络中,对流量的控制和转发都依赖于网络设备实现,且设备中集成了与业务特性紧耦合的操作系统和专用硬件,这些操作

SDN是什么?

SDN到底是什么?虽然这个概念已经被炒了很多年,但还没有人对其给出一个明确的概念.在互联网上也涌现出了很多关于SDN思考的优秀文章,秉承着"做优质内容搬运工"的思想,SDNLAB君收集了下面一些文章与大家分享.尽可能让大家从多个不同的角度对SDN有一个更立体的理解. 1. 深入思考SDN的核心本质:从SDN=OpenFlow回到软件定义网络作者盛科张卫峰@盛科张卫峰,在SDN领域,卫峰总有很深刻的思考,这篇文章主要谈论SDN的本质,其实很多人接触SDN都很纠结这个单词首字母的组合,顾名

SDN与NFV技术在云数据中心的规模应用探讨

Neo 2016-1-29 | 发表评论 编者按:以云数据中心为切入点,首先对SDN领域中的叠加网络.SDN控制器.VxLAN 3种重要技术特点进行了研究,接下来对NFV领域中的通用服务器性能.服务链两类关键问题展开具体分析.最后,阐述了前期开展的SDN/NFV技术试验工 作进展及相关结论,并对VDC应用产品进行了展望. 1 引言 伴随着云计算技术的兴起,数据趋于大集中,传统电信系统网络架构成为阻碍云数据中心发展的巨大桎梏.为满足数据中心在云计算环境下的虚拟网络资源调度和共享需求,未来的数据中心

万台规模下的SDN控制器集群部署实践

目前在网络世界里,云计算.虚拟化.SDN.NFV这些话题都非常热.今天借这个机会我跟大家一起来一场SDN的深度之旅,从概念一直到实践一直到一些具体的技术. 本次分享分为三个主要部分: SDN & NFV的背景介绍 SDN部署的实际案例 SDN控制器的集群部署方案 我们首先看一下SDN.其实SDN这个东西已经有好几年了,它强调的是什么?控制平面和数据平面分离,中间是由OpenFlow交换机组成的控制器,再往上就是运行在SDN之上的服务或者是应用.这里强调两个,控制器和交换机的接口——我们叫做南向接