Toward Highly Available and Scalable Software Defined Networks for Service Providers

  • IEEE Communications Magazine
  • 2017
  • 综述类,讨论了控制器作为一个故障点的问题。控制器之间的同步机制以及主备控制器的切换;

Response Time and Availability Study of RAFT Consensus in Distributed SDN Control Plane

  • IEEE Transactions on Network and Service Management
  • 2018
  • 问题:单控制器不可靠;
     并且,对于强一致性的分布式协议(RAFT),提交每个请求(选举备用控制器等)前需要集群中每个成员确认,可能花费大量时间(这与集群大小,网络延迟相关),而很多网络服务是时延敏感的;
  • 方法:基于RAFT,提出一种快速恢复的过程;

Heuristic Approaches to the Controller Placement Problem in Large Scale SDN Networks

  • IEEE Transactions on Network and Service Management
  • 2015
  • 问题:一个网络中满足可用性和快速恢复的最少控制器数量;
     在大多数场景中,很多条件无法同时满足;
     大规模网络或动态网络中,底层资源变化频繁,无法快速找到最佳的恢复方法;
  • 方法:提供工具集,考虑各种条件优先的情况下的分布式控制器放置;
     在大规模网络或动态网络中,提供启发式算法来尽快地找到备用控制器;

In-band control, queuing, and failure recovery functionalities for openflow

  • IEEE Network 
  • 2016
  • 问题:带内的OpenFLow网络中的故障会导致服务的中断,而这种网络的故障恢复还没被考虑;
  • 方法:利用BFD和队列方式来进行带内OpenFlow的快速恢复;

An Efficient Algorithm for Constructing Controller Trees in SDN

  • IEEE Global Communications Conference
  • 2017
  • 问题:以控制器为根的树形SDN网络拓扑中,当一个父节点宕机时,其子树的交换机会失去与控制器的连接;
  • 方法:根据交换机到控制器的距离和非树内边来构造树形拓扑;

Capacity-aware and Delay-guaranteed Resilient Controller Placement for Software-Defined WANs

  • IEEE Transactions on Network and Service Management
  • 2018
  • 解决:控制器放置问题(CCP),针对广域网中的控制器数量和放置方面来提高网络的弹性;
  • 方法:对CCP进行建模,考虑了单个控制器节点宕机时的恢复情况,将备用控制器的选举从CCP问题独立出来,以达到更好的灵活性;

Beehive: Simple distributed programming in software-defined networks

  • Symposium on Software Defined Networking
  • 2016
  • 问题:分布式控制器对于网络编程不友好;
     大部分控制器使用额外的数据库造成时延及其他的问题;
  • 方法:实现一种对编程友好的分布式控制器架构,提供key-value存储,消息队列,故障恢复和实时检测等功能;并为编程人员提供了友好的API;

Ravana: controller fault-tolerance in software-defined networking

  • ACM SIGCOMM Symposium on Software Defined Networking Research
  • 2015
  • 问题:主备控制器切换时,由于状态(控制器和交换机)的不一致导致网络行为不一致;
  • 方法:将网络事件的处理过程看做一个事务处理,发送故障是根据log进行处理;
     使用两段备份协议来备份状态;

FASIC: A Fast-Recovery, Adaptively Spanning In-Band Control Plane in Software-Defined Network

  • IEEE Global Communications Conference
  • 2017
  • 问题:在带内的SDN网络中,由于数据流量和控制流量共享相同的物理连接和设备,数据流的增大可能会导致控制流量丢失或者延迟;
    方法:设计一种带内SDN网络的控制平面,包括自治的控制平面初始化、流量感知来避免控制流量阻塞及快速恢复;快速恢复方面:下发部分的控制逻辑到交换机,允许交换机在控制器不可达时寻找新的控制器;

Primary-Backup Controller Mapping for Byzantine Fault Tolerance in Software Defined Networks

  • IEEE Global Communications Conference
  • 2017
  • 问题:解决拜占庭将军故障恢复问题需要的大量控制器,并且交换机需要同时给多个控制器发送消息;
  • 方法:减少每个交换机的备用控制器的数量,并允许多个交换机共享备用的控制器;同时,在交换机与控制器连接方面,考虑控制器的负债和OF的时延;

