什么是软件定义网络?

简而言之,软件定义网络(SDN)是一种可以促进网络敏捷性和灵活性的体系架构。SDN的主要技术目的是通过软件应用程序,来实现集中式的受控网络。通过深入探究,您会发现,软件定义网络的背后宗旨是通过智能化的编程服务,来满足不断变化的业务需求,进而组织和构建一套能够实现一致性和全面管理的网络。

借助基于应用程序编程接口(API)的软件应用,SDN允许开发人员在集中控制的环境中进行网络编程。因此,企业可以通过实施通用的SDN控件,开启全新的网络平台,并且能够在不增加技术复杂性的情况下,管理整个网络。

由于我们所在网络中,承载的内容越来越趋向于多样性,对于云计算服务越来越深度的依赖性,以及在不同的移动设备之间越来越频繁的互动与联动,我们需要通过SDN及时地根据消费者业务供应商的动态变化,持续将各类业务融合到一起,从而在根本上改变传统业务的处理方式。可以说,为了达到预定的控制效果,许多企业都正在积极地通过SDN的技术服务,来改善其原有的运营模式与绩效。

众所周知,网络设计对于业务模型的数字化是至关重要的,而数字化往往得益于SDN技术在其关联方面的落地与使用。那些以提供SDN服务为主企业,通过网络虚拟化的革命性实现方式,将网络的控制面与数据面相互分离,从而实现了网络流量的灵活控制,并以类似于智能管道的方式,为核心网络及应用的创新提供了良好的环境平台。

Cisco SDN的普及在很大程度上归功于基于控制器的集中式应用,和可编程的网络应用。它们可以提供企业所处网络的整体视图。目前,SDN也正在改变着各大数据中心的现有架构,以及它们所连接的网络模型。据此,企业的既有网络也能够根据实际的应用需求,进行自动调整。

什么是SDN控制器?

作为Cisco网络中的“大脑”,SDN控制器其实是一种软件,它可以对企业的整体网络提供集中化的视图,以及全面的控制。企业内、外部的IT运营人员、经理、乃至网络管理员,都可以通过管理基础架构的转发层面,来调节流经控制器的数据流。通过基于策略的管理器,SDN能够有效地组织网络中的各项资源和整体行为。网络管理员也可以将那些原有应用于设备的策略,一致性地应用到网络中的多个节点上。

其实从本质上说,这些策略都是针对网络入向流量的规则。它们可以为目标网络进行访问级别的分级,进而对允许访问的资源分配相应的优先级。通过集中化的网络状态视图,我们可以基于预设的各种策略,来实现简单而统一的网络管理。

软件定义网络的体系架构

SDN的体系架构包括如下三个层面:

  • 应用

  • 控制

  • 基础架构

其中,在应用层上包括了许多网络上正在运行的服务,控制层是通过被视为网络“大脑”的SDN控制器来进行管理,而基础架构层则是由各种网络交换机、路由器、以及其他支持性的硬件所组成。这些层面通过彼此通信,来发挥各种的作用。为了促进交互,SDN通常会带有如下两个相互独立的应用程序接口:

  • 南向(Southbound)API

  • 北向(Northbound)API

其中,北向API被用于在控制层和基础架构层之间进行通信;而南向API被用于在控制层和应用层之间进行通信。

什么是北向API?

为了获得可用的资源,SDN的各种应用会依赖控制器来确定网络的基础架构状态。由管理员预先建立的网络策略,能够按照应用流量的需求,来协调SDN控制器的路由。它们之间的相互关系,在Cisco的软件定义网络(SDN)和网络功能虚拟化(Network Function Virtualization)文档中,都进行了详细的诠释。

应用层通过主动与控制层通信,能够获悉其资源需求的内容和位置。接着,控制层根据网络的可用性,来组织资源“订单”,并进行交付。然后,控制层利用智能情报(intelligence)来产生具有同步延迟(synchronized latency)和安全特性的理想应用路径。值得注意的是,北向API的组织过程并非手动配置,而是被预先编程为自动进行的。

什么是南向API?

在南向API中,SDN控制器(控制层)通过各种路由器和交换机,与网络中的基础架构层进行通信。它能够指导网络基础架构,遵循由控制器设定的应用数据路径。尽管控制器的主要功能是改进路由器和交换机用于移动数据的方式,但是网络基础架构中的数据的去向并不取决于物理设备或路由通道。就智能情报而言,控制器具有做出最佳决策和调整数据移动路径的作用。

SDN的作用

SDN除了能够提供可编程的网络集中式视图,和一致性的网络资源,以满足不断变化的业务需求之外,SDN还提供了许多实用的技术和业务服务,其中包括:

(1) 集中化的管理和可编程性

