深入SDN(二):关于SDN/OpenFlow的学习&研究路线

我个人的理解:

第一步:当然是SDN的history,这里主要指的是学术界的研究情况:


第二步:到底what is
SDN/OpenFlow
,要回答这个问题,需要从两个方面理解:

一方面是创始人的理解:

另一方面是ONF的标准文档:

要理解OpenFlow是一种“General Forwarding
Abstraction”,Martin在2008年这篇论文:Rethinking Packet Forwarding
Hardware
就值得一看了

ONRC对于SDN体系结构的描述:What is SDN

我在知乎上的回答:SDN是什么?

第三步:what is
Controller
,现阶段SDN控制器是关键的卡位点:

首先回顾现代网络的control plane,解答三个问题:

  1. 要完成的任务?

  2. 当前技术上的实现?

  3. 旧方式的问题?

其次,Controller定义:

然后是开源实现,在尝试深入理解controller时,一度陷入众多开源controller中:

  • 从早期的NOX/POX到随后的Onix,相对完善的Ryu

  • 从Beacon到Floodlight,想一统江湖的ODL

  • 用Elang语言实现的NOS?,我比较感兴趣
直到重新审视ONOS,喜欢上了这个描述,与PC操作系统概念相对的,SDN也应该有一个Open的network
OS:

第三步:what is Apps,这一点常常容易忽视,

(持续更新中)

时间: 2024-10-08 06:30:13

深入SDN(二):关于SDN/OpenFlow的学习&研究路线的相关文章

深入SDN(三):SDN、OpenFlow和NOS是什么?

本文解答四个问题: 问题一:What is SDN? 之前根据自己的经验和学习状况回答了如何去研究SDN&OpenFlow?,到底What is SDN? 现有的SDN课程中在介绍SDN时,基本都是两步走: 第一步引用Nick McKeown的观点,类比PC产业,从"Refactoring Functionality"的角度来定义SDN,直接了当非常容易理解,感觉豁然开朗. 第二步引用Scott Shenker的观点,从"Redefining Abstractions

SDN理解:SDN现状

目录 - SDN现状 - (一)SDN现状 - SDN诞生的背景 - SDN的介绍 - (二)SDN领域的相关组织和发展现状 - 1.ONF - 2.OpenDaylight - 3. IETF - 4.ETSI SDN现状 (一)SDN现状 SDN诞生的背景 SDN技术其实要从更往前一点的技术说起,也就是传统(现在主流)TCP/IP协议,得益于TCP/IP的巨大成功,出现 IP over Everything.Everything over IP,以至于大学时期计算机网络课程的内容的基本上就是

openflow tutorial 开始openflow的学习(一)

---恢复内容开始--- 首先不废话介绍openflow了,自己也还搞不清楚究竟是个什么玩意儿,概括不出什么内容来,先做试验,有个大体的感性了解回来再总结吧. 第一步,搭建环境,这一步就是安装工具,不同的系统环境搭建不一致,我的环境大体如下: 首先把虚拟机搞起来,Set up Virtual Machine,这一步主要是下载OpenFlowTutorial-101311.zip,里面是虚拟机的镜像OpenFlowTutorial-disk1.vdi For the .zip archive, y

C++的开源跨平台日志库glog学习研究(二)--宏的使用

上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析. 1. 日志输出宏 这里我们以一条最简单的日至输出为例说明: LOG(WARNING) << "This is a warning message"; 这里LOG是一个宏,其定义如下(logging.h line 487): #define LOG(severity) COMPACT

二维练习和函数学习03/13

二维练习和函数学习03/13     二维练习     1.      抽奖活动:输入n个手机号码,滚动号码,5秒钟后停止输出中奖人号码 Console.Write("请输入人数:"); int a = int.Parse(Console.ReadLine()); string[] sj = new string[a]; for (int i = 0; i < a; i++) { Console.Write("输入第" + (i + 1) + "个人

备战SDN 思科收购SDN初创公司BroadHop

2012年12月19,据国外媒体报道,就在瞻博网络刚刚收购Contrail公司后,思科就宣布将收购提供政策控制和服务管理技术公司BroadHop,以增强其为运营商网络提供的产品,交易金融目前还未披露. BroadHop已经创建9年,几年来一直是思科的WiFi合作伙伴.BroadHop的员工将合并到思科的服务提供商网络部门. BroadHop在其"Quantum Network Suite"成套产品之中提供许多产品,包括把服务连接到网络的Quantum政策服务器.基于Eclipse的丰富

C++的开源跨平台日志库glog学习研究(三)--杂项

在前面对glog分别做了两次学习,请看C++的开源跨平台日志库glog学习研究(一).C++的开源跨平台日志库glog学习研究(二)--宏的使用,这篇再做个扫尾工作,算是基本完成了. 编译期断言 动态断言在调试过程中是一个很重要的手段,而且我们使用的也比较多.相应的,静态断言,也即是编译期断言随着模板编程.元编程的发展,也表现出了动态断言所没有的优势:在编译期完成断言检查,而不是等到运行时! 比如在glog的源码中,有如下代码(logging.h line 908): 1 template <b

学习java不知道怎么入手?分享一套我自己学习的路线

学习java不知道怎么入手?分享一套我自己学习的路线首先最基础的,便是安装java环境变量,和各种java工具,JDK环境安装配置.环境变量配置,只有先安装了这些工具,才可以开始敲代码之路.学java是要多动手才能学得好的,不能只看理论知识.一.从Java SE部分开始1.java基础:基础语法:面向对象(重点):集合框架(重点):常见类库API:2.java界面编程:AWT:事件机制:Swing:3.java高级知识:Annotation:IO和NIO.AIO:多线程.线程池:阻塞.非阻塞.异

C++的开源跨平台日志库glog学习研究(一)

作为C++领域中为数不多的好用.高效的.跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了.glog 是一个C++实现的应用级日志记录框架,提供了C++风格的流操作. 恰巧趁着五一我也学习研究了这个glog库,写个总结如下.走过路过的的各位牛人.高手可以忽略这篇文章了. 从code.google.com下载源码(在这里),在Visual Studio 2010中打开工程,如下: 可见只有四个工程,其中libglog和libglog_static分别是Windows下的动态库和静态