Software Defined Networking(Week 1)
前言
课程名称:软件定义网络
课程地址 Coursera上新的一期还没开课,所以是YouTube。
Instructor:Nick 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的最重要的两个特点是
- 有一个逻辑上作为中心的控制器,为路由器和交换机提供接口
- 分布式状态管理。Distributed state management(of controllers)
OpenFlow
OpenFlow被许多人视为“推倒重来的全新设计”的理念先驱和SDN讨论的发起者。现实中OpenFlow最初是作为是斯坦福大学网络研究的一部分而设想和实现的,也有一部分是因为网络存在的问题而被推动的。许多供应商、芯片制造商、学术界也乐于看到网络思路的创新。
OpenFlow贡献了新的协议和API,而且为未来的网络操作系统提供了一种思路,已至少成为SDN常见的定义的一部分。
- 带有开放性API的数据平面,与控制平面分离。
- 新的一个Layer,用于状态(指转发状态)管理实例化。
- 控制逻辑
学习SDN时,最重要的一点是平衡愿景和实用性。OpenFlow在提供具有可编程性的网络这个愿景上,基于现有硬件支持上,实现了比较好的实用性。
如果想把SDN的观点延伸到网络的其他角落中去,心中就更要记住平衡美好的理想和现实。
参考链接
Software Defined Networking(Week 1)的更多相关文章
- Software Defined Networking For Dummies, Cisco Special Edition
从接触SDN开始,不论是硬件还是软件,一直都是从具体的点开始,慢慢的勾勒出自己认为的SDN的样子,相信读完这本思科出的关于SDN的书会对其有新的认识 这本书的名字就是Software Defined ...
- Improving Network Management with Software Defined Networking
Name of article:Improving Network Management with Software Defined Networking Origin of the article ...
- 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 ...
- Software Defined Networking(Week 2, part 2)
History of SDN 1.3 - 1.4 课程地址 Network Virtualization 网络可虚拟化,可以说是SDN的一项核心内容,同样也源自很多先前的技术和思想.我们先讨论何为网络 ...
- Software Defined Networking(Week 2, part 1)
History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...
- A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges
将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...
- Software Defined Networking(Week 3, part 1)
Control and Data Plane Seperation 课程地址 Overview 今天正式地学习一个控制与数据平面分离.学习完本节,应该要掌握何为控制和数据平面,了解它们的功能以及好处, ...
- Software Defined Networking(Week 2, part 3)
Control of Packet-switch Network 我们已经讨论过中心控制网络的原理,但主要是以电话网络做模型的.现在我们来看看对于分组交换网络的控制是如何改进的. Why Separa ...
- 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 ...
随机推荐
- Symbol 实现属性私有化的方式
//一般通过私有变量来保存私有属性 通过原型方法(getSex)来访问该属性 实现该属性只能被访问无法直接改变属性值 const Person = (function(){ let _sex = &q ...
- Python2.7在Windows下CMD编码为65001/utf-8时print报错[Errno 0]/[Errno 2]
使用python2.7处理unicode的字符串,环境变量已设置PYTHONIOENCODING为utf-8,cmd编码为utf-8时print unicode字符串会报错[Errno 0]或[Err ...
- jQuery学习-尺寸坐标
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【BZOJ1051】[HAOI2006]受欢迎的牛
[BZOJ1051][HAOI2006]受欢迎的牛 题面 bzoj 洛谷 题解 假如\(A\)喜欢\(B\)就连一条\(A\)到\(B\)的边 然后缩点,如果图不连通就\(Impossible\) 否 ...
- Oracle GUID转换为String
Oracle中guid属于Raw(16)类型, 查询的时候如果不使用下面的函数, 程序中得到的是数组(byte[]). 在extjs环境下, 会带来数组的反序列化问题(newtonsoft.json) ...
- unable to locate package
一.问题 在ubuntu上安装npm时 sudo apt-get install npm 出现了错误: unable to lcoate package npm 二.解决办法 更新下apt就好了 su ...
- Lookup 转换组件
查找转换(Lookup)组件用于实现两个数据源的连接,实现的方式是嵌套循环.查找转换通常在内存中缓存查找数据集,然后在输入管道中,把输入数据的每一行都和缓存中的查找数据集进行比较,并输出匹配成功和失败 ...
- Python 从零搭建 Conf_Web 配置管理平台
作者:Eagle 某船舶行业科技公司,运维工程师,51Reboot学员.通过在51Reboot学习,由运维工程师转至运维开发工程师.完成公司自动化平台的构建,对运维开发有了自己的理解,空闲时间写了这么 ...
- Flutter - Stateful(有状态) 和 stateless(无状态) widgets
Stateful(有状态) 和 stateless(无状态) widgets 有些widgets是有状态的, 有些是无状态的 如果用户与widget交互,widget会发生变化,那么它就是有状态的. ...
- Android Library开发注意事项
Android Library开发注意事项 App Module添加依赖Android Library时可以设置library的优先级, 在编译时,app按照library从低到高的优先级依次与每个l ...