SDN的核心:可编程性

SDN的思想:SOA面向服务

面向服务的体系结构(service-oriented architecture SOA)

使网络连接的大量计算机易于合作,以 服务 而不是人工交互来交流信息。
使得更可用的,更灵活又可拓展的应用和服务得以构建,测试,部署和管理。

软件定义网络

网络是IT行业的基石。
网络如果以正确的方法来架构和运用,就能成为目前最大的业务推动者:把网络,服务器和存储紧密联系在一起,使SOA原则应用于网络层。
SDN 和 API 更加方便地实现 对网络和服务的 编程意图 和 状态接收。
将SOA原则应用于网络层,网络变的更加容易,它提供的服务更加可以通过编程来实现,更加灵活。使得企业可以以更快的速度转换IT技术。

究竟什么是软件定义网络?

SDN是一种简化网络的方法 和 体系架构,使得 网络对其工作负载和服务的要求更具有反应性,从中也可以窥探出未来网络的发展趋向:走向智能化。
SDN提供一种功能:使得网络能够被运营商以编程的方式来访问,这样的目的是 1)实现网络自动化管理 以及服务编排。 2)能够跨路由器,跨交换机进行网络配置。3)对执行操作的应用程序 和 网络设备的操作系统 进行解耦合;即将应用程序和操作系统之间的关系理顺。

注:耦合就是程序中的一部分跟其他部分之间的关系。解耦合就是把必要的耦合理顺,同时尽量减少不必要的耦合(这一句其实就是高内聚低耦合的通俗解释)。

SDN为什么会出现?

从历史上看,网络配置的特征 是静态的,不变的,通常是不允许触碰的。需要在设备上面人工手动,基于命令行来进行配置。

静态的网络配置导致了什么问题?
1)可管理性差 2)核心的可拓展性差

需要对付一个比较大的网络(有许多的交换机,路由器以及服务器)的时候,比如需要一个操作来应用到在整个操作系统的所有设备的时候,人工管理很明显力不从心:根本不够灵活和敏捷;并且不能支持动态配置和瞬时数据(即配置并不是持久地保持在配置文件中)。

于是乎,SDN出现了。

SDN体系的一个主要功能是:在一个平台上编写应用程序,利用从不同来源获得的信息,根据这个网络的拓扑结构和情况 专门定制对这个网络的操作。

SDN体系 三种理解

理解一:集中式的管理下 分布式1)控制2)管理3)数据平面。

这句话,从前半句话和后半句话进行理解。首先 集中式的管理,代表着SDN体系和传统体系的不同:由我们计划的策略决定的一些规则 集中地进行管理(比如策略的安全性,质量以及监控)。其次 分布式的平面,代表着我们决定的策略以及一些规则 是具体应用在网络中的每一台网络设备上的。

策略针对特定的网络 集中地进行一些修改和增删。而策略所需要执行的操作,则是具体到这个特定网络中的每一台网络设备中。

这样做的好处:灵活,可拓展性强,比起之前的旧的网络体系来说,控制能力大大增强。

理解二:SDN并不是取代现有的路由器和交换机的控制平面,而是进行补充。

怎么补充?SDN提供整个网络的拓扑结构,原有的控制平面只能看到小部分,而现在SDN提供了整个网络的拓扑结构和状态,这使得我们的决策更加具有准确,更加具有弹性:比如某一台网络设备出现了故障,我们能够迅速的根据相关的网络拓扑以及周围网络设备所提供的信息解决故障,提供了最大的保护。

理解三:SOA 和 SDN

开篇介绍了SOA的概念:使网络连接的大量计算机易于合作,以 服务 而不是人工交互来交流信息。

从上文来看,SDN是如何贯彻SOA的?
SDN提供一种功能:使得网络能够被运营商以编程的方式来访问
与SOA联系:使得服务的构建和测试,部署与管理,通过编程的方法来实现,更加灵活,具有可拓展性。

也就是说,SDN是一种面向服务的体系结构(SOA),这是它通过 可编程性 来实现的。

可编程性,体现了SOA的理念,是SDN的核心。

小结一:

从上文来看,SDN可以从两个方面入手:
1)它是如何解决传统网络的问题(可拓展性差,不灵活等等)的?-利用 集中式的管理下的 分布式控制平面,管理平面,数据平面;提供全局的网络拓扑图。
2)它所贯彻的思想?SOA面向服务,利用服务来进行网络设备之间的交流。如何实现?SDN的可编程性
3)SOA和SDN的可编程性 带来了什么?提升了SDN网络的可拓展性和灵活程度,这一点和解决传统网络的问题联系了起来;使用户能够更加便捷的管理网络,运维人员和管理员能够迅速响应需求;使得应用程序更加贴近网络。

