本文参照SDN原理视频而成:SDN原理

Controller 概念

从上面这个图片,我们能够知道,Controller 是一个非常重要的东西:承上启下,左右拓展。

从整个SDN的架构来看,控制器 处在整个架构最核心的部分:控制层。上面承接应用,下面承接网络硬件设备。

在SDN的商业战争中,谁掌握了控制器,谁制定了控制器的标准,谁在产业链就最有发言权。华为,思科等传统大厂商仍然在主导核心的控制器。

比如你开发了一个控制器,也就是提供了一个平台,所有的开发者都基于你这个控制器来进行开发,你就处在一个主导的地位。Windows 的开发平台在之前没有取得成功,其中的一个原因就是开发者没有过多的参与进来。

所以,抓住控制器,也就抓住了SDN的核心:向下需要控制一定数量的网络设备,易于管理和配置;向上的应用和客户需要有一定的开放程度,能够执行应用的请求;东西接口的话,这使得Controller 能够采用一种分布式的策略部署,通过跑选举协议,做匹配的切换。

Controller 功能

南向功能支持 OpenFlow

通过OpenFlow等南向接口技术,对网络设备进行监控:比如拓扑监视,流表下发,策略定制等等。

需要注意的是,SDN中并不是所有的交换机都需要采用OpenFlow。这里引一段文字,来源于《SDN:网络创新的利器》文:张卫峰

SDN != OpenFlow

尽管SDN是基于OpenFlow提炼并发展起来的, 但两者并不等同。SDN是一个网络架构级的概念,强调软件定义网络,强调软硬件的分离。而 OpenFlow 则是一项具体的技术,它强调转发面的 标准化。

SDN的转发面和南向接口可以通过OpenFlow来实 现,也可以通过别的技术,比如转发面可以不遵循OpenFlow标准,而是通过传统表项的组合来实现。只是OpenFlow是目前看起来最可能标准化的技术,也是跟SDN关系最深的技术。现在一个新的组织 OpenDayLight 正在制定从上到下全套的新标准,也许到时候不会使用OpenFlow也说不定。

北向功能支持 仍然处在讨论阶段

目前SDN除了南向接口的OpenFlow有了标准化的文案和规范之外,北向接口技术仍然没有一个标准。

但是,就算是这样,Controller也需要对北向接口技术提供支持:比如 REST API(主),SOAP,OSGI等等。这样才能被上层应用所调用。

东西向功能支持

分布式的控制器架构 仍然是业界的共识,在后续的SDN版本中,应该会慢慢加大支持力度。

东西向技术指的是 多控制器之间 如何进行选举(类比OSPF根据RID选举DR/BDR),协同(交互),主控制器和备用控制器的切换等等。

Google B4 就是采用 分布式的控制器架构 的实例。

如果我们只使用一个控制器,那么如果黑客破解了这个控制器,就控制了整个网络;因此为了安全性,需要多个控制器,并利用东西向接口技术来交互。

控制器列表:开源SDN控制器和商用SDN控制器一览

2016/9/4

