前言

课程名称:软件定义网络

课程地址 Coursera上新的一期还没开课,所以是YouTube。

InstructorNick Feamster

Get Started

对于本次课程,主要的新内容有:

  • 可编程性
  • 控制平面和数据平面
  • 问题修复(Troubleshooting)
  • 用法举例
  • OpenCloud
  • 数据中心
  • NFV(and Future of SDN)

在过去的几年,人们对于 SDN(Software Defined Networking,软件定义网络)的兴趣增长了。SDN的一些思想早在20年前中就有所体现,有一些思想甚至能够追溯到电话网络的时代。SDN 在下面三个方面有所进步。

  • Active Networking:通过网络传送的数据包活跃网络计算。软件定义网络将交通系统决定在哪里发送(控制平面)从底层系统转发到选定的目的地(数据平面)。实现网络可编程性(programmable)。
  • 控制和数据平面分离。不是一个新鲜的话题。为数据平面和控制平面提供接口供它们交互。
  • OpenFlow API与其他网络操作系统。OpenFlow 是第一个被广泛接受的SDN开放接口实例,在控制平面和可编程网元设备中发挥作用。

Active Networking

随着互联网的发展,用户对于网络的需求越来越大,对于各种应用的需求也越来越大,网络的研究者们也想实施各种新的想法。Active Networking 是为了实现网络可编程性的新尝试。科技进步和发展、硬件设备价格的下降推动其发展。用户日益增长的需求量也使得布置网络技术更加困难,所以带来了许多挑战。

Active Networking 给我们带来的思路有:

  • 网络中的可编程接口
  • 网络可虚拟化(virtualization)
  • 多路分解(基于网络中的交换机、路由器)
  • 一种统一的网络结构—— middlebox orchestration

虽然有的思路并没有成为现实,但为我们带来了美好的愿景。

Control/Data Separation

科技界早已发现将数据平面和控制平面分离是有好处的,而且这种理念对于发展网络可编程性相当地实用。从一个比较狭窄的角度,解决一些问题,比方说网络交通情况。有许多公司、研究者在研究和开发控制平面和数据平面之间的接口,也有在研发(逻辑上的)控制中心技术的。

网络是在发展的,基于最初的网络架构,已经给现有网络管理带来一定的问题。研究数据平面和控制平面的分离,就是为了解决这部分问题。

Control/Data Separation的最重要的两个特点是

  1. 有一个逻辑上作为中心的控制器,为路由器和交换机提供接口
  2. 分布式状态管理。Distributed state management(of controllers)

OpenFlow

OpenFlow被许多人视为“推倒重来的全新设计”的理念先驱和SDN讨论的发起者。现实中OpenFlow最初是作为是斯坦福大学网络研究的一部分而设想和实现的,也有一部分是因为网络存在的问题而被推动的。许多供应商、芯片制造商、学术界也乐于看到网络思路的创新。

OpenFlow贡献了新的协议和API,而且为未来的网络操作系统提供了一种思路,已至少成为SDN常见的定义的一部分。

  • 带有开放性API的数据平面,与控制平面分离。
  • 新的一个Layer,用于状态(指转发状态)管理实例化。
  • 控制逻辑

学习SDN时,最重要的一点是平衡愿景和实用性。OpenFlow在提供具有可编程性的网络这个愿景上,基于现有硬件支持上,实现了比较好的实用性。

如果想把SDN的观点延伸到网络的其他角落中去,心中就更要记住平衡美好的理想和现实。

参考链接

Software Defined Networking(Week 1)的更多相关文章

  1. Software Defined Networking For Dummies, Cisco Special Edition

    从接触SDN开始,不论是硬件还是软件,一直都是从具体的点开始,慢慢的勾勒出自己认为的SDN的样子,相信读完这本思科出的关于SDN的书会对其有新的认识 这本书的名字就是Software Defined ...

  2. Improving Network Management with Software Defined Networking

    Name of article:Improving Network Management with  Software Defined Networking Origin of the article ...

  3. Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking

    A method of transferring data between a software defined network (SDN) and an information-centric ne ...

  4. Software Defined Networking(Week 2, part 2)

    History of SDN 1.3 - 1.4 课程地址 Network Virtualization 网络可虚拟化,可以说是SDN的一项核心内容,同样也源自很多先前的技术和思想.我们先讨论何为网络 ...

  5. Software Defined Networking(Week 2, part 1)

    History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...

  6. A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges

    将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...

  7. Software Defined Networking(Week 3, part 1)

    Control and Data Plane Seperation 课程地址 Overview 今天正式地学习一个控制与数据平面分离.学习完本节,应该要掌握何为控制和数据平面,了解它们的功能以及好处, ...

  8. Software Defined Networking(Week 2, part 3)

    Control of Packet-switch Network 我们已经讨论过中心控制网络的原理,但主要是以电话网络做模型的.现在我们来看看对于分组交换网络的控制是如何改进的. Why Separa ...

  9. RFIDler - An open source Software Defined RFID Reader/Writer/Emulator

    https://www.kickstarter.com/projects/1708444109/rfidler-a-software-defined-rfid-reader-writer-emul h ...

随机推荐

  1. C语言实现随机数

    最近在看<The C Programming Language>这本书,看到一个关于随机数的知识点,有种豁然开朗的感觉.以前总靠死记硬背,也不明白为啥是这样,而且总把srand()遗漏.相 ...

  2. 20155238 2016-2017-2 《Java程序设计》第三周学习总结

    教材学习内容总结 类定义使用class关键词,名称使用Cloths,建立实例运用New关键词 Clothes c1 = new Clothes(); = :制定参考名称参考某个对象 == :比较参考名 ...

  3. 2017-2018-2 《网络对抗技术》20155322 Exp6 信息搜集与漏洞扫描

    [-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实践过程 2.1-Google hacking & ZoomEye 2.2-DNS.IP信息收 ...

  4. idea web项目debug模式实时更新按钮不生效原因

    必须两个都开启才能生效,单按按钮不能生效,但是有时候自动更新不生效的时候按按钮后可以生效, 如果前端目录或后端内容实在不更新,就删掉out目录和target目录,重新启动服务器即可

  5. JAVAWEB 遍历mysql结果集时 字段为0、false、null的问题

    foreach遍历查询mysql中的tinyint字段时一直查都是各种0,false,null 发现原来是实体类中的变量名和mysql中的列名不一样出的bug 所以说列名和实体类中的相关变量名是要保持 ...

  6. 快速搭建属于自己的mongodb数据库

    前言 MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写,支持Windows,Linux,OSX,Solaris等平台,默认端口为27017,是一个效率非常高的nosql数据库. 我的 ...

  7. js中哈希表的几种用法总结

    本篇文章只要是对js中哈希表的几种用法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. <html> <head> <script type=" ...

  8. h5小球走迷宫小游戏源码

    无意中找到的一个挺有意思的小游戏,关键是用h5写的,下面就分享给大家源码 还是先来看小游戏的截图 可以用键盘的三个键去控制它,然后通关 下面是源代码 <!doctype html> < ...

  9. x5webview 自定义全屏界面

    集成X5WEBVIEW可以选择全屏模式为标准全屏还是x5全屏,而不设置默认为false. 首先看看标准全屏的基本设置, if (webView.getX5WebViewExtension() != n ...

  10. Linux之linux基础命令2

    目录相关: 创建目录: mkdir 目录名 递归创建a/b c/d: mkdir -p a/b c/d 递归创建test/a,b,c,d四个目录: mkdir - p test{a,b,c,d} 递归 ...