SDN前瞻 软件定义网络的一些概念的更多相关文章

  1. SDN:软件定义网络

    近期高级网络课的小组任务是在老师给定的范围内自选方向主题研究并做展示报告.我们组选了sdn.原以为这东西会是工业界无人问津的概念化产品,Google了一下却发现事实上sdn挺火的,因为它可能带来的可扩 ...

  2. 什么是SDN(软件定义网络)(转载)

    软件定义网络(Software Defined Network, SDN)在InfoWorld于2011年11月公布的将影响未来10年的十项新技术中排名第二.2012年7月,SDN代表厂商Nicira ...

  3. SDN前瞻 传统网络架构的危机:危机“四”起

    本文基于SDN导论的视频而成:SDN导论 在网络发展速度如此之快的今天,传统网络的架构充满了危机,主要有这四个问题(3+1). 1)传统网络的部署和管理 非常困难 2)分布式网络架构凸显瓶颈 3)流量 ...

  4. SDN前瞻 传统网络的缺陷

    引言 在网络发展速度如此之快的今天,传统网络的架构充满了危机,主要有这四个问题: 传统网络部署管理困难. 分布式架构瓶颈出现. 流量控制难真正实现. 设备不可编程. 现在的网络厂商 种类繁多的网络厂商 ...

  5. SDN前瞻 该来的来了!SDN 软件定义网络

    SDDC:Software Defined Data Center 软件定义数据中心,全数据中心软件化. 在我们接触SDN概念之前,服务器虚拟化,软件虚拟化技术已经是非常成熟了.如果网络能够被虚拟化, ...

  6. 《软件定义网络:SDN与OpenFlow解析》

    <软件定义网络:SDN与OpenFlow解析> 基本信息 原书名:SDN: Software Defined Networks 原出版社: O'Reilly Media 作者: (美)Th ...

  7. 《SDN软件定义网络从入门到精通》导论课

    http://mp.weixin.qq.com/s?__biz=MjM5MTM3MzIzMg==&mid=209513316&idx=1&sn=e5dbd9a2ccccb88d ...

  8. DevOps之软件定义网络SDN

    唠叨话 关于德语噢屁事的知识点,仅提供专业性的精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <软件定义网络SDN(Software Defined Network)> 关于软 ...

  9. openflow 和 sdn (软件定义网络) 原理和教程

    OpenFlow概述 OpenFlow简介 通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议.OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTa ...

随机推荐

  1. js+jquery(二)

    1.获取列表框所选中的全部选项的值 $("select").change(function() { // 设置列表框change 事件 // 获取列表框所选中的全部选项的值 ale ...

  2. {Repeater控件} Repeater控件的用法流程及实例

    一.Repeater控件的用法流程及实例: 1.首先建立一个网站,新建一个网页index.aspx. 2.添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中. 3 ...

  3. js调试模式怎么看变量是在哪里定义的?

    1. 2.

  4. 解读 Android TTS 语音合成播报

    随着从事 Android 开发年限增加,负责的工作项目也从应用层开发逐步过渡到 Android Framework 层开发.虽然一开始就知道 Android 知识体系的庞大,但是当你逐渐从 Appli ...

  5. 原生JS去解析地址栏的链接?超好用的解决办法

    在做SPA应用程序的时候,往往需要通过地址栏链接的 hash 值来进行业务逻辑: <script type="text/javascript"> //file:///C ...

  6. 模拟退火算法A Star not a Tree?(poj2420)

    http://write.blog.csdn.net/postedit A Star not a Tree? Time Limit: 1000MS   Memory Limit: 65536K Tot ...

  7. postgresql架构基础(转)-(1)

    PostgreSQL使用一种客户端/服务器的模型.一次PostgreSQL会话由下列相关的进程(程序)组成: 一个服务器进程,它管理数据库文件.接受来自客户端应用与数据库的联接并且代表客户端在数据库上 ...

  8. G1垃圾收集器入门-原创译文

    G1垃圾收集器入门-原创译文 原文地址 Getting Started with the G1 Garbage Collector 概览 目的 本文介绍了如何使用G1垃圾收集器以及如何与Hotspot ...

  9. SVN 配置和使用

    SVN使用环境 使用SVN管理源代码,必须有2套环境 服务器 用来存储客户端上传的源码 一般都是在Windows环境下安装Visual SVN Server 客户端 用来提交.回退.修改.下载等操作 ...

  10. ubuntu 下安装 jdk

    1. 下载 jdk : https://www.oracle.com/technetwork/java/javase/downloads/index.html 2. 解压 jdk 到系统默认 jdk ...