SDN原理 控制层 Controller控制器的更多相关文章

  1. .NET/ASP.NET MVC Controller 控制器(深入解析控制器运行原理)

    阅读目录: 1.开篇介绍 2.ASP.NETMVC Controller 控制器的入口(Controller的执行流程) 3.ASP.NETMVC Controller 控制器的入口(Controll ...

  2. springMvc基本注解:@Component、@Repository(持久层) 、@Service(业务逻辑) 、@Controller(控制层)

    1.@Controller(控制层) :就是action层 2.@Service(业务逻辑) :业务逻辑层,负责处理各种控制层的操作 3.@Repository(持久层) :称为“持久化”层,负责对数 ...

  3. 二、ASP.NET MVC Controller 控制器(一:深入解析控制器运行原理)

    阅读目录: 1.开篇介绍 2.ASP.NETMVC Controller 控制器的入口(Controller的执行流程) 3.ASP.NETMVC Controller 控制器的入口(Controll ...

  4. Springboot 使用 JSR 303 对 Controller 控制层校验及 Service 服务层 AOP 校验,使用消息资源文件对消息国际化

    导包和配置 导入 JSR 303 的包.hibernate valid 的包 <dependency> <groupId>org.hibernate.validator< ...

  5. NET/ASP.NET MVC Controller 控制器(一:深入解析控制器运行原理)

    阅读目录: 1.开篇介绍 2.ASP.NETMVC Controller 控制器的入口(Controller的执行流程) 3.ASP.NETMVC Controller 控制器的入口(Controll ...

  6. 接收的参数为日期类型、controller控制层进行数据保存、进行重定向跳转

    目录 1.接收的参数为日期类型 2.controller控制层进行数据保存 3.controller层如何进行重定向跳转(因为默认是请求转发) 4.静态资源的映射 1.接收的参数为日期类型 WEB-I ...

  7. SDN原理 OpenFlow协议 -1

    本文基于SDN原理视频而成:SDN原理 OpenFlow OpenFlow 协议 和 传统的路由选择协议 有很多相似的地方,同时在某些地方也具有一定的颠覆性. 路由表,由IP地址和子网掩码组成.MAC ...

  8. SDN原理 OpenFlow协议 -3

    问题4:流表匹配 OF1.1版本 这是OF1.1版本的操作,引入了多流表,1.0版本并没有多流表. 多流表的匹配称为 流水线处理:交换机从流表0开始查找,按照流表序号从小到大匹配. 每个包按照优先级去 ...

  9. SDN原理 OpenFlow协议 -2

    本文由SDN原理视频而成:SDN原理 流表 FlowTable --- OpenFlow的核心 问题3 流表项 Flow Entry 单流表(OpenFlow 1.0版本) -> 多流表(Ope ...

随机推荐

  1. maven setting详细解读

    全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${user.home} ...

  2. 310实验室OTL问题(2)

    1.PyOptimization代码学习心得 (1).该部分由三个分块组成(按完成的相应的任务).第一部分,运行函数. 以optimization.py为入口程序,其思路是:首先获取路径,然后,初始化 ...

  3. .net各版本framework官方下载地址

    版本 链接 说明 Microsoft .NET Framework 4(独立安装程序) https://www.microsoft.com/zh-cn/download/details.aspx?id ...

  4. HyperLogLog in Practice: Algorithmic Engineering of a State of The Art Cardinality Estimation Algorithm

    HyperLogLog参考下面这篇blog, http://blog.codinglabs.org/articles/algorithms-for-cardinality-estimation-par ...

  5. What Powers Instagram: Hundreds of Instances, Dozens of Technologies(译文,转)

    add by zhj: 对译文略有修改.原文发表时,Instagram还没被Facebook收购,读完只感觉Instagram这三个后台工程师真牛逼. 三个人就可以搞定1400万注册用户.不过,另一方 ...

  6. centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 使用邮箱系统 第三十一节课

    centos   邮件服务  腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25  收邮件协议:pop3 端口110  iredmail安装配置 ...

  7. Docker Compose 入门使用指南

    Compose is a tool for defining and running multi-container Docker applications. With Compose, you us ...

  8. PAT 1105 Spiral Matrix[模拟][螺旋矩阵][难]

    1105 Spiral Matrix(25 分) This time your job is to fill a sequence of N positive integers into a spir ...

  9. Spring笔记一

    什么是Spring spring (由rod johnson创建的一个开源框架) spring是一个开源框架,spring是于2003 年兴起的一个轻量级的java 开发框架,由rod johnson ...

  10. cocos代码研究(13)Widget子类EditBox学习笔记

    理论基础 一个用来输入文本的类,继承自 Widget , 以及 IMEDelegate. 代码部分 Public枚举类型 enum KeyboardReturnType键盘的返回键类型. enum I ...