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. handlebars的使用

    web 开发中,js 解析JSON 是经常的事情.非常繁琐.handlebars 使用了模版,只要你定义一个模版,提供一个json对象,handlebars 就能吧json对象放到你定的模版中 htm ...

  2. [算法] N 皇后

    N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行.同一列.同一斜线上的皇后都会自动攻击). 一. 求解N皇后问题是算法中回溯法应用的一个经典案例 回溯算 ...

  3. java如何重命名文件?

    /** * 修改文件名 * @param oldFilePath 原文件路径 * @param newFileName 新文件名称 * @param overriding 判断标志(如果存在相同名的文 ...

  4. mac java环境变量配置

    在终端输入java -version命令,如果没安装系统会自动弹出个东西让你安装,下载完之后打开,再点java -version,如果有显示就说明安装成功了. 在终端输入  ç 可以得到JAVA_HO ...

  5. mysql 内连接原理

  6. 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis

    springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...

  7. python重定向sys.stdin、sys.stdout和sys.stderr

    转自:https://www.cnblogs.com/guyuyuan/p/6885448.html 标准输入.标准输出和错误输出. 标准输入:一般是键盘.stdin对象为解释器提供输入字符流,一般使 ...

  8. PAT 1137 Final Grading[一般][排序]

    1137 Final Grading(25 分) For a student taking the online course "Data Structures" on China ...

  9. 模块讲解----XML模块

    XML实现不同语言或者程序之间进行数据交换的协议XML文件格式如下: 1.浏览器返回的字符串格式类型有: a.HTML b.Json c.XML 2.XML格式如下: <data> #表示 ...

  10. SpringData_JpaSpecificationExecutor接口

    不属于Repository体系,实现一组 JPA Criteria 查询相关的方法 Specification:封装 JPA Criteria 查询条件.通常使用匿名内部类的方式来创建该接口的对象 / ...