SDN的控制功能和转发功能是相互分离的,您可以通过开放的源代码、或专有的自动化工具,来通过编程的方式配置目标网络。网络的智能情报主要集中在控制器(即:大脑)的软件之中,该软件可以将目标网络作为单个交换机,以提供集中化的视图。

(2) 最小化的运营支出

SDN的大部分应用(包括各种网络软件的更新)都是自动化的。由于避免了为每一项业务或网络需求,而添置网络基础架构,因此SDN能够将运营的支出降至最低。它通过统一策略,并且在网络范围内进行传播,从而减少人为错误的可能性。可以说,通过将网络管理员、或操作员的常规任务转为自动化,SDN极大地减少了网络管理的时间开销。

(3) 敏捷性与灵活性

SDN旨在通过更加良好的敏捷性和灵活性,以帮助企业在现有基础架构中,部署最新的应用和服务,进而实现业务目标。在服务进行各种实际更新和创建时,我们只需进行简单的修改,便可将其集成并发布到整个网络之中。

1

end

【扫盲】小白基础-SDN详解相关推荐

  1. 小白入门!网络安全基础知识详解(附知识问答)

    小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...

  2. python 快速排序_小白入门知识详解:Python实现快速排序的方法(含实例代码)...

    前言: 今天为大家带来的内容是:小白入门知识详解:Python实现快速排序的方法(含实例代码)希望通过本文的内容能够对各位有所帮助,喜欢的话记得点赞转发收藏不迷路哦!!! 提示: 这篇文章主要介绍了P ...

  3. python编程语法大全-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...

  4. python编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  5. 阿里云DDoS基础防护详解防护阈值黑洞时间详细说明

    阿里云DDoS基础防护是免费赠送给用户的,每台实例都可以免费试用DDoS基础防护,护云盾分享DDoS基础防护的详细说明,包括防护阈值.防护流量.安全信誉及黑洞时间等: DDoS基础防护详解 阿里云免费 ...

  6. python基础编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  7. 史上最小白之Transformer详解

    1.前言 博客分为上下两篇,您现在阅读的是下篇史上最小白之Transformer详解,在阅读该篇博客之前最好你能够先明白Encoder-Decoder,Attention机制,self-Attenti ...

  8. [网络安全提高篇] 一一九.恶意软件动态分析经典沙箱Cape的安装和基础用法详解

    终于忙完初稿,开心地写一篇博客. "网络安全提高班"新的100篇文章即将开启,包括Web渗透.内网渗透.靶场搭建.CVE复现.攻击溯源.实战及CTF总结,它将更加聚焦,更加深入,也 ...

  9. java基础(十三)-----详解内部类——Java高级开发必须懂的

    java基础(十三)-----详解内部类--Java高级开发必须懂的 目录 为什么要使用内部类 内部类基础 静态内部类 成员内部类 成员内部类的对象创建 继承成员内部类 局部内部类 推荐博客 匿名内部 ...

最新文章

  1. 机器学习的两种计算范式
  2. JSPServlet学习手册
  3. delphi 打包工具_每年帮你省钱20万的砖头打包方式,是你想要的吗?
  4. 200905阶段一C++链表与继承特性
  5. 使用VMware VSphere WebService SDK进行开发 (五)——根据虚拟机的名称获取对应主机的IP地址
  6. java推荐系统算法,阿里“推荐系统”背后的算法介绍
  7. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (19) - 系统代理
  8. xamarin.android searchview的一些用法
  9. CC创作共用版权协议,要求署名+非商业+相同方式共享
  10. JDK打印的疑问:CUPSPrinter有何用处?
  11. VC编程使计算机休眠
  12. 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–5 Bert 方案
  13. c语言bmp位图读入,c语言 bmp位图差分
  14. ZZL字符串匹配算法
  15. 2opt邻域搜索算法—以旅行商问题为例
  16. Docker 理论以及隔离
  17. dBSPL、dBu、dBV、dBm、dBVU、dBFS等等和分贝有关的名词解析
  18. 切换cuda版本之后/usr/local/cuda/lib64找不到的问题
  19. 本地部署 VS 云服务
  20. java毕业设计居民个人健康信息与个人健康服务综合平台mybatis+源码+调试部署+系统+数据库+lw

热门文章

  1. 适合入门代码审计之熊海cms
  2. aliyun服务器安装git,g++
  3. 6.windows线程切换_主动切换
  4. 反编译apk文件教程(查看java代码篇)
  5. 1、CSS 框模型概述(盒模型)
  6. 5、HTML块级元素及行内元素
  7. Python异步爬取知乎热榜
  8. Acwing 第 1 场热身赛 【完结】
  9. ActiveMQ添加商品接收消息
  10. Java多线程两种实现方式的对比