Controller Plane的更多相关文章

  1. 关于Kafka区分请求处理优先级的讨论

    所有的讨论都是基于KIP-291展开的.抱歉,这又是一篇没有图的文字. 目前Kafka broker对所有发过来的请求都是一视同仁的,不会区别对待.不管是用于生产消费的PRODUCE和FETCH请求, ...

  2. 容器化 RDS:你须要了解数据是怎样被写"坏"的

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79877076 容器化 RD ...

  3. OpenShift 4.2 Service Mesh

    1.和社区版Istio的区别 OpenShift 4.2的Service Mesh和upstream的Istio项目的增强,除了产品化之外,借用官方文档,区别在于: Red Hat OpenShift ...

  4. PID DC/DC Converter Controller Using a PICmicro Microcontroller

    http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011794 ...

  5. POCO Controller 你这么厉害,ASP.NET vNext 知道吗?

    写在前面 阅读目录: POCO 是什么? 为什么会有 POJO? POJO 的意义 POJO 与 PO.VO 的区别 POJO 的扩展 POCO VS DTO Controller 是什么? 关于 P ...

  6. 尝试asp.net mvc 基于controller action 方式权限控制方案可行性

    微软在推出mvc框架不久,短短几年里,版本更新之快,真是大快人心,微软在这种优秀的框架上做了大量的精力投入,是值得赞同的,毕竟程序员驾驭在这种框架上,能够强力的精化代码,代码层次也更加优雅,扩展较为方 ...

  7. iOS controller解耦探究实现——第一次写博客

    大学时曾经做过android的开发,目前的工作是iOS的开发.之前自己记录东西都是通过自己比较喜欢的笔记类的应用记录下了.直到前段时一个哥们拉着我注册了一个博客.现在终于想明白了,博客这个东西受众会稍 ...

  8. angularjs 1 开发简单案例(包含common.js,service.js,controller.js,page)

    common.js var app = angular.module('app', ['ngFileUpload']) .factory('SV_Common', function ($http) { ...

  9. ASP.NET Core MVC 中的 [Controller] 和 [NonController]

    前言 我们知道,在 MVC 应用程序中,有一部分约定的内容.其中关于 Controller 的约定是这样的. 每个 Controller 类的名字以 Controller 结尾,并且放置在 Contr ...

随机推荐

  1. Oracle_spatial的函数介绍

    Oracle_spatial的函数 一sdo_Geom包的函数: 用于表示两个几何对象的关系(结果为True/False)的函数:RELATE,WITHIN_DISTANCE 验证的函数:VALIDA ...

  2. 函数式编程编程即高阶函数+monad

    高阶函数负责数据的单次映射: monad负责数据处理流的串联,并使得串联函数具有相同的形式. 同时moand负责基础类型和高阶类型间的转换.

  3. 1.HBase In Action 第一章-HBase简介(后续翻译中)

    This chapter covers ■ The origins of Hadoop, HBase, and NoSQL ■ Common use cases for HBase ■ A basic ...

  4. 【洛谷】【单调栈】P1901 发射站

    [题目描述:] 某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发 ...

  5. gatewayworker中使用tcp协议连接硬件设备获取数据报错解决办法!

    运行后过段时间报错, Warning: Error while sending STMT_PREPARE packet. PID=1776 in D:\phpStudy\WWW\api\mysql-m ...

  6. MetaMask/zero-client

    https://github.com/MetaMask/zero-client MetaMask ZeroClient and backing iframe service architecture ...

  7. Arthas开源项目

    本文主要围绕着Arthas是什么.能做什么.安装和使用等三个方面内容来讲解,希望对初学者和对此有兴趣的朋友有帮助. 一. Arthas是什么 文档地址: https://alibaba.github. ...

  8. Drools实战系列(三)之eclipse创建工程

    web工程和maven工程是目前比较常用的,当然对现在而言,maven工程是开发中最常用的. 两种Drools项目的创建方式,一种是直接创建Drools项目,另一种是基于Maven创建Drools项目 ...

  9. 微信小程序开发 [02] 页面注册和基本组件

    1.页面注册 既然我们希望跳转到新的页面,那自然要新建页面相关的文件才行.在开篇已经讲过,一个小程序页面由四个文件组成,假如我们的页面名为welcome,那么这四个文件则是: welcome.js w ...

  10. Ubuntu忘记密码的解决办法

    ubuntu忘记root密码怎么办?如果普通用户忘记了怎么办 第一种方法: 无论你是否申请了root帐号,或是普通账号密码忘记了都没有问题的! 1.重启ubuntu,随即长按shift进入grub菜单 ...